Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа по ТЯП(РЯП)1.doc
Скачиваний:
12
Добавлен:
01.05.2014
Размер:
1.87 Mб
Скачать

Операционный символ { id }n

Тип элемента

n

t1

Значение элемента

n

a1

if (t1 = перечислимый)

{ Записать на выход выражение ПОЛИЗ:

n

}

else {Ошибка}

Операционный символ { init }n, V, r

Тип элемента

n

t1

Значение элемента

n

a1

Тип элемента

v

t2

Значение элемента

v

a2

Тип элемента

r

t3

Значение элемента

r

a3

if (t2 = перечислимый)

{ Записать на выход выражение ПОЛИЗ:

@SET

создать временную переменную R

t3  integer

R

}

else {Ошибка}

Операционный символ { нач_ц }q1, q2, q3, m1, m2, r2

Тип элемента

q1

t1

Значение элемента

q1

a1

Тип элемента

q2

t2

Значение элемента

q2

a2

Тип элемента

q3

t3

Значение элемента

q3

a3

Тип элемента

m1

t5

Значение элемента

m1

a5

Тип элемента

m2

t6

Значение элемента

m2

a6

Тип элемента

r2

t4

Значение элемента

r2

a4

if(t3 = перечислимый)

{Записать на выход выражение ПОЛИЗ:

@SET

m1

@DEFL

i

R

if (q3 = inc)

{ Записать на выход выражение ПОЛИЗ:

@<=INT

}

else { Записать на выход выражение ПОЛИЗ:

@>=INT

}

Записать на выход выражение ПОЛИЗ:

m2

@JMPF


}

else {Ошибка}

Операционный символ { кон_ц } q4, q5, m1, m2

Тип элемента

q4

t1

Значение элемента

q4

a1

Тип элемента

q5

t2

Значение элемента

q5

a2

Тип элемента

m1

t3

Значение элемента

m1

a3

Тип элемента

m2

t4

Значение элемента

m2

a4

Записать на выход выражение ПОЛИЗ:

a1

if (q6 = inc)

{Записать на выход выражение ПОЛИЗ:

@INC

}

else { Записать на выход выражение ПОЛИЗ:

@DEC

}

Записать на выход выражение ПОЛИЗ:

m1

@JMP

m2

@DEFL

Операционный символ { присвоить }p, q

Тип элемента

p

t1

Значение элемента

p

a1

Тип элемента

q

t2

Значение элемента

q

a2

if (t1 = t2) {

Записать на выход выражение ПОЛИЗ:

@SET

} else {

if (t1 = rational) и (t2 = integer) {

@ITOR

@SET

} else {

{Ошибка}

}

}

Операционный символ { переход }p

Записать на выход выражение ПОЛИЗ:

p

@JMP

Операционный символ { перейти по ”ложь” }m1, m2

Записать на выход выражение ПОЛИЗ:

m1

@JMPF

Операционный символ { БП }m1, m2

Записать на выход выражение ПОЛИЗ:

m2

@JMP

m1

@DEFL

Операционный символ { метка2 }m

Записать на выход выражение ПОЛИЗ:

m

@DEFL

Операционный символ { ввести }p

Тип элемента

p

t1

Значение элемента

p

a1

Записать на выход выражение ПОЛИЗ:

@INPUT

Операционный символ { вывести }p

Тип элемента

p

t1

Значение элемента

p

a1

Записать на выход выражение ПОЛИЗ:

@OUTPUT

Подграмматика для списка имён:

Таблца нетерминалов:

Имя нетерминала

Описание

Тип атрибута

NLp

Список имен

p - синтезированный

SNt, p

Последовательность имен

t – унаследованный, p - синтезированнй

NLp2idq1 { имя }q2, r1 SNr2, p1

r1  NewElem

q2  q1

r2  r1

p2  p1

SNp1, t2, idq1 {последовательность имён }p2, q2, r1 SNr2, t1

r1  NewElem

p2  p1

q2  q1

r2  r1

t2  t1

SNp1, p2

p2  p1