Вперед: Именование и вызовы
Вверх: Приложение А. Синтаксис внутреннего
Назад: Атомарные понятия
  Содержание
Внутренний язык системы внедрен в SGML-комментарии со
следующим синтаксисом:
<!-- аргумент0 аргумент1 аргумент2 ... аргументn -->
В системе возможен альтернативный синтаксис:
<!-- аргумент0 аргумент1 аргумент2 ... аргументn-1 --
....
(HTML-код)
...
<!-- /аргумент0 -->
Тогда HTML-код воспринимается системой как аргументn .
Можно явно указать, в качестве какого аргумента подставлять HTML-код.
Более того, в HTML-код можно вставлять тэги так, чтобы в вызове можно
было бы писать несколько HTML-фрагментов (разумеется, когда передается
строка, она также может содержать HTML-тэги), пример:
<!-- if testsomething -->
... then-way..
<!-- else -->
... else-way...
<!-- /if -->
В качестве аргумента0 записывается имя вызываемого модуля, аргументы
присваиваются слотам модуля с теми же порядковыми номерами.
Между аргументами можно вставлять т.н. слоты (см. далее).
Чтобы вкладывать вызовы в друг друга, применяется LISP-подобный
синтаксис:
<!-- if (module1 arg1 arg2) module2 (module3 (module4 arg3)) -->
вызов
(module1 arg1 arg2)
синтаксически эквивалентен
module1(arg1, arg2)
(между именем вызываемого модуля и скобкой не должно быть пробелов;
запятые не обязательны).
В таком синтаксисе предыдущий пример переписывается в формате:
<!-- if(module1(arg1, arg2), module2(module3(module4(arg3))) -->
Эти два вида синтаксиса можно комбинировать:
<!-- if module1(arg1, arg2) module2(module3(module4 arg3)) -->
|