Commit | Line | Data |
---|---|---|
78c9eca5 SK |
1 | open Printf |
2 | ||
3 | module Token = struct | |
4 | type t = | |
5 | | AND | |
6 | | ARRAY | |
7 | | ASSIGN | |
8 | | BREAK | |
9 | | COLON | |
10 | | COMMA | |
11 | | DIVIDE | |
12 | | DO | |
13 | | DOT | |
14 | | ELSE | |
15 | | END | |
16 | | EOF | |
17 | | EQ | |
18 | | FOR | |
19 | | FUNCTION | |
20 | | GE | |
21 | | GT | |
22 | | ID of string | |
23 | | IF | |
24 | | IN | |
25 | | INT of int | |
26 | | LBRACE | |
27 | | LBRACK | |
28 | | LE | |
29 | | LET | |
30 | | LPAREN | |
31 | | LT | |
32 | | MINUS | |
33 | | NEQ | |
34 | | NIL | |
35 | | OF | |
36 | | OR | |
37 | | PLUS | |
38 | | RBRACE | |
39 | | RBRACK | |
40 | | RPAREN | |
41 | | SEMICOLON | |
42 | | STRING of string | |
43 | | THEN | |
44 | | TIMES | |
45 | | TO | |
46 | | TYPE | |
47 | | VAR | |
48 | | WHILE | |
49 | ||
50 | let to_string = function | |
51 | | TYPE -> "TYPE" | |
52 | | VAR -> "VAR" | |
53 | | FUNCTION -> "FUNCTION" | |
54 | | BREAK -> "BREAK" | |
55 | | OF -> "OF" | |
56 | | END -> "END" | |
57 | | IN -> "IN" | |
58 | | NIL -> "NIL" | |
59 | | LET -> "LET" | |
60 | | DO -> "DO" | |
61 | | TO -> "TO" | |
62 | | FOR -> "FOR" | |
63 | | WHILE -> "WHILE" | |
64 | | ELSE -> "ELSE" | |
65 | | THEN -> "THEN" | |
66 | | IF -> "IF" | |
67 | | ARRAY -> "ARRAY" | |
68 | | ASSIGN -> "ASSIGN" | |
69 | | OR -> "OR" | |
70 | | AND -> "AND" | |
71 | | GE -> "GE" | |
72 | | GT -> "GT" | |
73 | | LE -> "LE" | |
74 | | LT -> "LT" | |
75 | | NEQ -> "NEQ" | |
76 | | EQ -> "EQ" | |
77 | | DIVIDE -> "DIVIDE" | |
78 | | TIMES -> "TIMES" | |
79 | | MINUS -> "MINUS" | |
80 | | PLUS -> "PLUS" | |
81 | | DOT -> "DOT" | |
82 | | RBRACE -> "RBRACE" | |
83 | | LBRACE -> "LBRACE" | |
84 | | RBRACK -> "RBRACK" | |
85 | | LBRACK -> "LBRACK" | |
86 | | RPAREN -> "RPAREN" | |
87 | | LPAREN -> "LPAREN" | |
88 | | SEMICOLON -> "SEMICOLON" | |
89 | | COLON -> "COLON" | |
90 | | COMMA -> "COMMA" | |
91 | | STRING s -> sprintf "STRING (%S)" s | |
92 | | INT i -> sprintf "INT (%d)" i | |
93 | | ID id -> sprintf "ID (%s)" id | |
94 | | EOF -> "EOF" | |
95 | end |