Вопросы по теме 'ocamllex'
Директива Lexing и include с помощью ocamllex
Я делаю компилятор для C-подобного языка, который должен поддерживать директиву #include (только в начале файла)
Простым, но неэлегантным подходом было бы создание подпрограммы, которая находит все вхождения директивы и заменяет соответствующий...
394 просмотров
schedule
31.10.2021
Таблица 2-х направлений (строка ‹-› токен) при разборе
Я определил хэш-таблицу keyword_table для хранения всех ключевых слов моего языка. Вот часть кода:
(* parser.mly *)
%token CALL CASE CLOSE CONST
...
reserved_identifier:
| CALL { "Call" }
| CASE { "Case" }
| CLOSE { "Close" }
| CONST {...
171 просмотров
schedule
18.03.2022
Использование StringMap в OCamllex
Я пытаюсь написать парсер OCamllex, который строит карту строк слов из списка. Однако я получаю сообщение об ошибке «Неограниченный модуль», когда пытаюсь открыть модуль StringMap в заголовке:
{
open StringMap
type token = EOF | Word of...
561 просмотров
schedule
13.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
Лексирование строк в ocamllex
У меня были некоторые проблемы с попыткой найти хороший пример для обработки строк в ocamllex. Я нашел пример настольного калькулятора несколько полезным, но на самом деле не нашел способа реализовать его аналогичным образом, в котором он также...
75 просмотров
schedule
06.09.2022
Длинные строки Lua в fslex
В свободное время я работал над лексером Lua fslex, используя руководство ocamllex в качестве справочного материала.
Я столкнулся с несколькими проблемами, пытаясь правильно токенизировать длинные строки. «Длинные строки» разделены токенами '['...
535 просмотров
schedule
18.12.2022
Можно ли в ocamllex определить правило, которое смотрит вперед на следующий символ, не используя его?
Я использую ocamllex для написания лексера для языка сценариев, но столкнулся с конфликтом с моим правилом для комментариев.
Я хочу, чтобы аргументы моей команды не заключались в кавычки, если они содержат только буквенно-цифровые символы и косую...
1315 просмотров
schedule
14.06.2023
Как предварительно сформировать «просмотр» в лексере OCaml/как откатить лексему?
Ну, я пишу свой первый парсер на OCaml, и мне сразу как-то удалось сделать с бесконечным циклом.
Особо следует отметить, что я пытаюсь лексировать идентификаторы в соответствии с правилами спецификации Scheme (очевидно, я понятия не имею, что я...
416 просмотров
schedule
19.07.2023
Внешние определения регулярных выражений ocamllex
Я реализовал обычную комбинацию lexer / parser / pretty-printer для чтения / печати типа в моем коде. Я обнаружил, что между лексером и красивым принтером есть избыточность, когда дело касается регулярных выражений в виде простых строк, обычно...
302 просмотров
schedule
16.12.2023
Ocamllex Синтаксическая проблема
{ }
rule translate = parse
| "current_directory" { print_string (Sys.getcwd ()) }
| _ as c { print_char c }
| eof { exit 0 }
{
let main () =
let lexbuf = Lexing.from_channel stdin in
while true do
translate lexbuf
done
let _ = Printexc.print main ()...
129 просмотров
schedule
23.01.2024