×

8.1 Формат текстового файла проекта

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