pos(x) |
x |
addpos(x) |
x |
primitive_typ |
INTEGER |
|
BOOLEAN |
|
MONEY |
|
DURATION |
|
TEXT |
|
DECIMAL |
|
DATE |
|
uident+DOT |
typ_data |
primitive_typ |
|
LIST
addpos(typ_data) |
|
LPAREN
addpos(typ_data)+COMMA
RPAREN |
typ |
typ_data |
uident |
addpos(UIDENT) |
lident |
LIDENT |
scope_var |
addpos(LIDENT)+DOT |
qlident |
uident
DOT
qlident |
|
lident |
mbinder |
lident |
|
LPAREN
lident+COMMA
RPAREN |
expression |
addpos(naked_expression) |
state_qualifier |
STATE
addpos(LIDENT) |
naked_expression |
addpos(LIDENT)
state_qualifier |
|
uident
DOT
qlident |
|
literal |
|
LPAREN
expression+COMMA
RPAREN |
|
expression
DOT
addpos(qlident) |
|
expression
DOT
addpos(INT_LITERAL) |
|
CARDINAL |
|
INTEGER |
|
DECIMAL |
|
MONEY |
|
LBRACKET
expression*SEMICOLON
RBRACKET |
|
struct_or_enum_inject |
|
expression
OF
expression+COMMA |
|
OUTPUT
OF
addpos(uident+DOT)
WITH_V
LBRACE
(ALT
struct_content_field)
RBRACE |
|
expression
WITH
constructor_binding |
|
expression
BUT_REPLACE
LBRACE
(ALT
struct_content_field)
RBRACE |
|
expression
pos(CONTAINS)
expression |
|
pos(SUM)
addpos(primitive_typ)
OF
expression |
|
expression
pos(FOR)
mbinder
AMONG
expression |
|
pos(COMBINE)
mbinder
INITIALLY
expression
WITH_V
expression |
|
addpos(minmax)
OF
expression
OR
IF
LIST_EMPTY
THEN
expression |
|
addpos(unop)
expression |
|
expression
addpos(binop)
expression |
|
pos(EXISTS)
mbinder
AMONG
expression
SUCH
THAT
expression |
|
pos(FOR)
ALL
mbinder
AMONG
expression
WE_HAVE
expression |
|
MATCH
expression
WITH
addpos(addpos(ALT
match_arm)) |
|
IF
expression
THEN
expression
ELSE
expression |
|
LET
mbinder
DEFINED_AS
expression
IN
expression |
|
pos(LIST)
mbinder
AMONG
expression
SUCH
THAT
expression |
|
expression
pos(FOR)
mbinder
AMONG
expression
pos(SUCH)
THAT
expression |
|
pos(CONTENT)
OF
mbinder
AMONG
expression
SUCH
THAT
expression
IS
minmax
OR
IF
LIST_EMPTY
THEN
expression |
struct_content_field |
lident
COLON
expression |
struct_or_enum_inject |
addpos(uident+DOT)
CONTENT
expression |
|
addpos(uident+DOT)
LBRACE
(ALT
struct_content_field)
RBRACE |
num_literal |
INT_LITERAL |
|
DECIMAL_LITERAL |
unit_literal |
PERCENT |
|
YEAR |
|
MONTH |
|
DAY |
literal |
addpos(num_literal)
addpos(unit_literal) |
|
MONEY_AMOUNT |
|
DATE_LITERAL |
|
TRUE |
|
FALSE |
minmax |
MAXIMUM |
|
MINIMUM |
unop |
NOT |
|
MINUS |
binop |
MULT |
|
DIV |
|
PLUS |
|
MINUS |
|
PLUSPLUS |
|
LESSER |
|
LESSER_EQUAL |
|
GREATER |
|
GREATER_EQUAL |
|
EQUAL |
|
NOT_EQUAL |
|
AND |
|
OR |
|
XOR |
constructor_binding |
addpos(uident+DOT)
OF
lident |
|
addpos(uident+DOT) |
match_arm |
WILDCARD
COLON
expression |
|
addpos(constructor_binding)
COLON
expression |
condition_consequence |
UNDER_CONDITION
expression
CONSEQUENCE |
rule_expr |
addpos(scope_var)
addpos(definition_parameters) |
rule_consequence |
NOT
FILLED |
rule |
label
addpos(exception_to)
pos(RULE)
rule_expr
state
condition_consequence
addpos(rule_consequence) |
definition_parameters |
OF
lident+COMMA |
label |
LABEL
lident |
state |
STATE
lident |
exception_to |
EXCEPTION
lident |
definition |
label
exception_to
pos(DEFINITION)
addpos(scope_var)
addpos(definition_parameters)
state
condition_consequence
DEFINED_AS
expression |
variation_type |
INCREASING |
|
DECREASING |
assertion |
condition_consequence
expression |
scope_item |
rule |
|
definition |
|
ASSERTION
addpos(assertion) |
|
DATE
LIDENT
addpos(variation_type) |
struct_scope_base |
DATA
lident
CONTENT
addpos(typ) |
|
pos(CONDITION)
lident |
struct_scope |
struct_scope_base
depends_stance |
scope_decl_item_attribute_input |
CONTEXT |
|
INPUT |
|
INTERNAL |
|
ε |
scope_decl_item_attribute |
addpos(scope_decl_item_attribute_input)
addpos(OUTPUT)
lident |
scope_decl_item_attribute_mandatory |
scope_decl_item_attribute |
scope_decl_item |
scope_decl_item_attribute_mandatory
CONTENT
addpos(typ)
depends_stance
state |
|
scope_decl_item_attribute
SCOPE
addpos(uident+DOT) |
|
scope_decl_item_attribute_mandatory
pos(CONDITION)
depends_stance
state |
enum_decl_line |
ALT
uident
CONTENT
addpos(typ) |
var_content |
lident
CONTENT
addpos(typ) |
depends_stance |
DEPENDS
var_content+COMMA |
|
DEPENDS
LPAREN
var_content+COMMA
RPAREN |
|
ε |
code_item |
SCOPE
uident
UNDER_CONDITION
expression
COLON
scope_item |
|
DECLARATION
STRUCT
uident
COLON
addpos(struct_scope) |
|
DECLARATION
SCOPE
uident
COLON
addpos(scope_decl_item) |
|
DECLARATION
ENUM
uident
COLON
addpos(enum_decl_line) |
|
DECLARATION
lident
CONTENT
addpos(typ)
depends_stance
opt_def |
opt_def |
DEFINED_AS
expression |
code |
addpos(code_item) |
metadata_block |
BEGIN_METADATA
law_text
code
END_CODE |
law_heading |
LAW_HEADING |
law_text |
LAW_TEXT |
directive |
LAW_INCLUDE
COLON
DIRECTIVE_ARG
AT_PAGE |
|
MODULE_DEF
addpos(DIRECTIVE_ARG)
MODULE_EXTERNAL |
|
MODULE_USE
addpos(DIRECTIVE_ARG)
MODULE_ALIAS
addpos(DIRECTIVE_ARG) |
source_file_item |
law_text |
|
BEGIN_CODE
code
END_CODE |
|
law_heading |
|
metadata_block |
|
BEGIN_DIRECTIVE
directive
END_DIRECTIVE |
source_file |
source_file_item
source_file |
|
EOF |