Pizza (langage de programmation)
Pizza est un langage de programmation destiné à étendre les versions 1.1 à 1.4 de Java avec des concepts de programmation plus évolués.
Pizza | |
Date de première version | |
---|---|
Paradigme | Programmation générique |
Dernière version | 1.1 (3 janvier 2002) |
Typage | Statique, fort |
Influencé par | C++ |
A influencé | Java |
Implémentations | Liste de JVM |
Site web | pizzacompiler.sourceforge.net |
Extensions de fichiers | .pizza |
modifier |
Les 3 principales fonctionnalités ajoutées par le langage Pizza sont :
- la programmation générique ;
- les pointeurs sur les fonctions ;
- et le filtrage par motif.
Aujourd'hui[Quand ?], Pizza est peu utilisé parce que la plupart des fonctionnalités citées ci-dessus sont désormais nativement supportées par Java depuis la version 5.0 de 2004. Ainsi la version actuelle de Pizza est la 1.1 depuis le 3 janvier 2002.
Au niveau de l'implémentation, les fonctionnalités nouvelles pour Java à l'époque, étaient déjà bien connues des développeurs C++. C'est pourquoi la syntaxe proposée par Pizza est proche du langage C++.
Des sources au bytecode Java
modifierLes codes sources écrits en langage Pizza doivent être placés dans un fichier texte avec l’extension .pizza
.
Ces codes sources sont transformés en bytecode Java pour pouvoir fonctionner sur une machine virtuelle Java (JVM). Cette transformation est effectuée par un compilateur appelé Pizza Compiler. Comme celui-ci se présente sous la forme d'une archive Java à l'extension .jar
la commande de compilation est un peu particulière. En effet, pour compiler HelloWord.pizza
, la commande à taper est la suivante :
java -jar pizza-x-x.jar HelloWorld.pizza
Pour se ramener à une syntaxe plus classique, il est courant de définir un alias de la forme :
alias pizzac='java -jar pizza-x-x.jar'
Ainsi la compilation de HelloWorld.pizza
se réduit à la simple commande suivante :
pizzac HelloWorld.pizza
Documentation des classes Pizza
modifierDe la même manière que Java a son Javadoc, Pizza a son Pizzadoc qui permet de générer automatiquement une documentation au format HTML.
Là encore, la syntaxe brute est assez lourde. En effet, pour générer la documentation de la classe HelloWorld
, il faut taper :
java -jar pizza-x-x.jar -pizzadoc HelloWorld.pizza
Donc pour se ramener à une syntaxe plus simple, il est courant de définir un alias de la forme[1] :
alias pizzadoc='java -jar pizza-x-x.jar -pizzadoc'
Ainsi la génération de la documentation de HelloWorld
se réduit à la simple commande suivante :
pizzadoc HelloWorld.pizza
Notes et références
modifier- « Pizzadoc documentation », sur pizzacompiler.sourceforge.net (consulté le )
Voir aussi
modifierArticles connexes
modifierLiens externes
modifier- (en)Site officiel
- (en) Définition du langage : http://pizzacompiler.sourceforge.net/doc/pizza-language-spec.pdf
- (en) Implémentation de Pizza en Java : http://pizzacompiler.sourceforge.net/doc/pizza-translation.pdf