Основы трансляции. Рыбанов А.А. - 22 стр.

UptoLike

Составители: 

22
2.4. Программная реализация интерпретатора языка МИЛАН
Интерпретатор языка МИЛАН реализован на языке PHP. Назначение файлов
программной реализации языка МИЛАН приведено в таблице 7.
Таблица 7
Назначение файлов интерпретатора языка МИЛАН
Имя файла
Назначение
Интерфейс
interface.php
Главный файл. С него возможен запуск выполнения
программы.
Отображает поле для выбора файла, содержащего исходный
текст на языке МИЛАН, а также текстовую область, в которую
загружается выбранный файл с возможностью редактирования.
pole.php
Содержит в себе поле выбора файла для загрузки.
Отправляет имя файла на обработку в скрипт interface.php
Интерпретатор
milan.php
Содержит в себе функции для обеспечения связи между
интерфейсом и интерпретатором. Отвечает за выбор режима
работы интерпретатора и восстановление данных потерянных
при перезагрузке скрипта.
interpretator.php
Основной файл интерпретатора, содержащий все функции по
трансляции и интерпретации исходного кода языка МИЛАН.
Рассмотрим особенности программной реализации режимов работы
интерпретатора и проверки корректности ввода целого числа.
Описание режимов работы интерпретатора. Текущий режим работы
определяется значением скрытого поля «mode», расположенного на клиентской
форме. В зависимости от этого присваивается значение переменной
$ct_milanMode. Описание режимов работы интерпретатора приведено в
таблице 8.
Таблица 8
Режимы работы интерпретатора языка МИЛАН
Режим
работы
Описание
0
1) Выполняется только лексический анализатор.
2) В результате работы лексический анализатор на экран пользователя могут
выводиться: таблицы лексем, идентификаторов и констант; сообщение о лексиче-
ской ошибке.
3) Производится сохранение таблиц лексем скрытые поля формы «lex_code»,
«lex_value»), идентификаторов скрытое поле «tab_ident») и констант скрытое
поле «tab_const»).
1
1) Восстанавливаются таблицы лексем, идентификаторов и констант, сохра-
нённые в скрытых полях формы.
2) Выполняется стадия синтаксического анализа, совмещенная с интерпретацией.
3) При выполнении команды «READ» производится генерация html страницы с
полем ввода «stdin» и кнопкой отправки запроса. Также на сгенерированной html
странице в скрытых полях производится сохранение таблиц (аналогично пункту 3
режима 0. В поле с именем «readbuf», располагается массив данных, полученных с
помощью команды «READ», на протяжении всей работы интерпретатора.
  2.4. Программная реализация интерпретатора языка МИЛАН
  Интерпретатор языка МИЛАН реализован на языке PHP. Назначение файлов
программной реализации языка МИЛАН приведено в таблице 7.
                                                                                Таблица 7
                   Назначение файлов интерпретатора языка МИЛАН
          Имя файла                                 Назначение
                                         Интерфейс
                             Главный файл. С него возможен запуск выполнения
                          программы.
         interface.php       Отображает поле для выбора файла, содержащего исходный
                          текст на языке МИЛАН, а также текстовую область, в которую
                          загружается выбранный файл с возможностью редактирования.
                             Содержит в себе поле выбора файла для загрузки.
            pole.php
                          Отправляет имя файла на обработку в скрипт interface.php
                                       Интерпретатор
                             Содержит в себе функции для обеспечения связи между
                          интерфейсом и интерпретатором. Отвечает за выбор режима
           milan.php
                          работы интерпретатора и восстановление данных потерянных
                          при перезагрузке скрипта.
                             Основной файл интерпретатора, содержащий все функции по
       interpretator.php
                          трансляции и интерпретации исходного кода языка МИЛАН.
   Рассмотрим особенности программной реализации режимов работы
интерпретатора и проверки корректности ввода целого числа.
   Описание режимов работы интерпретатора. Текущий режим работы
определяется значением скрытого поля «mode», расположенного на клиентской
форме. В зависимости от этого присваивается значение переменной
$ct_milanMode. Описание режимов работы интерпретатора приведено в
таблице 8.
                                                                                Таблица 8
                   Режимы работы интерпретатора языка МИЛАН
 Режим
                                            Описание
 работы
              1) Выполняется только лексический анализатор.
              2) В результате работы лексический анализатор на экран пользователя могут
          выводиться: таблицы лексем, идентификаторов и констант; сообщение о лексиче-
   0      ской ошибке.
              3) Производится сохранение таблиц лексем (в скрытые поля формы «lex_code»,
          «lex_value»), идентификаторов (в скрытое поле «tab_ident») и констант (в скрытое
          поле «tab_const»).
              1) Восстанавливаются таблицы лексем, идентификаторов и констант, сохра-
          нённые в скрытых полях формы.
              2) Выполняется стадия синтаксического анализа, совмещенная с интерпретацией.
              3) При выполнении команды «READ» производится генерация html страницы с
   1      полем ввода «stdin» и кнопкой отправки запроса. Также на сгенерированной html
          странице в скрытых полях производится сохранение таблиц (аналогично пункту 3
          режима 0. В поле с именем «readbuf», располагается массив данных, полученных с
          помощью команды «READ», на протяжении всей работы интерпретатора.


                                           22