Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Est il possible d'etendre la syntaxe de PHP

15 réponses
Avatar
BertrandB
EN fait je cherche à savoir s'il est possible en php d'étendre la
syntaxe de celui-ci en rajoutant des tokens (éléments lexicaux)
supplémentaires.

Pour l'instant je ne crois pas mais parfois cantonade est de bon conseil.

5 réponses

1 2
Avatar
Bruno Desthuilliers
Le 24 Mar 2008 09:35:40 GMT, Olivier Miakinen <om+
écrivait dans fr.comp.lang.php:

Le 24/03/2008 09:50, Denis Beauregard répondait à BertrandB :
EN fait je cherche à savoir s'il est possible en php d'étendre la
syntaxe de celui-ci en rajoutant des tokens (éléments lexicaux)
supplémentaires.
[...] les langages où on peut

redéfinir les opérateurs comme le C++ [...]
Je n'ai pas compris la question comme ça. En C++ on peut redéfinir ce

que font certains opérateurs (sans changer toutefois leur nombre de
paramètres), alors que BertrandB semble vouloir rajouter une structure
du langage, par exemple un truc du genre « do <instr> until <test> ».


Tu en connais des langages que l'on peut modifier sans recompiler ?


http://www.livelogix.net/logix/




Avatar
Bruno Desthuilliers
Le 23 Mar 2008 21:08:06 GMT, BertrandB
écrivait dans
fr.comp.lang.php:

EN fait je cherche à savoir s'il est possible en php d'étendre la
syntaxe de celui-ci en rajoutant des tokens (éléments lexicaux)
supplémentaires.

Pour l'instant je ne crois pas mais parfois cantonade est de bon conseil.


PHP est un langage interprété. Je pense que les langages où on peut
redéfinir les opérateurs comme le C++ sont toujours compilés.


<mode="pédant">
Le fait d'être "interprété" ou "compilé" (concepts qui restent par
ailleurs à préciser, cf plus bas) n'est pas le propre d'un langage
(lequel est composé d'une grammaire et d'une syntaxe) mais d'une
implémentation d'un langage. Par exemple:
- pour common lisp, il existe des implémentations compilées, des
implémentations interprétées, et même des implémentation proposant les deux
- gcj compile (au moins un sous-ensemble de) Java en code "natif"
- il existe des interpréteurs C

De plus, concernant la distinction entre "compilé" et "interprété", la
frontière est floue. Par exemple, Java, Python, et quelques autres
langages utilisent une compilation intermédiaire vers un byte-code,
lequel est "exécuté" (interprété ?) par une machine virtuelle. Dans le
cas de Python, il existe une implémentation qui compile vers un
byte-code spécifique, une implémentation qui compile vers du byte-code
pour une machije virtuelle Java, et une implémentation qui compile vers
du byte-code pour le CLR (la machine virtuelle ms.NET)...
</mode>

Accessoirement, aussi bien Ruby (actuellement - enfin, aux dernières
nouvelles en tous cas - purement interprété) que Python supportent la
surcharge des opérateurs.

Dernier point: la surcharge des opérateurs, même si elle permet de
spécialiser la sémantique des opérateurs, n'a aucun impact sur la
*syntaxe* du langage.

HTH


Avatar
Mickael Wolff

Par contre où est donc cette foutu doc sur zend api ?


<http://fr.php.net/manual/fr/internals2.php>

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Avatar
BertrandB

Par contre où est donc cette foutu doc sur zend api ?


<http://fr.php.net/manual/fr/internals2.php>

Vide pour zend2 ...



Avatar
Mickael Wolff

Vide pour zend2 ...


J'avoue que je n'utilises pas la doc en ligne lorsque j'ai une
interrogation à ce niveau. Je préfères aller voir directement le source
qui est bien documenté, et très clair.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

1 2