Описание тега sablecc
SableCC - это генератор парсеров, который генерирует полнофункциональные объектно-ориентированные фреймворки для создания компиляторов, интерпретаторов и других анализаторов текста. В частности, сгенерированные структуры включают интуитивно понятные строго типизированные абстрактные синтаксические деревья и обходчики деревьев. SableCC также четко разделяет код, сгенерированный машиной, и код, написанный пользователем, что сокращает цикл разработки.
1
ответ
Тестирование компилятора
В настоящее время я работаю над компилятором, созданным с использованием sablecc. Короче говоря, компилятор примет в качестве входных данных файлы спецификаций (это то, что мы анализируем) и файлы.class и обработает байт-код файлов.class, чтобы убед…
01 авг '11 в 03:25
5
ответов
Лучший способ разобрать bbcode
Я хотел бы поработать над фильтром bbcode для сайта php. (Я использую CakePHP, это будет помощник bbcode) У меня есть некоторые требования. Bbcodes могут быть вложенными. Так что-то подобное действительно. [block] [block] [/block] [block] [block] [/…
28 янв '09 в 19:21
1
ответ
Sablecc сдвиг / уменьшить конфликты на производстве с идентификаторами
Я пытаюсь написать файл спецификации для sablecc для версии minipython (с постфиксными / префиксными операторами увеличения и уменьшения), и в некоторых продуктах, естественно, необходимо использовать идентификаторы, но я получаю эти конфликты во вр…
18 ноя '16 в 12:56
1
ответ
Сдвиг / уменьшение конфликта с SableCC
У меня первый опыт работы с SableCC и определением грамматики. У меня есть следующая грамматика (часть ее): query = {atop} attroperator | {query_par} l_par query r_par | {query_and} [q1]:query logic_and [q2]:query | {query_or} [q1]:query logic_or [q…
06 июл '10 в 20:48
1
ответ
Настройка Sablecc в затмении
Я выполнил шаги, упомянутые в ссылке: Настройка sablecc в Eclipse для установки scablecc. Я пытаюсь выполнить шаг 9, указанный в ссылке, но получаю сообщение об ошибке: "Не удалось найти или загрузить основной класс". Может ли кто-нибудь рассказать …
17 сен '15 в 19:20
1
ответ
SableCC не использует методы интерпретатора
Я новичок в SableCC. Просто запустите пример калькулятора по адресу http://sablecc.sourceforge.net/thesis/thesis.html. Я использовал файл грамматики и файл интерпретатора, как они есть, и попытался разобрать простое арифметическое выражение, как "45…
11 фев '15 в 03:50
1
ответ
Производства для генератора парсера Sable CC
Это выглядит довольно просто, но за последние полчаса я не мог понять, почему мы говорим {zero} или же {one} в следующих произведениях что указывает {}? bit = {zero} zero | {one} one ;
21 мар '12 в 20:33
1
ответ
Условия - разбор грамматики SableCC
Я использую sableCC, и я пытаюсь построить грамматику, которая принимает условия, как в C. Однако я получаю ошибки, когда пытаюсь добавить круглые скобки в моих условиях, потому что есть конфликт с круглыми скобками, которые у меня есть для выражени…
16 май '17 в 19:06
1
ответ
Проблемы с файлом грамматики SableCC
Кажется, у меня есть проблемы с SableCC, генерирующим соответствующие лексеры, узлы и анализируемые вещи, которые он обычно автоматически генерирует из файла грамматики. Я не реализую абстрактное синтаксическое дерево в данный момент. Когда я пытаюс…
10 сен '14 в 15:51
1
ответ
Задача с обратным выводом с простой суммой и умножением грамматики
У меня возникли проблемы с пониманием того, как, используя анализатор снизу вверх и, например, строку ввода 1 + 2 * 3, перейдите от "снизу" к "вершине". Вот грамматика, которую я использую (я бы сказал, что она правильная, так как она найдена в Craf…
09 апр '11 в 16:04
1
ответ
ANTLR или SableCC для реализации DSL?
Кто-то использовал оба для реализации языка и может сравнить их, указывая на сильные и слабые стороны? Я ищу инструмент RAD с поддержкой генерации кода AST Walker. SableCC - это LALR и, следовательно, поддерживает "левую рекурсию", тогда как ANTLR -…
15 дек '11 в 21:37
1
ответ
Как получить что-то вроде символа EOF из файла в Java
Всем добрый день. Я использую sableCC, и он принимает в качестве входных данных объект Reader. Например, этот код работает правильно: compile (new StringReader ("print 1")); Поскольку StringReader возвращает -1 после окончания строки: StringReader s…
14 апр '12 в 06:35
1
ответ
Разбор SableCC дал неверный результат
Я попытался разобрать правильное сообщение, используя sablecc. Существует три типа допустимого формата сообщения. ааа; (три непрерывных буквенных символа + полу {messageid} messageid semi) мм; (или два непрерывных буквенных или цифровых символа {fli…
21 июл '15 в 04:12
1
ответ
Изменение схемы ассоциативности в грамматике
Я пытаюсь использовать SableCC для генерации парсера для моделей, который я называю LAM. LAM сам по себе прост, и простая грамматика (где я опускаю много вещей) для них: L := 0 | (x,y) | F(x1,...,xn) | L || L | L ; L Я написал эту грамматику: Helper…
11 фев '13 в 12:27
3
ответа
Удаление определенных классов при запуске внешнего инструмента в Eclipse?
Я установил внешний инструмент (sablecc) в eclipse (3.4), который генерирует группу классов в текущем проекте. Мне нужно запустить этот инструмент и регенерировать эти классы довольно часто. Это означает, что каждый раз, когда я хочу запустить sable…
16 сен '08 в 18:24
2
ответа
Грамматика EBNF для запроса URI OData
Кто-нибудь есть или знает, где найти грамматику EBNF для запроса OData URI? Я хочу использовать его с SableCC для генерации классов C++ для анализа запросов URI OData.
29 авг '14 в 10:49
2
ответа
Проблема с sablecc по производственному правилу вида prod = (expr | expr')*
Productions program = cls*; cls = clsdef name openbrace clsdata closingbrace; clsdata = (clsfield|clsmethod)*; clsfield = [variabletype]:name [variablename]:name semi; clsmethod = [returntype]:name [methodname]:name openmethodbrace closingmethodbrac…
28 мар '11 в 01:23
1
ответ
Загрузка класса в файл.jar, созданный программно
Вот моя цель: использовать SableCC для генерации нескольких парсеров / лексеров во время выполнения и загрузки их экземпляров для синтаксического анализа и лексирования. Я решил, что мои шаги будут такими: Генерировать .java файлы с использованием S…
10 ноя '12 в 04:31
1
ответ
Понимание грамматики в SableCC
Я прохожу sableCC для одного из моих проектов, и у меня мало вопросов о файле грамматики. 1. В чем разница между помощником и токенами? 2. Что должно идти в помощник и токен? 3. И самое главное, что такое Productions?
19 сен '15 в 07:40
1
ответ
SableCC ожидает: EOF
Я выполняю задание по компиляторам для своего университета и впервые использую SableCC 3.7. Я пытаюсь определить мой файл грамматики, но когда я пытаюсь запустить его (через командную строку), я получаю эту ошибку: "ParserException: [51,5] ожидание:…
14 сен '14 в 17:49