test fragment
This commit is contained in:
@@ -6,6 +6,13 @@ Vous pouvez forker ce dépôt, mais devez impérativement garder votre dépôt p
|
|||||||
|
|
||||||
Ce fichier `README.md` doit être complété au fur et à mesure de votre avancement.
|
Ce fichier `README.md` doit être complété au fur et à mesure de votre avancement.
|
||||||
|
|
||||||
|
|
||||||
|
func::=Func(String,)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Compatibilité
|
## Compatibilité
|
||||||
|
|
||||||
Pour construire le compilateur :
|
Pour construire le compilateur :
|
||||||
|
|||||||
@@ -8,6 +8,45 @@ options {
|
|||||||
package TP2;
|
package TP2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FUNCTION: 'FUNC'
|
||||||
|
;
|
||||||
|
PROTOTYPE: 'PROTO'
|
||||||
|
;
|
||||||
|
TYPE_INT: 'INT'
|
||||||
|
;
|
||||||
|
TYPE_VOID: 'VOID'
|
||||||
|
;
|
||||||
|
LE : '<='
|
||||||
|
;
|
||||||
|
LT : '<'
|
||||||
|
;
|
||||||
|
GE : '>='
|
||||||
|
;
|
||||||
|
GT : '>'
|
||||||
|
;
|
||||||
|
IF : 'IF'
|
||||||
|
;
|
||||||
|
THEN : 'THEN'
|
||||||
|
;
|
||||||
|
ELSE : 'ELSE'
|
||||||
|
;
|
||||||
|
FIN : 'FI'
|
||||||
|
;
|
||||||
|
WHILE : 'WHILE'
|
||||||
|
;
|
||||||
|
DO : 'DO'
|
||||||
|
;
|
||||||
|
DONE : 'DONE'
|
||||||
|
;
|
||||||
|
READ : 'READ'
|
||||||
|
;
|
||||||
|
PRINT : 'PRINT'
|
||||||
|
;
|
||||||
|
TEXT : '"' (ASCII)+ '"' {getText().substring(1,getText().length()-1)}
|
||||||
|
;
|
||||||
|
NUMBER : (DIGIT)+
|
||||||
|
;
|
||||||
|
|
||||||
WS : (' '|'\n'|'\t') { skip(); }
|
WS : (' '|'\n'|'\t') { skip(); }
|
||||||
;
|
;
|
||||||
|
|
||||||
@@ -17,6 +56,3 @@ COMMENT : '//' (~'\n')* { skip(); }
|
|||||||
fragment LETTER : 'a'..'z' ;
|
fragment LETTER : 'a'..'z' ;
|
||||||
fragment DIGIT : '0'..'9' ;
|
fragment DIGIT : '0'..'9' ;
|
||||||
fragment ASCII : ~('\n'|'"');
|
fragment ASCII : ~('\n'|'"');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,4 +21,16 @@ options {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
program returns [Program p] : /* TODO */;
|
program returns [Program p] :
|
||||||
|
func=function
|
||||||
|
EOF
|
||||||
|
{$p = new Program($func.p);}
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
function returns [List<ASD.Function> out]:
|
||||||
|
{$out = new ArrayList<ASD.Function>();}
|
||||||
|
;
|
||||||
|
|
||||||
|
prototype returns [Program p]:
|
||||||
|
;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
package TP2.asd;
|
package TP2.asd;
|
||||||
|
|
||||||
public record Program() {
|
public record Program() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user