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