concepts.dm.crow.parsers.cdl_literal_parser.CDLLiteralTransformer#
- class CDLLiteralTransformer[source]#
Bases:
Transformer
The transformer for literal types. Including:
VARNAME, CONSTNAME, BASIC_TYPENAME
number, DEC_NUMBER, HEX_NUMBER, BIN_NUMBER, OCT_NUMBER, FLOAT_NUMBER, IMAG_NUMBER
boolean, TRUE, FALSE
string
literal_list
literal_set
decorator_k, decorator_kwarg, decorator_kwargs
Methods
BASIC_TYPENAME
(token)Captures basic type names (non-vector types), such as int, float, bool, object, etc.
BIN_NUMBER
(value)Captures binary number literals.
CONSTNAME
(token)Captures constant names, such as CONST_NAME.
DEC_NUMBER
(value)Captures decimal number literals.
ELLIPSIS
(_)Captures the ... literal.
FALSE
(_)Captures the False literal.
FLOAT_NUMBER
(value)Captures floating point number literals.
HEX_NUMBER
(value)Captures hexadecimal number literals.
IMAG_NUMBER
(value)Captures complex number literals.
OCT_NUMBER
(value)Captures octal number literals.
TRUE
(_)Captures the True literal.
VARNAME
(token)Captures variable names, such as var_name.
arguments_def
(args)Captures the arguments definition.
batched_typename
(element_dtype, indices)Captures batched typenames defined as typename[indices].
boolean
(value)Captures boolean literals.
decorator_kwarg
(k[, v])Captures the key-value pair of a decorator.
decorator_kwargs
(args)Captures the key-value pairs of a decorator.
in_typed_argument
(name, value)Captures typed arguments defined as name in value.
is_typed_argument
(name, typename)Captures typed arguments defined as name is typename.
list_typename
(element_dtype)Captures list typenames defined as list[typename].
literal
(value)Captures literal values.
literal_list
(*items)Captures literal lists, such as [1, 2, 3, 4].
literal_set
(*items)Captures literal sets, such as {1, 2, 3, 4}.
multi_typed_arguments
(name, typename)Captures multiple typed arguments defined as name1, name2: typename.
number
(value)Captures number literals, including integers, floats, and complex numbers.
sized_vector_typename
(name, size)Captures sized vector typenames defined as vector[typename, size].
string
(value)Captures string literals.
transform
(tree)Transform the given tree, and return the final result
typed_argument
(name, typename)Captures typed arguments defined as name: typename.
typename
(name)Captures typenames including basic types and vector types.
unsized_vector_typename
(name)Captures unsized vector typenames defined as vector[typename].
Attributes
- BASIC_TYPENAME(token)[source]#
Captures basic type names (non-vector types), such as int, float, bool, object, etc.
- __mul__(other)#
Chain two transformers together, returning a new transformer.
- Parameters:
self (Transformer)
other (Transformer | TransformerChain[_Leaf_U, _Return_V])
- Return type:
TransformerChain[_Leaf_T, _Return_V]
- __new__(**kwargs)#
- arguments_def(args)[source]#
Captures the arguments definition. This is used in function definitions.
- batched_typename(element_dtype, indices)[source]#
Captures batched typenames defined as typename[indices].
- Parameters:
- Return type:
- decorator_kwarg(k, v=True)[source]#
Captures the key-value pair of a decorator. This is used in the decorator syntax, such as [[k=True]].
- Parameters:
v (LiteralValue | LiteralList | LiteralSet)
- Return type:
Tuple[str, bool | int | float | complex | str | LiteralList | LiteralSet]
- decorator_kwargs(args)[source]#
Captures the key-value pairs of a decorator. This is used in the decorator syntax, such as [[k=True, k2=123, k3=[1, 2, 3]]].
- Return type:
Dict[str, bool | int | float | complex | str | LiteralList | LiteralSet]
- in_typed_argument(name, value)[source]#
Captures typed arguments defined as name in value. This is used in forall/exists statements.
- Parameters:
- Return type:
- is_typed_argument(name, typename)[source]#
Captures typed arguments defined as name is typename. This is used in forall/exists statements.
- literal(value)[source]#
Captures literal values.
- Parameters:
value (bool | int | float | complex | str | LiteralList | LiteralSet)
- Return type:
- literal_list(*items)[source]#
Captures literal lists, such as [1, 2, 3, 4].
- Parameters:
items (Any)
- Return type:
- literal_set(*items)[source]#
Captures literal sets, such as {1, 2, 3, 4}.
- Parameters:
items (Any)
- Return type:
- multi_typed_arguments(name, typename)[source]#
Captures multiple typed arguments defined as name1, name2: typename.
- sized_vector_typename(name, size)[source]#
Captures sized vector typenames defined as vector[typename, size].
- Parameters:
- Return type:
- transform(tree)#
Transform the given tree, and return the final result
- Parameters:
tree (Tree[_Leaf_T])
- Return type:
_Return_T
- unsized_vector_typename(name)[source]#
Captures unsized vector typenames defined as vector[typename].
- Parameters:
- Return type:
- domain: CrowDomain#