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

Работа с данной таблицей не оптимальна по скорости, т.к. при работе не используется стек, зато данное представление более наглядно.

Таблица 10 – Таблица переходов

   

1

2

3

4

5

6

7

8

9

1

<prog>

 

PROGRAM| 1,4

$1 |@1,4

<prog-name>

~2

VAR| 1,6

$2 | @1,6

<dec-list>

~3

BEGIN

$3

<stmt-list>

~7

END

$4

.

$30

2

<prog-name>

 

+id

;

$27

           

3

<dec-list>

 

<dec>

~4

;

$27

<dec>|

~4 | @3,1

;

$27

@3,4

     

4

<dec>

 

<id-list>

~6

:

$31

<type>

~5

         

5

<type>

 

INTEGER| REAL | STRING

$5 | $6 | $7

             

6

<+id-list>

 

+id

, |

$29| @6,1

+id

@6,3

       

7

<stmt-list>

 

<stmt> |

~8 | @7,1

; |

$27| @7,1

@7,2

         

8

<stmt>

 

<assign>|<for>|<read>|<write>|<for>|<while>|<repeat>| <if>

~9 | ~15 | ~13 | ~14 | ~15 | ~24 | ~25 | ~21

       

9

<assign>

 

+id

:=

$28

<exp>

~10

         

10

<exp>

 

- | + |

$33 | $32 | @10,3

<term>

~11

+ | - |

$32| $33| @10,1

<term>

~11

@10,4

     

11

<term>

 

<factor>

~12

* | DIV | / |

$34| $17 | $37|11,1

<factor>

~12

11,3

       

12

<factor>

 

+id | ^int | ^real | ^string |@12,4

 

(

$35| @12,1

<exp>

~10

)

$36

     

13

<read>

 

READ

$19

(

$35

<id-list>

~6

)

$36

       

14

<write>

 

WRITE

$18

(

$35

<VALUE>

~18

, | 14,9

$29| @14,9

<VALUE>

~18

@14,5

 

)

$36

15

<for>

 

FOR

$8

<index-exp>

~16

DO

$10

<body>

~17

       

16

<index-exp>

 

+id

:=

$28

<exp>

~10

TO|DOWNTO

$9 | $20

<exp>

~10

     

17

<body>

 

<stmt>| 17,4

~8 | @17,4

 

BEGIN

$3

<stmt-list>

END

$4

; |

$27| @17,1

   

18

<value>

 

<id-list>| <text-val>

~6 | ~19

             


Страница: