2.5.2.СТАТИЧЕСКИЕ И ДИНАМИЧЕСКИЕ СИМВОЛЫ

$ Символ = СтатическийСимвол | ДинамическийСимвол.

$ СтатическийСимвол = Литера | Слово | Число.

$ ДинамическийСимвол = СсылкаНаФункцию | СсылкаНаТаблицу |

$ СсылкаНаЯщик | СсылкаНаВектор |

$ СсылкаНаСтроку | СсылкаНаКанал.

Символы делятся, на две категории: статические и динамические.

К статическим символам относятся символы-литеры, символы-слова и символы-числа.

Статические символы существуют "объективно": статический символ может быть выведен в канал ввода-вывода, а затем введен обратно. При этом мы получим опять тот же символ. В этом смысле статические символы сушествуют еще до начала исполнению программы и продолжают существовать после завершения исполнения программы.

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

Динамические символы, в противоположность статическим, "субъективны". Они создаются в момент загрузки программы и в процессе ее исполнения. Хотя их можно вывести в канал ввода-вывода, их нельзя ввести обратно. Когда выполнение программы завершается, все динамические символы, созданные в процессе ее выполнения теряют всякий смысл.

К динамическим символам относятся ссылки на функции, ссылки на ящики, ссылки на векторы, ссылки на строки, ссылки на таблицы и ссылки на каналы.