Разработка программ на ПК. Этапы подготовки программы на ПК. Компиляторы и интерпретаторы
Поиск на других ресурсах:
1. Разработка программ на ПК. Особенности. Средства разработки на языке Pascal
Для создания программ на компьютере используются специальные программы, которые базируются на некотором общеизвестном языке программирования. Такие программы называются по разному: средства разработки программного обеспечения, инструментальные системы, системы визуальной разработки приложений и т.п. Современные средства разработки программ включают:
- поддержку нескольких языков высокого уровня;
- системы отладки;
- технологические комплексы программирования;
- технологии интеллектуального редактирования или рефакторинг;
- технологии компилирования и отладки на нескольких языках программирования;
- технологии работы с базами данных;
- технологии создания Web-приложений;
- технологии шаблонов (паттернов) проектирования;
- технологии моделирования с помощью языка UML;
- другие полезные нововведения.
Средства разработки программ (инструментальные средства программирования) бывают двух основных видов:
Загрузка картинки в модуль GraphABC и ее дальнейшее преобразование
- компиляторы;
- интерпретаторы.
Соответственно этому делятся и языки программирования:
- интерпретируемые языки программирования (Python, Java Script, Basic и прочие);
- компилируемые языки программирования (C++, C#, Java, Pascal и прочие).
Примерами известных средств разработки программного обеспечения могут быть Microsoft Visual Studio, Java Eclipse, Lazarus, Delphi, Intellij IDEA и прочие. На языке программирования Pascal наиболее известными средствами разработки есть семейство систем Lazarus и Delphi.
2. Компиляторы и интерпретаторы. Особенности. Отличия
Как известно, среди средств разработки программного обеспечения различают компиляторы и интерпретаторы. Эти виды программных средств отличаются способом формирования машинного кода, каким есть набор инструкций для процессора. Отличия состоят в следующем.
Интерпретатор проверяет команду за командой. Если выявлена синтаксическая ошибка, то выполнение программы приостанавливается. Если ошибки нет, то команда выполняется и происходит переход к проверке следующей команды. Таким образом обрабатываются все команды.
Даже если программа уже проверена и не содержит изменений, то при каждом запуске программы интерпретатор будет проверять любую из команд по новому. Интерпретатор не формирует промежуточных объектных файлов.
Компилятор проверяет все команды на наличие синтаксических ошибок не останавливаясь. Если ошибки есть, то формируется перечень команд с ошибками. На этом этапе программа не готова к выполнению и не сформирован промежуточный объектный файл. Если ошибок нет, то компилятор формирует промежуточный объектный файл.
Этот файл будет использоваться в будущем, если программу нужно запускать несколько раз. На основе этого объектного файла создается исполнительный файл, который содержит инструкции в машинных кодах. Если в текст скомпилированной программы внести изменения, то процесс проверки команд на ошибки, создание объектного файла и создание исполнительного файла будет повторен.
Паскаль с Нуля. Оператор вывода. Урок 1
3. Этапы подготовки программы на ПК
Во время создания кода программы в некоторой системе программирования, программист должен придерживаться строго определенных этапов.
При создании программы в компиляторе на языке программирования Паскаль (Delphi, Lazarus, Turbo Pascal) выделяются следующие этапы:
- Редактирование – набор текста программы на языке высокого уровня и сохранение его на внешнем запоминающем устройстве. Сформированный файл имеет название исходный модуль, который содержит так называемый исходный код программы. Например, если создается программа на языке программирования Паскаль (Pascal), то, как правило, исходный код сохраняется в файлах с расширением *.pas.
- Компиляция. На данном этапе специальная программа (компилятор) переводит программу из текстового вида в промежуточный объектный код. Во время компиляции происходит поиск ошибок в программе и их исправление. Созданный во время компиляции файл имеет название объектный модуль. Если попробовать прочитать код этого модуля как текстовый файл, то для пользователя он будет непонятен. Например, в системе программирования Delphi объектные модули имеют расширение *.dcu.
- Компоновка. На этом этапе происходит сбор всех необходимых программ в единый, пригодный для выполнения на ПК, загрузочный модуль. Это делает программа-компоновщик. Этот модуль называется исполняемым и представлен в виде отдельного файла. Как правило, исполняемый модуль имеет расширение *.exe. Этот модуль есть результатом работы, его можно запускать на выполнение, использовать его в своей работе.
- Выполнение. Это этап эксплуатации программы. Если в результате выполнения программы и анализа результатов ее работы найдены ошибки (логические), то программу нужно доработать. В этом случае весь процесс разработки повторяется с этапа редактирования.
4. Упрощенная модель компилятора
В упрощенном варианте компилятор содержит следующие составляющие:
- лексический анализатор – разбивает на лексемы код программы на языке высокого уровня. Разбивка осуществляется на основании символов-разделителей;
- синтаксический анализатор — конвертирует последовательность лексем, полученных от лексического анализатора, в последовательность внутренних кодов компилятора. Синтаксический анализатор использует синтаксические правила грамматики языка для проверки корректности записи предложений программы;
- генератор кода – осуществляет перевод внутреннего кода компилятора в конечный машинный код компьютера;
- таблицы, в которых сохраняются зарезервированные слова, имена идентификаторов, литералов.
На рисунке изображена упрощенная модель компилятора.
Рисунок 1. Упрощенная модель компилятора
Источник: www.bestprog.net
Компиляция
Программу на Паскале надо предварительно скомпилировать. Компиляция означает перевод исходной программы с языка Pascal в объектную программу – на язык компьютера. При запуске программы, вычисления производятся по программе в объектном коде, а не по исходной программе.
После компиляции имеются две версии программы: одна на Паскале, другая на языке компьютера (или близком к нему). Если посмотреть на объектную программу, то на экране будут непонятные «слова» и закорючки.
Программы на языке Pascal и других компилируемых языках выполняются немного быстрее, чем программы с интерпретируемых языков (например, Бейсика). Это связано с тем, что объектная программа на языке близком к языку компьютера (или непосредственно в командах компьютера) выполняется быстро, в то время как инструкции программы на интерпретируемых языках выполняются путем непосредственного перевода исходного кода на язык компьютера. Платой за выигрыш в скорости выполнения скомпилированной программы служат неизбежные затраты времени на компиляцию и связанные с этим неудобства. Правда, в большинстве систем предусмотрена возможность сохранения объектных программ, а значит и повторного их выполнения без рекомпиляции.
Сначала исходная программа записывается программистом (редактируется), после чего сохраняется на диске под произвольным именем.
На следующем шаге в память загружаются компилятор и исходный текст программы. Компилятор «читает» ее, превращая в объектный код, который затем также сохраняется на диске.
Последний шаг – выполнение программы. В компьютерную память загружается именно объектный (исполняемый) код. Выполняющаяся программа может предполагать ввод данных (input) с клавиатуры и вывод результатов (output) на экран. Это довольно распространенная схема ввода-вывода данных, стандартная в Паскале, но, разумеется, не единственная. Язык был разработан еще тогда, когда файлы хранились на магнитной ленте, ввод осуществлялся с перфокарт, а вывод – на печатающее устройство.
Источник: pas1.ru
Компиляция
Программу на Паскале надо предварительно скомпилировать. Компиляция означает перевод исходной программы с языка Pascal в объектную программу – на язык компьютера. При запуске программы, вычисления производятся по программе в объектном коде, а не по исходной программе. После компиляции имеются две версии программы: одна на Паскале, другая на языке компьютера (или близком к нему).
Если посмотреть на объектную программу, то на экране будут непонятные «слова» и закорючки. Программы на языке Pascal и других компилируемых языках выполняются немного быстрее, чем программы с интерпретируемых языков (например, Бейсика).
Это связано с тем, что объектная программа на языке близком к языку компьютера (или непосредственно в командах компьютера) выполняется весьма эффективно, в то время как инструкции программы на интерпретируемых языках выполняются путем непосредственного перевода исходного кода на язык компьютера. Платой за выигрыш в скорости выполнения скомпилированной программы служат неизбежные затраты времени на компиляцию и связанные с этим неудобства.
Правда, в большинстве систем предусмотрена возможность сохранения объектных программ, а значит и повторного их выполнения без рекомпиляции. Сначала исходная программа записывается программистом (редактируется), после чего сохраняется на диске под произвольным именем. На следующем шаге в память загружаются компилятор и исходный текст программы.
Компилятор «читает» ее, превращая в объектный код, который затем также сохраняется на диске. Последний шаг – выполнение программы. В компьютерную память загружается именно объектный (исполняемый) код. Выполняющаяся программа может предполагать ввод данных (input) с клавиатуры и вывод результатов (output) на экран.
Это довольно распространенная схема ввода-вывода данных, стандартная в Паскале, но, разумеется, не единственная. Язык был разработан еще тогда, когда файлы хранились на магнитной ленте, ввод осуществлялся с перфокарт, а вывод – на печатающее устройство.
Структура программы на языке Паскаль
- раздел меток (label)
- раздел констант (const)
- раздел типов (type)
- раздел переменных (var)
- раздел процедур и функций
- раздел действий (операторов).
Ограничение
Для продолжения скачивания необходимо пройти капчу:
Источник: studfile.net