Repository navigation
DSL Next
Ivan Kochurkin edited this page Aug 24, 2017
·
1 revision
Пробельные символы и переносы строк игнорируются.
В порядке уменьшения приоритета:
-
<~>- логическое отрицание -
<&>- логическое и -
<|>- логическое или
-
<[regex]>- регулярное выражение для любых идентификаторов (переменных и типов). -
<[regex:type]>и<[regex:var]>- регулярное выражение для типов и переменных соответственно. -
<"regex">- регулярное выражение для строк. -
<(begin..end)>- диапазон чисел. Возможно задание примитивных вычислимых формул. -
</*regex*/>- регулярное выражение для комментариев.
-
null- null значение. -
<[^null$]>- идентификатор null. -
<[]>- любой идентификатор. -
true <|> false- булевое значение. -
""- пустая строка. -
<"">- любая строка. -
<()>или<(..)>- весь диапазон чисел. -
</**/>- любой комментарий.
@ - маркер, обозначающий такую переменную.
Примеры:
-
@var_name- матчит переменную с любым идентификатором -
@var_name : <[regex]>- матчит переменную с идентификатором по регулярному выражению. -
<[regex]> @var_name- матчит переменную определенного типа.
Самое полная декларация переменной выглядит следующим образом:
<[regex]> @var_name : <[regex]> = initialization
<?lang ?>
lang при этом может быть следующим:
csharpjavaphptsqlplsqljavascript
Поддерживается универсальный язык и C#.
Универсальные обособляются так: {{ и }}.