programme:

programme
         ::= Instr* EOF

no references


InProgramme:

InProgramme
         ::= Instr* 'Fin'

referenced by:


Instr:

Instr    ::= ( 'Avancer(' | 'Tourner(' | 'Ecrire(' ) Expr ');'
           | 'Si' Expr 'Alors' InProgramme else
           | ( 'TantQue' Expr 'Alors' | 'Try Alors' InProgramme 'Catch' ) InProgramme
           | ( var varbis | ( 'new' var '=' | 'return' ) expression ) ';'
           | ( OPEN | 'def' var '(' attributs '):' ) Instr* CLOSE

referenced by:


varbis:

varbis   ::= '=' expression ';'
           | '(' arguments ')'

referenced by:


attributs:

attributs
         ::= ε
           | attribut

referenced by:


attribut:

attribut ::= var suiteattribut

referenced by:


suiteattribut:

suiteattribut
         ::= ',' argument
           | ε

referenced by:


Expr:

Expr     ::= 'Lire'
           | nombre
           | '(' Expr binOp Expr ')'
           | '-' Expr
           | bool
           | variable

referenced by:


variable:

variable ::= var isFonction

referenced by:


isFonction:

isFonction
         ::= '( ' arguments ')'
           | ε

referenced by:


arguments:

arguments
         ::= ε
           | argument

referenced by:


argument:

argument ::= expression suiteargument

referenced by:


suiteargument:

suiteargument
         ::= ',' argument
           | ε

referenced by:


binOp:

binOp    ::= '+'
           | '-'
           | '*'
           | '/'
           | 'Et'
           | 'Ou'
           | ''
           | '='

referenced by:


nombre:

nombre   ::= chiffrePos chiffre+
           | chiffre

referenced by:


chiffre:

chiffre  ::= '0'
           | chiffrePos

referenced by:


chiffrePos:

chiffrePos
         ::= [1-9]

referenced by:


bool:

bool     ::= 'True'
           | 'False'

referenced by:


var:

var      ::= [a-zA-Z]* ε

referenced by:


else:

else     ::= 'Sinon Alors' InProgramme
           | ε

referenced by:



  ... generated by Railroad Diagram Generator