anchor.diff:    ;
   //[33]
   ReverseAxis
  -  : ("parent" "::")
  -  | ("ancestor" "::")
  -  | ("preceding-sibling" "::")
  -  | ("preceding" "::")
  -  | ("ancestor-or-self" "::")
  +  : ('parent' '::')
  +  | ('ancestor' '::')
  +  | ('preceding-sibling' '::')
  +  | ('preceding' '::')
  +  | ('ancestor-or-self' '::')
     ;
   //[34]
   AbbrevReverseStep
  -  : ".."
  +  : '..'
     ;
   //[35]
   NodeTest
  
positive.code:   ;
  //[22]
  GeneralComp
    : "=" | "!=" | "<" | "<=" | ">" | ">="
    ;
  //[23]
  ValueComp
    : "eq" | "ne" | "lt" | "le" | "gt" | "ge"
    ;
  //[24]
  NodeComp
    : "is" | "<<" | ">>"
    ;
  //[25]
  PathExpr
    : ("/" RelativePathExpr?)
    | ("//" RelativePathExpr)
    | RelativePathExpr  /* xgs: leading-lone-slash */
    ;
  //[26]
  RelativePathExpr
    : StepExpr (("/" | "//") StepExpr)*
    ;
  //[27]
  StepExpr
  
negative.code: 
  // XPath 2.0
  
  //[1] 
  XPath	:	Expr ;
  //[2]
  Expr
    : ExprSingle (',' ExprSingle)*
    ;
  //[3]
  ExprSingle
  