2015-08-13 5 views
0

Я читал, что парсер LL - это синтаксический анализатор сверху вниз. Поэтому логично полагаю, что мы читаем все сверху вниз. Однако есть много способов прочитать сверху вниз. Я нашел на wikipedia страницу, где рассказывается о глубине, в которой говорится о курсе в структуре данных дерева (двоичное дерево). В противном случае есть 3 вида глубины: предварительный заказ, порядок, порядок. На мой взгляд, я полагаю, что мне нужно использовать пост-порядок, но как быть уверенным? Как узнать, какой тип глубины нужно мне использовать для разбора LL?Как читать парсинг LL?

Глубина первая: https://en.wikipedia.org/wiki/Tree_traversal

Спасибо-х

ответ

0

Там, как правило, бесконечное число способов пересекающих грамматики, так же, как есть бесконечное число возможных входов, которые прилипают к грамматике.

Когда вы идете по грамматике, вы обычно не делаете этого, как будто бы вы использовали традиционную структуру дерева или графа. Скорее, ваша прогулка продиктована входным потоком токенов, поступающих из лексера.

E.g. если вы окажетесь в месте в грамматике, где у него есть производство, в котором может возникнуть либо идентификатор, либо целочисленный литерал, ветвь будет продиктована тем, является ли текущий токен тем или иным (или что-то еще, что тогда быть синтаксической ошибкой для этого ввода).

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