...
Syntax | Description | ||
---|---|---|---|
$enclosingRule.attr | x is enclosing rule, y is a return value, parameter, or predefined property. Rule ENCLOSING_RULE_SCOPE_ATTR.
| ||
$tokenLabel.prop | token scope attribute. Rule TOKEN_SCOPE_ATTR. | ||
$rulelabel.attr | Rule RULE_SCOPE_ATTR. | ||
$label | either a token label or token/rule list label like label+=expr. Rule LABEL_REF. | ||
$tokenref | in a non-lexer grammar ISOLATED_TOKEN_REF | ||
$lexerruleref | Yields a Token object created from that rule or fragment rule. Rule ISOLATED_LEXER_RULE_REF. | ||
$y | return value, parameter, predefined rule property, or token/rule
| ||
$x::y | the only way to access the attributes within a dynamic scope
| ||
$x[-1]::y | previous (just under top of stack). Rule DYNAMIC_NEGATIVE_INDEXED_SCOPE_ATTR. | ||
$x[-i]::y | top of stack - i where the '-' MUST BE PRESENT; | ||
$x[i]::y | absolute index i (0..size-1). Rule DYNAMIC_NEGATIVE_INDEXED_SCOPE_ATTR. | ||
$x[0]::y | is the absolute 0 indexed element (bottom of the stack). Rule DYNAMIC_NEGATIVE_INDEXED_SCOPE_ATTR. | ||
$x.size() | returns the size of the current stack of the scope. Note: This particular syntax is target-dependent. Look at the target page for other targets than Java. | ||
$r | r is a rule's dynamic scope or a global shared scope. |
...
Syntax | Description |
---|---|
%foo(a={},b={},...) | Create instance of template foo, setting attribute arguments. Rule TEMPLATE_INSTANCE. |
%({name-expr})(a={},...) | indirect template ctor reference. Rule INDIRECT_TEMPLATE_INSTANCE. |
%x.y = z; | set template attribute y of x (always set never get attr) |
%{expr}.y = z; | template attribute y of StringTemplate-typed expr to z. Rule SET_EXPR_ATTRIBUTE. |
%{string-expr} | anonymous template from string expr. Rule TEMPLATE_EXPR. |