let regexp ident_cont' = ident_cont | tex_token
let regexp ident = (alpha ident_cont*) | ('_' ident_cont+)
let regexp ident' = ((alpha | tex_token) ident_cont'*) | ('_' ident_cont'+)
let regexp ident_cont' = ident_cont | tex_token
let regexp ident = (alpha ident_cont*) | ('_' ident_cont+)
let regexp ident' = ((alpha | tex_token) ident_cont'*) | ('_' ident_cont'+)
| ident ->
let lexeme = Ulexing.utf8_lexeme lexbuf in
(try
return lexbuf (Hashtbl.find keywords lexeme)
with Not_found -> return lexbuf ("IDENT", lexeme))
| num -> return lexbuf ("NUM", Ulexing.utf8_lexeme lexbuf)
| ident ->
let lexeme = Ulexing.utf8_lexeme lexbuf in
(try
return lexbuf (Hashtbl.find keywords lexeme)
with Not_found -> return lexbuf ("IDENT", lexeme))
| num -> return lexbuf ("NUM", Ulexing.utf8_lexeme lexbuf)
- | lparen -> return lexbuf ("LPAREN", Ulexing.utf8_lexeme lexbuf)
- | rparen -> return lexbuf ("RPAREN", Ulexing.utf8_lexeme lexbuf)
+ | paren -> return lexbuf ("PAREN", Ulexing.utf8_lexeme lexbuf)
| Ulexing.Error -> error_at_end lexbuf "Unexpected character"
| Ulexing.InvalidCodepoint i -> error_at_end lexbuf "Invalid code point")
| Ulexing.Error -> error_at_end lexbuf "Unexpected character"
| Ulexing.InvalidCodepoint i -> error_at_end lexbuf "Invalid code point")