:mod:`ast` ========== .. module:: rule_engine.ast :synopsis: This module contains the nodes which comprise the abstract syntax tree generated from parsed grammar text. .. warning:: The content of this module should be treated as private. While the code within this module is documented, it is *not* meant to be used by consumers of the package. Directly accessing and using any object or function within this module should be done with care. Breaking API changes within this module may not always cause a major version bump. The reason for this is that it is often necessary to update the AST in an API breaking way in order to add new features. Classes ------- .. autoclass:: Assignment :members: :show-inheritance: :special-members: __init__ :undoc-members: .. autoclass:: Statement :show-inheritance: Base Classes ~~~~~~~~~~~~ .. autoclass:: ExpressionBase :members: :exclude-members: result_type :show-inheritance: :special-members: __init__ .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: LeftOperatorRightExpressionBase :show-inheritance: .. autoattribute:: compatible_types :annotation: .. automethod:: __init__ .. autoclass:: LiteralExpressionBase :show-inheritance: .. automethod:: __init__ Left-Operator-Right Expressions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: AddExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: SubtractExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: ArithmeticExpression :show-inheritance: .. autoattribute:: result_type :annotation: = FLOAT .. autoclass:: ArithmeticComparisonExpression :show-inheritance: .. autoattribute:: result_type :annotation: = BOOLEAN .. autoclass:: BitwiseExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: BitwiseShiftExpression :show-inheritance: .. autoattribute:: result_type :annotation: = FLOAT .. autoclass:: ComparisonExpression :show-inheritance: .. autoattribute:: result_type :annotation: = BOOLEAN .. autoclass:: LogicExpression :show-inheritance: .. autoattribute:: result_type :annotation: = BOOLEAN .. autoclass:: FuzzyComparisonExpression :show-inheritance: .. autoattribute:: result_type :annotation: = BOOLEAN Literal Expressions ~~~~~~~~~~~~~~~~~~~ .. autoclass:: ArrayExpression :show-inheritance: .. autoattribute:: result_type :annotation: = ARRAY .. autoclass:: BooleanExpression :show-inheritance: .. autoattribute:: result_type :annotation: = BOOLEAN .. autoclass:: DatetimeExpression :show-inheritance: .. autoattribute:: result_type :annotation: = DATETIME .. autoclass:: FloatExpression :show-inheritance: .. autoattribute:: result_type :annotation: = FLOAT .. autoclass:: MappingExpression :show-inheritance: .. autoattribute:: result_type :annotation: = MAPPING .. autoclass:: NullExpression :show-inheritance: .. autoattribute:: result_type :annotation: = NULL .. autoclass:: SetExpression :show-inheritance: .. autoattribute:: result_type :annotation: = SET .. autoclass:: StringExpression :show-inheritance: .. autoattribute:: result_type :annotation: = STRING .. autoclass:: TimedeltaExpression :show-inheritance: .. autoattribute:: result_type :annotation: = TIMEDELTA Miscellaneous Expressions ~~~~~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: ComprehensionExpression :show-inheritance: .. autoattribute:: result_type :annotation: = ARRAY .. autoclass:: ContainsExpression :show-inheritance: .. autoattribute:: result_type :annotation: = BOOLEAN .. autoclass:: GetAttributeExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: GetItemExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: GetSliceExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: SymbolExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: TernaryExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED .. autoclass:: UnaryExpression :show-inheritance: .. autoattribute:: result_type :annotation: = UNDEFINED