{ (* lexervhc.mll *) (*Analyseur lexical*) #open "parservhc";; exception Eof;; } rule Token = parse [` ` `\t` `\n` `\r`] {Token lexbuf} | (`%` [^`%`]* `%`) {Token lexbuf} (*commentaires % ... % *) | [`0`-`9`]+ {INT(int_of_string(get_lexeme lexbuf))} | ";;" {DPV} | `;` {PV} | `!` {PE} | `?` {PI} | "let" {LET} | "in" {IN} | `(` {PARG} | `)` {PARD} | `=` {EGALE} | "if" {SI} | "then" {ALORS} | "else" {SINON} | "fi" {FINSI} | "not" {NON} | `&` {ET} | `|` {OU} | `<` {INFERIEUR} | `>` {SUPERIEUR} | "<=" {INFEGALE} | ">=" {SUPEGALE} | "<>" {DIFFERENT} | "true" {VRAI} | "false" {FAUX} | `+` {PLUS} | `-` {MOINS} | `*` {FOIS} | `/` {DIVISE} | `,` {VIRGULE} | ([`a`-`z`] | [`A`-`Z`])([`a`-`z`] | [`A`-`Z`] | [`0`-`9`])* {IDENT(get_lexeme lexbuf)} | eof {raise Eof} ;;