9.1.1 Общий синтаксис
В программном комплексе EULER исследуемая ММС представляется в виде проекта. Проект состоит из корневой части проекта и, возможно, агрегатов проекта. Содержимое корневой части проекта записывается в корневой файл проекта, или просто файл проекта.
Рассматриваемый язык используется для описания проекта. Файл проекта представляет собой последовательность операторов описаний объектов ММС и других операторов языка.
Комментарии
Комментарий – это текст, который предназначен для пользователя. Он игнорируется транслятором программного комплекса. Комментарий обозначается двумя способами:
1. /* произвольный текст */
2. // произвольный текст
В первом случае комментарий начинается парой символов «/*» и заканчивается «*/». Во втором случае он начинается символами «//» и заканчивается концом строки. Текст комментариев транслятором не анализируется и просто пропускается.
Лексемы
В языке используются следующие типы лексем.
− Имена:
− имя типа объекта;
− имя объекта;
− имя метода создания объекта;
− имя типа оператора;
− имя оператора;
− имя функции (математической);
− имя именованного параметра в методе создания объекта;
− имя флага.
− Формальные параметры функций и параметры агрегатов.
− Числовые константы.
− Строковые константы.
− Символы пробела.
− Символы арифметических операций – «-», «+», «*», «/».
− Символы логических операций – «|», «&», «!», «>», «<», «>=», «<=», «==», «!=».
− Символы условных выражений – «->».
− Символы прикрепления объектов к звену – «<<».
− Скобки – «(«, «)», «{«, «}».
− Разделители – «,», «;», «=».
Имена типов объектов, методов создания объектов, типов операторов, операторов, математических функций, флагов и именованных параметров в методах создания объектов являются предопределенными и пользователем изменяться не могут. Написание их должно строго соответствовать прилагаемому описанию.
Имена объектов, числовые и строковые константы задаются пользователем в соответствии с принятыми правилами.
Пробелы, символы горизонтальной и вертикальной табуляции, а также символы новой строки и комментарии рассматриваются транслятором только как разделители лексем и в остальном на результат трансляции не влияют. Отделить друг от друга соседние лексемы можно с помощью любой из разделительных литер. Подряд может стоять произвольное количество разделительных литер.
Имена объектов
Имя объекта состоит из последовательности букв и цифр. Первый символ должен быть буквой. Имя может иметь произвольную длину. Прописные и строчные буквы различаются, например, Prim и prim – это разные имена.
В именах объектов допускаются следующие символы.
− Цифры 0-9.
− Латинские прописные и строчные буквы a-z, A-Z.
− Русские прописные и строчные буквы а-я, А-Я.
− Символ подчеркивания «_» (считается буквой).
Имя, которое дается объекту при создании, называется собственным именем.
При ссылках на объект необходимо указывать его полное имя. В полном имени перед собственным именем объекта указывается имя его родительского объекта, отделенное точкой, например:
A.Obj — объект с собственным именем Obj, родительским объектом которого является объект A;
A.B.Obj — объект с собственным именем Obj, родительским объектом которого является объект B. В свою очередь, родительским для объекта B является объект A.
Синтаксис


