3 module List = ListLabels
8 /* an array type and an array variable */
10 type arrtype = array of int
11 var arr1:arrtype := arrtype [10] of 0
18 let open Tiger.Parser.Token in
20 TYPE; ID "arrtype"; EQ; ARRAY; OF; ID "int";
21 VAR; ID "arr1"; COLON; ID "arrtype"; ASSIGN;
22 ID "arrtype"; LBRACK; INT 10; RBRACK; OF; INT 0;
30 let tokens_of_code code =
31 let lexbuf = Lexing.from_string code in
33 match Tiger.Lexer.token lexbuf with
34 | Tiger.Parser.Token.EOF -> []
35 | token -> token :: tokens ()
44 List.iter tests ~f:(fun (code, tokens_expected) ->
45 assert ((tokens_of_code code) = tokens_expected)