pip_services3_expressions.calculator.parsers package

Submodules

Module contents

class pip_services3_expressions.calculator.parsers.ExpressionParser

Bases: object

Implements an expression parser class.

clear()

Clears parsing results.

property expression

The expression string.

property initial_tokens

The list of original expression tokens.

property original_tokens
parse_string(expression: str)

Sets a new expression string and parses it into internal byte code.

Parameters

expression – A new expression string.

parse_tokens(tokens: List[pip_services3_expressions.tokenizers.Token.Token])
property result_tokens

The list of parsed expression tokens.

property variable_names

The list of found variable names.

class pip_services3_expressions.calculator.parsers.ExpressionToken(type: pip_services3_expressions.calculator.parsers.ExpressionTokenType.ExpressionTokenType, value: pip_services3_expressions.variants.Variant.Variant, line: int, column: int)

Bases: object

Defines an expression token holder.

property column

The column number where the token is.

property line

The line number where the token is.

property type

The type of this token.

property value
class pip_services3_expressions.calculator.parsers.ExpressionTokenType(value)

Bases: enum.Enum

Define types of expression tokens.

And = 19
Comma = 32
Constant = 36
Element = 25
Equal = 11
EqualLess = 16
EqualMore = 15
Function = 34
In = 23
Is = 22
IsNotNull = 31
IsNull = 30
LeftBrace = 1
LeftSquareBrace = 3
Less = 14
Like = 28
Minus = 6
More = 13
Not = 27
NotEqual = 12
NotIn = 24
NotLike = 29
Null = 26
Or = 20
Percent = 9
Plus = 5
Power = 10
RightBrace = 2
RightSquareBrace = 4
ShiftLeft = 17
ShiftRight = 18
Slash = 8
Star = 7
Unary = 33
Unknown = 0
Variable = 35
Xor = 21