Какой самый простой алгоритм синтаксического анализа, который может анализировать код C? - PullRequest
10 голосов
/ 25 января 2011

Кто-нибудь знает, какое слабое семейство широко используемых алгоритмов синтаксического анализа может анализировать код C?То есть, является ли C-грамматика LL (1), LR (0), LALR (1) и т. Д.?Мне любопытно, потому что как побочный проект я заинтересован в написании генератора синтаксического анализатора для одного из этих семейств и хотел бы в конечном итоге иметь возможность разбирать код C для другого побочного проекта.

1 Ответ

2 голосов
/ 25 января 2011

Кажется, что Bison использует парсер LALR (1) . Парсеры LALR более надежны, чем парсеры LL, но также и более сложны. Исходя из этого, я подозреваю, что LALR (1), вероятно, является самым слабым алгоритмом синтаксического анализа, который может анализировать код C.

Если вы действительно не настроены на использование собственного распознавателя. ANTLR , вероятно, будет лучшим выбором для этого. ANTLR использует алгоритм LL * (который фактически является LALR).

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