Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_EVM.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.78 Mб
Скачать

I.4. Способы задания языка

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

1) перечисление всех допустимых цепочек языка

2)указание способа порождения цепочек языка, т.е. задание грамматики языка

3)определение метода распознавания цепочек языка

1ый метод формальный и на практике не применяется (бесконечное число цепочек)

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

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

3ий способ предусматривает построение устройства (распознавателя),т.е. автомата, который на входе получает цепочку символов, а на выходе выдает ответ, принадлежит ли или нет эта цепочка заданному языку.

I.5. Синтаксис и семантика языка

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

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

Семантика языка – это раздел языка, определяющий значения предложений языка. Она определяет содержание языка, т.е. задает смысл для всех допустимых цепочек языка. Для большинства языков она определяет неформальными методами отношение между знаками и тем, что они обозначают изучается семантикой. Чисто формальные языки лишены какого-либо смысла. Для записанного примера, используя семантику алгебры можно сказать, что строка 3+2 есть сумма чисел 3 и 2, а так же то, что 3+2=5 –это истинное выражение. Изложить синтаксис алгебры проще, чем ее семантику(хотя в случае алгебры семантику можно определить формально).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]