raesl.compile.machine_files.relation_instances#

Line matcher state machines for relation instances.

Module Contents#

Functions#

_process_relinst_header(→ None)

_process_new_relinst(→ None)

_process_relinst_argheader(→ None)

_process_instance_arguments(→ None)

Attributes#

_RELATION_HEADER_SPEC

_RELATION_INSTANCE_SPEC

_RELATION_ARGUMENT_HEADER_SPEC

MACHINES

raesl.compile.machine_files.relation_instances._RELATION_HEADER_SPEC = Multiline-String#
Show Value
"""
relation_header:
    start initial;
    start -> s1 [RELATION_KW] tag=relation;

    end accept=relation_header;
    s1 -> end [NL_TK];
    s1 -> end [EOF_TK];
"""
raesl.compile.machine_files.relation_instances._process_relinst_header(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.relation_instances._RELATION_INSTANCE_SPEC = Multiline-String#
Show Value
"""
relation_instance:
    start initial;
    start -> s1 [NAME] tag=relation_inst_name;
    s1 -> s2 [COLON_TK];
    s2 -> s3 [NAME] tag=relation_def_name;

    end accept=instance_line;
    s3 -> end [NL_TK];
    s3 -> end [EOF_TK];
"""
raesl.compile.machine_files.relation_instances._process_new_relinst(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.relation_instances._RELATION_ARGUMENT_HEADER_SPEC = Multiline-String#
Show Value
"""
relation_argument_header:
    start initial;
    start -> s1 [REQUIRING_KW] tag=argtype;
    start -> s1 [RETURNING_KW] tag=argtype;
    start -> s1 [RELATING_KW] tag=argtype;

    s1 -> s2 [ARGUMENT_KW];

    end accept=header_argument_line;
    s2 -> end [NL_TK];
    s2 -> end [EOF_TK];
"""
raesl.compile.machine_files.relation_instances._process_relinst_argheader(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.relation_instances._process_instance_arguments(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.relation_instances.MACHINES: raesl.compile.machine_files.typing.MachineTripletList = [('RELATION_HEADER_MACHINE',), ('RELATION_INSTANCE_MACHINE',),...#