FSLex未知错误

时间:2010-09-06 08:23:47

标签: f# fslex

我的FSLex遇到了一些我无法解决的问题...我所知道的是fslex.exe退出了代码1 ......

顶部的F#代码在F#Interactive中进行了测试,因此问题不存在(我看不清楚)。

词法: http://pastebin.com/qnDnUh59

和Parser.fsi: http://pastebin.com/sGyLqZbN

谢谢, Ramon的。

1 个答案:

答案 0 :(得分:1)

非零错误意味着词法分析器失败,通常它也会描述失败。当我编译时,我得到exited with code 1以及:

Unexpected character '\'

let id = [\w'.']+ 
----------^

Lexer不喜欢引号之外的字符文字,也不理解\w的含义。根据{{​​3}},FsLex只能理解以下转义序列:

let escape c =
 match c with
 | '\\' -> '\\'
 | '\'' -> '\''
 | 'n' -> '\n'
 | 't' -> '\t'
 | 'b' -> '\b'
 | 'r' -> '\r'
 | c -> c

你的词法分析器的这个固定版本对我很好:FsLex source code