Определение алфавита и лексики языка программирования

Автор работы: Пользователь скрыл имя, 31 Января 2015 в 19:20, контрольная работа

Краткое описание

1. Дайте определение алфавита и лексики языка программирования. Приведите пример.
2. Дайте определение синтаксиса и семантики программирования. Приведите пример.

Вложенные файлы: 1 файл

11.doc

— 30.00 Кб (Скачать файл)

1. Дайте определение алфавита  и лексики языка программирования. Приведите пример.

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

Алфавит – это набор разрешенных символов языка. Рассмотрим пример алфавита языка ПЛ/1:

Первоначальный алфавит ПЛ/1 включал 60 символов: $ @ # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / ( ) , . ' % ; : ¬ & | > < _ ? пробел

 Была предусмотрена возможность работы и с более ограниченным 48-символьным алфавитом, в который не входили:

@ # ; : ¬ & | > < _ ? —

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

Лексика  языка программирования – совокупность правил образования цепочек символов (лексем), образующих идентификаторы (переменные и метки), операторы, операции и другие лексические компоненты алфавита или несколькими. Например, операция присваивания значения в языке Паскаль – «:=»; операторные скобки в языке Паскаль – begin и end. Разница между лексикой и алфавитом, является условной. На фазе лексического анализа компилятор заменяет распознанные ключевые слова внутренним кодом (например, begin – 255, end – 256) и рассматривает их как отдельные символы.

 

2. Дайте определение синтаксиса  и семантики программирования. Приведите  пример.

Синтаксис – формальные правила образования отдельных конструкций (команд, операторов) языка из символов алфавита.

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

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

Конкретный синтаксис языков программирования принято представлять в виде простых БНФ (Формул Бекуса-Наура). Данные языка Лисп - это атомы, списки и более общие структуры из бинарных узлов - пар, строящихся из любых данных:

<атом> ::= <БУКВА> <конец_атома>

 

<конец_атома> ::= <пусто>

                     | <БУКВА> <конец_атома>

                     | <цифра> <конец_атома>

 

<данное> ::= <атом>

                | (<данное> ... )  -- список

 

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

Рассмотрим пример: семантические предложения для денотатов выражений языка


Информация о работе Определение алфавита и лексики языка программирования