Изменения

Перейти к: навигация, поиск

Предиктивный синтаксический анализ

780 байт добавлено, 16:28, 24 мая 2015
Общая схема построения парсеров с помощью FIRST и FOLLOW
Здесь Node {{---}} структура вида:
Node
children : list<Node>// список детей данного узла value : string// терминал или не терминал, записанный в данном узле дерева addChild(Node) // функция, подвешивающая поддерево к данному узлу
Тут картинка про строку.
 
Токен {{---}} один или несколько нетерминалов, для удобства объединяемые по смыслу в одну логическую единицу.
curToken {{---}} текущий токен строки.
nextToken {{---}} следующий за ним токен.
A() : Node
error("expected" + c)
nextToken()
 
Такой парсер не только разбирает строку, но и находит ошибки в неудовлетворяющих грамматике выражениях.
== Пример ==
Анонимный участник

Навигация