test fragment

This commit is contained in:
Vu Tuan Minh
2025-03-31 00:30:39 +02:00
parent ff6dc78f33
commit efae49ba9c
4 changed files with 59 additions and 5 deletions

View File

@@ -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'|'"');

View File

@@ -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]:
;

View File

@@ -1,5 +1,4 @@
package TP2.asd;
public record Program() {
}