anchor.diff:      )?
       ;
   
  -declaration[StringTemplate code]
  +topLevelStatement[StringTemplate code]
   {StringTemplate d=null;}
   
      :
  
positive.code:     }
      ;
  
  function returns [StringTemplate code=template("function")]
  {StringTemplate f=null;}
      :  ( LPAREN
          f=formalParameter
  
negative.code: program returns [StringTemplate code=template("program")]
      :
      (nsdecl[code])*        //namespace declaration
      (topLevelStatement[code])*
      ;
  
  nsdecl [StringTemplate code]
  