Распечатка тестов и результатов
⇐ ПредыдущаяСтр 4 из 4
Пример ошибочного ввода:
Фходной файл 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|