Формальные языки, грамматики и основы построения трансляторов. Кревский И.Г - 30 стр.

UptoLike

30
внимание в настоящем учебном пособии уделено методам нисходящего
разбора, они же используются в лабораторных работах и при курсовом
проектировании. Методы восходящего разбора рассмотрены в отдельной
главе.
Контрольные вопросы
1. В чем состоит проблема разбора?
2. Что такое левосторонний и правосторонний разбор?
3. Почему основное внимание уделяется лево и правостороннему разборам
при наличии большого числа разборов, не являющихся ни лево ни
правосторонними?
4. К чему можно свести проблему разбора при построении синтаксического
дерева?
5. Дайте определение неоднозначной грамматике.
6. Назовите отличия детерминированных методов разбора от
недетерминированных.
7. Задана грамматика с порождающими правилами:
S
S + T
S
T
T
T*F
T
F
F
(S)
F
a
F
b
a) Построить синтаксическое дерево для выражения (а + b) * a + a.
b) Построить левосторонний разбор для выражения (а + b) * a + a.
c) Построить правосторонний разбор для выражения (а + b) * (a + b).
8. Показать, что грамматика со следующими порождающими правилами
является неоднозначной:
S -> if c then S else S
S -> if c then S
S -> x
                                                                         30
внимание в настоящем учебном пособии уделено методам нисходящего
разбора, они же используются в лабораторных работах и при курсовом
проектировании. Методы восходящего разбора рассмотрены в отдельной
главе.


                               Контрольные вопросы
1. В чем состоит проблема разбора?
2. Что такое левосторонний и правосторонний разбор?
3. Почему основное внимание уделяется лево и правостороннему разборам
   при наличии большого числа разборов, не являющихся ни лево ни
   правосторонними?
4. К чему можно свести проблему разбора при построении синтаксического
   дерева?
5. Дайте определение неоднозначной грамматике.
6. Назовите         отличия   детерминированных      методов   разбора   от
   недетерминированных.
7. Задана грамматика с порождающими правилами:
         S→ S + T                                 F→ (S)
         S→T                                      F→ a
         T → T*F                                  F→ b
         T→ F
   a) Построить синтаксическое дерево для выражения (а + b) * a + a.
   b) Построить левосторонний разбор для выражения (а + b) * a + a.
   c) Построить правосторонний разбор для выражения (а + b) * (a + b).


8. Показать, что грамматика со следующими порождающими правилами
   является неоднозначной:
    S -> if c then S else S              S -> x
    S -> if c then S