Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Распечатка тестов и результатов




 

Пример ошибочного ввода:

 

Фходной файл 5.pas:

(* New Programm *)

{ Variant 5 }

f:boolean;

r: integer;

testpr(var a:integer);i,j:integer;

 begin

repeat

r:=i+3*8;

r:=r+3*8;

until ((a<9 and a<3) or true);

 end;:= r=1;.

Вид экрана:

 

 

Результат обработки:

#include <stdio.h>

 

/* New Programm */

/* Variant 5 */f;r;

testpr(int & a)

{

 int i,j;

 {

do {

r=i+3*8;

r=r+3*8;

} while (((a<9&&a<3)||1));

 }

void main()

 {

f=r==1;

 }

Пример файла с ошибочным оператором:

(* New Programm *)

{ Variant 5 }

f:boolean;

r: integer;

testpr(var a:integer);i,j:integer;

 begin

repeat

r:=i+3*8;

r:=r+3*8;

until ((a<9 and a<3) or true);

 end;:= r=1;(x);

end.

Вид экрана:

 

Результат работы:

#include <stdio.h>

 

/* New Programm */

/* Variant 5 */f;r;

testpr(int & a)

{

 int i,j;

 {

do {

r=i+3*8;

r=r+3*8;

} while (((a<9&&a<3)||1));

 }

void main()

 {

f=r==1;

 

< Ошибка! > (x);


Выводы

 

Таким образом, транслятор - это программа <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0> или техническое средство, выполняющее трансляцию программы.

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

Транслятор - в узком смысле - программа, преобразующая: программу, написанную на одном (входном) языке в программу, представленную на другом (выходном) языке.

Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д.

Трансляция программы - преобразование программы, представленной на одном из языков программирования <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F>, в программу на другом языке и, в определённом смысле, равносильную первой.[1] <http://ru.wikipedia.org/wiki/%D2%F0%E0%ED%F1%EB%FF%F2%EE%F0>

Язык, на котором представлена входная программа, называется исходным языком, а сама программа - исходным кодом <http://ru.wikipedia.org/wiki/%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4>. Выходной язык называется целевым языком или объектным кодом <http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4>.

Понятие трансляции относится не только к языкам программирования, но и к другим компьютерным языкам <http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA>, вроде языков разметки <http://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B8>, аналогичных HTML <http://ru.wikipedia.org/wiki/HTML>, и к естественным языкам, вроде английского <http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> или русского <http://ru.wikipedia.org/wiki/%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> (см.: перевод <http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4>).

Мы написали однопроходной транслятор со смешанным подходом к анализу текста. Он одновременно реализует и лексическую и синтаксическую фазу. Конечно, до полноценного транслятора этой программе далеко (такая задача и не стояла), но можно продолжать описание конструкций языка паскаль и добавлять функции обработки этих конструкций. Тем самым можно реализовать программу с потенциалом использования в компиляторе. Программу довольно легко разбить на модули, сделав её тем самым более гибкой для настройки и написания дальнейших версий.

Список литературы

 

1. Абрамов, В.Г.; Трифонов, Н.П. и др. Введение в язык Паскаль; Наука, 2005. - 320 c.

. Бабэ, Бруно Просто и ясно о Borland C++; М.: БИНОМ, 2000. - 400 c.

. Грегори, Кэйт Использование Visual C++. Специальное издание; Издательский дом Вильямс, 2000. - 849 c.

. Епанешников, А.М.; Епанешников, В.А. Программирование в среде Turbo Pascal 7.0; М.: ДИАЛОГ-МИФИ; Издание 4-е, испр., 2004. - 367 c.

. Культин, Н.Б. Turbo Pascal в задачах и примерах; БХВ, 2007. - 256 c.

. Мешков; Тихомиров Visual C++ и MFC; СПб: BHV, 2004. - 477 c.

. Павловская, Т.А. Паскаль. Программирование на языке высокого уровня; СПб: Питер, 2007. - 393 c.

. Семашко, Г.Л.; Салтыков, А.И. Программирование на языке Паскаль; М.: Наука, 2010. - 128 c.

. Страуструп, Б. Язык программирования C++; М.: Радио и связь, 2010. - 350 c.

. Уэллин, С Как не надо программировать на С++; СПб: Питер, 2004. - 240 c.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...