let rec token lexbuf =
__ocaml_lex_token_rec lexbuf 0
and __ocaml_lex_token_rec lexbuf __ocaml_lex_state =
match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with
| 0 ->
# 4 "lexer.mll"
( token lexbuf )
# 127 "lexer.ml"
| 1 ->
let
# 5 "lexer.mll"
x
# 133 "lexer.ml"
= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in
# 5 "lexer.mll"
( IDENT x )
# 137 "lexer.ml"
| 2 ->
let
# 7 "lexer.mll"
x
# 143 "lexer.ml"
= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in
# 7 "lexer.mll"
( IDENT (String.make 1 x) )
# 147 "lexer.ml"
| 3 ->
# 8 "lexer.mll"
( IDENT "[]" )
# 152 "lexer.ml"
| 4 ->
let
# 9 "lexer.mll"
a
# 158 "lexer.ml"
= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in
# 9 "lexer.mll"
( CONST a )
# 162 "lexer.ml"
| 5 ->
# 10 "lexer.mll"
( POINT )
# 167 "lexer.ml"
| 6 ->
# 11 "lexer.mll"
( LPAR )
# 172 "lexer.ml"
| 7 ->
# 12 "lexer.mll"
( RPAR )
# 177 "lexer.ml"
| 8 ->
# 13 "lexer.mll"
( PAR )
# 182 "lexer.ml"
| 9 ->
# 14 "lexer.mll"
( SEQ )
# 187 "lexer.ml"
| 10 ->
# 15 "lexer.mll"
( SPLIT )
# 192 "lexer.ml"
| 11 ->
# 16 "lexer.mll"
( MERGE )
# 197 "lexer.ml"
| 12 ->
# 17 "lexer.mll"
( REC )
# 202 "lexer.ml"
| 13 ->
# 18 "lexer.mll"
( EOF )
# 207 "lexer.ml"
| __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state