fslex - 匹配问题行终止符

时间:2014-09-03 12:45:20

标签: f# lexer fslex

请考虑我正在构建的词法分析器:

let newline = "\n\r" | '\n' | '\r'
let dot = "\."
let lineTerminator  = "\."newline

rule tokenize = parse
  ...
  | lineTerminator  { lexbuf.EndPos <- lexbuf.EndPos.NextLine; tokenize lexbuf; }
  | newline         { lexbuf.EndPos <- lexbuf.EndPos.NextLine; tokenize lexbuf }
  | eof             { EOF }
  | _ { failwithf "unrecognized input: '%s'" <| lexeme lexbuf }

在以点结尾的行上,当前缓冲区将位于点所在的字符处,并表示无法识别输入

我真的不知道自己做错了什么。

0 个答案:

没有答案