nextupprevious

Next:1.2.4 Расширенный Бекуса-Наура Формализм (РБНФ)
Up:1.2 Как можно определить
Previous:1.2.2 Синтаксис и семантика


1.2.3 Алфавит и словарь языка Zonnon

Алфавит, используемый для записи Zonnon-программ, ограничивается сравнительно небольшим множеством литер, доступных на устройствах ввода-вывода реальных ЭВМ. Предполагается, что входной алфавит содержит буквы русского и латинского алфавитов, десятичные арабские цифры и некоторое количество специальных литер, таких как пробел, точка, запятая и т.п. Поэтому для записи даже элементарных конструкций языка Zonnon используются не отдельные литеры входного алфавита, а слова, называемые лексемами. При этом символы, образующие лексему, теряют свою индивидуальность: смысловое значение, приписываемое лексеме семантикой, не обязано вытекать из смысловых значений составляющих ее символов.

Множество лексем образует словарь языка Zonnon. Он включает в себя следующие три группы лексем:

1) множество специальных символов, состоящее из знаков операций (например, +, $*$ и т.д.), ограничителей (например, точка, запятая и т.п.) и зарезервированных слов (например, begin, end, module и т.д.) -- см. рис. 1.2.
 

accept activity array as await begin by case const definition div do else elsif end exception exit false for if implementation implements import in is launch loop mod module new nil object of on operator or procedure receive refines repeat return self send then to true type until var while

Рис. 1.2. Зарезервированные слова языка Zonnon.
 

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

3) множество изображений константных значений, состоящее из целых и вещественных чисел и символьных и строковых констант.

Символьная константа — это литера, заключенная в одинарные (') или двойные (") кавычки. Открывающая кавычка должна совпадать с закрывающей и не должна быть сама литерой. Символьная константа может также обозначаться порядковым кодом литеры в шестнадцатеричной нотации, за которым следует литера X. Это является полезным для представления специальных литер, которые либо нельзя напечатать, либо принадлежат расширенному множеству литер. Примеры:  "a" 'n' "'" '"' 20X .

Строковые константы представляют собой последовательности литер, заключенные в одинарные (') или двойные (") кавычки. Открывающая кавычка должна совпадать с закрывающей и не должна появляться в строке. Количество символов в строке называется ее длиной. Строка из одного символа (длины 1) может использоваться везде, где разрешено использовать символьную константу, и наоборот. Примеры: "Zonnon" "Don't worry!" "x" 'hello world'.

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

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

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

Next:1.2.4 Расширенный Бекуса-Наура Формализм (РБНФ)
Up:1.2 Как можно определить
Previous:1.2.2 Синтаксис и семантика


© В.Н. Касьянов, Е.В.Касьянова, 2004