Exemplo n.º 1
0
def p_d_expression_binop(t):
	'''d_expression : d_expression PLUS d_expression
		| d_expression MINUS d_expression
		| d_expression TIMES d_expression
		| i_expression D i_expression
		| i_expression Q i_expression'''
	try:
		if t[2] == '+'  : t[0] = t[1] + t[3]
		elif t[2] == '-'  : t[0] = t[1] - t[3]
		elif t[2] == '*': t[0] = t[1] * t[3]
		elif t[2] == 'd': t[0] = t[1] ** d(t[3])
		elif t[2] == 'q': t[0] = t[1] ** q(t[3])
	except TypeError as te:
		error_expression_invalid(threading.currentThread().expr,MSG_ERROR_PLY_TYPE + "(%s)" % str(te))
Exemplo n.º 2
0
def p_expression_uq(t):
	'd_expression : Q i_expression %prec UQ'
	t[0] = q(t[2])