Bonjour,
Voici une grammaire antlr:
voici une source que parse cette grammaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 program : PROGRAM i=id PV d=decls c=code -> program(id={$i.st},decls={$d.st},code={$c.st}) ; decls : DECL_VARIABLES DP (d+=decl )+ -> decls(decls={$d}) ; decl : label=id DP (t=T_NUMBER|t=T_TEXT|t=T_BOOL) PV -> decl(id={$label.st},type={$t.text},typepos={$t.pos},typeline={$t.line}) ; code : BEGIN (inst+=instruction)+ END PV? -> code(insts={$inst}) ;
et voici l'erreur que j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 programme hello; variables: a : booleen; b : booleen; c : booleen; debut a := 1!=1 or ( 1=1 and 1=1+2); b := 1=1 and 1!=1;
Je ne vois pas l'erreur dans ma grammaire ou mon code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [java] line 3:0 required (...)+ loop did not match anything at input 'a' [java] line 7:1 required (...)+ loop did not match anything at input 'a'
Merci de votre aide.
Partager