Компилятор конечного автомата Ragel
3 ответа

Генераторы парсеров и Ragel... Создание собственного D Parser

Я новичок в мире компиляторов, и недавно я услышал о том, что называется генератором парсера. Из того, что я (думаю) я понял, генераторы синтаксического анализатора берут файл синтаксиса и выводят файл исходного кода, который может анализировать фай…
18 янв '11 в 00:38
1 ответ

Печать ожидаемого токена типа XXX при возникновении ошибки синтаксического анализа

Я хотел бы иметь возможность напечатать это сообщение об ошибке, используя Ragel => Ошибка синтаксического анализа, найденная в строке позиции:col, вместо этого ожидается Integer. Это возможно с Ragel? С наилучшими пожеланиями
22 май '15 в 09:19
1 ответ

Злоупотребляя ragel, возможно, нужен новый подход / инструмент

Я пытаюсь использовать Ragel для реализации простого да / нет ФСМ. К сожалению, языковая спецификация состоит из объединения около тысячи регулярных выражений, в большинстве из которых операторы * появляются один или несколько раз. Таким образом, чи…
2 ответа

Строковая интерполяция в Ragel

Я пытаюсь реализовать язык, и я использую Ragel в качестве лексера (и Bison в качестве парсера). Я хотел бы иметь возможность поддерживать интерполяцию строк в моем языке, но я не уверен, как это сделать. Мой лексер использует сканер, как показано н…
05 ноя '13 в 23:04
1 ответ

Ragel - проверить строку во время ввода

Предположим, мы хотим проверить ввод пользователя, пока пользователь печатает в JTextField. Интересно, могу ли я использовать Ragel для проверки ввода пользователя? Предположим, что входные данные должны следовать этому примеру регулярного выражения…
25 дек '08 в 17:19
1 ответ

Простая грамматика Ragel с дополнительным пробелом

Ragel - мощная машина, но у меня проблемы с "необязательными" элементами в грамматике. У меня есть простая строка с номером или строк. Беда с пробелами. Я не знаю, как правильно поставить необязательный пробел между ',' и переменной. Enter будет где…
07 мар '17 в 16:25
1 ответ

Как реализовать Lookahead в Ragel

У меня есть два состояния; один является конкретным случаем другого, более общего состояния. Я считаю, что правильный способ избежать одновременного входа в оба состояния - это реализовать упреждающий просмотр с k>1, но я не могу найти примеров того…
30 ноя '12 в 21:19
1 ответ

Ragel альтернатива Fbreak; но без перехода к следующему символу?

Я пишу программу, которая анализирует HTML для извлечения URL-адресов с помощью Ragel.После нахождения URL мне нужно выполнить некоторые действия с ним, а затем готов обработать следующий URL.Поэтому мне нужно прекратить выполнение основного цикла в…
29 июн '16 в 21:49
2 ответа

Моя первая чашка Ragel

Я пишу свою первую программу Ragel. Моя цель - написать калькулятор с четырьмя функциями. Пожалуйста, не присылайте мне свой код. Это должно быть для меня опытом обучения. Я хочу сопоставить регулярное выражение с плавающей точкой и вывести значение…
21 дек '15 в 22:44
1 ответ

Почему моя простая грамматика Ragel использует всю память и сбой

Я пытаюсь преобразовать набор регулярных выражений из правил Adblock Plus в оптимизированную функцию, которую можно вызывать из C++. Я ожидал, что смогу использовать генератор лексеров, такой как Ragel, чтобы сделать это, но когда я пытаюсь с очень …
07 апр '14 в 23:59
1 ответ

Каков наилучший способ захвата неоднозначных сегментов текста?

Как лучше всего захватить внутренний текст в следующем случае? inner_text = any*; tag_cdata = '<![CDATA[' inner_text >cdata_start %cdata_end ']]>'; Проблема, кажется, cdata_end действие запускается несколько раз из-за того, что inner_text м…
19 ноя '16 в 01:06
1 ответ

Каковы причины использования Ragel для разбора строк в кодовой базе C++?

Я унаследовал проект C++, который использует Ragel для разбора строк. Это первый раз, когда я видел, как это делается, и я хотел бы понять, почему кто-то использует Ragel вместо C++ для анализа строки?
29 сен '17 в 10:23
2 ответа

Где находится исходное хранилище ragel

Исходный адрес больше не работает git://git.complang.org/ragel.git. Поиск Google показывает только неофициальный репозиторий из старого кода. Поскольку его разработка сейчас ведется под управлением Colm Network, будет ли Colm Networks по-прежнему от…
07 июл '15 в 21:43
0 ответов

Использование Ragel с потоковым вводом для определения URL?

Мне нужно эффективно определять URL-адреса во входном потоке во время набора текста. Детектор URL будет частью процесса набора. Он должен принимать по одному символу за раз в качестве входных данных и выводить по одному символу за раз вместе с URL, …
18 май '16 в 19:25
0 ответов

Как написать свою ошибку в Ragel

Рагель это очень легко. Но как я могу написать свою собственную функцию ошибки? Я использую цикл: main:= |* *|; и если я получу другие данные, мне нужно выполнить мои действия? и как положить ошибку, когда мой токен хорош в грамматике, но не хорош в…
02 мар '17 в 19:12
1 ответ

Ragel: избегайте избыточного вызова функции предложения "когда"

Я пишу машину Ragel для довольно простого двоичного протокола, и то, что я представляю здесь, является еще более упрощенной версией, без какого-либо восстановления после ошибок, просто чтобы продемонстрировать проблему, которую я пытаюсь решить. Ита…
20 июн '15 в 14:26
1 ответ

Можно ли вызвать несколько машин в одном файле Ragel?

Я создаю довольно простой парсер, который не имеет рекурсивных структур или чего-то слишком сложного. Что я хотел бы сделать, так это когда я запускаю "команду", я хотел бы вызвать отдельную функцию синтаксического анализа (на языке хоста), такую ​​…
28 авг '15 в 06:57
2 ответа

Как заставить действия Ragel EOF работать

Я работаю с Ragel для оценки FSA и хочу внедрить действие пользователя, которое запускается всякий раз, когда моя машина заканчивает тестирование ввода. Мне нужно, чтобы это действие выполнялось независимо от того, заканчивается ли машина в состояни…
29 апр '13 в 07:21
1 ответ

Как правильно сканировать идентификаторы с помощью Ragel

Я пытаюсь написать сканер для своего C/C++/C#/Java/D-подобного языка программирования, который я проектирую по личным причинам. Для этой задачи я использую Ragel для генерации моего сканера. У меня возникают проблемы с пониманием, когда именно многи…
06 мар '11 в 16:21
1 ответ

Затмение: где он ищет исполняемые файлы?

У меня есть проект, который использует ragel для разбора. Я получаю эту ошибку, когда пытаюсь ее скомпилировать. / bin / sh: ragel: команда не найдена Я предполагаю, что затмение ищет какой-нибудь путь для Рагеля. В настоящее время ragel находится в…
11 окт '13 в 01:58