FSLex Неизвестная ошибка - PullRequest
       18

FSLex Неизвестная ошибка

1 голос
/ 06 сентября 2010

У меня возникла проблема с FSLex, которую я не могу решить ... Все, что я знаю, это то, что fslex.exe завершился с кодом 1 ...

Код F # вверху был протестирован в F #Интерактивный, так что проблема не в этом (я не могу понять, как)Рамон

1 Ответ

1 голос
/ 06 сентября 2010

Ненулевая ошибка означает, что лексер вышел из строя, обычно он также описывает ошибку.Когда я компилирую, я получаю exited with code 1 вместе с этим:

Unexpected character '\'

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

Lexer не любит символьные литералы вне кавычек, и он также не понимает значения \w.Согласно исходному коду FsLex , FsLex понимает только следующие escape-последовательности:

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

Эта исправленная версия вашего лексера компилируется для меня хорошо: http://pastebin.com/QGNk3VKD

...