46 lines
525 B
OCaml
46 lines
525 B
OCaml
|
|
type token =
|
||
|
|
| TIntKw
|
||
|
|
| TBoolKw
|
||
|
|
| TVoidKw
|
||
|
|
| TStructKw
|
||
|
|
| TIf
|
||
|
|
| TElse
|
||
|
|
| TFor
|
||
|
|
| TEach
|
||
|
|
| TForEach
|
||
|
|
| TIn
|
||
|
|
| TReturn
|
||
|
|
| TTrue
|
||
|
|
| TFalse
|
||
|
|
| TIdent of string
|
||
|
|
| TIntLit of int
|
||
|
|
| TLParen
|
||
|
|
| TRParen
|
||
|
|
| TLBrace
|
||
|
|
| TRBrace
|
||
|
|
| TLBracket
|
||
|
|
| TRBracket
|
||
|
|
| TSemicolon
|
||
|
|
| TComma
|
||
|
|
| TDot
|
||
|
|
| TAssign
|
||
|
|
| TPlus
|
||
|
|
| TMinus
|
||
|
|
| TStar
|
||
|
|
| TSlash
|
||
|
|
| TPercent
|
||
|
|
| TAndAnd
|
||
|
|
| TOrOr
|
||
|
|
| TBang
|
||
|
|
| TEqEq
|
||
|
|
| TNe
|
||
|
|
| TLt
|
||
|
|
| TLe
|
||
|
|
| TGt
|
||
|
|
| TGe
|
||
|
|
| TEOF
|
||
|
|
|
||
|
|
exception Lex_error of string
|
||
|
|
|
||
|
|
val lex : string -> token list
|