Транслятор, компилятор и интерпретатор



Министерство науки и высшего образования Российской Федерации

ФГАОУ ВО «Северо-Восточный федеральный университет имени М.К. Аммосова»

Институт математики и информатики

Кафедра «Информационные технологии»

 

Доклад на тему:

«Основные понятия в программировании на научно-популярном языке»

(направление 09.03.01 «Информатика и вычислительная техника»)

 

Выполнила: студентка I курса группы ИВТ 20-1, ИМИ СВФУ

Данилова Любовь Михайловна

Проверила: старший преподаватель кафедры ИТ Михайлова М. С.

 

 

 

 

Якутск 2020

Содержание

Введение. 3

Семантика, синтаксис, лексика. 4

Транслятор, компилятор и интерпретатор. 5

Компилируемые и интерпретируемые языки. 7

Плюсы и минусы компиляции и интерпретации. 8

Список использованной литературы.. 9

 

 


 

Введение

Первокурсникам, ещё вчерашним школьникам, довольно сложно даётся переход из школьного образования в университетское. Речь идёт не только о значительной разнице систем (длительности пар, сессии, длительность семестров и т. д.), но и об усложнении изучаемого материала. Весь материал подаётся на научном языке, что совершенно естественно, ведь мы будущие специалисты. Это первое время отталкивает и пугает новых студентов. Особенно, когда речь идёт об обучении на программиста, так как зачастую у всех разная база, и человеку без определенной базы и дополнительного внешкольного изучения бывает довольно сложно на лекциях от обилия терминов и не всегда можно сразу понять, о чем говорит преподаватель, что он пытается до нас донести. Часто приходится обращаться за помощью к поисковику, чтобы понять значения слов. В своём докладе я решила разобрать основные понятия, с которым предстоит столкнуться будущему программисту на научно-популярном языке.

Научно-популярный язык ориентирован на передачу научной информации неподготовленному для ее восприятия читателю или слушателю.

 


 

Семантика, синтаксис, лексика

Язык программирования – это язык, созданный для записи компьютерных программ. Язык программирования состоит из набора лексических, синтаксических и семантических правил.

Синтаксис — это правильное написание языка с грамматической стороны. На уровне грамматики определяются корректные последовательности символов — лексемы. Если последовательность символов принадлежит языку, то она считается синтаксически правильной. Для программы это означает, что транслятор на ней не выдает ошибки. Но синтаксическая правильность не гарантирует даже осмысленности программы. Таким образом, синтаксис определяет лишь одну сторону языка.

Семантика — это соответствие между синтаксически правильными программами и действиями абстрактного исполнителя, то есть это смысловая сторона.

Лексика - правила «правописания слов» программы, таких как идентификаторы, константы, служебные слова, комментарии. Лексический анализ разбивает текст программы на указанные элементы.

 


 

Высокоуровневые, среднеуровневые и низкоуровневые языки

Языки программирования можно разбить на три большие категории. Это высокоуровневые, среднеуровневые и низкоуровневые языки. Эти три вида языков отличаются друг от друга по многим характеристикам.

К высокоуровневым относят языки программирования, которые созданы с расчетом на то, что их должны понимать люди. Они независимы: программистам не нужно знать, на каком оборудовании будет запускаться программа. Примеры таких языков – C++ и Python.

Среднеуровневые языки служат как бы связующим звеном между аппаратной и программной частью компьютера. Они действуют на уровне абстракции.

Низкоуровневые языки, в свою очередь, созданы для удовлетворения нужд конкретной компьютерной архитектуры и учитывают требования «железа».

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

Программы, написанные на высокоуровневых языках, относительно медленные. Главная причина этого в том, что они пишутся на «человеческом» языке. Компьютеру приходится переводить и интерпретировать их, прежде чем выполнить. Все эти процессы занимают время.

Скорость среднеуровневых языков занимает промежуточное положение. Ее не назовешь ни слишком высокой, ни слишком низкой.

Это еще один параметр, с помощью которого можно разграничить три вида языков программирования. Низкоуровневые языки очень эффективны в этом плане, они потребляют мало памяти. Это их очень отличает от высокоуровневых языков, которые являются очень ёмкими в этом плане. А вот программы на среднеуровневых языках уже не требуют столько памяти.

Низкоуровневые языки дружественны к машинам, но недружественны к программистам. Человеку довольно сложно иметь дело с бинарным кодом и мнемоникой. То, что каждая инструкция создается для конкретной архитектуры компьютера, делает низкоуровневые языки более техническими. Короче говоря, учить их сложно.

Высокоуровневые языки, напротив, дружественны к людям. Они состоят из фраз на английском языке, которые легко понять и запомнить. Это поясняет, почему именно языки высокого уровня являются наиболее популярными.

 


 

Скриптовые (сценарные) языки

Скриптовый (сценарный) язык – это язык программирования, который разработан для записи последовательностей операций («сценариев»), выполняемых пользователем на своем компьютере. Раньше назывался языком пакетной обработки.

Сценарий или скрипт – это программа, автоматизирующая задачу. Без скрипта пользователю бы пришлось ее выполнять вручную с помощью интерфейса программы.

Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами

Для создания пользовательских расширений язык сценариев удобен в ряде случаев:

· безопасность. Скриптовый язык обеспечивает программируемость без риска дестабилизации системы. Скрипты не компилируются, а интерпретируются. Поэтому неправильно написанная программа выведет диагностическое сообщение, не вызывая падение системы;

· наглядность. Язык сценариев используется, если необходим выразительный код. Концепция программирования в скриптовом языке может кардинально отличаться от основной программы;

· простота. Код имеет собственный набор программ, поэтому одна строка может выполнять те же операции, что и десятки строк на обычном языке. Поэтому для написания кодов не требуется программист высокой квалификации;

· кроссбраузерность. Скриптовые языки программирования ориентированы на кроссбраузерность. Например, JavaScript может исполняться браузерами практически под всеми современными операционными системами.

В зависимости от быстродействия различают языки сценариев предварительно компилируемые (например, широко используемый для создания и продвижения сайтов Perl) и динамического разбора (command.com, sh). Первые транслируют программу в байт-код, который затем исполняют. Языки динамического разбора считывают инструкции из файла программы минимально необходимыми блоками, которые исполняют, не читая, дальнейший код.

Транслятор, компилятор и интерпретатор

Транслятор (от английского Translate – переводить) - программа, переводящая исходный код (программу, написанную на одном из высокоуровневых языков программирования) в объектный код, используемый процессором компьютера, или в промежуточный код для последующей интерпретации.

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

Мы полагаемся на такие инструменты, как компиляция и интерпретация, чтобы преобразовать наш код в форму, понятную компьютеру, и реализовать её.

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

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

Интерпретация – процесс непосредственного покомандного выполнения программы без предварительной компиляции. То есть код может быть исполнен в операционной системе после конвертации в машинный (путём компиляции) или же исполняться построчно другой программой, которая делает это вместо ОС (интерпретатор).

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

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

Интерпретаторы бывают двух типов:

· Простые - осуществляющие исключительно интерпретацию введённого исходного кода.

· Интерпретаторы компилирующего типа – это система, состоящая из компилятора, транслирующего исходный код в промежуточный, и виртуальной машины, реализующей операции, описанные в коде.

 


 


Дата добавления: 2020-11-23; просмотров: 607; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!