Bonjour à tous

Je suis en train d'essayer de comprendre comment marche antlr et je dois avouer que je peine un peu... J'ai défini une grammaire toute simple.
J'ai des integer (uniquement a un chiffre pour simplifier) et des numeric (idem, ultra simplifié), je peux faire appliquer deux méthodes mult et div et je peux stocker le résultat du calcul dans une variable en utilisant l'opérateur d'assignation <-.

Par exemple, voila un programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
a <- mult(2,3)
b <- div(2.1,3.2)
Je voudrais que ce programme devienne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
int a;
a = mult(2,3);
 
float b;
b = div(2.1,3.2)
Mais j'ai un peu de mal a trouver comment faire. Voila ma 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
grammar toy;
 
 
////////////
// TOKENS //
////////////
 
 
KEY_METHOD: 'mult' | 'div';
 
INTEGER:   '0'..'9';
NUMERIC:   ('0'..'9') '.' ('0'..'9');
VARIABLE:  'a'..'z';
OPEN_PAR:   '(';
CLOSE_PAR:  ')';
ASSIGN:     '<-';
COMMA:      ',';
 
WS : [ \r\t\n]+ -> skip ;
 
 
///////////////////////
// Struture générale //
///////////////////////
 
 
programme:
  instruction* 
;
 
instruction:
  VARIABLE ASSIGN KEY_METHOD OPEN_PAR value COMMA value CLOSE_PAR
;
 
value:
  INTEGER
  | NUMERIC
;
Quelqu'un saurait-il faire ce genre de chose ?

Christophe