2009-05-16 9 views
4

Мне нужна утилита, которую я могу дать кусок текста (в текстовом поле) и поэкспериментировать с грамматикой парсера (посредством редактирования BNF подобной) и структуры маркера во время Я вижу, как будет выглядеть дерево разбора (и если он не сможет проанализировать текст, используя мою текущую грамматику, я увижу, где он остановился).Ищет интерактивную утилиту для создания контекстных грамматик синтаксического анализа

Ключевое слово - интерактивность. Я мог бы сделать это, используя flex и bison, например, но мне постоянно приходилось воссоздавать мой лексер и парсер.

Есть ли что-нибудь подобное? Я их не нашел. В идеале он должен работать в Linux и быть свободным, если это не вариант, который он по-прежнему представляет интерес.

+0

Это инструмент, который будет полезен для меня. Если вы в конечном итоге опуститесь по маршруту в моем ответе, я могу дать вам свой адрес электронной почты, и мы сможем сотрудничать. Было бы здорово для быстрого тестирования грамматики. –

+0

Я нашел это, http://jscc.jmksf.com/jscc_on_web.png, добавив его, чтобы ответить. –

ответ

5

вы могли бы сбить его с pyBison и друзьями с помощью GTKSourceView

Я не видел ничего, но вы могли бы написать программу, чтобы сделать это, если вы хотите. Я бы либо отправил источник Bison в DSO, чтобы вы могли загрузить его и запустить BNF через него, и вытащить таблицы автоматов. Затем прикрепите evalutation к GTK-источник вида текстового поля

- или -

Создать внешний интерфейс (GTKSourceView кажется хорошим снова) и присоединить, что некоторые системные вызовы, чтобы написать свой flex.c и зубров .c и сформировать некоторый общий вывод output.so, который затем загружается и выгружается в приложение, которое затем можно запустить через некоторый источник.

Что я имею в виду при разработке грамматики, является использование pyBison и другие высокоуровневые языковые инструменты для увеличения скорости разработки. Затем используйте C/Flex/Bison с файлами .l и .y позже. GTK должен быть очень прост в использовании на Python для достижения вышеуказанного без необходимости DSO и dlopen() fandango.

очень похож на цикл чтения Eval-Print посредством чего BNF и синтаксис теста в цикле с некоторой бэкэнд D/НКА генераторы

через некоторое время

Я нашел ответа на другой вопрос :

http://jscc.jmksf.com/jscc_on_web.png

это JavaScript Yacc/Bison-как инструмент для создания парсеров в JavaScript. Вы можете легко использовать это, чтобы отлаживать свои C-грамматики, так как все они BNF! Я обязательно его использую.

+0

Привет! Извините, что не возвращался к вам до сих пор. Это свободное время, и все было довольно напряженным на работе. :-) Я не думаю, что у меня есть время, чтобы внести свой вклад в такой проект, возможно, у меня также не хватает знаний, поскольку я только пробовал немного Python и никогда ничего не делал с помощью GTK.Но это хорошая идея, мне жаль, что у меня не было времени инвестировать в проекты по хобби. Инструмент, с которым вы связаны, кажется достаточно хорошим! Я еще не тестировал его, но я с нетерпением жду этого! Спасибо за ответ! – 2009-05-27 10:12:30

+0

@ Kent - не стоит беспокоиться, ждал этого;) этот инструмент выглядит довольно круто. Только нашел его вчера: P Удачи! –

4

ANTLRWORKS (http://www.antlr.org/works/index.html) - лучшая интерактивная среда разработки грамматики, которую я видел до сих пор. Это позволяет вам визуализировать и отлаживать грамматики LL (*), написанные в ANTLR.

 Смежные вопросы

  • Нет связанных вопросов^_^