code: def _xorterm_prime(lexer):
      
      tok = next(lexer)
      # '^' PRODTERM XORTERM'
      if isinstance(tok, OP_xor):
          prodterm = _prodterm(lexer)
          xorterm_prime = _xorterm_prime(lexer)
          if xorterm_prime is None:
              return prodterm
          else:
              return ('xor', prodterm, xorterm_prime)
      # null
      else:
          lexer.unpop_token(tok)
          return None
docs: Return an xor term' expression, eliminates left recursion.