Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
90
Добавлен:
09.02.2016
Размер:
216.06 Кб
Скачать

Трансляторы

Так как текст записанной на Паскале программы не понятен компьютеру, то требуется перевести его на машинный язык. Такой перевод программы с языка программирования на язык машинных кодов называется трансляцией (translation — перевод), а выполняется он специальными программами - трансляторами.

Существует три вида трансляторов: интерпретаторы, компиляторы и ассемблеры.

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

Компилятор преобразует (транслирует) всю программу в модуль на машинном языке, после этого программа записывается в память компьютера и лишь потом исполняется.

Ассемблеры переводят программу, записанную на языке ассемблера (автокода), в программу на машинном языке.

Любой транслятор решает следующие основные задачи:

• анализирует транслируемую программу, в частности определяет, содержит ли она синтаксические ошибки;

• генерирует выходную программу (ее часто называют объектной или рабочей) на языке команд ЭВМ (в некоторых случаях транслятор генерирует выходную программу на промежуточном языке, например, на языке ассемблера);

• распределяет память для выходной программы (в простейшем случае это заключается в назначении каждому фрагменту программы, переменным, константам, массивам и другим объектам своих адресов участков памяти).

Введение в .Net и c Sharp

Программист пишет программу на языке, понятном программисту, а компьютер исполняет только программы, написанные на языке машинных кодов. Совокупность средств написания, редактирования и преобразования программы в машинные коды и ее исполнения называют средой разработки.

Среда разработки содержит:

  • Текстовый редактор для ввода и корректировки текста программы

  • Компилятор для перевода программы на язык машинных команд

  • Средства отладки и запуска программы на исполнение

  • Общие библиотеки с многократно используемыми программными элементами

  • Справочную систему и др.

Платформа .NET («дот нет»), разработанная компанией Microsoft, включает не только среду разработки для нескольких языков программирования, называемую Visual Studio .NET, но множество других средств, таких как средства поддержки баз данных, электронной почты и др.

Важнейшими задачами при разработке современных программных средств являются:

  • Переносимость-возможность исполнения на разных типах компьютерах

  • Безопасность – невозможность несанкционированных действий

  • Надежность – безотказность работы в заданных условиях

  • Использование готовых компонентов для ускорения разработки

  • Межъязыковое взаимодействие – применение нескольких языков программирования.

Все эти задачи решают в рамках платформы .NET. Для обеспечения переносимости компиляторы платформы переводят программу не в машинный код, а в промежуточный язык MSIL (Microsoft Intermediate Language) или просто в IL. IL не содержит команд, зависящих от операционной системы или типа компьютера. Программу на IL исполняет среда выполнения CLR (Common Language Runtime), которая уже специфична для каждого типа компьютера. Перевод IL-программы в машинные коды конкретного компьютера выполняет JIT (Just In Time) –компилятор.

Схема выполнения программы на платформе .NET приведена на рис.1.

Компилятор создает сборку программы – файл с расширение .exe или .dll, который содержит IL-код. Выполнение программы организует среда CRL, которая следит за допустимостью операций, выполняет распределение и очистку памяти и обрабатывает ошибки исполнения. Это обеспечивает безопасность и надежность программ.

Платой за эти достоинства является снижение быстродействия программ и необходимость установки на компьютере .NET для исполнения готовых программ.

Итак, .NET – это платформа программирования.

C# (Си-Шарп) - это один из языков программирования платформы .NET. Он входит в Visual Studio - Visual Studio.NET (Версии 2008, 2010, 2012). Кроме C# в Visual Studio.NET входят Visual Basic.NET и Visual C++. Одна из причин разработки нового языка компанией Microsoft - это создание компонентно-ориентированного языка для платформы .NET Framework.

Рис.1 Схема выполнения программы в .NET

.NET Framework состоит из двух частей:

  1. Во-первых, она включает огромную библиотеку классов, которые можно вызывать из программ на C#. Классов очень много (порядка несколько тысяч). Это избавляет от необходимости писать все самостоятельно. Поэтому программирование на С# заключается в написании собственного кода, который при необходимости вызывает классы, хранящиеся в .NET Framework.

  2. Во-вторых, в ее состав входит среда выполнения .NET Runtime, управляющая запуском и работой готовых программ.

Платформа .NET является открытой средой – сторонние разработчики создали для .NET десятки компиляторов для языков Ada, COBOL, Fortran, Lisp, Oberon, Perl, Python и др.

Платформа .NET активно развивается – выпускаются все новые версии этой платформы. С помощью меню ProjectProperties выясните версию используемой платформы .NET.

Теоретически программа для среды .NET может выполняться под любой операционной системой, в которой .NET установлена. Но на практике единственная официальная платформа для этого - это операционная система Windows. Однако существуют неофициальные реализации .NET для Unix-подобных ОС Linux, Mac OS X и других (Mono — проект системы .NET Framework на базе свободного программного обеспечения).

Соседние файлы в папке Языки_Программирования_Лабораторные