{ open Parser } let whitespace = [' ' '\t']+ let newline = ('\n'|"\r\n") let digit = ['0'-'9'] let alpha = ['a'-'z' 'A'-'Z' '_'] let alphanumeric = (alpha|digit) rule read_token = parse | "type" { TYPE } | "int" { INT } | "string" { STRING } | "date" { DATE } | "range" { RANGE } | "values" { VALUES } | newline { LF } | '=' { EQUALS } | '[' { LEFT_BRACKET } | ']' { RIGHT_BRACKET } | ',' { COMMA } | whitespace { read_token lexbuf } | alphanumeric* as ident { IDENT ident } | eof { EOF }