{ open Debparser let pos = ref 1 let go text = pos := (!pos + String.length text) let token_to_string x = match x with Other s -> "Other(" ^ s ^ ")" | White s -> "White(" ^ s ^ ")" | Ident s -> "Ident(" ^ s ^ ")" | Eof -> "Eof" | Newline -> "" | Colon -> ":" } rule item = parse ['A'-'Z' 'a'-'z'] ['A'-'Z' 'a'-'z' '0'-'9' '_' '-']* {let tkn = Lexing.lexeme lexbuf in go tkn; Ident tkn} | ':' {let tkn = Lexing.lexeme lexbuf in go tkn; Colon} | [^ 'A'-'Z' 'a'-'z' ' ' '\t' '\n'] {let tkn = Lexing.lexeme lexbuf in go tkn; Other tkn} | [ ' ' '\t' ]+ {let tkn = Lexing.lexeme lexbuf in go tkn; White tkn} | '\n' {let tkn = Lexing.lexeme lexbuf in go tkn; Newline} | eof {Eof}