Формальные языки, грамматики и основы построения трансляторов. Кревский И.Г - 13 стр.

UptoLike

13
способного выполнять те или иные операции, сам производит
соответствующие действия.
Исходная
программа
Лексический анализатор
Синтаксический анализатор
Лексема
Файл
постфиксной
записи
Блок исполнения
Рис. 1.4. Структура интерпретатора.
Достоинства интерпретатора:
- относительная простота реализации;
- удобство отладки программ.
Достоинства компилятора:
- скорость выполнения ;
- независимость выполняемого кода от системы
программирования;
- возможность передавать программы заказчикам без исходных
текстов.
Большинство современных интерпретаторов выполняют не исходный
код, а преобразуют его в промежуточный, который затем интерпретируется.
Это позволяет
несколько повысить скорость исполнения и избежать передачи
заказчикам исходных текстов. Для трансляции классических языков
программирования (C, C++, Паскаль, Delphi и др.) обычно используются
компиляторы. Как интерпретаторы выполнены большинство реализаций
Бейсика и языков управления СУБД. Язык сетевого программирования Java
реализован как интерпретируемый специальной виртуальной Java-машиной.
Это обеспечивает возможность исполнения промежуточного кода Java на
любом типе компьютера, где
имеется такая виртуальная Java-машина.
Поскольку компилятор преобразует исходную программу в
совокупность битов, полученную строку битов можно использовать и на
                                                                                    13

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


          Исходная             Синтаксический анализатор
          программа                                               Файл
                                                                  постфиксной
                                   Лексема                        записи

             Лексический анализатор                  Блок исполнения


                        Рис. 1.4. Структура интерпретатора.


     Достоинства интерпретатора:
        - относительная простота реализации;
        - удобство отладки программ.
    Достоинства компилятора:
        - скорость выполнения ;
        - независимость             выполняемого           кода        от     системы
             программирования;
        - возможность передавать программы заказчикам без исходных
             текстов.
    Большинство современных интерпретаторов выполняют не исходный
код, а преобразуют его в промежуточный, который затем интерпретируется.
Это позволяет несколько повысить скорость исполнения и избежать передачи
заказчикам исходных текстов. Для трансляции классических языков
программирования (C, C++, Паскаль, Delphi и др.) обычно используются
компиляторы. Как интерпретаторы выполнены большинство реализаций
Бейсика и языков управления СУБД. Язык сетевого программирования Java
реализован как интерпретируемый специальной виртуальной Java-машиной.
Это обеспечивает возможность исполнения промежуточного кода Java на
любом типе компьютера, где имеется такая виртуальная Java-машина.
    Поскольку       компилятор         преобразует     исходную        программу     в
совокупность битов, полученную строку битов можно использовать и на