code: private AbsAxis parseReverceAxis() {
  
          AbsAxis axis;
          if (is("parent", true)) {
  
              axis = new ParentAxis(getTransaction());
  
          } else if (is("ancestor", true)) {
  
              axis = new AncestorAxis(getTransaction());
  
          } else if (is("ancestor-or-self", true)) {
  
              axis = new AncestorAxis(getTransaction(), true);
  
          } else if (is("preceding", true)) {
  
              axis = new PrecedingAxis(getTransaction());
  
          } else {
              consume("preceding-sibling", true);
  
              axis = new PrecedingSiblingAxis(getTransaction());
  
          }
  
          consume(TokenType.COLON, true);
          consume(TokenType.COLON, true);
  
          return axis;
      }
docs: Parses the the rule ReverceAxis according to the following production
  rule: [33] ReverseAxis ::= <"parent" "::"> | <"ancestor" "::"> |
  <"preceding-sibling" "::">|<"preceding" "::">|<"ancestor-or-self" "::"> .
  
  @return axis