Языки характеризующего перевода. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Языки характеризующего перевода.



Грамматика этого языка:

 

E→T В кружочке обозначены терминалы

E→E+T выходного языка.

T→M

T→T*M

M→а

M→(Е)

 

 

Построим дерево:

Символы выходного языка будут символы в кружочке.

 

 

E

T

 

T * M

M C

()

E

E T

+

T M

 

M b

 

a

 

Гомоморфизм f(a)

Гомоморфизм g(a)

 

Для реализации простой схемы СУ достаточно преобразовать МП (магазин с памятью).

 

 

Схема перевода в полиз для нашего языка ML без переходов.

 

 

Правила:

 

 

Схема перевода в полиз с переходами.

  Входное правило Выходное правило Длины Переходы
P S. S
P S;P SP
S A A
S IF IF
S WH WH
S BE BE
A Id:=E Образ(Id)E:=  
IF If L then S else S Lb1 If1 S b2 if2 S
WH While L do S Lb1 do1 SMb2 do 2
BE Begin P end P
L EzE Eez  
E T T  
E E±T ET±  
T M M  
T T*/M TM*/  
M Id Образ(id)  
M C Образ(c)  
M (E) E  
Z < <    

 

Примерный порядок перевода таблицы:

1. Строятся согласованные деревья вход и выход;

2. Снизу вверх вычисляются все значения l (длины);

3. Зная l, вычисляется b сверху вниз;

4. Найденные значения подставляем в пустые места;

5. Далее левосторонний обход выходного дерева и получение полиза программы.

 

Схема перевода в триады.

 

 

Нетерминал Входное правило Выходное правило Длины Переходы Результат промежуточный
P S. S  
P S;P2 S P
S A A
S IF IF
S WH WH
S BE BE
A ID:=E E:=Образ(Id),,rE Здесь Не нужно Так как Мы передаем В Начало конструкции
E T T
E1 E2±T E2 T =Образ (Ген)
T M M
T T2*/M T2 M =Образ (Ген)
M ID - =Образ (Id)
M C - =Образ (C)
M (E) E  
    IF     If L then S1 else S2     L      
WH While L do S  
L   =Образ (Ген)
BE Begin P end P  

 

Assembler

 

Нетерминал Входные правила Выходные правила Адреса
P S S  
P S;P S P  
S A A  
S IF IF  
S WH WH  
S BE BE  
A ID:=E E Mov Образ(Id),  
IF L b1 S1  
WH While L do S L b1 S  
BE Begin P end P  
p  
Z Z Z Z Z Z < > <= >= = <>  
E T T
E±T E T Mov ax,    
T M M
T*/M T M Mov  
M M M Id C (E)     E
       

 

Содержание:

Синтаксис языков программирования.

Описание синтаксиса. Нормальная форма Бэкуса-Наура (БНФ) стр.1

Грамматики Хомского стр.2

Описание языка ML посредствам правил КС – грамматики стр.3

Синтаксическое дерево стр.5

Нисходящий синтаксический анализатор с возвратом стр.6

Нисходящий анализатор без возвратов (LL(1)) стр.8

Грамматика ML для правила LL(1) стр.9

Алгоритм рекурсивного спуска стр.10

Семантика языков программирования стр.12

Семантика лексических единиц стр.13

Формальные системы для внутреннего (промежуточного) стр.13

представления программ

Системы перевода формальных языков стр.14

Языки характеризующего перевода стр.15

Схема перевода в полиз для нашего языка ML стр.17

без переходов

Схема перевода в полиз с переходами стр.17

Схема перевода в триады стр.18

Assembler стр.20

 

 

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 100; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.135.224 (0.012 с.)