- Пробелы значимы и определяют порядок выполнения функций(Пример снизу: сначала запустится
FUNCb( b)потомFUNCd( D), затемFUNCс( С),FUNCa( A),FUNCe( E)).
| FUNCa( A);
| FUNCb( B);
| FUNCc( C);
| FUNCd( D);
| FUNCe( E);
- Сначала идёт определение всех функций, которые могут быть использованы в программе.
- После объявления всех функций должна быть в начале строки
main, что указывает на начало программы. - После
mainразрешено:- Перед вызовом следующих конструкций должен стоять хотя бы один пробел!
- Вызывать функции
- Унифицировать атомы
- Использовать or -> для этого нужно в одной строке вызвать две функции и поставить между ними ",":
FUNChel( A),FUNChee( A B C);- Использовать and -> для этого нужно в разных строках вызвать функции и в конце каждой поставить ";":
FUNCa( A); FUNCb( B);
def; int; string; main; struct
Чтобы использовать переменную в функции нужно указать имя переменной. Имя переменной начинается с большой латинской буквы, после которой идёт возможно пустая последовательность латинскийх букв в нижнем регистре.
Объявляется при помощи круглых скобок, внутри которых находятся возможно пустое множество из переменных и конструкторов. Между переменными должен быть хотя бы один пробел. Объявление:
(struct A (struct A B)) // конструктор от переменной и другого конструктора- Объявление функции. В начале строки должно стоять
def, затем следует название функции, которое начинает сFUNC, после которого могут быть только латинские буквы в нижнем регистре. Потом следует аргументы функции через пробел. После аргументов не должно быть пробелов!!! Потом должно стоять "\n" и "{", после которого идёт тело. Каждая строчка должна начинаться с двух пробелов или больше. На последней строке после тела функции должно стоять "}".
def FUNCwtf A B
{
FUNCwtf( A B);
}
def FUNCaaa A B (struct C D)
{
FUNCababb(A B);
}
- В функции можно вызывать другие функции
- Вызов функции, аргументы должны быть через пробел ими могут быть только конструкторы и переменные:
<name>(<parametrs>);
FUNCname( A B C);
FUNCani();
Есть два типа комментариев:
- Однострочные:
<something>// <comment>- Комментарии можно писать между объявлением функция, после определения параметров функции, в main, после ";" в main
- Нельзя использовать пробелы перед комментариями!!!
// можно def FUNCk A// можно { aaaaaaaaaaaaaaaaaaaaaa }// можно // можно main//можно int A:=123;//можно int B:=123; // нельзя // можно // нельзя - Многострочные(многострочные комментарии могут быть в многострочных комментариях):
/*<something>*/
Унифицировать можно атомы. Синтаксис: (ATOM)==(ATOM);:
((struct A)))==((struct A (struct B)));
main
// comment
(A)==(B);
((struct A))&&((struct A (struct B C)));
def FUNCb A
{
// body
}
def FUNCc (struct A)
{
// body
}
main
// begin program
FUNCb( A),FUNCb( (struct A));
FUNCb( (struct C));//call function
def FUNCb
{
// body
}
main
FUNCb();