1. Главная
  2. Библиотека
  3. Программирование
  4. Для каждой из следующих грамматик (предварительно преобразовав их, если это требуется) постройте таблицу-анализатор, дейст...

Для каждой из следующих грамматик (предварительно преобразовав их, если это требуется) постройте таблицу-анализатор, действующий методом LL(1), и покажите разбор на предложении. 1. S → P = E | while E do S P -> I | I (E A) A->e|,E A E -> E + T | T T ->

«Для каждой из следующих грамматик (предварительно преобразовав их, если это требуется) постройте таблицу-анализатор, действующий методом LL(1), и покажите разбор на предложении. 1. S → P = E | while E do S P -> I | I (E A) A->e|,E A E -> E + T | T T ->»
  • Программирование

Условие:

Написать для данной грамматики (предварительно преобразовав ее,
если это требуется) таблицу - анализатор, действующий методом LL(1),
показать разбор на предложении
1
S → P = E | while E do S
P -> I | I (E A)
A->e|,E A
E -> E + T | T
T -> T * F | F
F -> P | (E)
I -> a | b | c
2
S → type I = T B ⊥
T -> int | record I: T B end
B->e|;I:T B
I -> a | b | c
3
S → P := E | if E then S | if E then S else S
P → I | I (E)
E → E+T |T
T →Τ∗ F |F
F → P | (E)
I → a | b
4
F −> function I(I) S; I:=E end
S −> ; I:=E S | ε
E −> E*I | E+I | I
I -> a | b

Решение:

Для начала, давайте преобразуем каждую из предложенных грамматик, если это необходимо, чтобы они соответствовали требованиям LL(1). Затем мы создадим таблицы анализаторов для каждой грамматики и покажем разбор на предложениях. ### Грамматика 1 1. **Исходная грамматика:** S → P = E | while E do S P → I | I (E A) A → ε | , E A E → E + T | T T → T * F | F F → P | (E) I → a | b | c 2. **Преобразование грамматики:** У нас есть леворекурсивные правила (E → E + T и T → T * F). Мы можем убрать леворекурсию: E → T E E → + T E | ε T → F T T...

Не нашел нужную задачу?

Воспользуйся поиском