Вопросы по теме '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 просмотров
schedule
04.09.2022
Приоритет в разборе
Я переформулирую вопрос, который задавал ранее. Цель состоит в том, чтобы понять, как работает приоритет при синтаксическом анализе.
Я хотел бы проанализировать оператор 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