Вопросы по теме 'parser-generator'

Каковы недостатки фреймворка парсера-генератора Spirit от boost.org?
В нескольких вопросах я видел рекомендации для Spirit фреймворк генератора парсеров с сайта boost.org , но потом в комментариях ворчат люди, использующие Spirit, которые не счастливы. Не могли бы эти люди встать и объяснить остальным из нас, в...
9463 просмотров

Помогите мне найти подходящий генератор парсера ruby/python
Первым генератором синтаксических анализаторов, с которым я работал, был Parse::RecDescent, и доступные для него руководства/учебники были замечательными, но самой полезной его функцией были инструменты отладки, особенно возможности трассировки (...
2467 просмотров
schedule 02.08.2023

Генератор парсеров для Delphi?
Может ли кто-нибудь порекомендовать генератор парсеров, который будет создавать код Win32 Delphi? Я пытаюсь создать простой предметно-ориентированный язык.
2973 просмотров
schedule 24.11.2023

AST с фиксированными узлами вместо узлов ошибок в antlr
У меня есть сгенерированный antlr анализатор Java, который использует цель C, и он работает довольно хорошо. Проблема в том, что я также хочу, чтобы он анализировал ошибочный код и создавал осмысленный AST. Если я скармливаю ему минимальный класс...
815 просмотров

Использование объявлений внешнего типа с 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 просмотров

Как заставить Ragel анализировать два имени, разделенных (пробел*: пробел*)?
Я хотел бы проанализировать следующее: name:name где имена начинаются и заканчиваются знаком alnum и могут содержать любую комбинацию alnum и пробелов внутри. Они также могут быть пустыми. Мои правила для этого: identifier = alnum...
969 просмотров

Конфликт грамматики 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 просмотров

Обработка повторно структурированного текстового файла с помощью 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 просмотров

Напишите продукционные правила (правила грамматики) для входного выражения, состоящего из списка/массива и операторов SET.
Я должен делать лексинг и синтаксический анализ с использованием PLY. Я просмотрел http://www.dabeaz.com/ply/ply.html эту документацию, чтобы узнать о PLY и посмотреть пример калькулятора. Я новичок во всем этом. Итак, шаг 1 для перехода к этому...
574 просмотров

Как разобрать комментарии C++ с жаворонком?
Как я могу написать правило для разбора комментариев C++ либо в одной строке, либо после другого кода? Я пробовал много комбинаций, последняя из которых: ?comment: "//" /[^\n]*/ NEWLINE
374 просмотров
schedule 27.08.2022