-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlexer.h
56 lines (50 loc) · 1.25 KB
/
lexer.h
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//Keywords
#define T_FUNCTION 1
#define T_SUBROUTINE 2
#define T_END 3
#define T_INTEGER 4
#define T_REAL 5
#define T_LOGICAL 6
#define T_CHARACTER 7
#define T_RECORD 8
#define T_ENDREC 9
#define T_DATA 10
#define T_CONTINUE 11
#define T_GOTO 12
#define T_CALL 13
#define T_READ 14
#define T_WRITE 15
#define T_IF 16
#define T_THEN 17
#define T_ELSE 18
#define T_ENDIF 19
#define T_DO 20
#define T_ENDDO 21
#define T_STOP 22
#define T_RETURN 23
//Identifier
#define T_ID 24
//Constants
#define T_ICONST 25
#define T_RCONST 26
#define T_LCONST 27
#define T_CCONST 28
//Operators
#define T_OROP 29
#define T_ANDOP 30
#define T_NOTOP 31
#define T_RELOP 32
#define T_ADDOP 33
#define T_MULOP 34
#define T_DIVOP 35
#define T_POWEROP 36
//Strings
#define T_STRING 37
//Other
#define T_LPAREN 38
#define T_RPAREN 39
#define T_COMMA 40
#define T_ASSIGN 41
#define T_COLON 42
//EOF
#define T_EOF 0