...
No Format |
---|
group
: "group" ID ( ':' ID )? ( "implements" ID (',' ID )* )? ';'
( template | mapdef )+
;
template
: ( '@' ID '.' ID
| ID
)
'(' (args)? ')' "::="
( STRING // "..."
| BIGSTRING // <<...>>
)
| ID "::=" ID // alias one template to another
;
args: arg ( ',' arg )*
;
arg : ID '=' STRING // x="..."
| ID '=' ANONYMOUS_TEMPLATE // x={...}
| ID
;
mapdef
: ID "::=" map
;
map : '['
keyValuePair (',' keyValuePair)*
( ',' "default" ':' keyValue )?
']'
;
keyValuePair
: STRING ':' keyValue
;
keyValue
: BIGSTRING
| STRING
| "key"
|
;
|
...