nemoguardrails.colang.v2_x.lang.transformer
nemoguardrails.colang.v2_x.lang.transformer
Module Contents
Classes
| Name | Description |
|---|---|
ColangTransformer | A Lark transformer for transforming the parsing tree into the right internal structure. |
API
class nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer( source: str, include_source_mapping = True, expand_await: bool = False )
Bases: Transformer
A Lark transformer for transforming the parsing tree into the right internal structure.
It extracts the following:
- Flows
- Imports (TODO)
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer.__default__( data, children: list, meta: lark.tree.Meta ) -> dict
Default function that is called if there is no attribute matching data
Can be overridden. Defaults to creating
a new copy of the tree node (i.e. return Tree(data, children: list, meta))
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._abort_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Abort
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._break_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Break
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._continue_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Continue
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._expr( _children: typing.List[dict], meta: lark.tree.Meta ) -> dict
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._expr_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Assignment
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._flow_def( children: dict, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Flow
Processing for flow tree nodes.
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._global_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Global
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._if_stmt( children: list, _meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.If
Processing for spec tree nodes.
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._import_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Import
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._label_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Label
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._log_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Log
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._name( children: typing.List[dict], _meta: lark.tree.Meta ) -> str
Processing for name tree nodes.
We just copy the values from the children: list, which should be tokens.
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._non_var_spec_and( children: list, meta: lark.tree.Meta ) -> dict
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._non_var_spec_or( children: list, meta: lark.tree.Meta ) -> dict
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._print_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Print
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._priority_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Priority
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._remove_source_code_comments( source: str ) -> str
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._return_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Return
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._set_stmt( children: list, meta: lark.tree.Meta ) -> typing.Union[nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp, nemoguardrails.colang.v2_x.lang.colang_ast.Assignment]) -> typing.Union[nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp, nemoguardrails.colang.v2_x.lang.colang_ast.Assignment]
The set statement can result in either a Set operation, or a SpecOp with a return value capturing.
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._spec( children: typing.List[dict], _meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.Spec
Processing for spec tree nodes.
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._spec_name( children: typing.List[str], meta: lark.tree.Meta ) -> dict
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._spec_op( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
Processing for spec_op tree nodes.
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._test( _children, meta: lark.tree.Meta ) -> dict
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._var_name( children: typing.List[dict], _meta: lark.tree.Meta ) -> dict
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._when_stmt( children: list, _meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.When
Processing for spec tree nodes.
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer._while_stmt( children: list, meta: lark.tree.Meta ) -> nemoguardrails.colang.v2_x.lang.colang_ast.While
nemoguardrails.colang.v2_x.lang.transformer.ColangTransformer.element( _type: str, elements: typing.Optional[typing.List[typing.Any]] = None, meta: typing.Optional[lark.tree.Meta] = None ) -> dict
Helper to create an element of the specified type.