Системное ПО. Лабораторные работы

Системное ПО. Лабораторные работы

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

Определения и логические связи языковых процессоров.

Языковым процессором — называется программа по обработке данных, представленных во входном формате на одном из языков. Программа выполняет роль перекодировки входного формата в некоторый выходной набор данных. Такие программы разрабатываются на основе синтаксически ориентированных методов и в зависимости от входного и выходного формата данных подразделяются на следующие четыре типа:

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

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

• Ассемблеры

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

Компилятор — это такой языковый процессор, в котором входной формат данных — язык высокого уровня, а выходной формат — объектный код.

На рис. 1.1 приведены логические связи компиляторов. Сплошными стрелками показана передача управления, пунктирными – информационные связи.  рис 1.1 Логические связи компилятора

Охарактеризуем каждый блок в отдельности и при этом определим сопутствующие понятия:

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

Токен (token – лексема ) – некоторая программная единица, которая характеризует определённые категории языка. Традиционно токенами являются идентификаторы, числовые константы, ключевые слова, знаки операций и т.д. В свою очередь токены состоят из литер. Понятие токена широко используется в иностранной литературе , например в [11]. В отечественных источниках вместо токена употребляют эквивалентное понятие – лексема [12]. Токен или лексема в общем случае является подмножеством множества терминальных символов, строгое определение которых будет приведено ниже.

Литера(литерал)— неделимая информационная единица, из которых набирается текст программы, в простом информационном понятии нформационное терминальное поле на клавиатуре компьютера или компьютерный алфавит ASCII и EBCDIC. Иначе говоря, это знаковые клавиши на клавиатуре терминала , иключая служебные и функциональные. Токены(лексемы) могут состоять из одной или более литер, более строгое математическое понятие этой категории будет приведено ниже.

Функция сканера — предать определённый внутренний код определённым объектам программного сегмента. Так, ключевые слова в языке Си имеют один внутренний ключевой код, разделители – другой, числовые константы – третий и так далее. Сканер анализирует лишь алфавит грамматики языка.

2.Синтаксис — синтаксический анализатор проводит анализ на соответствие программы на входном языке грамматическим правилам этого языка и

Комментарии к записи Системное ПО. Лабораторные работы отключены

Рубрика: Программирование

Обсуждение закрыто.