Методические указания к лабораторным работам по курсу "Теория вычислительных процессов и структур". Домашова Д.В - 13 стр.

UptoLike

Диаграмма состояний для нашей грамматики :
b
a
a
b
b
a
A
SC
B
H
Выведем цепочки abba,ba,aa
1) HÆAÆCÆBÆCÆS >> цепочка выводится
2) HÆBÆC - казались не в том состоянии >>цепочка не выводится
3) HÆAÆ? – перехода нет >> цепочка не выводится
3 Синтаксический анализ
3.1 Основные сведения
Задача СиА - провести разбор текста программы, сопоставив его с
эталоном, данным в описании языка.
Для синтаксического разбора используются КС-грамматика.
Синтаксический анализатор (СиА) - программа, производящая
синтаксический анализ.
Входные данные СиА - файл лексем.
Выходные данные - заключение о синтаксической правильности
программы или предупреждение об имеющихся ошибках.
Разбор по КС-грамматикам происходит методом рекурсивного спуска
S::=AB -КС грамматика
A::=a|cA
B::=bA
Выведем саbа (рисунок 3.1)
S
A A
A B
c a b a
Рисунок 3.1 - Синтаксическое дерево цепочки caba
16
     Диаграмма состояний для нашей грамматики :
                         a
             H                       A


         b                               a
                                 b

                     b                       ⊥
             B           a
                                     C           S


     Выведем цепочки abba⊥,ba,aa⊥
     1) HÆAÆCÆBÆCÆS >> цепочка выводится
     2) HÆBÆC - казались не в том состоянии >>цепочка не выводится
     3) HÆAÆ? – перехода нет >> цепочка не выводится

                                 3 Синтаксический анализ

3.1 Основные сведения

     Задача СиА - провести разбор текста программы, сопоставив его с
эталоном, данным в описании языка.
     Для синтаксического разбора используются КС-грамматика.
     Синтаксический анализатор (СиА) - программа, производящая
синтаксический анализ.
     Входные данные СиА - файл лексем.
     Выходные данные - заключение о синтаксической правильности
программы или предупреждение об имеющихся ошибках.
     Разбор по КС-грамматикам происходит методом рекурсивного спуска
     S::=AB⊥ -КС грамматика
     A::=a|cA
     B::=bA
     Выведем саbа⊥ (рисунок 3.1)
                     S



         A           B


             A               A


     c       a   b           a ⊥

     Рисунок 3.1 - Синтаксическое дерево цепочки caba⊥


16