[ANTLR] source d'erreur non détectée
Bonjour,
Voici une grammaire antlr:
Code:
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})
; |
voici une source que parse cette grammaire :
Code:
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; |
et voici l'erreur que j'obtiens
Code:
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' |
Je ne vois pas l'erreur dans ma grammaire ou mon code.
Merci de votre aide.