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

Таблица 2-х направлений (строка ‹-› токен) при разборе
Я определил хэш-таблицу keyword_table для хранения всех ключевых слов моего языка. Вот часть кода: (* parser.mly *) %token CALL CASE CLOSE CONST ... reserved_identifier: | CALL { "Call" } | CASE { "Case" } | CLOSE { "Close" } | CONST {...
171 просмотров
schedule 18.03.2022

Оператор :: OCaml
Я новичок в OCaml и пытаюсь создать парсер, я хочу иметь список, в котором хранятся все методы моего класса. Это одна часть, которая есть у меня в моем файле .mly. init_method_list: { [] } | method_list method_decl { List.rev($1) } ;...
142 просмотров
schedule 24.04.2022

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

Как написать трехадресный код с помощью ocamllex и ocamlyacc?
Мне было интересно, как написать трехадресный код, используя ocamllex и ocamlyacc? Я много гуглил об этом, но ничего не нашел с помощью ocamlyacc. У меня работают парсер и лексер (оба используют, конечно, ocamlyacc и ocamllex), но теперь мне нужно...
680 просмотров

Приоритет в разборе
Я переформулирую вопрос, который задавал ранее. Цель состоит в том, чтобы понять, как работает приоритет при синтаксическом анализе. Я хотел бы проанализировать оператор a(3).value = 100 . parser.mly следующим образом останавливается после...
219 просмотров
schedule 16.05.2023

Приоритет и ассоциативность приложения функции OCaml
Мне нужно дать высокий приоритет и оставить ассоциативность функциональному приложению в парсере OCaml. У меня есть куча разных токенов, которым он соответствует, например %token LET REC EQ IN FUN ARROW %token IF THEN ELSE %token PLUS MINUS MUL...
463 просмотров
schedule 24.12.2022

Внешние определения регулярных выражений ocamllex
Я реализовал обычную комбинацию lexer / parser / pretty-printer для чтения / печати типа в моем коде. Я обнаружил, что между лексером и красивым принтером есть избыточность, когда дело касается регулярных выражений в виде простых строк, обычно...
302 просмотров
schedule 16.12.2023