Языковые процессоры.

Языковые процессоры подразделяются на трансляторы и интерпретаторы. Транслятор - программа, которая конвертирует программу, написанную на одном языке, в программу на другом языке так, чтобы обе давали идентичные результаты вычислений. В этом случае первичная программа, ее код и язык называют ис­ходной программой, исходным текстом и исходным языком, со­ответственно. Результаты транслированной версии называют про­граммой-адресатом (объектом, целью), целевым (объектным) кодом и целевым (объектным) языком. Трансляторы далее клас­сифицируются на ассемблеры, компиляторы и препроцессоры.

Интерпретатор преобразовывает каждую инструкцию программы непосредственно в машинный код и немедленно выполняет ее пе­ред переходом к следующей инструкции.

Ассемблеры.

Ассемблер транслирует программу, написанную на компоно­вочном языке (язык ассемблера / assembly language), в машинный код. Каждая ко­манда в программе, написанной на ассемблере, имеет почти вза­имно однозначное соответствие командам в машинном коде. Дру­гими словами, код операции и операнд, из которых состоит каждая инструкция ассемблера, обозначаются читаемым именем (т. е., мнемоническим кодом операции) и десятичным числом, вместо двоичного представления соответствующей машинной команды. LOAD 8 - пример такой команды на ассемблере, соответствующий машинной команде 010100001000.

Таким образом, по сравнению с другими языковыми процес­сорами, ассемблеры имеют относительно простые структуры. Ка­ждая инструкция на языке высокого уровня имеет намного более сложную связь с машинным кодом, поэтому в ассемблере про­граммы пишутся тогда, когда желательно использовать компью­терные аппаратные средства более эффективно. Ассемблеры, однако, не столь же читаемы, как языки высокого уровня, и, следо­вательно, сохраняется возможность создания ошибок при увели­чении объема программирования.

Компиляторы.

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

Препроцессоры.

Препроцессор - языковый процессор, который выполняет предварительную трансляцию исходных кодов - типа замены ал­фавитно-цифровых выражений двоичной формой и вставкой опре­деленных файлов - создавая модификацию исходного текста, ко­торый должен быть далее обработан транслятором. Препроцессор также удобно использовать, когда новый язык высокого уровня создается путем добавления элементов к существующему языку высокого уровня. Например, программа на C++ может транслиро­ваться в ее эквивалент на С препроцессором.

Интерпретаторы.

Интерпретатор выполняет каждую инструкцию программы, поскольку она преобразована в машинный код без создания про­граммы-цели, в то время как ассемблеры и компиляторы произво­дят программы-цели без выполнения их. Интерпретаторы удобны для быстрого нахождения ошибок в программах, но не подходят для больших программ из-за низкого времени интерпретации.

 

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

 

Языки Assembler

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

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

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

 

ФОРТРАН

ФОРТРАН (транслятор формул) был создан как язык для решения задач числового анализа Джоном В. Бекусом и рядом других специалистов из IBM и был анонсирован в 1957 г. С тех пор он был несколько раз модернизирован. Даже если другие языки, например С, становятся популярными для научных и технических вычислений, ФОРТРАН остается избранным языком для численно­го анализа. Чтобы расширить его применимость для научных вы­числений вне сферы численного анализа, в версии, выпущенной в 1990 г., ФОРТРАН 90 были добавлены средства для обработки структурированных данных, динамическое распределение данных, рекурсивные расчеты и другие возможности.

 

Кобол

Кобол (COmmon Business-Oriented Language - ориентиро­ванный на бизнес язык широкого применения) - наиболее попу­лярный язык в мире бизнеса, включая банки и страховые компа­нии. Пользователи компьютеров и их изготовители объединились с Министерством обороны США, чтобы установить единый язык программиро­вания для деловых приложений и создали Конференцию по Язы­кам Систем Данных (CODASYL) в 1959 г. CODASYL создал КОБОЛ для достижения двух главных целей: портативность (способность программ к переносу при минимальных изменениях на компьюте­ры, произведенные различными компаниями) и удобочитаемость (легкость, с которой программы могут читаться, подобно обычным предложениям на английском).

КОБОЛ был пересмотрен несколько раз с 1959 г. Он может быть более легко понят деловыми людьми чем, возможно, другие языки, и программы, написанные в КОБОЛЕ весьма компактны.

 

PL/I

PL/I - комплексный язык, который был предложен SHARE (группа пользователей IBM компьютеров) и IBM в 1963 г. Он был первоначально назван NPL (новый язык программирования), но позже переименован в PL/I. IBM впервые анонсировал описание PL/I в 1965 г. Американский Национальный Институт Стандартов (ANSI) и другие организации с тех пор исправляли его несколько раз. PL/I был разработан и для научных, проектных и деловых проблем, объединяя элементы ФОРТРАНа, КОБОЛа и АЛГОЛа, которые в то время были весьма популярными.

 

Бейсик

Бейсик (BASIC - Beginner's All-purpose Symbolic Instruction Code, Универсальная Символическая Система команд для начи­нающих) - универсальный язык программирования, разработан­ный Джоном Дж. Кемени и Томасом Е. Куртцем в Дартмаус-колледже (Гановер, США), в середине 1960-х г. Это - один из самых простых языков высокого уровня и он относительно легко изу­чается школьниками и начинающими программистами. Приблизи­тельно с 1980 г. БЕЙСИК стал популярным для использования на персональных компьютерах.

 

Паскаль

Паскаль (Pascal) - язык, разработанный Н. Виртом из Федерального Института Технологии (Цюрих, Швейцария) в конце 1960-х г.г. Он предназначался в качестве хорошего методического инструмента для систематического изучения программирования и имел быст­рые, надежные компиляторы. Начиная с 1974 г. компилятор Пас­каля, разработанный Виртом, стал доступен публике и использо­вался многими университетами.

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

 

С

Хотя С (читается- «Си») рассматривается как язык высокого уровня, он имеет много элементов низкого уровня, типа способности непосредст­венно обращаться к адресам и битам. С, тем не менее, высоко портативен. Он был развит Деннисом М. Ритчи из лабораторий компании AT&T в 1972 г. Операционная система UNIX была напи­сана почти исключительно на С; предшествующие операционные системы были почти полностью написаны на ассемблере или в машинных кодах. С широко использовался на персональных и больших компьютерах.

 

Лисп

Лисп (LISP – LISt Processor / списочный процессор) - язык, который является мощ­ным средством для управления списками данных или символов скорее, чем для обработки числовых данных, В этом смысле Лисп уникален. Он требует памяти большой емкости и, так как он обыч­но обрабатывается интерпретатором, медленно выполняется в программах. Лисп был создан в конце 1950-х г.г. и в начале 1960-х г.г. группой, возглавляемой Джоном Маккарти, впоследствии про­фессором Института Технологии в Штате Массачусетс. В то время, Лисп радикально отличался от других языков, типа ФОРТРАНа и АЛГОЛа. Отдельные версии были развиты из Лисп 1.5, представ­ленного Маккарти. Лисп, выпущенный в 1984 г., соответствует фактическому стандарту Лисп.

 








Дата добавления: 2015-12-22; просмотров: 3045;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.