commit 7e23133561b73716aea29210471f934ad61764ef parent 5c8d0818dcbad344e16a253f4cdfc60afd2d3c19 Author: Bertrand BRUN <bertrand0brun@gmail.com> Date: Sat, 20 Nov 2010 01:07:11 +0100 Ajout du repertoire scheme et de la definition de la grammaire de scheme Diffstat:
| A | scheme/meval-scheme.scm | | | 29 | +++++++++++++++++++++++++++++ |
1 file changed, 29 insertions(+), 0 deletions(-)
diff --git a/scheme/meval-scheme.scm b/scheme/meval-scheme.scm @@ -0,0 +1,28 @@ +;; {{{ Grammaire du langage +;; Le langage interprete est defini par la grammaire suivante : +;; meval-scheme := expression +;; expression := variable +;; | constante | (QUOTE donnee) ; citation +;; | (COND clause *) ; conditionnelle +;; | (IF condition consequence [alternant]) ; alternative +;; | (BEGIN expression*) ; sequence +;; | (LET (liaison*) corps) ; bloc +;; | (fonction argument*) ; application +;; condition := expression +;; consequence := expression +;; alternant := expression +;; clause := (condition expressin*) +;; | (ELSE expression*) +;; fonction := expression +;; argument := expression +;; constante := nombre | chaine | booleen | caractere +;; donnee := constante +;; | symbole +;; | (donnee*) +;; liaison := (variable expression) +;; corps := definition* expression expression* +;; definition := (DEFINE (nom-fonction variable*) corps) +;; nom-fonction := variable +;; variable := tous les symboles de Scheme autres que les mots-cles +;; symbole := tous les symboles de Scheme +;; }}} Grammaire du langage +\ No newline at end of file