ВУЗ:
Составители:
13
Пример 2.4. Программа на модельном языке М, вычисляющая среднее
арифметическое чисел, введенных с клавиатуры.
program
var k
, n, sum: int;
begin
read
(n);
sum
:= 0;
i
:=1;
while i
<=n do
begin
read
(k);
sum
:=sum+k;
k
:=k+1
end
;
write
(sum/n)
end
.
2.2 Общая структура компилятора
Определение 2.2. Компилятор – это программа, которая осуществляет
перевод исходной программы на входном языке в эквивалентную ей объектную
программу на языке машинных команд или языке ассемблере.
Основные функции компилятора:
1) проверка исходной цепочки символов на принадлежность к входному
языку;
2) генерация выходной цепочки символов на языке машинных команд
или ассемблере.
Процесс компиляции состоит из двух основных этапов: синтеза и анали-
за. На этапе анализа выполняется распознавание текста исходной программы и
заполнение таблиц идентификаторов. Результатом этапа служит некоторое
внутреннее представление программы, понятное компилятору.
На этапе синтеза на основании внутреннего представления программы и
информации, содержащейся в таблице идентификаторов, порождается текст ре-
зультирующей программы. Результатом этого этапа является объектный код.
Данные этапы состоят из более мелких стадий, называемых фазами. Со-
став фаз и их взаимодействие зависит от конкретной реализации компилятора.
Но в том или ином виде в каждом компиляторе выделяются следующие фазы:
1)
лексический анализ;
2)
синтаксический анализ;
3)
семантический анализ;
4)
подготовка к генерации кода;
5)
генерация кода.
Определение 2.3. Процесс последовательного чтения компилятором дан-
ных из внешней памяти, их обработки и помещения результатов во внешнюю
память, называется проходом компилятора.
Пример 2.4. Программа на модельном языке М, вычисляющая среднее
арифметическое чисел, введенных с клавиатуры.
program
var k, n, sum: int;
begin
read(n);
sum:= 0;
i:=1;
while i<=n do
begin
read(k);
sum:=sum+k;
k:=k+1
end;
write(sum/n)
end.
2.2 Общая структура компилятора
Определение 2.2. Компилятор – это программа, которая осуществляет
перевод исходной программы на входном языке в эквивалентную ей объектную
программу на языке машинных команд или языке ассемблере.
Основные функции компилятора:
1) проверка исходной цепочки символов на принадлежность к входному
языку;
2) генерация выходной цепочки символов на языке машинных команд
или ассемблере.
Процесс компиляции состоит из двух основных этапов: синтеза и анали-
за. На этапе анализа выполняется распознавание текста исходной программы и
заполнение таблиц идентификаторов. Результатом этапа служит некоторое
внутреннее представление программы, понятное компилятору.
На этапе синтеза на основании внутреннего представления программы и
информации, содержащейся в таблице идентификаторов, порождается текст ре-
зультирующей программы. Результатом этого этапа является объектный код.
Данные этапы состоят из более мелких стадий, называемых фазами. Со-
став фаз и их взаимодействие зависит от конкретной реализации компилятора.
Но в том или ином виде в каждом компиляторе выделяются следующие фазы:
1) лексический анализ;
2) синтаксический анализ;
3) семантический анализ;
4) подготовка к генерации кода;
5) генерация кода.
Определение 2.3. Процесс последовательного чтения компилятором дан-
ных из внешней памяти, их обработки и помещения результатов во внешнюю
память, называется проходом компилятора.
13
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »
