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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
type token =
| WITH
| WHILE
| WHERE
| WHEN
| VAR
| UNTIL
| UNREACHABLE
| TYPE
| TRY
| TO
| THROW
| THEN
| SUBTYPES
| STRING_LIT of (string)
| STRING
| STAR_COLON
| SLICING
| SHR
| SHL
| SETTER
| SEMI_COLON
| RRBRACKET
| RPAR
| RETURN
| REPEAT
| RECURSELIMIT
| RECORD
| REAL_LIT of (Q.t)
| REAL
| RDIV
| RBRACKET
| RBRACE
| PRINTLN
| PRINT
| PRAGMA
| POW
| PLUS_COLON
| PLUS
| PASS
| OTHERWISE
| OR
| OF
| NOT
| NEQ
| MUL
| MOD
| MINUS
| MASK_LIT of (Bitvector.mask)
| LT
| LPAR
| LOOPLIMIT
| LLBRACKET
| LET
| LEQ
| LBRACKET
| LBRACE
| INT_LIT of (Z.t)
| INTEGER
| IN
| IMPL
| IF
| IDENTIFIER of (string)
| GT
| GETTER
| GEQ
| FUNC
| FOR
| EXCEPTION
| EQ_OP
| EQ
| EOR
| EOF
| ENUMERATION
| END
| ELSIF
| ELSE
| DOWNTO
| DOT
| DO
| DIVRM
| DIV
| DEBUG
| CONSTANT
| CONFIG
| COMMA
| COLON_COLON
| COLON
| CATCH
| CASE
| BOR
| BOOL_LIT of (bool)
| BOOLEAN
| BNOT
| BITVECTOR_LIT of (Bitvector.t)
| BITS
| BIT
| BEQ
| BEGIN
| BAND
| ASSERT
| AS
| ARROW
| ARRAY
| ARBITRARY
| AND