code: def p_statement_expr(self, t):
      '''statement : node_expression PLUS node_expression
                              | node_expression MINUS node_expression'''
      if len(t)<3 :
        self.accu.add(Term('input', [t[1]]))
        print('input', t[1])
      else :
        #print(t[1], t[2], t[3]
        self.accu.add(Term('edge', ["gen(\""+t[1]+"\")","gen(\""+t[3]+"\")"]))
        self.accu.add(Term('obs_elabel', ["gen(\""+t[1]+"\")","gen(\""+t[3]+"\")",t[2]])f p_statement_expr(self, t):
      '''statement : node_expression PLUS node_expression
                              | node_expression MINUS node_expression'''
      if len(t)<3 :
        self.accu.add(Term('input', [t[1]]))
        print('input', t[1])
      else :
        #print(t[1], t[2], t[3]
        self.accu.add(Term('edge', ["gen(\""+t[1]+"\")","gen(\""+t[3]+"\")"]))
        self.accu.add(Term('obs_elabel', ["gen(\""+t[1]+"\")","gen(\""+t[3]+"\")",t[2]]))
docs: statement : node_expression PLUS node_expression
                              | node_expression MINUS node_expression