definitions

Definitions for tt’s expression grammar, operands, and operators.

definitions.grammar module

Definitions related to expression grammar.

tt.definitions.grammar.CONSTANT_VALUES = {'1', '0'}

Set of tokens that act as constant values in expressions.

Type:Set[str]
tt.definitions.grammar.DELIMITERS = {')', ' ', '('}

Set of tokens that act as delimiters in expressions.

Type:Set[str]

definitions.operands module

Definitions related to operands.

tt.definitions.operands.BOOLEAN_VALUES = {False, True}

Set of truthy values valid to submit for evaluation.

Type:Set[int, bool]

definitions.operators module

Definitions for tt’s built-in Boolean operators.

class tt.definitions.operators.BooleanOperator(precedence, eval_func, name)[source]

Bases: object

A wrapper around a Boolean operator.

eval_func

The evaluation function wrapped by this operator.

Type:Callable
>>> from tt.definitions import TT_XOR_OP
>>> TT_XOR_OP.eval_func(0, 0)
False
>>> TT_XOR_OP.eval_func(True, False)
True
name

The human-readable name of this operator.

Type:str
>>> from tt.definitions import TT_NOT_OP, TT_XOR_OP
>>> TT_NOT_OP.name
'NOT'
>>> TT_XOR_OP.name
'XOR'
precedence

Precedence of this operator, relative to other operators.

Type:int
>>> from tt.definitions import TT_AND_OP, TT_OR_OP
>>> TT_AND_OP.precedence > TT_OR_OP.precedence
True
tt.definitions.operators.MAX_OPERATOR_STR_LEN = 4

The length of the longest operator from OPERATOR_MAPPING.

Type:int
tt.definitions.operators.OPERATOR_MAPPING = {'or': <BooleanOperator OR>, '\\/': <BooleanOperator OR>, 'XOR': <BooleanOperator XOR>, '|': <BooleanOperator OR>, 'nand': <BooleanOperator NAND>, 'nxor': <BooleanOperator XNOR>, 'NXOR': <BooleanOperator XNOR>, 'and': <BooleanOperator AND>, '||': <BooleanOperator OR>, 'NAND': <BooleanOperator NAND>, 'NOT': <BooleanOperator NOT>, '/\\': <BooleanOperator AND>, '&': <BooleanOperator AND>, 'xor': <BooleanOperator XOR>, 'nor': <BooleanOperator NOR>, '~': <BooleanOperator NOT>, 'not': <BooleanOperator NOT>, '&&': <BooleanOperator AND>, 'XNOR': <BooleanOperator XNOR>, '!': <BooleanOperator NOT>, 'OR': <BooleanOperator OR>, 'NOR': <BooleanOperator NOR>, 'xnor': <BooleanOperator XNOR>, 'AND': <BooleanOperator AND>}

A mapping of Boolean operators.

This mapping serves to define all valid operator strings and maps them to the appropriate BooleanOperator object defining the operator behavior.

Type:Dict{str: BooleanOperator}
tt.definitions.operators.TT_AND_OP = <BooleanOperator AND>

tt’s operator implementation of a Boolean AND.

Type:BooleanOperator
tt.definitions.operators.TT_NAND_OP = <BooleanOperator NAND>

tt’s operator implementation of a Boolean NAND.

Type:BooleanOperator
tt.definitions.operators.TT_NOR_OP = <BooleanOperator NOR>

tt’s operator implementation of a Boolean NOR.

Type:BooleanOperator
tt.definitions.operators.TT_NOT_OP = <BooleanOperator NOT>

tt’s operator implementation of a Boolean NOT.

Type:BooleanOperator
tt.definitions.operators.TT_OR_OP = <BooleanOperator OR>

tt’s operator implementation of a Boolean OR.

Type:BooleanOperator
tt.definitions.operators.TT_XNOR_OP = <BooleanOperator XNOR>

tt’s operator implementation of a Boolean XNOR.

Type:BooleanOperator
tt.definitions.operators.TT_XOR_OP = <BooleanOperator XOR>

tt’s operator implementation of a Boolean XOR.

Type:BooleanOperator