raesl.compile.machine_files.parameters#

Line matcher state machines for parameters.

Module Contents#

Functions#

_process_paramheader(→ None)

_process_paramline(→ None)

Attributes#

_PARAMETER_HEADER_SPEC

_PARAMETER_LINE_SPEC

MACHINES

raesl.compile.machine_files.parameters._PARAMETER_HEADER_SPEC = Multiline-String#
Show Value
"""
parameter_header:
    start initial;
    start -> s1 [PARAMETER_KW] tag=parameter;

    end accept=parameter_header;
    s1 -> end [NL_TK];
    s1 -> end [EOF_TK];
"""
raesl.compile.machine_files.parameters._process_paramheader(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.parameters._PARAMETER_LINE_SPEC = Multiline-String#
Show Value
"""
parameter_line:
    start initial;
    start -> s1 [NAME] tag=paramname;
    s1 -> start [COMMA_TK];

    s1 -> s2 [IS_KW];
    s2 -> s3 [A_KW];
    s3 -> s4 [NAME] tag=typename;

    end accept=parameter_line;
    s4 -> end [NL_TK];
    s4 -> end [EOF_TK];

    s4 -> s5 [PROPERTY_KW] tag=is_property;
    s5 -> end [NL_TK];
    s5 -> end [EOF_TK];
"""
raesl.compile.machine_files.parameters._process_paramline(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) None#
raesl.compile.machine_files.parameters.MACHINES: raesl.compile.machine_files.typing.MachineTripletList = [('PARAMETER_HEADER_MACHINE',), ('PARAMETER_LINE_MACHINE',)]#