raesl.compile.machine_files.groups#

Line matching state machines for groups.

Module Contents#

Functions#

_process_vargroup_header(→ None)

_process_new_vargroup(→ None)

_process_arguments(→ None)

Attributes#

_GROUP_SECTION_HEADER_SPEC

_GROUP_START_SPEC

MACHINES

raesl.compile.machine_files.groups._GROUP_SECTION_HEADER_SPEC = Multiline-String#
Show Value
"""
group_section_header:
    start initial;
    start -> s1 [VARIABLE_GROUP_KW] tag=vargroup;

    end accept=group_section_header;
    s1 -> end [NL_TK];
    s1 -> end [EOF_TK];
"""
raesl.compile.machine_files.groups._process_vargroup_header(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.groups._GROUP_START_SPEC = Multiline-String#
Show Value
"""
group_start:
    start initial;
    start -> s1 [NAME] tag=group_name;
    s1 -> s2 [IS_KW];
    s2 -> s3 [A_KW];
    s3 -> s4 [GROUP_KW];
    s4 -> s5 [OF_KW];

    end accept=group_start;
    s5 -> end [NL_TK];
    s5 -> end [EOF_TK];
"""
raesl.compile.machine_files.groups._process_new_vargroup(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.groups._process_arguments(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.groups.MACHINES: raesl.compile.machine_files.typing.MachineTripletList = [('GROUP_SECTION_HEADER_MACHINE',), ('GROUP_START_MACHINE',), ('GROUP_ARGUMENT_LINE_MACHINE',)]#