ВУЗ:
Составители:
26
себя практической базе. Языки высокого уровня, к которым относится боль-
шинство языков программирования, представляют собой некоторое промежу-
точное звено между чисто формальными языками и языками естественного об-
щения людей. От первых им досталась строгая формализация синтаксических
структур предложений языка, от вторых – значительная часть словарного запа-
са, семантика основных конструкций и выражений (с элементами математиче-
ских операций, пришедшими из алгебры).
Появление языков высокого уровня существенно упростило процесс про-
граммирования. Компиляторы создавались и продолжают создаваться не толь-
ко для новых, но и для давно известных языков. Многие производители от из-
вестных, солидных фирм (таких, как Microsoft или Inprise) до мало кому знако-
мых коллективов авторов выпускают на рынок все новые и новые образцы
компиляторов.
Ныне компиляторы являются неотъемлемой частью любой вычислитель-
ной системы. Без их существования программирование любой прикладной за-
дачи было бы затруднено, а то и просто невозможно. Да и программирование
специализированных системных задач, как правило, ведется если не на языке
высокого уровня (в этой роли в настоящее время чаще всего применяется язык
С), то на языке ассемблера, следовательно, применяется соответствующий ком-
пилятор. Программирование непосредственно на языках машинных кодов про-
исходит исключительно редко и только для решения очень узких вопросов.
Компиляторы обычно несколько проще в реализации, чем интерпретаторы.
По эффективности они также превосходят их – очевидно, что откомпилирован-
ный код будет исполняться всегда быстрее, чем происходит интерпретация
аналогичной исходной программы. Кроме того, не каждый язык программиро-
вания допускает построение простого интерпретатора. Однако интерпретаторы
имеют одно существенное преимущество – откомпилированный код всегда
привязан к архитектуре вычислительной системы, на которую он ориентирован,
а исходная программа – только к семантике языка программирования, которая
гораздо легче поддается стандартизации. Этот аспект первоначально не прини-
мали во внимание.
Из известных языков, предполагавших интерпретацию, раньше можно бы-
ло выделить разве что Basic. Тем не менее сейчас ситуация несколько измени-
лась, поскольку вопрос о переносимости программ и их аппаратно-
платформенной независимости приобретает все большую актуальность с разви-
тием сети Интернет. Самый известный сейчас пример – это язык Java (сам по
себе он сочетает компиляцию и интерпретацию), а также JavaScript.
Этапы трансляции. Общая схема работы транслятора
На рисунке ниже представлена общая схема работы компилятора. Из нее
видно, что в целом процесс компиляции состоит из двух основных этапов –
синтеза и анализа.
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »