def p_ArithUnary2(self, t): 'ArithUnary : DASH Atomic' t[0] = symbols.arithValue(symbols.attributeValue(-1.0, scalar=True), symbols.arith_operator('*'), t[2])
def p_MulDiv2(self, t): 'MulDiv : MulDiv SLASH ArithUnary' t[0] = symbols.arithValue(t[1], symbols.arith_operator(t[2]), t[3])
def p_MulDiv1(self, t): 'MulDiv : MulDiv STAR ArithUnary' #t[0] = Node('*').addkid(t[1]).addkid(t[3]) t[0] = symbols.arithValue(t[1], symbols.arith_operator(t[2]), t[3])
def p_AddSub2(self, t): 'AddSub : AddSub DASH MulDiv' #t[0] = Node('-').addkid(t[1]).addkid(t[3]) t[0] = symbols.arithValue(t[1], symbols.arith_operator(t[2]), t[3])