A base class for parsers for algebraic expressions coming from
UFO.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t_FUNCTION(self,
t)
(cmath\.){0,1}[a-zA-Z_][0-9a-zA-Z_]*(?=\() |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p_statement_expr(self,
p)
statement : expression |
source code
|
|
|
|
p_expression_binop(self,
p)
expression : expression '=' expression | expression '+' expression |
expression '-' expression | expression '*' expression | expression
'/' expression |
source code
|
|
|
|
p_expression_uminus(self,
p)
expression : '-' expression %prec UMINUS |
source code
|
|
|
|
p_group_parentheses(self,
p)
group : '(' expression ')' |
source code
|
|
|
|
p_expression_group(self,
p)
expression : group |
source code
|
|
|
|
p_expression_function1(self,
p)
expression : FUNCTION '(' expression ')' |
source code
|
|
|
|
p_expression_function2(self,
p)
expression : FUNCTION '(' expression ',' expression ')' |
source code
|
|
|
|
|
|
Inherited from object:
__delattr__,
__format__,
__getattribute__,
__hash__,
__new__,
__reduce__,
__reduce_ex__,
__repr__,
__setattr__,
__sizeof__,
__str__,
__subclasshook__
|
|
|
parsed_string = ''
|
|
|
tokens = ('POWER', 'CSC', 'SEC', 'ACSC', 'ASEC', 'SQRT', 'CONJ...
|
|
|
literals = '=+-*/(),\''
|
|
|
t_NUMBER = '([0-9]+\\.[0-9]*|\\.[0-9]+|[0-9]+)([eE][+-]{0,1}[0...
|
|
|
t_POWER = '\\*\\*'
|
|
|
t_ignore = ' \t'
|
|
|
re_cmath_function = re.compile(r'cmath\.(?P<name>[0-9a-zA-Z_]+)')
|
|
|
precedence = (('left', '='), ('left', '+', '-'), ('left', '*',...
|