Сумасшедшие ошибки с FsLex и FsYacc

Я пытаюсь скомпилировать этот проект:

http://ramon.org.il/Here.zip

Но я получаю кучу бессмысленных ошибок. Они получили текст, с которым я знаком, но в позиции нет ничего подобного (например, неожиданного ')' в пустой строке).

Помоги мне, пожалуйста!

2 ответа

Решение

Много мелких ошибок, я совсем не понял, как это работает.

Скобка, найденная Томасом, была одной из ошибок (опечатка), но сама концепция была неверной.

Решено сейчас.

Мне кажется, что сообщение об ошибке (по крайней мере, первое, что я проверил) находится в правильной строке (но неверный столбец в этой строке). Я думаю, что это ограничение дизайна, но я не уверен на 100%.

Во всяком случае, строка 25 файла LispParser.fsy выглядит подозрительно для меня:

25: ExprList: Expr { List($1, -1, Null) ] }
26:         | Expr ExprList { List($1, -1, $2) }

Выражение в фигурных скобках List($1, -1, Null) ] и есть закрывающая квадратная скобка ] но не дебют. Итак, я думаю, что скобка, вероятно, не должна быть там. Я не пробовал, но думаю, что оставшиеся ошибки являются лишь следствием этой проблемы.

Другие вопросы по тегам