На потоке C парсер - PullRequest
       18

На потоке C парсер

2 голосов
/ 22 января 2010

Я ищу динамический парсер / фреймворк на основе Си. Он должен быть динамичным, потому что EBNF постоянно меняется, что-то вроде бизона не применимо в этой ситуации. И boost :: spirit практически бесполезен для меня, потому что он требует C ++.

У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 22 января 2010

Если вы хотите, чтобы грамматика изменилась во время выполнения вычислений, то вам нужен контекстно-свободный синтаксический анализатор в стиле Earley . Вы можете изменить правила в любое время и запустить алгоритм парсинга Эрли.

Если грамматика меняется «медленно» (например, раз в день), то вам не нужен динамически расширяемый синтаксический анализатор, такой как Earley; Вы можете использовать обычные генераторы парсеров и просто запускать их по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...