Скачиваний:
17
Добавлен:
01.05.2014
Размер:
381.95 Кб
Скачать

Управляющая таблица подграмматики составного оператора

МАТРИЦА ПРЕДШЕСТВОВАНИЯ :

---- ( количество элементов : 6 * 6 ) :

=============================

I ISOP!SET!{ !} !op !EpsI

=============================

ISOPI ! ! ! ! ! I

I---I---+---+---+---+---+---I

ISETI ! ! ! = ! = ! I

I---I---+---+---+---+---+---I

I{ I !=< ! ! = ! < ! I

I---I---+---+---+---+---+---I

I} I ! ! ! ! ! > I

I---I---+---+---+---+---+---I

Iop I ! ! ! > ! > ! I

I---I---+---+---+---+---+---I

I  I ! ! < ! ! ! I

=============================

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 7 * 4 ) :

========================

I I{ !} !op !EpsI

========================

ISOP IОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---I

ISET IОШ !ПЕР!ПЕР!ОШ I

I------I---+---+---+---I

I{ IОШ !ПЕР!ПЕР!ОШ I

I------I---+---+---+---I

I} IОШ !ОШ !ОШ ! C I

I------I---+---+---+---I

Iop IОШ ! C ! C !ОШ I

I------I---+---+---+---I

I  IПЕР!ОШ !ОШ !ОШ I

I------I---+---+---+---I

I  SOPIОШ !ОШ !ОШ !ДОПI

========================

---- функция "свертка" ( количество элементов : 6 * 4 ) :

====================

I I1 !2 !3 !4 I

====================

ISOP IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

ISET IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

I{ IОШ!ОШ!3 !4 I

I------I--+--+--+--I

I} IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

Iop IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

I  I1 !2 !ОШ!ОШI

====================

--- правила грамматики :

1) SOP -> { SET }

2) SOP -> { }

3) SET -> SET op

4) SET -> op

Нетерминалы desиsopобозначены терминалами, это говорит о том, чтоDESиSOP– это некоторые подграмматики.

Приведем пример перехода от основной грамматики к подграмматике составного оператора

Пусть номер основной грамматики 1, а номер подграмматики составного оператора 2

Модифицируем функцию “перенос” для основной грамматики:

sop = { ‘{‘ }

f(sop, ‘)’) = (ПЕРЕХОД, 2)

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 10 * 7 ) :

====================================

I I( !) !voi!mai!des!sop!EpsI

====================================

IPRG IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---I

IGD IОШ !ОШ !ПЕР!ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---I

I( IОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---I

I) IОШ !ОШ !ОШ !ОШ !ОШ !П,2!ОШ I

I------I---+---+---+---+---+---+---I

Ivoi IОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---I

Imai IПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---I

Ides IОШ !ОШ ! C !ОШ ! C !ОШ !ОШ I

I------I---+---+---+---+---+---+---I

Isop IОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---I

I  IОШ !ОШ !ПЕР!ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---I

I PRG IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ДОПI

====================================

Выполним разбор цепочки: voi mai ( ) { op op }

Вх. цепочка Стек Номер процессора Функция:

voi mai ( ) { op op }  1 ПЕРЕНОС

mai ( ) { op op }  voi 1 ПЕРЕНОС

( ) { op op }  voi mai 1 ПЕРЕНОС

) { op op }  voi mai ( 1 ПЕРЕНОС

{ op op }  voi mai ( ) 1 -> 2 ПЕРЕХОД, 2

{ op op }  voi mai ( ) sop 1  2 ПЕРЕНОС

op op }  voi mai ( ) sop 1  { 2 ПЕРЕНОС

op }  voi mai ( ) sop 1  { op 2 ПЕРЕНОС

op }  voi mai ( ) sop 1  { SET 2 СВЕРТКА

}  voi mai ( ) sop 1  { SET op 2 ПЕРЕНОС

}  voi mai ( ) sop 1  { SET 2 СВЕРТКА

e  voi mai ( ) sop 1  { SET } 2 СВЕРТКА

e  voi mai ( ) sop 1  SOP 2 -> 1 ДОПУСК

e  voi mai ( ) sop 1 СВЕРТКА

e  PRG 1 ДОПУСК

Соседние файлы в папке kurs