test fragment
This commit is contained in:
@@ -8,6 +8,45 @@ options {
|
||||
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(); }
|
||||
;
|
||||
|
||||
@@ -17,6 +56,3 @@ COMMENT : '//' (~'\n')* { skip(); }
|
||||
fragment LETTER : 'a'..'z' ;
|
||||
fragment DIGIT : '0'..'9' ;
|
||||
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;
|
||||
|
||||
public record Program() {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user