-
Notifications
You must be signed in to change notification settings - Fork 12
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
при этом может быть следующим:
csharp
java
php
tsql
plsql
javascript
Поддерживается универсальный язык и C#.
Универсальные обособляются так: {{
и }}
.