1.2.1.ОБЪЕКТНЫЕ ВЫРАЖЕНИЯ

Данные, обрабатываемые программами написанными на языке Рефал Плюс, являются так называемыми объектными выражениями. Ниже, в качестве примера, приведены 3 объектных выражения

"Петр" "Иванович" 33 "года"

("Маша" 17) ("Клава" 24) ("Эльвира" 6)

("мой" "дом") "имеет" ("большие" ("светлые" "окна"))

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

"John" "Джон" "джоН" "ку-ку" 1988 -99999999999999

В общем случае объектные выражения состоят из символов и скобок. Всякое объектное выражение - это последовательность объектных термов (которая может быть пустой). Объектный терм - это либо символ, либо объектное выражение, заключенное в круглые скобки "(" и ")". Таким образом, всякое объектное выражение - это последовательность символов и скобок, в которой скобки "правильно расставлены".

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

Рефал-система обеспечивает ввод и вывод объектных выражений и все необходимые при этом преобразования. При вводе выражений, входной поток литер разбивается на лексемы. Каждая лексема изображает символ или скобку. Лексемы отделяются друг от друга пробелами (при этом переход на следующую строку считается эквивалентным пробелу.

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

В текстах Рефал-программ могут появляться в виде констант следующие символы: символы-литеры, символы-слова и символы-числа.

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

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

Примеры слов:

"Вася"

"Вот-Слово"

"вот-очень-очень-длинное-Слово"

X-25m3s--

"равно?"

?-?

?

Символ-число является целым числом. Изображается в виде непустой последовательности десятичных цифр, перед которой может стоять знак "+" или "-". Например:

237

-99999999999999999999999999999999999999999999999

+13

Разрядность целых чисел произвольна.