anchor.diff:              except:
                   raise SemanticException(#etname, "indice out of bounds")
              
  -            ## = self.astFactory.dup(expr)
  +            ## = self.astFactory.dupTree(expr)
           }
       |! #(LOOKUP_OP lexpr:rtl_expand otname:NAME otindex:rtl_expand rexpr:rtl_expand)
           {
  
positive.code: 
  class SemanticException(antlr.SemanticException):
  
      def __init__(self, token, msg):
          antlr.SemanticException.__init__(self)
          self.token = token
          self.msg = msg
  
      def __str__(self):
          line = self.token.getLine()
          col  = self.token.getColumn()
          text = self.token.getText()
          return "line %s (column %s): \"%s\": %s" % (line,col,text, self.msg)
  
      __repr__ = __str__
  
  
negative.code:             elif s in self.constants:
                  ## = self.astFactory.dupTree(self.constants[s])
              else:
                  ## = self.astFactory.dupTree(#name)
          }
      |! #(TABLE etname:NAME etindex:rtl_expand)
          {
  