Вопросы по теме 'menhir'

Заставьте Menhir добавлять пользовательские функции из .mly в .mli
Menhir позволяет добавлять произвольный код ocaml в конец файла .mly, где я хочу объявить несколько функций. Но я не смог найти способ заставить Menhir добавлять мои функции в файл .mli, чтобы они были видны из других модулей. Является ли это...
127 просмотров
schedule 03.10.2021

сдвиг / уменьшение конфликта с вложенными списками
Я работал над «Реализацией современного компилятора в ML», по ходу конвертируя SML в OCaml. В книге определяется язык под названием Tiger, который имеет синтаксис let ... in ... end для объявления типов, переменных и функций в области видимости...
483 просмотров
schedule 05.10.2021

Можно ли создать очень разрешительную грамматику, используя Menhir?
Я пытаюсь разобрать некоторые фрагменты Verilog - меня в первую очередь интересует извлечение определений и экземпляров модулей. В Verilog модуль определяется так: module foo ( ... ) endmodule; И модуль создается одним из двух возможных...
433 просмотров
schedule 12.05.2022

Я пытаюсь сделать парсер с ocamlyacc для языка, но какой тип мне поставить?
У меня есть следующий код, который также имеет больше после expr: int {} | BOOL {} и т. Д., Но я не знаю, какой тип я должен написать в типе этого парсера, у меня есть пример калькулятора, который работает с int, а тип - int, но в моей программе у...
84 просмотров
schedule 13.07.2022

Как предварительно сформировать «просмотр» в лексере OCaml/как откатить лексему?
Ну, я пишу свой первый парсер на OCaml, и мне сразу как-то удалось сделать с бесконечным циклом. Особо следует отметить, что я пытаюсь лексировать идентификаторы в соответствии с правилами спецификации Scheme (очевидно, я понятия не имею, что я...
416 просмотров
schedule 19.07.2023

ParserErr генерирует исключение индекса за пределами границ
Я создаю компилятор и пытаюсь извлечь информацию о строке из парсера. Я хочу прикрепить это к узлу AST в качестве метаданных, чтобы можно было легко сообщить о любой ошибке на более позднем этапе. Мне удалось извлечь информацию о строке в Lexer,...
283 просмотров
schedule 28.03.2023

Парсер: различайте круглые скобки и объявления функций в JavaScript, как в грамматике.
Я работаю над компилятором, используя OCaml и Menhir в качестве парсера и лексера. Когда я пишу JavaScript, например Grammar, с (a, b) => a + b определением лямбда-функции, а также арифметикой (a + b) * c со скобками, отдающими приоритет...
165 просмотров
schedule 12.05.2023