Expression ::= Expr
Expr ::= Trm ExprSeq
ExprSeq ::= OpAdd Trm ExprSeq | Vide
OpAdd ::= '+' | '-'
Trm ::= Fctr TrmSeq
TrmSeq ::= OpMul Fctr TrmSeq | Vide
OpMul ::= '*' | '/'
Fctr ::= Sc FctrSeq
FctrSeq ::= '^' Fctr | Vide
Sc ::= Atome | Tfunc | '(' Expr ')' | '[' Expr ']' | '{' Expr '}'
Atome ::= Var | Number
Tfunc ::= Var '(' Seqc ')'
Seqc ::= Vide | ESeqc
ESeqc ::= Expr (Vide |, E)
Number ::= Signe NDecimal NVirgule NExposant
Signe ::= opAdd | Vide
NDecimal ::= CDecimal NDecimal'
NDecimal' ::= CDecimal NDecimal' | Vide
CDecimal ::= '0' | ... | '9'
NVirgule ::= ('.'|',') NDecimal | Vide
NExposant ::= 'E' Number | Vide
Partager