我的 FSLex 遇到了一些我无法解决的问题...我所知道的是 fslex.exe 以代码 1 退出...
顶部的 F# 代码在 F# Interactive 中进行了测试,因此不存在问题(我不知道如何解决)。
词法分析器:http : //pastebin.com/qnDnUh59
和 Parser.fsi: http ://pastebin.com/sGyLqZbN
谢谢,拉蒙。
我的 FSLex 遇到了一些我无法解决的问题...我所知道的是 fslex.exe 以代码 1 退出...
顶部的 F# 代码在 F# Interactive 中进行了测试,因此不存在问题(我不知道如何解决)。
词法分析器:http : //pastebin.com/qnDnUh59
和 Parser.fsi: http ://pastebin.com/sGyLqZbN
谢谢,拉蒙。
非零错误意味着词法分析器失败,通常它也会描述失败。当我编译时,我相处得exited with code 1
很好:
Unexpected character '\'
let id = [\w'.']+
----------^
Lexer 不喜欢引号之外的 char 文字,而且它也不理解两者的含义\w
。根据FsLex 源代码,FsLex 只理解以下转义序列:
let escape c =
match c with
| '\\' -> '\\'
| '\'' -> '\''
| 'n' -> '\n'
| 't' -> '\t'
| 'b' -> '\b'
| 'r' -> '\r'
| c -> c
这个固定版本的词法分析器对我来说编译得很好:http: //pastebin.com/QGNk3VKD