Вопросы по теме 'ocamllex'
Использование Ocamllex для лексирования строк (компилятор Tiger)
Я пытаюсь следовать «Современной реализации компилятора в ML» Аппеля и пишу лексер, используя Ocamllex.
Спецификация требует, чтобы лексер возвращал строки после перевода управляющих последовательностей. Следующий код является выдержкой из...
1700 просмотров
schedule
17.11.2022
сгенерированный файл ocamllex
теория говорит об инструменте lex (я читал ocamllex), он преобразует набор регулярных выражений в код C (OCaml) для DFA (на самом деле в NFA, а также в NFA2DFA). Формальное определение DFA M — это кортеж из 5 M = {Q, Sigma, transition_function, q0,...
162 просмотров
schedule
10.07.2023
доступ к части согласованной строки ocamllex
Я пытаюсь организовать код ocamllex и ocamlyacc для сканирования и синтаксического анализа на простом языке. Я определил абстрактный синтаксис для того же самого, но мне трудно сканировать сложные правила. Вот мой код
{
type exp = B of...
111 просмотров
schedule
07.04.2022
Ветвление на рычаге парсера в зависимости от содержимого токена
Я работаю над простым анализатором / лексером для небольшого проекта, но столкнулся с проблемой.
Я разбираю контент по этим строкам:
Name SEP Gender SEP Birthday
Name SEP Gender SEP Birthday
… Где SEP - любое (но не кратное!) Из | , ,...
113 просмотров
schedule
25.05.2023
Заставить лексер рассматривать парсер перед определением токенов?
Я пишу лексер и парсер на ocamllex и ocamlyacc следующим образом. function_name и table_name - это одно и то же регулярное выражение, т.е. строка, содержащая только английский алфавит. Единственный способ определить, является ли строка...
38 просмотров
schedule
22.06.2023
Таблица переходов переполнена, автомат слишком большой
Я хочу добавить поддержку структурированные ссылки с таблицами Excel на мой лексер и парсер формул Excel.
Я добавил следующие регулярные выражения в lexer_structref.mll :
let lex_table_name = "DeptSales"
let lex_column_header =...
73 просмотров
schedule
28.07.2022
Установите правило на основе значения глобальной переменной
В моем лексере и парсере от ocamllex и ocamlyacc у меня есть .mly следующим образом:
%{
open Params
open Syntax
%}
main:
| expr EOF { $1 }
expr:
| INTEGER { EE_integer $1 }
| LBRACKET expr_separators RBRACKET { EE_brackets (List.rev $2) }...
57 просмотров
schedule
31.07.2022