:py:mod:`raesl.compile.machine_files.relation_instances` ======================================================== .. py:module:: raesl.compile.machine_files.relation_instances .. autoapi-nested-parse:: Line matcher state machines for relation instances. Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: raesl.compile.machine_files.relation_instances._process_relinst_header raesl.compile.machine_files.relation_instances._process_new_relinst raesl.compile.machine_files.relation_instances._process_relinst_argheader raesl.compile.machine_files.relation_instances._process_instance_arguments Attributes ~~~~~~~~~~ .. autoapisummary:: raesl.compile.machine_files.relation_instances._RELATION_HEADER_SPEC raesl.compile.machine_files.relation_instances._RELATION_INSTANCE_SPEC raesl.compile.machine_files.relation_instances._RELATION_ARGUMENT_HEADER_SPEC raesl.compile.machine_files.relation_instances.MACHINES .. py:data:: _RELATION_HEADER_SPEC :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ relation_header: start initial; start -> s1 [RELATION_KW] tag=relation; end accept=relation_header; s1 -> end [NL_TK]; s1 -> end [EOF_TK]; """ .. raw:: html
.. py:function:: _process_relinst_header(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) -> None .. py:data:: _RELATION_INSTANCE_SPEC :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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]; """ .. raw:: html
.. py:function:: _process_new_relinst(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) -> None .. py:data:: _RELATION_ARGUMENT_HEADER_SPEC :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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]; """ .. raw:: html
.. py:function:: _process_relinst_argheader(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) -> None .. py:function:: _process_instance_arguments(tags: raesl.compile.machine_files.typing.TokensDict, _accept: str, builder: raesl.compile.typechecking.ast_builder.AstBuilder) -> None .. py:data:: MACHINES :type: raesl.compile.machine_files.typing.MachineTripletList :value: [('RELATION_HEADER_MACHINE',), ('RELATION_INSTANCE_MACHINE',),...