Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Языки программирования




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

Основу любой системы программирования составляет язык программирования.

Процесс преобразования текста программ записан на языке программирования.

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

Трансляторы делятся на компиляторы и интерпретаторы.

Исходным данным для компилятора является текст программы, записанный на языке программирования.

Результатом — файл. С последовательностью команд в кодах процессора.

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

Результатом — выполнение оттранслированной отдельной команды.

Таким образом каждый запуск программы в интерпретаторе перейдет к повторной ее трансляции.

В большинстве систем программирования процесс трансляции происходит в 3 этапа:

1. Компиляция -перевод текста программы.

Получаемый в результате файл называется объектным модулем.

В общем случае таких файлов может быть несколько.

2. Редактирование связей.(Компоновка)

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

3. Загрузка в память и исполнение:

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

 

 

7) Алфавит, словарь, грамматика языка: синтаксис, семантика.

Любой язык программирования в своей основе имеет:

1.Алфавит

2.Словарь

3.Грамматика языка:

* Синтаксис -совокупность правил задающих множество формальных правильных предложений.(правило построения конструкции)

* Семантика - совокупность правил истолкований предложений языка.

Грамматику можно описать словесно. Но при описании формальных языков используются специальные средства.

Пример: Собака лает

Правило построения это предложения можно сформулировать следующим образом:

Предложение = подлежащие сказуемое

Подлежащие = собака || кошка

Сказуемое = лает || мурлычет

= '' | метасимволы

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

Рассмотренный способ описание синтаксических правил называется БНФ(Бэкус-Наурова Форма)

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

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

Всегда являются промежуточными.

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

S = A B

A = ''X'' | ''Y''

B = ''Z'' | ''W''

X Z

XW

YZ

YW

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

В настоящее время используется РБНФ (Расширенная БНФ)

()- для группировки

[]-необязательная конструкция.

{}-Элемент расположенный внутри может появиться сколько угодно раз.

S = “X”A

A=”Z”|”Y”A

XZY

XZZY

XZZZY

Основными символами алфавита языка С++ являются:

*Прописные и строчные латинские буквы и знак подчеркивания

*Арабские цифры от 0 до 9

*Специальные знаки(«» ' {} [] () + - / * %. \?,; < = > & #! |)

*Пробельные символы(символы не изображаемые знаками на экране (пробел табуляция переход на строку)

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

8) Изображения значений в языке С++

Литерал — цепочка литер, служащая для представления конкретного значения в программе.

На этапе компиляции компилятор формирует это значение, выделяет ему место в памяти. И защищает его от изменений. Таким образом с помощью литералов в программе изображаются константы.

В языке С++ используются 4 типа литералов:

*Целочисленный

*Вещественный

*Символьный

*Строковый

Целое = [знак] целое_без_знака

Знак = “+” | “-”

целое_без_знака = цифра{цифра}

цифра = 0 1 2 3 4 5 6 7 8 9

Вещественное = [знак]вещественное_без_знака

вещественное_без_знака = [целые_без_знака] ''.'' [целые_без_знака] [[''E'' | ''e''] порядок]

порядок = целое

Существует еще один способ описания синтаксических правил — синтаксические диаграммы.

Целое_без_знака

 

 


число

 

 

-нетерминальный символ

 

- терминальный

 

Если числовой литерал начинается с символа 0, то он изображает восьмеричное число.

Начальные символы 0х — означает 16ричное число

Вещественные сила могут быть только десятичные.

Символьные константы изображаются 'A'. они занимают в памяти 1 байт

2-х символьные константы занимают 2 байта и если они начинаются с \ то используются для представления:

*кодов не имеющих графического изображения

' \a' – код звука

'\n' – переход к следующий строке

*символов ' \? “ являющихся элементами строковой константы

*любого символа с помощью его 16ричного кода

 

Последовательности символов начинающихся с \ управляющие (escape-последовательность)

 

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

Если в тексте программ строковые константы разделены только пробельными символами, то при компиляции они объединяются в одну строку. В конец каждого строкового литерала компилятор автоматически добавляет управляющую последовательность \0 являющийся признаком конца строки.

Строковая константа может быть пустой “”, но память выделится

Символьная не может быть пустой

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных