code: function (token) {
          token.consume("(");
          var ast = this.parse_spec(token);
          while (token.peek() === "|") {
              token.consume("|");
              var child = this.parse_spec(token); /*  RECURSION  */
              ast = { type: "or", op1: ast, op2: child };
          }
          token.consume(")");
          return ast;
      }
docs: /*  parse group (for boolean "or" operation)