Вопросы по теме 'parser-generator'
Каковы недостатки фреймворка парсера-генератора Spirit от boost.org?
В нескольких вопросах я видел рекомендации для Spirit фреймворк генератора парсеров с сайта boost.org , но потом в комментариях ворчат люди, использующие Spirit, которые не счастливы. Не могли бы эти люди встать и объяснить остальным из нас, в...
9463 просмотров
schedule
19.07.2023
Помогите мне найти подходящий генератор парсера ruby/python
Первым генератором синтаксических анализаторов, с которым я работал, был Parse::RecDescent, и доступные для него руководства/учебники были замечательными, но самой полезной его функцией были инструменты отладки, особенно возможности трассировки (...
2467 просмотров
schedule
02.08.2023
Генератор парсеров для Delphi?
Может ли кто-нибудь порекомендовать генератор парсеров, который будет создавать код Win32 Delphi? Я пытаюсь создать простой предметно-ориентированный язык.
2973 просмотров
schedule
24.11.2023
AST с фиксированными узлами вместо узлов ошибок в antlr
У меня есть сгенерированный antlr анализатор Java, который использует цель C, и он работает довольно хорошо. Проблема в том, что я также хочу, чтобы он анализировал ошибочный код и создавал осмысленный AST. Если я скармливаю ему минимальный класс...
815 просмотров
schedule
03.05.2023
Использование объявлений внешнего типа с OCamlyacc
У меня есть тип expr в файле expr.ml. В parser.mly (файл OCamlyacc) я определяю правило expr и указываю тип:
%start expr
%type <expr> expr
Однако я получаю:
File "parser.mli", line 34, characters 48-52:
Error:...
1806 просмотров
schedule
28.05.2022
Parse::RecDescent анализирует подимя
Я использую модуль Parse::RecDescent и пытаюсь построить грамматику, чтобы поймать имя подпрограммы perl, почему в моем коде https://gist.github.com/1595532
не работает грамматика get_sub: NOWORD TEST NOWORD
на '> test1$'? (переменная...
129 просмотров
schedule
12.07.2022
Как заставить Ragel анализировать два имени, разделенных (пробел*: пробел*)?
Я хотел бы проанализировать следующее:
name:name
где имена начинаются и заканчиваются знаком alnum и могут содержать любую комбинацию alnum и пробелов внутри. Они также могут быть пустыми. Мои правила для этого:
identifier = alnum...
969 просмотров
schedule
21.05.2022
Конфликт грамматики JavaCC
У меня есть грамматика, определенная примерно так.
TOKEN:{
<T_INT: "int"> |
<T_STRING: ["a"-"z"](["a"-"z"])*>
}
SKIP: { " " | "\t" | "\n" | "\r" }
/** Main production. */
SimpleNode Start() : {}
{...
257 просмотров
schedule
25.05.2022
Генератор парсера LR (k) или LALR (k) с функциями, аналогичными ANTLR
В настоящее время я пишу парсер для какого-то языка. Мне дали грамматику для этого языка, но в этой грамматике есть некоторые левые рекурсии и конструкции, отличные от LL (*), поэтому ANTLR не очень хорошо работает даже с возвратом.
Поскольку...
1161 просмотров
schedule
11.05.2023
ANTLR: как пропустить многострочные комментарии
Учитывая следующий лексер:
lexer grammar CodeTableLexer;
@header {
package ch.bsource.ice.parsers;
}
CodeTabHeader : OBracket Code ' ' Table ' ' Version CBracket;
CodeTable : Code ' '* Table;
EndCodeTable : 'end' ' '* Code ' '*...
5660 просмотров
schedule
04.12.2023
Неизвестные ошибки компиляции синтаксического анализатора bison
Я создаю синтаксический анализатор, но у меня есть некоторые ошибки, которые я не мог решить, я не знаю bison и flex, пожалуйста, помогите мне решить их и понять, почему они происходят, вот мои ошибки, которые я получаю:
lexical.l:3:20: error:...
1767 просмотров
schedule
29.08.2023
Обработка повторно структурированного текстового файла с помощью python
У меня есть большой текстовый файл, структурированный в блоки, например:
Student = {
PInfo = {
ID = 0001;
Name.First = "Joe";
Name.Last = "Burger";
DOB = "01/01/2000";
};...
1531 просмотров
schedule
16.06.2022
Как я могу пропустить правило синтаксического анализа с помощью ANTLR 4?
В лексере токены можно пропустить, не допуская их попадания в парсер, например:
Whitespace : [ \t\r\n]+ -> skip ;
Есть ли для парсера эквивалент -> skip ? То есть, есть ли способ убрать его из дерева синтаксического анализа после...
2935 просмотров
schedule
29.08.2022
Как я могу правильно разобрать строку в Parser [Map [String, Any]] в Scala?
В настоящее время читаю / прорабатываю "Программирование на Scala, первое издание", в частности, главу 31: Combinator Разбор
Автор описывает, как анализировать файл JSON, и предлагает следующие более сложные преобразования:
def obj:...
169 просмотров
schedule
02.06.2023
Напишите продукционные правила (правила грамматики) для входного выражения, состоящего из списка/массива и операторов SET.
Я должен делать лексинг и синтаксический анализ с использованием PLY. Я просмотрел http://www.dabeaz.com/ply/ply.html эту документацию, чтобы узнать о PLY и посмотреть пример калькулятора. Я новичок во всем этом. Итак, шаг 1 для перехода к этому...
574 просмотров
schedule
07.05.2022
Как разобрать комментарии C++ с жаворонком?
Как я могу написать правило для разбора комментариев C++ либо в одной строке, либо после другого кода?
Я пробовал много комбинаций, последняя из которых:
?comment: "//" /[^\n]*/ NEWLINE
374 просмотров
schedule
27.08.2022