class _Parser(object):
Internal parser. This class can translate a single rule into an abstract tree of tuples. It implements the following grammar:
condition = and_condition ('or' and_condition)* ('@integer' samples)? ('@decimal' samples)? and_condition = relation ('and' relation)* relation = is_relation | in_relation | within_relation is_relation = expr 'is' ('not')? value in_relation = expr (('not')? 'in' | '=' | '!=') range_list within_relation = expr ('not')? 'within' range_list expr = operand (('mod' | '%') value)? operand = 'n' | 'i' | 'f' | 't' | 'v' | 'w' range_list = (range | value) (',' range_list)* value = digit+ digit = 0|1|2|3|4|5|6|7|8|9 range = value'..'value samples = sampleRange (',' sampleRange)* (',' ('…'|'...'))? sampleRange = decimalValue '~' decimalValue decimalValue = value ('.' value)?
The translator parses the expression on instanciation into an attribute
called ast
.
Method | __init__ |
Undocumented |
Method | and_condition |
Undocumented |
Method | condition |
Undocumented |
Method | expect |
Undocumented |
Method | expr |
Undocumented |
Method | newfangled_relation |
Undocumented |
Method | range_list |
Undocumented |
Method | range_or_value |
Undocumented |
Method | relation |
Undocumented |
Method | value |
Undocumented |
Instance Variable | ast |
Undocumented |
Instance Variable | tokens |
Undocumented |