Рефераты. Программно-методический комплекс для обучения процессу создания компиляторов

При возврате возникают другие трудности. К примеру, при окончании конструкции происходит переход на пустую ячейку, затем осуществляется переход на ячейку возврата. Значение, заполненное в ячейке возврата ищется по таблице. По полученному значению осуществляется переход. Например, при окончании конструкции <id-list> (шаг 20), текущей ячейкой оказывается ячейка 5,7. Затем производится переход в ячейку 5,1 (шаг 21). По таблице определяем, что адрес возврата @4,3 (значение из шага 14), т.е. перейти на четвертую строку, третий столбец.

Далее отыскивается положение в грамматике БНФ по имени предыдущей позиции. Например, после перехода в ячейку 4,3 (шаг 22) отыскиваем в таблице имя элемента грамматики ячейки 4,2 (значение из шага 13), им оказывается нетерминальный символ <id-list> конструкции <dec>. По грамматике БНФ определяется, что следующий элемент конструкции <dec> является «:».



Таблица 13 – Таблица построений

Шаги

Таблица кодов лексем

Имя в программе

Элемент грамматики БНФ

Результат сравнения

Формируемая таблица переходов

Выполненное действие

текущая позиция

следующая позиция

позиция

табл

код, специф

тип

имя

текущая конструкция

тип

табл

код

(для ТС)

строка

столбец

вносимое значение

строка

столбец

1

1

1

1

ТС

PROGRAM

PROGRAM

<prog>

–ТС

1

1

+

1

2

$1,1

1

3

 

2

2

2

1

ИД

Prog1

<prog-name>

<prog>

НС

 

 

 

1

3

@2,2

2

1

 

3

2

2

1

ИД

Prog1

 

 

 

 

 

 

2

1

@1,4

2

2

 

4

2

2

1

ИД

Prog1

id

<prog-name>

ИД

2

 

+

2

2

$2,1

2

3

 

5

3

1

27

ТС

;

;

<prog-name>

–ТС

1

27

+

2

3

$1,27

2

4

 

6

4

1

2

ТС

VAR

 

<prog-name>

 

 

 

 

2

4

 

2

1

конец конструкции

7

4

1

2

ТС

VAR

 

 

 

 

 

 

2

1

 

1

4

переход

8

4

1

2

ТС

VAR

VAR

<prog>

–ТС

1

2

+

1

4

$1,2

1

5

 

9

5

2

2

ИД

a

<dec-list>

<prog>

НС

 

 

 

1

5

@3,2

3

1

 

10

5

2

2

ИД

a

 

 

 

 

 

 

3

1

@1,6

3

2

 

11

5

2

2

ИД

а

<dec>

<dec-list>

НС

 

 

 

3

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.