/* A recursive-descent parser generated by peg 0.1.18 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define YYRULECOUNT 262
#ifndef YY_MALLOC
#define YY_MALLOC(C, N)		malloc(N)
#endif
#ifndef YY_REALLOC
#define YY_REALLOC(C, P, N)	realloc(P, N)
#endif
#ifndef YY_FREE
#define YY_FREE(C, P)		free(P)
#endif
#ifndef YY_LOCAL
#define YY_LOCAL(T)	static T
#endif
#ifndef YY_ACTION
#define YY_ACTION(T)	static T
#endif
#ifndef YY_RULE
#define YY_RULE(T)	static T
#endif
#ifndef YY_PARSE
#define YY_PARSE(T)	T
#endif
#ifndef YYPARSE
#define YYPARSE		yyparse
#endif
#ifndef YYPARSEFROM
#define YYPARSEFROM	yyparsefrom
#endif
#ifndef YYRELEASE
#define YYRELEASE	yyrelease
#endif
#ifndef YY_BEGIN
#define YY_BEGIN	( yy->__begin= yy->__pos, 1)
#endif
#ifndef YY_END
#define YY_END		( yy->__end= yy->__pos, 1)
#endif
#ifdef YY_DEBUG
# define yyprintf(args)	fprintf args
#else
# define yyprintf(args)
#endif
#ifndef YYSTYPE
#define YYSTYPE	int
#endif
#ifndef YY_STACK_SIZE
#define YY_STACK_SIZE 128
#endif

#ifndef YY_BUFFER_SIZE
#define YY_BUFFER_SIZE 1024
#endif

#ifndef YY_PART

typedef struct _yycontext yycontext;
typedef void (*yyaction)(yycontext *yy, char *yytext, int yyleng);
typedef struct _yythunk { int begin, end;  yyaction  action;  struct _yythunk *next; } yythunk;

struct _yycontext {
  char     *__buf;
  int       __buflen;
  int       __pos;
  int       __limit;
  char     *__text;
  int       __textlen;
  int       __begin;
  int       __end;
  int       __textmax;
  yythunk  *__thunks;
  int       __thunkslen;
  int       __thunkpos;
  YYSTYPE   __;
  YYSTYPE  *__val;
  YYSTYPE  *__vals;
  int       __valslen;
#ifdef YY_CTX_MEMBERS
  YY_CTX_MEMBERS
#endif
};

#ifdef YY_CTX_LOCAL
#define YY_CTX_PARAM_	yycontext *yyctx,
#define YY_CTX_PARAM	yycontext *yyctx
#define YY_CTX_ARG_	yyctx,
#define YY_CTX_ARG	yyctx
#ifndef YY_INPUT
#define YY_INPUT(yy, buf, result, max_size)		\
  {							\
    int yyc= getchar();					\
    result= (EOF == yyc) ? 0 : (*(buf)= yyc, 1);	\
    yyprintf((stderr, "<%c>", yyc));			\
  }
#endif
#else
#define YY_CTX_PARAM_
#define YY_CTX_PARAM
#define YY_CTX_ARG_
#define YY_CTX_ARG
yycontext _yyctx= { 0, 0 };
yycontext *yyctx= &_yyctx;
#ifndef YY_INPUT
#define YY_INPUT(buf, result, max_size)			\
  {							\
    int yyc= getchar();					\
    result= (EOF == yyc) ? 0 : (*(buf)= yyc, 1);	\
    yyprintf((stderr, "<%c>", yyc));			\
  }
#endif
#endif

YY_LOCAL(int) yyrefill(yycontext *yy)
{
  int yyn;
  while (yy->__buflen - yy->__pos < 512)
    {
      yy->__buflen *= 2;
      yy->__buf= (char *)YY_REALLOC(yy, yy->__buf, yy->__buflen);
    }
#ifdef YY_CTX_LOCAL
  YY_INPUT(yy, (yy->__buf + yy->__pos), yyn, (yy->__buflen - yy->__pos));
#else
  YY_INPUT((yy->__buf + yy->__pos), yyn, (yy->__buflen - yy->__pos));
#endif
  if (!yyn) return 0;
  yy->__limit += yyn;
  return 1;
}

YY_LOCAL(int) yymatchDot(yycontext *yy)
{
  if (yy->__pos >= yy->__limit && !yyrefill(yy)) return 0;
  ++yy->__pos;
  return 1;
}

YY_LOCAL(int) yymatchChar(yycontext *yy, int c)
{
  if (yy->__pos >= yy->__limit && !yyrefill(yy)) return 0;
  if ((unsigned char)yy->__buf[yy->__pos] == c)
    {
      ++yy->__pos;
      yyprintf((stderr, "  ok   yymatchChar(yy, %c) @ %s\n", c, yy->__buf+yy->__pos));
      return 1;
    }
  yyprintf((stderr, "  fail yymatchChar(yy, %c) @ %s\n", c, yy->__buf+yy->__pos));
  return 0;
}

YY_LOCAL(int) yymatchString(yycontext *yy, const char *s)
{
  int yysav= yy->__pos;
  while (*s)
    {
      if (yy->__pos >= yy->__limit && !yyrefill(yy)) return 0;
      if (yy->__buf[yy->__pos] != *s)
        {
          yy->__pos= yysav;
          return 0;
        }
      ++s;
      ++yy->__pos;
    }
  return 1;
}

YY_LOCAL(int) yymatchClass(yycontext *yy, unsigned char *bits)
{
  int c;
  if (yy->__pos >= yy->__limit && !yyrefill(yy)) return 0;
  c= (unsigned char)yy->__buf[yy->__pos];
  if (bits[c >> 3] & (1 << (c & 7)))
    {
      ++yy->__pos;
      yyprintf((stderr, "  ok   yymatchClass @ %s\n", yy->__buf+yy->__pos));
      return 1;
    }
  yyprintf((stderr, "  fail yymatchClass @ %s\n", yy->__buf+yy->__pos));
  return 0;
}

YY_LOCAL(void) yyDo(yycontext *yy, yyaction action, int begin, int end)
{
  while (yy->__thunkpos >= yy->__thunkslen)
    {
      yy->__thunkslen *= 2;
      yy->__thunks= (yythunk *)YY_REALLOC(yy, yy->__thunks, sizeof(yythunk) * yy->__thunkslen);
    }
  yy->__thunks[yy->__thunkpos].begin=  begin;
  yy->__thunks[yy->__thunkpos].end=    end;
  yy->__thunks[yy->__thunkpos].action= action;
  ++yy->__thunkpos;
}

YY_LOCAL(int) yyText(yycontext *yy, int begin, int end)
{
  int yyleng= end - begin;
  if (yyleng <= 0)
    yyleng= 0;
  else
    {
      while (yy->__textlen < (yyleng + 1))
	{
	  yy->__textlen *= 2;
	  yy->__text= (char *)YY_REALLOC(yy, yy->__text, yy->__textlen);
	}
      memcpy(yy->__text, yy->__buf + begin, yyleng);
    }
  yy->__text[yyleng]= '\0';
  return yyleng;
}

YY_LOCAL(void) yyDone(yycontext *yy)
{
  int pos;
  for (pos= 0;  pos < yy->__thunkpos;  ++pos)
    {
      yythunk *thunk= &yy->__thunks[pos];
      int yyleng= thunk->end ? yyText(yy, thunk->begin, thunk->end) : thunk->begin;
      yyprintf((stderr, "DO [%d] %p %s\n", pos, thunk->action, yy->__text));
      thunk->action(yy, yy->__text, yyleng);
    }
  yy->__thunkpos= 0;
}

YY_LOCAL(void) yyCommit(yycontext *yy)
{
  if ((yy->__limit -= yy->__pos))
    {
      memmove(yy->__buf, yy->__buf + yy->__pos, yy->__limit);
    }
  yy->__begin -= yy->__pos;
  yy->__end -= yy->__pos;
  yy->__pos= yy->__thunkpos= 0;
}

YY_LOCAL(int) yyAccept(yycontext *yy, int tp0)
{
  if (tp0)
    {
      fprintf(stderr, "accept denied at %d\n", tp0);
      return 0;
    }
  else
    {
      yyDone(yy);
      yyCommit(yy);
    }
  return 1;
}

YY_LOCAL(void) yyPush(yycontext *yy, char *text, int count)
{
  yy->__val += count;
  while (yy->__valslen <= yy->__val - yy->__vals)
    {
      long offset= yy->__val - yy->__vals;
      yy->__valslen *= 2;
      yy->__vals= (YYSTYPE *)YY_REALLOC(yy, yy->__vals, sizeof(YYSTYPE) * yy->__valslen);
      yy->__val= yy->__vals + offset;
    }
}
YY_LOCAL(void) yyPop(yycontext *yy, char *text, int count)   { yy->__val -= count; }
YY_LOCAL(void) yySet(yycontext *yy, char *text, int count)   { yy->__val[count]= yy->__; }

#endif /* YY_PART */

#define	YYACCEPT	yyAccept(yy, yythunkpos0)

YY_RULE(int) yy__none_(yycontext *yy); /* 262 */
YY_RULE(int) yy_resync_clause(yycontext *yy); /* 261 */
YY_RULE(int) yy_resync_statement(yycontext *yy); /* 260 */
YY_RULE(int) yy_resync_directive(yycontext *yy); /* 259 */
YY_RULE(int) yy_DROP(yycontext *yy); /* 258 */
YY_RULE(int) yy_WB(yycontext *yy); /* 257 */
YY_RULE(int) yy__line_start_(yycontext *yy); /* 256 */
YY_RULE(int) yy_line_comment(yycontext *yy); /* 255 */
YY_RULE(int) yy_block_comment(yycontext *yy); /* 254 */
YY_RULE(int) yy_HWS(yycontext *yy); /* 253 */
YY_RULE(int) yy_comment(yycontext *yy); /* 252 */
YY_RULE(int) yy_sym_part(yycontext *yy); /* 251 */
YY_RULE(int) yy_sym_start(yycontext *yy); /* 250 */
YY_RULE(int) yy_escaped_symbolic_name(yycontext *yy); /* 249 */
YY_RULE(int) yy_unescaped_symbolic_name(yycontext *yy); /* 248 */
YY_RULE(int) yy_EOL(yycontext *yy); /* 247 */
YY_RULE(int) yy_double_quoted(yycontext *yy); /* 246 */
YY_RULE(int) yy_single_quoted(yycontext *yy); /* 245 */
YY_RULE(int) yy_escaped_char(yycontext *yy); /* 244 */
YY_RULE(int) yy_unquoted(yycontext *yy); /* 243 */
YY_RULE(int) yy_client_arg_string(yycontext *yy); /* 242 */
YY_RULE(int) yy_client_command_arg(yycontext *yy); /* 241 */
YY_RULE(int) yy_line_end(yycontext *yy); /* 240 */
YY_RULE(int) yy_client_command_name(yycontext *yy); /* 239 */
YY_RULE(int) yy___(yycontext *yy); /* 238 */
YY_RULE(int) yy_rel_varlength(yycontext *yy); /* 237 */
YY_RULE(int) yy_rel_types(yycontext *yy); /* 236 */
YY_RULE(int) yy_pattern_properties(yycontext *yy); /* 235 */
YY_RULE(int) yy_relationship_pattern(yycontext *yy); /* 234 */
YY_RULE(int) yy_node_pattern(yycontext *yy); /* 233 */
YY_RULE(int) yy_ALLSHORTESTPATHS(yycontext *yy); /* 232 */
YY_RULE(int) yy_SHORTESTPATH(yycontext *yy); /* 231 */
YY_RULE(int) yy_pattern_path(yycontext *yy); /* 230 */
YY_RULE(int) yy_shortest_path_pattern(yycontext *yy); /* 229 */
YY_RULE(int) yy_anon_pattern_part(yycontext *yy); /* 228 */
YY_RULE(int) yy_rel_type_name(yycontext *yy); /* 227 */
YY_RULE(int) yy_parameter_name(yycontext *yy); /* 226 */
YY_RULE(int) yy_NULL(yycontext *yy); /* 225 */
YY_RULE(int) yy_FALSE(yycontext *yy); /* 224 */
YY_RULE(int) yy_TRUE(yycontext *yy); /* 223 */
YY_RULE(int) yy_integer_string(yycontext *yy); /* 222 */
YY_RULE(int) yy_float_string(yycontext *yy); /* 221 */
YY_RULE(int) yy_quoted(yycontext *yy); /* 220 */
YY_RULE(int) yy_symbolic_name(yycontext *yy); /* 219 */
YY_RULE(int) yy_function_name(yycontext *yy); /* 218 */
YY_RULE(int) yy_NONE(yycontext *yy); /* 217 */
YY_RULE(int) yy_SINGLE(yycontext *yy); /* 216 */
YY_RULE(int) yy_ANY(yycontext *yy); /* 215 */
YY_RULE(int) yy_REDUCE(yycontext *yy); /* 214 */
YY_RULE(int) yy_EXTRACT(yycontext *yy); /* 213 */
YY_RULE(int) yy_FILTER(yycontext *yy); /* 212 */
YY_RULE(int) yy_ELSE(yycontext *yy); /* 211 */
YY_RULE(int) yy_THEN(yycontext *yy); /* 210 */
YY_RULE(int) yy_WHEN(yycontext *yy); /* 209 */
YY_RULE(int) yy_END(yycontext *yy); /* 208 */
YY_RULE(int) yy_case_default(yycontext *yy); /* 207 */
YY_RULE(int) yy_case_alternative(yycontext *yy); /* 206 */
YY_RULE(int) yy_CASE(yycontext *yy); /* 205 */
YY_RULE(int) yy_pattern_expression_path(yycontext *yy); /* 204 */
YY_RULE(int) yy_GT(yycontext *yy); /* 203 */
YY_RULE(int) yy_LT(yycontext *yy); /* 202 */
YY_RULE(int) yy_GTE(yycontext *yy); /* 201 */
YY_RULE(int) yy_LTE(yycontext *yy); /* 200 */
YY_RULE(int) yy_ENDS_WITH(yycontext *yy); /* 199 */
YY_RULE(int) yy_STARTS_WITH(yycontext *yy); /* 198 */
YY_RULE(int) yy_CONTAINS(yycontext *yy); /* 197 */
YY_RULE(int) yy_REGEX(yycontext *yy); /* 196 */
YY_RULE(int) yy_POW(yycontext *yy); /* 195 */
YY_RULE(int) yy_MOD(yycontext *yy); /* 194 */
YY_RULE(int) yy_DIV(yycontext *yy); /* 193 */
YY_RULE(int) yy_MULT(yycontext *yy); /* 192 */
YY_RULE(int) yy_NEQUAL(yycontext *yy); /* 191 */
YY_RULE(int) yy_XOR(yycontext *yy); /* 190 */
YY_RULE(int) yy_OR(yycontext *yy); /* 189 */
YY_RULE(int) yy_AND(yycontext *yy); /* 188 */
YY_RULE(int) yy_IS_NOT_NULL(yycontext *yy); /* 187 */
YY_RULE(int) yy_IS_NULL(yycontext *yy); /* 186 */
YY_RULE(int) yy_MINUS(yycontext *yy); /* 185 */
YY_RULE(int) yy_PLUS(yycontext *yy); /* 184 */
YY_RULE(int) yy_NOT(yycontext *yy); /* 183 */
YY_RULE(int) yy_function_application(yycontext *yy); /* 182 */
YY_RULE(int) yy_pattern_expression(yycontext *yy); /* 181 */
YY_RULE(int) yy_single_predicate(yycontext *yy); /* 180 */
YY_RULE(int) yy_none_predicate(yycontext *yy); /* 179 */
YY_RULE(int) yy_any_predicate(yycontext *yy); /* 178 */
YY_RULE(int) yy_all_predicate(yycontext *yy); /* 177 */
YY_RULE(int) yy_reduce_expression(yycontext *yy); /* 176 */
YY_RULE(int) yy_extract_expression(yycontext *yy); /* 175 */
YY_RULE(int) yy_filter_expression(yycontext *yy); /* 174 */
YY_RULE(int) yy_case_expression(yycontext *yy); /* 173 */
YY_RULE(int) yy_map_literal(yycontext *yy); /* 172 */
YY_RULE(int) yy_collection_literal(yycontext *yy); /* 171 */
YY_RULE(int) yy_pattern_comprehension(yycontext *yy); /* 170 */
YY_RULE(int) yy_list_comprehension(yycontext *yy); /* 169 */
YY_RULE(int) yy_float_literal(yycontext *yy); /* 168 */
YY_RULE(int) yy_null_literal(yycontext *yy); /* 167 */
YY_RULE(int) yy_false_literal(yycontext *yy); /* 166 */
YY_RULE(int) yy_true_literal(yycontext *yy); /* 165 */
YY_RULE(int) yy_DOT_STAR(yycontext *yy); /* 164 */
YY_RULE(int) yy_atom(yycontext *yy); /* 163 */
YY_RULE(int) yy__block_end_(yycontext *yy); /* 162 */
YY_RULE(int) yy_PREFIX_OP(yycontext *yy); /* 161 */
YY_RULE(int) yy_RIGHT_CURLY(yycontext *yy); /* 160 */
YY_RULE(int) yy_map_projection_element(yycontext *yy); /* 159 */
YY_RULE(int) yy_LEFT_CURLY(yycontext *yy); /* 158 */
YY_RULE(int) yy_ELLIPSIS(yycontext *yy); /* 157 */
YY_RULE(int) yy_POSTFIX_OP(yycontext *yy); /* 156 */
YY_RULE(int) yy_COMPARISON_OP(yycontext *yy); /* 155 */
YY_RULE(int) yy_INFIX_OP(yycontext *yy); /* 154 */
YY_RULE(int) yy__block_replace_(yycontext *yy); /* 153 */
YY_RULE(int) yy__atom(yycontext *yy); /* 152 */
YY_RULE(int) yy__prec_expression(yycontext *yy); /* 151 */
YY_RULE(int) yy__expression(yycontext *yy); /* 150 */
YY_RULE(int) yy_ALL(yycontext *yy); /* 149 */
YY_RULE(int) yy_UNION(yycontext *yy); /* 148 */
YY_RULE(int) yy_LIMIT(yycontext *yy); /* 147 */
YY_RULE(int) yy_SKIP(yycontext *yy); /* 146 */
YY_RULE(int) yy_ASC(yycontext *yy); /* 145 */
YY_RULE(int) yy_ASCENDING(yycontext *yy); /* 144 */
YY_RULE(int) yy_DESC(yycontext *yy); /* 143 */
YY_RULE(int) yy_DESCENDING(yycontext *yy); /* 142 */
YY_RULE(int) yy_sort_item(yycontext *yy); /* 141 */
YY_RULE(int) yy_ORDER_BY(yycontext *yy); /* 140 */
YY_RULE(int) yy__block_merge_(yycontext *yy); /* 139 */
YY_RULE(int) yy__block_start_(yycontext *yy); /* 138 */
YY_RULE(int) yy_return_projection(yycontext *yy); /* 137 */
YY_RULE(int) yy_additional_return_projections(yycontext *yy); /* 136 */
YY_RULE(int) yy_RETURN(yycontext *yy); /* 135 */
YY_RULE(int) yy_proc_projection(yycontext *yy); /* 134 */
YY_RULE(int) yy_YIELD(yycontext *yy); /* 133 */
YY_RULE(int) yy_proc_name(yycontext *yy); /* 132 */
YY_RULE(int) yy_CALL(yycontext *yy); /* 131 */
YY_RULE(int) yy_UNWIND(yycontext *yy); /* 130 */
YY_RULE(int) yy__empty_(yycontext *yy); /* 129 */
YY_RULE(int) yy_with_projection(yycontext *yy); /* 128 */
YY_RULE(int) yy_limit(yycontext *yy); /* 127 */
YY_RULE(int) yy_skip(yycontext *yy); /* 126 */
YY_RULE(int) yy_order_by(yycontext *yy); /* 125 */
YY_RULE(int) yy_additional_with_projections(yycontext *yy); /* 124 */
YY_RULE(int) yy_DISTINCT(yycontext *yy); /* 123 */
YY_RULE(int) yy_WITH(yycontext *yy); /* 122 */
YY_RULE(int) yy_PIPE(yycontext *yy); /* 121 */
YY_RULE(int) yy_IN(yycontext *yy); /* 120 */
YY_RULE(int) yy_FOREACH(yycontext *yy); /* 119 */
YY_RULE(int) yy_remove_item(yycontext *yy); /* 118 */
YY_RULE(int) yy_REMOVE(yycontext *yy); /* 117 */
YY_RULE(int) yy_DELETE(yycontext *yy); /* 116 */
YY_RULE(int) yy_DETACH_DELETE(yycontext *yy); /* 115 */
YY_RULE(int) yy_PLUSEQUAL(yycontext *yy); /* 114 */
YY_RULE(int) yy_property_expression(yycontext *yy); /* 113 */
YY_RULE(int) yy_CREATE(yycontext *yy); /* 112 */
YY_RULE(int) yy_CREATE_UNIQUE(yycontext *yy); /* 111 */
YY_RULE(int) yy_set_item(yycontext *yy); /* 110 */
YY_RULE(int) yy_SET(yycontext *yy); /* 109 */
YY_RULE(int) yy_ON_CREATE(yycontext *yy); /* 108 */
YY_RULE(int) yy_merge_action_set(yycontext *yy); /* 107 */
YY_RULE(int) yy_ON_MATCH(yycontext *yy); /* 106 */
YY_RULE(int) yy_merge_action(yycontext *yy); /* 105 */
YY_RULE(int) yy_pattern_part(yycontext *yy); /* 104 */
YY_RULE(int) yy_MERGE(yycontext *yy); /* 103 */
YY_RULE(int) yy_USING_SCAN(yycontext *yy); /* 102 */
YY_RULE(int) yy_USING_JOIN_ON(yycontext *yy); /* 101 */
YY_RULE(int) yy_USING_INDEX(yycontext *yy); /* 100 */
YY_RULE(int) yy_MATCH(yycontext *yy); /* 99 */
YY_RULE(int) yy_hint(yycontext *yy); /* 98 */
YY_RULE(int) yy_pattern(yycontext *yy); /* 97 */
YY_RULE(int) yy_OPTIONAL_MATCH(yycontext *yy); /* 96 */
YY_RULE(int) yy_rel(yycontext *yy); /* 95 */
YY_RULE(int) yy_relationship(yycontext *yy); /* 94 */
YY_RULE(int) yy_STAR(yycontext *yy); /* 93 */
YY_RULE(int) yy_node_ids(yycontext *yy); /* 92 */
YY_RULE(int) yy_parameter(yycontext *yy); /* 91 */
YY_RULE(int) yy_index_name(yycontext *yy); /* 90 */
YY_RULE(int) yy_COLON(yycontext *yy); /* 89 */
YY_RULE(int) yy_node(yycontext *yy); /* 88 */
YY_RULE(int) yy_WHERE(yycontext *yy); /* 87 */
YY_RULE(int) yy_COMMA(yycontext *yy); /* 86 */
YY_RULE(int) yy_start_point(yycontext *yy); /* 85 */
YY_RULE(int) yy_START(yycontext *yy); /* 84 */
YY_RULE(int) yy_string_literal(yycontext *yy); /* 83 */
YY_RULE(int) yy_FIELDTERMINATOR(yycontext *yy); /* 82 */
YY_RULE(int) yy_AS(yycontext *yy); /* 81 */
YY_RULE(int) yy_FROM(yycontext *yy); /* 80 */
YY_RULE(int) yy_WITH_HEADERS(yycontext *yy); /* 79 */
YY_RULE(int) yy_LOADCSV(yycontext *yy); /* 78 */
YY_RULE(int) yy_union_clause(yycontext *yy); /* 77 */
YY_RULE(int) yy_start_clause(yycontext *yy); /* 76 */
YY_RULE(int) yy_loadcsv_clause(yycontext *yy); /* 75 */
YY_RULE(int) yy_call_clause(yycontext *yy); /* 74 */
YY_RULE(int) yy_foreach_clause(yycontext *yy); /* 73 */
YY_RULE(int) yy_with_clause(yycontext *yy); /* 72 */
YY_RULE(int) yy_remove_clause(yycontext *yy); /* 71 */
YY_RULE(int) yy_delete_clause(yycontext *yy); /* 70 */
YY_RULE(int) yy_set_clause(yycontext *yy); /* 69 */
YY_RULE(int) yy_create_clause(yycontext *yy); /* 68 */
YY_RULE(int) yy_merge_clause(yycontext *yy); /* 67 */
YY_RULE(int) yy_unwind_clause(yycontext *yy); /* 66 */
YY_RULE(int) yy_return_clause(yycontext *yy); /* 65 */
YY_RULE(int) yy_match_clause(yycontext *yy); /* 64 */
YY_RULE(int) yy_integer_literal(yycontext *yy); /* 63 */
YY_RULE(int) yy_USING_PERIODIC_COMMIT(yycontext *yy); /* 62 */
YY_RULE(int) yy_skip_to_clause(yycontext *yy); /* 61 */
YY_RULE(int) yy__cut_(yycontext *yy); /* 60 */
YY_RULE(int) yy__clauses(yycontext *yy); /* 59 */
YY_RULE(int) yy_clause(yycontext *yy); /* 58 */
YY_RULE(int) yy_periodic_commit(yycontext *yy); /* 57 */
YY_RULE(int) yy_clauses(yycontext *yy); /* 56 */
YY_RULE(int) yy_query_hints(yycontext *yy); /* 55 */
YY_RULE(int) yy_DROP_CONSTRAINT_ON(yycontext *yy); /* 54 */
YY_RULE(int) yy_DROP_INDEX_ON(yycontext *yy); /* 53 */
YY_RULE(int) yy_RIGHT_ARROW_HEAD(yycontext *yy); /* 52 */
YY_RULE(int) yy_RIGHT_SQ_PAREN(yycontext *yy); /* 51 */
YY_RULE(int) yy_rel_type(yycontext *yy); /* 50 */
YY_RULE(int) yy_LEFT_SQ_PAREN(yycontext *yy); /* 49 */
YY_RULE(int) yy_DASH(yycontext *yy); /* 48 */
YY_RULE(int) yy_LEFT_ARROW_HEAD(yycontext *yy); /* 47 */
YY_RULE(int) yy_IS_UNIQUE(yycontext *yy); /* 46 */
YY_RULE(int) yy_expression(yycontext *yy); /* 45 */
YY_RULE(int) yy_ASSERT(yycontext *yy); /* 44 */
YY_RULE(int) yy_identifier(yycontext *yy); /* 43 */
YY_RULE(int) yy_CREATE_CONSTRAINT_ON(yycontext *yy); /* 42 */
YY_RULE(int) yy_RIGHT_PAREN(yycontext *yy); /* 41 */
YY_RULE(int) yy_prop_name(yycontext *yy); /* 40 */
YY_RULE(int) yy_LEFT_PAREN(yycontext *yy); /* 39 */
YY_RULE(int) yy_label(yycontext *yy); /* 38 */
YY_RULE(int) yy_CREATE_INDEX_ON(yycontext *yy); /* 37 */
YY_RULE(int) yy_drop_constraint(yycontext *yy); /* 36 */
YY_RULE(int) yy_drop_index(yycontext *yy); /* 35 */
YY_RULE(int) yy_create_constraint(yycontext *yy); /* 34 */
YY_RULE(int) yy_create_index(yycontext *yy); /* 33 */
YY_RULE(int) yy_EXPLAIN(yycontext *yy); /* 32 */
YY_RULE(int) yy_PROFILE(yycontext *yy); /* 31 */
YY_RULE(int) yy_WS(yycontext *yy); /* 30 */
YY_RULE(int) yy_cypher_param_val(yycontext *yy); /* 29 */
YY_RULE(int) yy_EQUAL(yycontext *yy); /* 28 */
YY_RULE(int) yy_cypher_param_name(yycontext *yy); /* 27 */
YY_RULE(int) yy_DOT(yycontext *yy); /* 26 */
YY_RULE(int) yy_cypher_param(yycontext *yy); /* 25 */
YY_RULE(int) yy__null_(yycontext *yy); /* 24 */
YY_RULE(int) yy_cypher_version(yycontext *yy); /* 23 */
YY_RULE(int) yy_CYPHER(yycontext *yy); /* 22 */
YY_RULE(int) yy_explain_option(yycontext *yy); /* 21 */
YY_RULE(int) yy_profile_option(yycontext *yy); /* 20 */
YY_RULE(int) yy_cypher_option(yycontext *yy); /* 19 */
YY_RULE(int) yy_schema_command(yycontext *yy); /* 18 */
YY_RULE(int) yy_query(yycontext *yy); /* 17 */
YY_RULE(int) yy_statement_option(yycontext *yy); /* 16 */
YY_RULE(int) yy_skip_to_statement(yycontext *yy); /* 15 */
YY_RULE(int) yy___statement(yycontext *yy); /* 14 */
YY_RULE(int) yy__statement(yycontext *yy); /* 13 */
YY_RULE(int) yy_cypher_statement(yycontext *yy); /* 12 */
YY_RULE(int) yy_client_command(yycontext *yy); /* 11 */
YY_RULE(int) yy_SEMICOLON(yycontext *yy); /* 10 */
YY_RULE(int) yy_skip_to_directive(yycontext *yy); /* 9 */
YY_RULE(int) yy_EOF(yycontext *yy); /* 8 */
YY_RULE(int) yy__error_(yycontext *yy); /* 7 */
YY_RULE(int) yy___directive(yycontext *yy); /* 6 */
YY_RULE(int) yy__directive(yycontext *yy); /* 5 */
YY_RULE(int) yy__(yycontext *yy); /* 4 */
YY_RULE(int) yy_statement(yycontext *yy); /* 3 */
YY_RULE(int) yy_directive(yycontext *yy); /* 2 */
YY_RULE(int) yy___entry_points(yycontext *yy); /* 1 */

YY_ACTION(void) yy_1__null_(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1__null_\n"));
  {
#line 1113
   __ = NULL; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_skip_to_clause(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_skip_to_clause\n"));
  {
#line 1078
   __ = skip(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_skip_to_statement(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_skip_to_statement\n"));
  {
#line 1067
   __ = skip(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_skip_to_directive(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_skip_to_directive\n"));
  {
#line 1058
   __ = skip(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_EOF(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_EOF\n"));
  {
#line 891
   yy->eof = true; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_block_comment(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_block_comment\n"));
  {
#line 885
   block_comment(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_line_comment(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_line_comment\n"));
  {
#line 882
   line_comment(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_integer_string(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_integer_string\n"));
  {
#line 867
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_float_string(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_float_string\n"));
  {
#line 860
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_float_string(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_float_string\n"));
  {
#line 859
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_parameter_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_parameter_name\n"));
  {
#line 853
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_escaped_symbolic_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_escaped_symbolic_name\n"));
  {
#line 849
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_unescaped_symbolic_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_unescaped_symbolic_name\n"));
  {
#line 847
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_11_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_11_escaped_char\n"));
  {
#line 841
   strbuf_append("?", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_10_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_10_escaped_char\n"));
  {
#line 840
   strbuf_append("\"", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_9_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_9_escaped_char\n"));
  {
#line 839
   strbuf_append("'", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_8_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_8_escaped_char\n"));
  {
#line 838
   strbuf_append("\\", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_7_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_7_escaped_char\n"));
  {
#line 837
   strbuf_append("\v", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_6_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6_escaped_char\n"));
  {
#line 836
   strbuf_append("\t", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_5_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_escaped_char\n"));
  {
#line 835
   strbuf_append("\r", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_4_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_escaped_char\n"));
  {
#line 834
   strbuf_append("\n", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_3_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_escaped_char\n"));
  {
#line 833
   strbuf_append("\f", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_escaped_char\n"));
  {
#line 832
   strbuf_append("\b", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_escaped_char(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_escaped_char\n"));
  {
#line 831
   strbuf_append("\a", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_double_quoted(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_double_quoted\n"));
  {
#line 827
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_double_quoted(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_double_quoted\n"));
  {
#line 825
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_single_quoted(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_single_quoted\n"));
  {
#line 821
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_single_quoted(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_single_quoted\n"));
  {
#line 819
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_unquoted(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_unquoted\n"));
  {
#line 813
   strbuf_append_block(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_unquoted(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_unquoted\n"));
  {
#line 811
   strbuf_append(";", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_client_arg_string(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_client_arg_string\n"));
  {
#line 800
   __ = strbuf_string(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_client_arg_string(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_client_arg_string\n"));
  {
#line 799
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_client_command_arg(yycontext *yy, char *yytext, int yyleng)
{
#define s yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_client_command_arg\n"));
  {
#line 797
   __ = s; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef s
}
YY_ACTION(void) yy_1_client_command_name(yycontext *yy, char *yytext, int yyleng)
{
#define n yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_client_command_name\n"));
  {
#line 795
   __ = n; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef n
}
YY_ACTION(void) yy_2_client_command(yycontext *yy, char *yytext, int yyleng)
{
#define a yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_client_command\n"));
  {
#line 791
   __ = command(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef a
#undef n
}
YY_ACTION(void) yy_1_client_command(yycontext *yy, char *yytext, int yyleng)
{
#define a yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_client_command\n"));
  {
#line 789
   sequence_add(a); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef a
#undef n
}
YY_ACTION(void) yy_3_rel_varlength(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define s yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_rel_varlength\n"));
  {
#line 776
   __ = range(NULL, NULL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef s
}
YY_ACTION(void) yy_2_rel_varlength(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define s yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_rel_varlength\n"));
  {
#line 775
   __ = range(s, s); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef s
}
YY_ACTION(void) yy_1_rel_varlength(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define s yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_rel_varlength\n"));
  {
#line 773
   __ = range(s, e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef s
}
YY_ACTION(void) yy_2_rel_types(yycontext *yy, char *yytext, int yyleng)
{
#define n yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_rel_types\n"));
  {
#line 767
   sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef n
}
YY_ACTION(void) yy_1_rel_types(yycontext *yy, char *yytext, int yyleng)
{
#define n yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_rel_types\n"));
  {
#line 765
   sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef n
}
YY_ACTION(void) yy_8_relationship_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_8_relationship_pattern\n"));
  {
#line 759
   __ = rel_pattern(BIDIRECTIONAL, i, l, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_7_relationship_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_7_relationship_pattern\n"));
  {
#line 758
   __ = rel_pattern(OUTBOUND, i, l, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_6_relationship_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6_relationship_pattern\n"));
  {
#line 753
   __ = simple_rel_pattern(BIDIRECTIONAL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_5_relationship_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_relationship_pattern\n"));
  {
#line 752
   __ = simple_rel_pattern(OUTBOUND); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_4_relationship_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_relationship_pattern\n"));
  {
#line 747
   __ = rel_pattern(INBOUND, i, l, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_3_relationship_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_relationship_pattern\n"));
  {
#line 746
   __ = rel_pattern(BIDIRECTIONAL, i, l, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_2_relationship_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_relationship_pattern\n"));
  {
#line 741
   __ = simple_rel_pattern(INBOUND); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_1_relationship_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_relationship_pattern\n"));
  {
#line 740
   __ = simple_rel_pattern(BIDIRECTIONAL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_2_node_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define n yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_node_pattern\n"));
  {
#line 735
   __ = node_pattern(i, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef n
#undef i
}
YY_ACTION(void) yy_1_node_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define n yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_node_pattern\n"));
  {
#line 733
   sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef n
#undef i
}
YY_ACTION(void) yy_3_pattern_expression_path(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_pattern_expression_path\n"));
  {
#line 729
   __ = pattern_path(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef n
}
YY_ACTION(void) yy_2_pattern_expression_path(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_pattern_expression_path\n"));
  {
#line 728
   sequence_add(r); sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef n
}
YY_ACTION(void) yy_1_pattern_expression_path(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_pattern_expression_path\n"));
  {
#line 726
   sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef n
}
YY_ACTION(void) yy_2_pattern_expression(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_pattern_expression\n"));
  {
#line 723
   __ = p; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_1_pattern_expression(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_pattern_expression\n"));
  {
#line 722
   __ = p; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_3_pattern_path(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_pattern_path\n"));
  {
#line 719
   __ = pattern_path(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef n
}
YY_ACTION(void) yy_2_pattern_path(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_pattern_path\n"));
  {
#line 718
   sequence_add(r); sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef n
}
YY_ACTION(void) yy_1_pattern_path(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_pattern_path\n"));
  {
#line 716
   sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef n
}
YY_ACTION(void) yy_2_shortest_path_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_shortest_path_pattern\n"));
  {
#line 713
   __ = shortest_path(false, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_1_shortest_path_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_shortest_path_pattern\n"));
  {
#line 711
   __ = shortest_path(true, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_2_anon_pattern_part(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_anon_pattern_part\n"));
  {
#line 707
   __ = p; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_1_anon_pattern_part(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_anon_pattern_part\n"));
  {
#line 706
   __ = p; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_2_pattern_part(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define i yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_pattern_part\n"));
  {
#line 703
   __ = p; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef i
}
YY_ACTION(void) yy_1_pattern_part(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define i yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_pattern_part\n"));
  {
#line 702
   __ = named_path(i, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef i
}
YY_ACTION(void) yy_3_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_pattern\n"));
  {
#line 697
   __ = pattern(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_2_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_pattern\n"));
  {
#line 696
   sequence_add(p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_1_pattern(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_pattern\n"));
  {
#line 695
   sequence_add(p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_3_proc_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_proc_name\n"));
  {
#line 686
   __ = strbuf_proc_name(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_proc_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_proc_name\n"));
  {
#line 683
   strbuf_append(".", 1); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_proc_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_proc_name\n"));
  {
#line 682
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_index_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_index_name\n"));
  {
#line 679
   __ = strbuf_index_name(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_index_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_index_name\n"));
  {
#line 677
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_function_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_function_name\n"));
  {
#line 674
   __ = strbuf_function_name(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_function_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_function_name\n"));
  {
#line 672
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_prop_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_prop_name\n"));
  {
#line 669
   __ = strbuf_prop_name(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_prop_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_prop_name\n"));
  {
#line 667
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_rel_type_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_rel_type_name\n"));
  {
#line 664
   __ = strbuf_reltype(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_rel_type_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_rel_type_name\n"));
  {
#line 662
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_rel_type(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_rel_type\n"));
  {
#line 659
   __ = strbuf_reltype(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_rel_type(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_rel_type\n"));
  {
#line 657
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_label(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_label\n"));
  {
#line 654
   __ = strbuf_label(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_label(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_label\n"));
  {
#line 652
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_parameter(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_parameter\n"));
  {
#line 649
   __ = strbuf_parameter(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_parameter(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_parameter\n"));
  {
#line 646
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_null_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_null_literal\n"));
  {
#line 643
   __ = null_literal(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_false_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_false_literal\n"));
  {
#line 640
   __ = false_literal(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_true_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_true_literal\n"));
  {
#line 637
   __ = true_literal(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_integer_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_integer_literal\n"));
  {
#line 633
   __ = strbuf_integer(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_integer_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_integer_literal\n"));
  {
#line 632
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_float_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_float_literal\n"));
  {
#line 629
   __ = strbuf_float(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_float_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_float_literal\n"));
  {
#line 628
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_string_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_string_literal\n"));
  {
#line 625
   __ = strbuf_string(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_string_literal(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_string_literal\n"));
  {
#line 624
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_identifier(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_identifier\n"));
  {
#line 621
   __ = strbuf_identifier(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_identifier(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_identifier\n"));
  {
#line 620
   strbuf_reset(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_5_map_literal(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_map_literal\n"));
  {
#line 617
   __ = map_literal(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef n
}
YY_ACTION(void) yy_4_map_literal(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_map_literal\n"));
  {
#line 615
   sequence_add(v); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef n
}
YY_ACTION(void) yy_3_map_literal(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_map_literal\n"));
  {
#line 614
   sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef n
}
YY_ACTION(void) yy_2_map_literal(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_map_literal\n"));
  {
#line 613
   sequence_add(v); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef n
}
YY_ACTION(void) yy_1_map_literal(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_map_literal\n"));
  {
#line 612
   sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef n
}
YY_ACTION(void) yy_3_collection_literal(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_collection_literal\n"));
  {
#line 608
   __ = collection_literal(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_2_collection_literal(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_collection_literal\n"));
  {
#line 606
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_1_collection_literal(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_collection_literal\n"));
  {
#line 605
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_8_function_application(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_8_function_application\n"));
  {
#line 601
   __ = apply_operator(n, false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef n
}
YY_ACTION(void) yy_7_function_application(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_7_function_application\n"));
  {
#line 599
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef n
}
YY_ACTION(void) yy_6_function_application(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6_function_application\n"));
  {
#line 598
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef n
}
YY_ACTION(void) yy_5_function_application(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_function_application\n"));
  {
#line 596
   __ = apply_operator(n, true); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef n
}
YY_ACTION(void) yy_4_function_application(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_function_application\n"));
  {
#line 594
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef n
}
YY_ACTION(void) yy_3_function_application(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_function_application\n"));
  {
#line 593
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef n
}
YY_ACTION(void) yy_2_function_application(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_function_application\n"));
  {
#line 591
   __ = apply_all_operator(n, false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef n
}
YY_ACTION(void) yy_1_function_application(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_function_application\n"));
  {
#line 589
   __ = apply_all_operator(n, true); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
#undef n
}
YY_ACTION(void) yy_1_none_predicate(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_none_predicate\n"));
  {
#line 584
   __ = none_predicate(i, e, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef e
#undef i
}
YY_ACTION(void) yy_1_single_predicate(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_single_predicate\n"));
  {
#line 579
   __ = single_predicate(i, e, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef e
#undef i
}
YY_ACTION(void) yy_1_any_predicate(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_any_predicate\n"));
  {
#line 574
   __ = any_predicate(i, e, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef e
#undef i
}
YY_ACTION(void) yy_1_all_predicate(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_all_predicate\n"));
  {
#line 569
   __ = all_predicate(i, e, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef e
#undef i
}
YY_ACTION(void) yy_1_reduce_expression(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define n yy->__val[-4]
#define a yy->__val[-5]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_reduce_expression\n"));
  {
#line 564
   __ = reduce(a, n, i, e, v); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef e
#undef i
#undef n
#undef a
}
YY_ACTION(void) yy_1_extract_expression(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_extract_expression\n"));
  {
#line 558
   __ = extract(i, e, v); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef e
#undef i
}
YY_ACTION(void) yy_1_filter_expression(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_filter_expression\n"));
  {
#line 553
   __ = filter(i, e, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef e
#undef i
}
YY_ACTION(void) yy_1_case_default(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_case_default\n"));
  {
#line 548
   __ = e; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_2_case_alternative(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_case_alternative\n"));
  {
#line 547
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_1_case_alternative(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_case_alternative\n"));
  {
#line 546
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_1_case_expression(yycontext *yy, char *yytext, int yyleng)
{
#define d yy->__val[-1]
#define e yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_case_expression\n"));
  {
#line 543
   __ = case_expression(e, d); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef d
#undef e
}
YY_ACTION(void) yy_1_pattern_comprehension(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define p yy->__val[-2]
#define r yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_pattern_comprehension\n"));
  {
#line 537
   __ = pattern_comprehension(i, r, p, v); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef p
#undef r
#undef i
}
YY_ACTION(void) yy_1_list_comprehension(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define p yy->__val[-2]
#define e yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_list_comprehension\n"));
  {
#line 529
   __ = list_comprehension(i, e, p, v); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef p
#undef e
#undef i
}
YY_ACTION(void) yy_4_COMPARISON_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_COMPARISON_OP\n"));
  {
#line 522
   op_push(GT); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_3_COMPARISON_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_COMPARISON_OP\n"));
  {
#line 521
   op_push(LT); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_COMPARISON_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_COMPARISON_OP\n"));
  {
#line 520
   op_push(GTE); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_COMPARISON_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_COMPARISON_OP\n"));
  {
#line 519
   op_push(LTE); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_17_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_17_INFIX_OP\n"));
  {
#line 515
   op_push(ENDS_WITH); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_16_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_16_INFIX_OP\n"));
  {
#line 514
   op_push(STARTS_WITH); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_15_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_15_INFIX_OP\n"));
  {
#line 513
   op_push(CONTAINS); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_14_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_14_INFIX_OP\n"));
  {
#line 512
   op_push(REGEX); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_13_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_13_INFIX_OP\n"));
  {
#line 511
   op_push(IN); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_12_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_12_INFIX_OP\n"));
  {
#line 510
   op_push(POW); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_11_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_11_INFIX_OP\n"));
  {
#line 509
   op_push(MOD); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_10_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_10_INFIX_OP\n"));
  {
#line 508
   op_push(DIV); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_9_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_9_INFIX_OP\n"));
  {
#line 507
   op_push(MULT); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_8_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_8_INFIX_OP\n"));
  {
#line 506
   op_push(MINUS); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_7_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_7_INFIX_OP\n"));
  {
#line 505
   op_push(PLUS); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_6_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6_INFIX_OP\n"));
  {
#line 504
   op_push(NEQUAL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_5_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_INFIX_OP\n"));
  {
#line 503
   op_push(EQUAL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_4_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_INFIX_OP\n"));
  {
#line 502
   op_push(NOT); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_3_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_INFIX_OP\n"));
  {
#line 501
   op_push(XOR); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_INFIX_OP\n"));
  {
#line 500
   op_push(OR); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_INFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_INFIX_OP\n"));
  {
#line 499
   op_push(AND); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_POSTFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_POSTFIX_OP\n"));
  {
#line 495
   op_push(IS_NOT_NULL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_POSTFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_POSTFIX_OP\n"));
  {
#line 494
   op_push(IS_NULL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_3_PREFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_PREFIX_OP\n"));
  {
#line 490
   op_push(UNARY_MINUS); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_PREFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_PREFIX_OP\n"));
  {
#line 489
   op_push(UNARY_PLUS); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_PREFIX_OP(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_PREFIX_OP\n"));
  {
#line 488
   op_push(NOT); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_property_expression(yycontext *yy, char *yytext, int yyleng)
{
#define n yy->__val[-1]
#define p yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_property_expression\n"));
  {
#line 482
   __ = p; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef n
#undef p
}
YY_ACTION(void) yy_1_property_expression(yycontext *yy, char *yytext, int yyleng)
{
#define n yy->__val[-1]
#define p yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_property_expression\n"));
  {
#line 481
   p = property_operator(p, n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef n
#undef p
}
YY_ACTION(void) yy_1_atom(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_atom\n"));
  {
#line 475
   __ = e; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_4_map_projection_element(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_map_projection_element\n"));
  {
#line 451
   __ = map_projection_all_properties(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_3_map_projection_element(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_map_projection_element\n"));
  {
#line 450
   __ = map_projection_identifier(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_2_map_projection_element(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_map_projection_element\n"));
  {
#line 449
   __ = map_projection_property(p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_1_map_projection_element(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_map_projection_element\n"));
  {
#line 448
   __ = map_projection_literal(p, e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_1__atom(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1__atom\n"));
  {
#line 443
   __ = unary_operator(op_pop(), r); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
}
YY_ACTION(void) yy_14__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_14__expression\n"));
  {
#line 439
   __ = l; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_13__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_13__expression\n"));
  {
#line 438
   l = labels_operator(l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_12__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_12__expression\n"));
  {
#line 437
   sequence_add(n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_11__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_11__expression\n"));
  {
#line 435
   l = map_projection(l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_10__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_10__expression\n"));
  {
#line 432
   sequence_add(m); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_9__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_9__expression\n"));
  {
#line 430
   sequence_add(m); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_8__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_8__expression\n"));
  {
#line 428
   l = slice_operator(l, s, e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_7__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_7__expression\n"));
  {
#line 424
   l = subscript_operator(l, r); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_6__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6__expression\n"));
  {
#line 421
   l = unary_operator(op_pop(), l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_5__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5__expression\n"));
  {
#line 419
   l = comparison_operator(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_4__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4__expression\n"));
  {
#line 418
   sequence_add(r); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_3__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3__expression\n"));
  {
#line 416
   sequence_add(l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_2__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2__expression\n"));
  {
#line 415
   l = binary_operator(op_pop(), l, r); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_1__expression(yycontext *yy, char *yytext, int yyleng)
{
#define m yy->__val[-1]
#define e yy->__val[-2]
#define s yy->__val[-3]
#define r yy->__val[-4]
#define n yy->__val[-5]
#define l yy->__val[-6]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1__expression\n"));
  {
#line 413
   l = property_operator(l, n); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef m
#undef e
#undef s
#undef r
#undef n
#undef l
}
YY_ACTION(void) yy_1__prec_expression(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1__prec_expression\n"));
  {
#line 409
   __ = e; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_1_expression(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_expression\n"));
  {
#line 407
   __ = e; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_2_union_clause(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_union_clause\n"));
  {
#line 397
   __ = union_clause(false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_union_clause(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_union_clause\n"));
  {
#line 396
   __ = union_clause(true); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_limit(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_limit\n"));
  {
#line 392
   __ = e ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_1_skip(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_skip\n"));
  {
#line 391
   __ = e ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_2_sort_item(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_sort_item\n"));
  {
#line 388
   __ = sort_item(e, true); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_1_sort_item(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_sort_item\n"));
  {
#line 387
   __ = sort_item(e, false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_3_order_by(yycontext *yy, char *yytext, int yyleng)
{
#define s yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_order_by\n"));
  {
#line 383
   __ = order_by(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef s
}
YY_ACTION(void) yy_2_order_by(yycontext *yy, char *yytext, int yyleng)
{
#define s yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_order_by\n"));
  {
#line 382
   sequence_add(s); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef s
}
YY_ACTION(void) yy_1_order_by(yycontext *yy, char *yytext, int yyleng)
{
#define s yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_order_by\n"));
  {
#line 381
   sequence_add(s); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef s
}
YY_ACTION(void) yy_2_return_projection(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_return_projection\n"));
  {
#line 379
   __ = projection(e, i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
}
YY_ACTION(void) yy_1_return_projection(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_return_projection\n"));
  {
#line 373
   if (!cypher_astnode_instanceof(
                                                 e, CYPHER_AST_IDENTIFIER))
                                         {
                                           i = block_identifier();
                                         }
                                       ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
}
YY_ACTION(void) yy_1_additional_return_projections(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_additional_return_projections\n"));
  {
#line 367
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_6_return_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define l yy->__val[-2]
#define s yy->__val[-3]
#define o yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6_return_clause\n"));
  {
#line 364
   __ = return_clause(false,false,o,s,l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_5_return_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define l yy->__val[-2]
#define s yy->__val[-3]
#define o yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_return_clause\n"));
  {
#line 361
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_4_return_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define l yy->__val[-2]
#define s yy->__val[-3]
#define o yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_return_clause\n"));
  {
#line 360
   __ = return_clause(false,true,o,s,l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_3_return_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define l yy->__val[-2]
#define s yy->__val[-3]
#define o yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_return_clause\n"));
  {
#line 356
   __ = return_clause(true,false,o,s,l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_2_return_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define l yy->__val[-2]
#define s yy->__val[-3]
#define o yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_return_clause\n"));
  {
#line 353
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_1_return_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define l yy->__val[-2]
#define s yy->__val[-3]
#define o yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_return_clause\n"));
  {
#line 352
   __ = return_clause(true,true,o,s,l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_2_proc_projection(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define r yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_proc_projection\n"));
  {
#line 345
   __ = projection(r, NULL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef r
}
YY_ACTION(void) yy_1_proc_projection(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define r yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_proc_projection\n"));
  {
#line 344
   __ = projection(r, i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef r
}
YY_ACTION(void) yy_5_call_clause(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_call_clause\n"));
  {
#line 341
   __ = call_clause(p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef e
#undef p
}
YY_ACTION(void) yy_4_call_clause(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_call_clause\n"));
  {
#line 337
   sequence_add(r); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef e
#undef p
}
YY_ACTION(void) yy_3_call_clause(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_call_clause\n"));
  {
#line 336
   sequence_add(r); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef e
#undef p
}
YY_ACTION(void) yy_2_call_clause(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_call_clause\n"));
  {
#line 330
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef e
#undef p
}
YY_ACTION(void) yy_1_call_clause(yycontext *yy, char *yytext, int yyleng)
{
#define r yy->__val[-1]
#define e yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_call_clause\n"));
  {
#line 329
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef r
#undef e
#undef p
}
YY_ACTION(void) yy_1_unwind_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_unwind_clause\n"));
  {
#line 320
   __ = unwind_clause(e, i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
}
YY_ACTION(void) yy_2_with_projection(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_with_projection\n"));
  {
#line 316
   __ = projection(e, NULL); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
}
YY_ACTION(void) yy_1_with_projection(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define e yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_with_projection\n"));
  {
#line 315
   __ = projection(e, i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef e
}
YY_ACTION(void) yy_1_additional_with_projections(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_additional_with_projections\n"));
  {
#line 310
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_6_with_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define p yy->__val[-2]
#define l yy->__val[-3]
#define s yy->__val[-4]
#define o yy->__val[-5]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6_with_clause\n"));
  {
#line 307
   __ = with_clause(false,false,o,s,l,p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef p
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_5_with_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define p yy->__val[-2]
#define l yy->__val[-3]
#define s yy->__val[-4]
#define o yy->__val[-5]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_with_clause\n"));
  {
#line 303
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef p
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_4_with_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define p yy->__val[-2]
#define l yy->__val[-3]
#define s yy->__val[-4]
#define o yy->__val[-5]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_with_clause\n"));
  {
#line 302
   __ = with_clause(false,true,o,s,l,p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef p
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_3_with_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define p yy->__val[-2]
#define l yy->__val[-3]
#define s yy->__val[-4]
#define o yy->__val[-5]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_with_clause\n"));
  {
#line 297
   __ = with_clause(true,false,o,s,l,p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef p
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_2_with_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define p yy->__val[-2]
#define l yy->__val[-3]
#define s yy->__val[-4]
#define o yy->__val[-5]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_with_clause\n"));
  {
#line 293
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef p
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_1_with_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define p yy->__val[-2]
#define l yy->__val[-3]
#define s yy->__val[-4]
#define o yy->__val[-5]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_with_clause\n"));
  {
#line 292
   __ = with_clause(true,true,o,s,l,p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
#undef p
#undef l
#undef s
#undef o
}
YY_ACTION(void) yy_2_foreach_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_foreach_clause\n"));
  {
#line 283
   __ = foreach_clause(i, e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef e
#undef i
}
YY_ACTION(void) yy_1_foreach_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define e yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_foreach_clause\n"));
  {
#line 282
   sequence_add(c); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef e
#undef i
}
YY_ACTION(void) yy_3_remove_item(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define i yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_remove_item\n"));
  {
#line 278
   __ = remove_labels(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef i
#undef p
}
YY_ACTION(void) yy_2_remove_item(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define i yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_remove_item\n"));
  {
#line 277
   sequence_add(l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef i
#undef p
}
YY_ACTION(void) yy_1_remove_item(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define i yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_remove_item\n"));
  {
#line 276
   __ = remove_property(p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef i
#undef p
}
YY_ACTION(void) yy_3_remove_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_remove_clause\n"));
  {
#line 273
   __ = remove_clause(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_2_remove_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_remove_clause\n"));
  {
#line 272
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_1_remove_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_remove_clause\n"));
  {
#line 271
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_6_delete_clause(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6_delete_clause\n"));
  {
#line 268
   __ = delete(false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_5_delete_clause(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_delete_clause\n"));
  {
#line 267
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_4_delete_clause(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_delete_clause\n"));
  {
#line 266
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_3_delete_clause(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_delete_clause\n"));
  {
#line 265
   __ = delete(true); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_2_delete_clause(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_delete_clause\n"));
  {
#line 264
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_1_delete_clause(yycontext *yy, char *yytext, int yyleng)
{
#define e yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_delete_clause\n"));
  {
#line 263
   sequence_add(e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef e
}
YY_ACTION(void) yy_5_set_item(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define i yy->__val[-2]
#define e yy->__val[-3]
#define p yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_set_item\n"));
  {
#line 260
   __ = set_labels(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_4_set_item(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define i yy->__val[-2]
#define e yy->__val[-3]
#define p yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_set_item\n"));
  {
#line 259
   sequence_add(l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_3_set_item(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define i yy->__val[-2]
#define e yy->__val[-3]
#define p yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_set_item\n"));
  {
#line 258
   __ = merge_properties(i, e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_2_set_item(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define i yy->__val[-2]
#define e yy->__val[-3]
#define p yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_set_item\n"));
  {
#line 256
   __ = set_all_properties(i, e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_1_set_item(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define i yy->__val[-2]
#define e yy->__val[-3]
#define p yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_set_item\n"));
  {
#line 254
   __ = set_property(p, e); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef i
#undef e
#undef p
}
YY_ACTION(void) yy_3_set_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_set_clause\n"));
  {
#line 250
   __ = set_clause(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_2_set_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_set_clause\n"));
  {
#line 249
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_1_set_clause(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_set_clause\n"));
  {
#line 248
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_2_create_clause(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_create_clause\n"));
  {
#line 245
   __ = create_clause(false, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_1_create_clause(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_create_clause\n"));
  {
#line 244
   __ = create_clause(true, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
}
YY_ACTION(void) yy_2_merge_action_set(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_merge_action_set\n"));
  {
#line 240
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_1_merge_action_set(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_merge_action_set\n"));
  {
#line 239
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_2_merge_action(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_merge_action\n"));
  {
#line 237
   __ = on_create(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_merge_action(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_merge_action\n"));
  {
#line 236
   __ = on_match(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_merge_clause(yycontext *yy, char *yytext, int yyleng)
{
#define a yy->__val[-1]
#define p yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_merge_clause\n"));
  {
#line 232
   __ = merge_clause(p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef a
#undef p
}
YY_ACTION(void) yy_1_merge_clause(yycontext *yy, char *yytext, int yyleng)
{
#define a yy->__val[-1]
#define p yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_merge_clause\n"));
  {
#line 231
   sequence_add(a); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef a
#undef p
}
YY_ACTION(void) yy_5_hint(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_hint\n"));
  {
#line 227
   __ = using_scan(i, l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_4_hint(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_hint\n"));
  {
#line 225
   __ = using_join(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_3_hint(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_hint\n"));
  {
#line 224
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_2_hint(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_hint\n"));
  {
#line 223
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_1_hint(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define i yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_hint\n"));
  {
#line 222
   __ = using_index(i, l, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
#undef i
}
YY_ACTION(void) yy_4_match_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define h yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_match_clause\n"));
  {
#line 217
   __ = match_clause(false, p, c); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef h
#undef p
}
YY_ACTION(void) yy_3_match_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define h yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_match_clause\n"));
  {
#line 215
   sequence_add(h); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef h
#undef p
}
YY_ACTION(void) yy_2_match_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define h yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_match_clause\n"));
  {
#line 213
   __ = match_clause(true, p, c); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef h
#undef p
}
YY_ACTION(void) yy_1_match_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define h yy->__val[-2]
#define p yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_match_clause\n"));
  {
#line 211
   sequence_add(h); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef h
#undef p
}
YY_ACTION(void) yy_2_node_ids(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_node_ids\n"));
  {
#line 206
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_1_node_ids(yycontext *yy, char *yytext, int yyleng)
{
#define i yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_node_ids\n"));
  {
#line 205
   sequence_add(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef i
}
YY_ACTION(void) yy_8_start_point(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define p yy->__val[-2]
#define x yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_8_start_point\n"));
  {
#line 199
   __ = all_rels_scan(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef p
#undef x
#undef i
}
YY_ACTION(void) yy_7_start_point(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define p yy->__val[-2]
#define x yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_7_start_point\n"));
  {
#line 198
   __ = rel_id_lookup(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef p
#undef x
#undef i
}
YY_ACTION(void) yy_6_start_point(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define p yy->__val[-2]
#define x yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_6_start_point\n"));
  {
#line 195
   __ = rel_index_query(i, x, l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef p
#undef x
#undef i
}
YY_ACTION(void) yy_5_start_point(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define p yy->__val[-2]
#define x yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_5_start_point\n"));
  {
#line 193
   __ = rel_index_lookup(i, x, p, l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef p
#undef x
#undef i
}
YY_ACTION(void) yy_4_start_point(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define p yy->__val[-2]
#define x yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4_start_point\n"));
  {
#line 187
   __ = all_nodes_scan(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef p
#undef x
#undef i
}
YY_ACTION(void) yy_3_start_point(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define p yy->__val[-2]
#define x yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_start_point\n"));
  {
#line 186
   __ = node_id_lookup(i); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef p
#undef x
#undef i
}
YY_ACTION(void) yy_2_start_point(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define p yy->__val[-2]
#define x yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_start_point\n"));
  {
#line 183
   __ = node_index_query(i, x, l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef p
#undef x
#undef i
}
YY_ACTION(void) yy_1_start_point(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define p yy->__val[-2]
#define x yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_start_point\n"));
  {
#line 181
   __ = node_index_lookup(i, x, p, l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
#undef p
#undef x
#undef i
}
YY_ACTION(void) yy_3_start_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define s yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_start_clause\n"));
  {
#line 175
   __ = start_clause(c); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef s
}
YY_ACTION(void) yy_2_start_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define s yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_start_clause\n"));
  {
#line 173
   sequence_add(s); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef s
}
YY_ACTION(void) yy_1_start_clause(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define s yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_start_clause\n"));
  {
#line 172
   sequence_add(s); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
#undef s
}
YY_ACTION(void) yy_2_loadcsv_clause(yycontext *yy, char *yytext, int yyleng)
{
#define t yy->__val[-1]
#define i yy->__val[-2]
#define u yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_loadcsv_clause\n"));
  {
#line 169
   __ = load_csv(false, u, i, t); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef t
#undef i
#undef u
}
YY_ACTION(void) yy_1_loadcsv_clause(yycontext *yy, char *yytext, int yyleng)
{
#define t yy->__val[-1]
#define i yy->__val[-2]
#define u yy->__val[-3]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_loadcsv_clause\n"));
  {
#line 166
   __ = load_csv(true, u, i, t); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef t
#undef i
#undef u
}
YY_ACTION(void) yy_1_periodic_commit(yycontext *yy, char *yytext, int yyleng)
{
#define l yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_periodic_commit\n"));
  {
#line 144
   __ = using_periodic_commit(l); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef l
}
YY_ACTION(void) yy_1__clauses(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1__clauses\n"));
  {
#line 138
   sequence_add(c); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
}
YY_ACTION(void) yy_1_clauses(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_clauses\n"));
  {
#line 133
   sequence_add(c); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
}
YY_ACTION(void) yy_1_query_hints(yycontext *yy, char *yytext, int yyleng)
{
#define c yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_query_hints\n"));
  {
#line 130
   sequence_add(c); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef c
}
YY_ACTION(void) yy_1_query(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_query\n"));
  {
#line 128
   __ = query(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_3_drop_constraint(yycontext *yy, char *yytext, int yyleng)
{
#define t yy->__val[-1]
#define e yy->__val[-2]
#define l yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_drop_constraint\n"));
  {
#line 124
   __ = drop_rel_prop_constraint(i,t,e,false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef t
#undef e
#undef l
#undef i
}
YY_ACTION(void) yy_2_drop_constraint(yycontext *yy, char *yytext, int yyleng)
{
#define t yy->__val[-1]
#define e yy->__val[-2]
#define l yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_drop_constraint\n"));
  {
#line 118
   __ = drop_node_prop_constraint(i,l,e,false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef t
#undef e
#undef l
#undef i
}
YY_ACTION(void) yy_1_drop_constraint(yycontext *yy, char *yytext, int yyleng)
{
#define t yy->__val[-1]
#define e yy->__val[-2]
#define l yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_drop_constraint\n"));
  {
#line 116
   __ = drop_node_prop_constraint(i,l,e,true); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef t
#undef e
#undef l
#undef i
}
YY_ACTION(void) yy_1_drop_index(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_drop_index\n"));
  {
#line 109
   __ = drop_index(l, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
}
YY_ACTION(void) yy_3_create_constraint(yycontext *yy, char *yytext, int yyleng)
{
#define t yy->__val[-1]
#define e yy->__val[-2]
#define l yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3_create_constraint\n"));
  {
#line 104
   __ = create_rel_prop_constraint(i,t,e,false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef t
#undef e
#undef l
#undef i
}
YY_ACTION(void) yy_2_create_constraint(yycontext *yy, char *yytext, int yyleng)
{
#define t yy->__val[-1]
#define e yy->__val[-2]
#define l yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_create_constraint\n"));
  {
#line 98
   __ = create_node_prop_constraint(i,l,e,false); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef t
#undef e
#undef l
#undef i
}
YY_ACTION(void) yy_1_create_constraint(yycontext *yy, char *yytext, int yyleng)
{
#define t yy->__val[-1]
#define e yy->__val[-2]
#define l yy->__val[-3]
#define i yy->__val[-4]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_create_constraint\n"));
  {
#line 96
   __ = create_node_prop_constraint(i,l,e,true); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef t
#undef e
#undef l
#undef i
}
YY_ACTION(void) yy_1_create_index(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define l yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_create_index\n"));
  {
#line 89
   __ = create_index(l, p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef l
}
YY_ACTION(void) yy_1_explain_option(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_explain_option\n"));
  {
#line 77
   __ = explain_option(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_profile_option(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_profile_option\n"));
  {
#line 76
   __ = profile_option(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_cypher_param_val(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_cypher_param_val\n"));
  {
#line 74
   __ = block_string(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_cypher_param_name(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_cypher_param_name\n"));
  {
#line 73
   __ = block_string(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_1_cypher_param(yycontext *yy, char *yytext, int yyleng)
{
#define v yy->__val[-1]
#define n yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_cypher_param\n"));
  {
#line 72
   __ = cypher_option_param(n, v); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef v
#undef n
}
YY_ACTION(void) yy_1_cypher_version(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_cypher_version\n"));
  {
#line 70
   __ = block_string(); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_2_cypher_option(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define v yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2_cypher_option\n"));
  {
#line 67
   __ = cypher_option(v); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef v
}
YY_ACTION(void) yy_1_cypher_option(yycontext *yy, char *yytext, int yyleng)
{
#define p yy->__val[-1]
#define v yy->__val[-2]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_cypher_option\n"));
  {
#line 66
   sequence_add(p); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef p
#undef v
}
YY_ACTION(void) yy_1_statement_option(yycontext *yy, char *yytext, int yyleng)
{
#define o yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_statement_option\n"));
  {
#line 62
   sequence_add(o); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef o
}
YY_ACTION(void) yy_1_cypher_statement(yycontext *yy, char *yytext, int yyleng)
{
#define b yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1_cypher_statement\n"));
  {
#line 58
   __ = statement(b); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef b
}
YY_ACTION(void) yy_3___statement(yycontext *yy, char *yytext, int yyleng)
{
#define d yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3___statement\n"));
  {
#line 49
   yy->result = d; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef d
}
YY_ACTION(void) yy_2___statement(yycontext *yy, char *yytext, int yyleng)
{
#define d yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2___statement\n"));
  {
#line 48
   yy->result = NULL; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef d
}
YY_ACTION(void) yy_1___statement(yycontext *yy, char *yytext, int yyleng)
{
#define d yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1___statement\n"));
  {
#line 47
   yy->result = NULL; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef d
}
YY_ACTION(void) yy_1__statement(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1__statement\n"));
  {
#line 43
   finished(yy); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}
YY_ACTION(void) yy_4___directive(yycontext *yy, char *yytext, int yyleng)
{
#define d yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_4___directive\n"));
  {
#line 38
   yy->result = d; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef d
}
YY_ACTION(void) yy_3___directive(yycontext *yy, char *yytext, int yyleng)
{
#define d yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_3___directive\n"));
  {
#line 37
   yy->result = d; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef d
}
YY_ACTION(void) yy_2___directive(yycontext *yy, char *yytext, int yyleng)
{
#define d yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_2___directive\n"));
  {
#line 36
   yy->result = NULL; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef d
}
YY_ACTION(void) yy_1___directive(yycontext *yy, char *yytext, int yyleng)
{
#define d yy->__val[-1]
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1___directive\n"));
  {
#line 35
   yy->result = NULL; ;
  }
#undef yythunkpos
#undef yypos
#undef yy
#undef d
}
YY_ACTION(void) yy_1__directive(yycontext *yy, char *yytext, int yyleng)
{
#define __ yy->__
#define yypos yy->__pos
#define yythunkpos yy->__thunkpos
  yyprintf((stderr, "do yy_1__directive\n"));
  {
#line 31
   finished(yy); ;
  }
#undef yythunkpos
#undef yypos
#undef yy
}

YY_RULE(int) yy__none_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_none_"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(0)) goto l1;
#undef yytext
#undef yyleng
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_none_", yy->__buf+yy->__pos));
  return 1;
  l1:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_none_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_resync_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "resync_clause"));
  {  int yypos3= yy->__pos, yythunkpos3= yy->__thunkpos;  if (!yy_LOADCSV(yy)) goto l4;  goto l3;
  l4:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_START(yy)) goto l5;  goto l3;
  l5:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_MATCH(yy)) goto l6;  goto l3;
  l6:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_UNWIND(yy)) goto l7;  goto l3;
  l7:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_MERGE(yy)) goto l8;  goto l3;
  l8:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_CREATE(yy)) goto l9;  goto l3;
  l9:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_SET(yy)) goto l10;  goto l3;
  l10:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_DELETE(yy)) goto l11;  goto l3;
  l11:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_REMOVE(yy)) goto l12;  goto l3;
  l12:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_FOREACH(yy)) goto l13;  goto l3;
  l13:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_WITH(yy)) goto l14;  goto l3;
  l14:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_CALL(yy)) goto l15;  goto l3;
  l15:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_RETURN(yy)) goto l16;  goto l3;
  l16:;	  yy->__pos= yypos3; yy->__thunkpos= yythunkpos3;  if (!yy_DROP(yy)) goto l2;
  }
  l3:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "resync_clause", yy->__buf+yy->__pos));
  return 1;
  l2:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "resync_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_resync_statement(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "resync_statement"));
  {  int yypos18= yy->__pos, yythunkpos18= yy->__thunkpos;  if (!yy_resync_clause(yy)) goto l19;  goto l18;
  l19:;	  yy->__pos= yypos18; yy->__thunkpos= yythunkpos18;  if (!yy_CYPHER(yy)) goto l20;  goto l18;
  l20:;	  yy->__pos= yypos18; yy->__thunkpos= yythunkpos18;  if (!yy_PROFILE(yy)) goto l21;  goto l18;
  l21:;	  yy->__pos= yypos18; yy->__thunkpos= yythunkpos18;  if (!yy_EXPLAIN(yy)) goto l17;
  }
  l18:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "resync_statement", yy->__buf+yy->__pos));
  return 1;
  l17:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "resync_statement", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_resync_directive(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "resync_directive"));
  {  int yypos23= yy->__pos, yythunkpos23= yy->__thunkpos;  if (!yy_resync_statement(yy)) goto l24;  goto l23;
  l24:;	  yy->__pos= yypos23; yy->__thunkpos= yythunkpos23;  if (!yy_COLON(yy)) goto l22;
  }
  l23:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "resync_directive", yy->__buf+yy->__pos));
  return 1;
  l22:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "resync_directive", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DROP(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DROP"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25;  if (!yy_WB(yy)) goto l25;  if (!yy__(yy)) goto l25;
  yyprintf((stderr, "  ok   %s @ %s\n", "DROP", yy->__buf+yy->__pos));
  return 1;
  l25:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DROP", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_WB(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "WB"));
  {  int yypos27= yy->__pos, yythunkpos27= yy->__thunkpos;
  {  int yypos28= yy->__pos, yythunkpos28= yy->__thunkpos;  if (!yy_EOF(yy)) goto l29;  goto l28;
  l29:;	  yy->__pos= yypos28; yy->__thunkpos= yythunkpos28;
  {  int yypos30= yy->__pos, yythunkpos30= yy->__thunkpos;  if (!yy_sym_part(yy)) goto l30;  goto l26;
  l30:;	  yy->__pos= yypos30; yy->__thunkpos= yythunkpos30;
  }  if (!yymatchDot(yy)) goto l26;
  }
  l28:;	  yy->__pos= yypos27; yy->__thunkpos= yythunkpos27;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "WB", yy->__buf+yy->__pos));
  return 1;
  l26:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "WB", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__line_start_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_line_start_"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!( (line_start(yy), 1) )) goto l31;
#undef yytext
#undef yyleng
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_line_start_", yy->__buf+yy->__pos));
  return 1;
  l31:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_line_start_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_line_comment(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "line_comment"));  if (!yymatchString(yy, "//")) goto l32;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l32;
#undef yytext
#undef yyleng
  }
  l33:;	
  {  int yypos34= yy->__pos, yythunkpos34= yy->__thunkpos;
  {  int yypos35= yy->__pos, yythunkpos35= yy->__thunkpos;  if (!yy_EOL(yy)) goto l35;  goto l34;
  l35:;	  yy->__pos= yypos35; yy->__thunkpos= yythunkpos35;
  }  if (!yymatchDot(yy)) goto l34;  goto l33;
  l34:;	  yy->__pos= yypos34; yy->__thunkpos= yythunkpos34;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l32;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_line_comment, yy->__begin, yy->__end);
  {  int yypos36= yy->__pos, yythunkpos36= yy->__thunkpos;  if (!yy_EOL(yy)) goto l37;  goto l36;
  l37:;	  yy->__pos= yypos36; yy->__thunkpos= yythunkpos36;  if (!yy_EOF(yy)) goto l32;
  }
  l36:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "line_comment", yy->__buf+yy->__pos));
  return 1;
  l32:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "line_comment", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_block_comment(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "block_comment"));  if (!yymatchString(yy, "/*")) goto l38;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l38;
#undef yytext
#undef yyleng
  }
  l39:;	
  {  int yypos40= yy->__pos, yythunkpos40= yy->__thunkpos;
  {  int yypos41= yy->__pos, yythunkpos41= yy->__thunkpos;  if (!yy_EOL(yy)) goto l42;  goto l41;
  l42:;	  yy->__pos= yypos41; yy->__thunkpos= yythunkpos41;
  {  int yypos43= yy->__pos, yythunkpos43= yy->__thunkpos;  if (!yymatchString(yy, "*/")) goto l43;  goto l40;
  l43:;	  yy->__pos= yypos43; yy->__thunkpos= yythunkpos43;
  }  if (!yymatchDot(yy)) goto l40;
  }
  l41:;	  goto l39;
  l40:;	  yy->__pos= yypos40; yy->__thunkpos= yythunkpos40;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l38;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_block_comment, yy->__begin, yy->__end);  if (!yymatchString(yy, "*/")) goto l45;  goto l44;
  l45:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("*/");
#undef yytext
#undef yyleng
  }  goto l38;
  l44:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "block_comment", yy->__buf+yy->__pos));
  return 1;
  l38:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "block_comment", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_HWS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "HWS"));  if (!yymatchClass(yy, (unsigned char *)"\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l46;
  yyprintf((stderr, "  ok   %s @ %s\n", "HWS", yy->__buf+yy->__pos));
  return 1;
  l46:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "HWS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_comment(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "comment"));
  {  int yypos48= yy->__pos, yythunkpos48= yy->__thunkpos;  if (!yy_line_comment(yy)) goto l49;  goto l48;
  l49:;	  yy->__pos= yypos48; yy->__thunkpos= yythunkpos48;  if (!yy_block_comment(yy)) goto l47;
  }
  l48:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "comment", yy->__buf+yy->__pos));
  return 1;
  l47:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "comment", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_sym_part(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "sym_part"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\020\000\377\003\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l50;
  yyprintf((stderr, "  ok   %s @ %s\n", "sym_part", yy->__buf+yy->__pos));
  return 1;
  l50:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "sym_part", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_sym_start(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "sym_start"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l51;
  yyprintf((stderr, "  ok   %s @ %s\n", "sym_start", yy->__buf+yy->__pos));
  return 1;
  l51:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "sym_start", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_escaped_symbolic_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "escaped_symbolic_name"));  if (!yymatchChar(yy, '`')) goto l52;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l52;
#undef yytext
#undef yyleng
  }
  l53:;	
  {  int yypos54= yy->__pos, yythunkpos54= yy->__thunkpos;
  {  int yypos55= yy->__pos, yythunkpos55= yy->__thunkpos;  if (!yymatchChar(yy, '`')) goto l55;  goto l54;
  l55:;	  yy->__pos= yypos55; yy->__thunkpos= yythunkpos55;
  }  if (!yymatchDot(yy)) goto l54;  goto l53;
  l54:;	  yy->__pos= yypos54; yy->__thunkpos= yythunkpos54;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l52;
#undef yytext
#undef yyleng
  }  if (!yymatchChar(yy, '`')) goto l57;  goto l56;
  l57:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("`");
#undef yytext
#undef yyleng
  }  goto l52;
  l56:;	  yyDo(yy, yy_1_escaped_symbolic_name, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "escaped_symbolic_name", yy->__buf+yy->__pos));
  return 1;
  l52:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "escaped_symbolic_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_unescaped_symbolic_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "unescaped_symbolic_name"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l58;
#undef yytext
#undef yyleng
  }  if (!yy_sym_start(yy)) goto l58;
  l59:;	
  {  int yypos60= yy->__pos, yythunkpos60= yy->__thunkpos;  if (!yy_sym_part(yy)) goto l60;  goto l59;
  l60:;	  yy->__pos= yypos60; yy->__thunkpos= yythunkpos60;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l58;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_unescaped_symbolic_name, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "unescaped_symbolic_name", yy->__buf+yy->__pos));
  return 1;
  l58:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "unescaped_symbolic_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_EOL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "EOL"));
  {  int yypos62= yy->__pos, yythunkpos62= yy->__thunkpos;  if (!yymatchChar(yy, '\n')) goto l63;  goto l62;
  l63:;	  yy->__pos= yypos62; yy->__thunkpos= yythunkpos62;  if (!yymatchString(yy, "\r\n")) goto l61;
  }
  l62:;	  if (!yy__line_start_(yy)) goto l61;
  yyprintf((stderr, "  ok   %s @ %s\n", "EOL", yy->__buf+yy->__pos));
  return 1;
  l61:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "EOL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_double_quoted(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "double_quoted"));  if (!yymatchChar(yy, '"')) goto l64;
  l65:;	
  {  int yypos66= yy->__pos, yythunkpos66= yy->__thunkpos;
  {  int yypos67= yy->__pos, yythunkpos67= yy->__thunkpos;  if (!yy_escaped_char(yy)) goto l68;  goto l67;
  l68:;	  yy->__pos= yypos67; yy->__thunkpos= yythunkpos67;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l69;
#undef yytext
#undef yyleng
  }  if (!yy_EOL(yy)) goto l69;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l69;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_double_quoted, yy->__begin, yy->__end);  goto l67;
  l69:;	  yy->__pos= yypos67; yy->__thunkpos= yythunkpos67;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l66;
#undef yytext
#undef yyleng
  }
  {  int yypos72= yy->__pos, yythunkpos72= yy->__thunkpos;
  {  int yypos73= yy->__pos, yythunkpos73= yy->__thunkpos;  if (!yymatchChar(yy, '"')) goto l74;  goto l73;
  l74:;	  yy->__pos= yypos73; yy->__thunkpos= yythunkpos73;  if (!yy_escaped_char(yy)) goto l75;  goto l73;
  l75:;	  yy->__pos= yypos73; yy->__thunkpos= yythunkpos73;  if (!yy_EOL(yy)) goto l72;
  }
  l73:;	  goto l66;
  l72:;	  yy->__pos= yypos72; yy->__thunkpos= yythunkpos72;
  }  if (!yymatchDot(yy)) goto l66;
  l70:;	
  {  int yypos71= yy->__pos, yythunkpos71= yy->__thunkpos;
  {  int yypos76= yy->__pos, yythunkpos76= yy->__thunkpos;
  {  int yypos77= yy->__pos, yythunkpos77= yy->__thunkpos;  if (!yymatchChar(yy, '"')) goto l78;  goto l77;
  l78:;	  yy->__pos= yypos77; yy->__thunkpos= yythunkpos77;  if (!yy_escaped_char(yy)) goto l79;  goto l77;
  l79:;	  yy->__pos= yypos77; yy->__thunkpos= yythunkpos77;  if (!yy_EOL(yy)) goto l76;
  }
  l77:;	  goto l71;
  l76:;	  yy->__pos= yypos76; yy->__thunkpos= yythunkpos76;
  }  if (!yymatchDot(yy)) goto l71;  goto l70;
  l71:;	  yy->__pos= yypos71; yy->__thunkpos= yythunkpos71;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l66;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_double_quoted, yy->__begin, yy->__end);
  }
  l67:;	  goto l65;
  l66:;	  yy->__pos= yypos66; yy->__thunkpos= yythunkpos66;
  }  if (!yymatchChar(yy, '"')) goto l81;  goto l80;
  l81:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("\"");
#undef yytext
#undef yyleng
  }  goto l64;
  l80:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "double_quoted", yy->__buf+yy->__pos));
  return 1;
  l64:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "double_quoted", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_single_quoted(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "single_quoted"));  if (!yymatchChar(yy, '\'')) goto l82;
  l83:;	
  {  int yypos84= yy->__pos, yythunkpos84= yy->__thunkpos;
  {  int yypos85= yy->__pos, yythunkpos85= yy->__thunkpos;  if (!yy_escaped_char(yy)) goto l86;  goto l85;
  l86:;	  yy->__pos= yypos85; yy->__thunkpos= yythunkpos85;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l87;
#undef yytext
#undef yyleng
  }  if (!yy_EOL(yy)) goto l87;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l87;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_single_quoted, yy->__begin, yy->__end);  goto l85;
  l87:;	  yy->__pos= yypos85; yy->__thunkpos= yythunkpos85;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l84;
#undef yytext
#undef yyleng
  }
  {  int yypos90= yy->__pos, yythunkpos90= yy->__thunkpos;
  {  int yypos91= yy->__pos, yythunkpos91= yy->__thunkpos;  if (!yymatchChar(yy, '\'')) goto l92;  goto l91;
  l92:;	  yy->__pos= yypos91; yy->__thunkpos= yythunkpos91;  if (!yy_escaped_char(yy)) goto l93;  goto l91;
  l93:;	  yy->__pos= yypos91; yy->__thunkpos= yythunkpos91;  if (!yy_EOL(yy)) goto l90;
  }
  l91:;	  goto l84;
  l90:;	  yy->__pos= yypos90; yy->__thunkpos= yythunkpos90;
  }  if (!yymatchDot(yy)) goto l84;
  l88:;	
  {  int yypos89= yy->__pos, yythunkpos89= yy->__thunkpos;
  {  int yypos94= yy->__pos, yythunkpos94= yy->__thunkpos;
  {  int yypos95= yy->__pos, yythunkpos95= yy->__thunkpos;  if (!yymatchChar(yy, '\'')) goto l96;  goto l95;
  l96:;	  yy->__pos= yypos95; yy->__thunkpos= yythunkpos95;  if (!yy_escaped_char(yy)) goto l97;  goto l95;
  l97:;	  yy->__pos= yypos95; yy->__thunkpos= yythunkpos95;  if (!yy_EOL(yy)) goto l94;
  }
  l95:;	  goto l89;
  l94:;	  yy->__pos= yypos94; yy->__thunkpos= yythunkpos94;
  }  if (!yymatchDot(yy)) goto l89;  goto l88;
  l89:;	  yy->__pos= yypos89; yy->__thunkpos= yythunkpos89;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l84;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_single_quoted, yy->__begin, yy->__end);
  }
  l85:;	  goto l83;
  l84:;	  yy->__pos= yypos84; yy->__thunkpos= yythunkpos84;
  }  if (!yymatchChar(yy, '\'')) goto l99;  goto l98;
  l99:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'");
#undef yytext
#undef yyleng
  }  goto l82;
  l98:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "single_quoted", yy->__buf+yy->__pos));
  return 1;
  l82:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "single_quoted", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_escaped_char(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "escaped_char"));
  {  int yypos101= yy->__pos, yythunkpos101= yy->__thunkpos;  if (!yymatchString(yy, "\\a")) goto l102;  yyDo(yy, yy_1_escaped_char, yy->__begin, yy->__end);  goto l101;
  l102:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\b")) goto l103;  yyDo(yy, yy_2_escaped_char, yy->__begin, yy->__end);  goto l101;
  l103:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\f")) goto l104;  yyDo(yy, yy_3_escaped_char, yy->__begin, yy->__end);  goto l101;
  l104:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\n")) goto l105;  yyDo(yy, yy_4_escaped_char, yy->__begin, yy->__end);  goto l101;
  l105:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\r")) goto l106;  yyDo(yy, yy_5_escaped_char, yy->__begin, yy->__end);  goto l101;
  l106:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\t")) goto l107;  yyDo(yy, yy_6_escaped_char, yy->__begin, yy->__end);  goto l101;
  l107:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\v")) goto l108;  yyDo(yy, yy_7_escaped_char, yy->__begin, yy->__end);  goto l101;
  l108:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\\\")) goto l109;  yyDo(yy, yy_8_escaped_char, yy->__begin, yy->__end);  goto l101;
  l109:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\'")) goto l110;  yyDo(yy, yy_9_escaped_char, yy->__begin, yy->__end);  goto l101;
  l110:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\\"")) goto l111;  yyDo(yy, yy_10_escaped_char, yy->__begin, yy->__end);  goto l101;
  l111:;	  yy->__pos= yypos101; yy->__thunkpos= yythunkpos101;  if (!yymatchString(yy, "\\?")) goto l100;  yyDo(yy, yy_11_escaped_char, yy->__begin, yy->__end);
  }
  l101:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "escaped_char", yy->__buf+yy->__pos));
  return 1;
  l100:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "escaped_char", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_unquoted(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "unquoted"));
  {  int yypos115= yy->__pos, yythunkpos115= yy->__thunkpos;  if (!yy_escaped_char(yy)) goto l116;  goto l115;
  l116:;	  yy->__pos= yypos115; yy->__thunkpos= yythunkpos115;  if (!yymatchString(yy, "\\;")) goto l117;  yyDo(yy, yy_1_unquoted, yy->__begin, yy->__end);  goto l115;
  l117:;	  yy->__pos= yypos115; yy->__thunkpos= yythunkpos115;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l112;
#undef yytext
#undef yyleng
  }
  {  int yypos120= yy->__pos, yythunkpos120= yy->__thunkpos;
  {  int yypos121= yy->__pos, yythunkpos121= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l122;  goto l121;
  l122:;	  yy->__pos= yypos121; yy->__thunkpos= yythunkpos121;  if (!yy_WS(yy)) goto l123;  goto l121;
  l123:;	  yy->__pos= yypos121; yy->__thunkpos= yythunkpos121;  if (!yymatchString(yy, "//")) goto l124;  goto l121;
  l124:;	  yy->__pos= yypos121; yy->__thunkpos= yythunkpos121;  if (!yymatchString(yy, "/*")) goto l125;  goto l121;
  l125:;	  yy->__pos= yypos121; yy->__thunkpos= yythunkpos121;  if (!yymatchChar(yy, '\\')) goto l126;  goto l121;
  l126:;	  yy->__pos= yypos121; yy->__thunkpos= yythunkpos121;  if (!yy_SEMICOLON(yy)) goto l127;  goto l121;
  l127:;	  yy->__pos= yypos121; yy->__thunkpos= yythunkpos121;  if (!yy_EOF(yy)) goto l120;
  }
  l121:;	  goto l112;
  l120:;	  yy->__pos= yypos120; yy->__thunkpos= yythunkpos120;
  }  if (!yymatchDot(yy)) goto l112;
  l118:;	
  {  int yypos119= yy->__pos, yythunkpos119= yy->__thunkpos;
  {  int yypos128= yy->__pos, yythunkpos128= yy->__thunkpos;
  {  int yypos129= yy->__pos, yythunkpos129= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l130;  goto l129;
  l130:;	  yy->__pos= yypos129; yy->__thunkpos= yythunkpos129;  if (!yy_WS(yy)) goto l131;  goto l129;
  l131:;	  yy->__pos= yypos129; yy->__thunkpos= yythunkpos129;  if (!yymatchString(yy, "//")) goto l132;  goto l129;
  l132:;	  yy->__pos= yypos129; yy->__thunkpos= yythunkpos129;  if (!yymatchString(yy, "/*")) goto l133;  goto l129;
  l133:;	  yy->__pos= yypos129; yy->__thunkpos= yythunkpos129;  if (!yymatchChar(yy, '\\')) goto l134;  goto l129;
  l134:;	  yy->__pos= yypos129; yy->__thunkpos= yythunkpos129;  if (!yy_SEMICOLON(yy)) goto l135;  goto l129;
  l135:;	  yy->__pos= yypos129; yy->__thunkpos= yythunkpos129;  if (!yy_EOF(yy)) goto l128;
  }
  l129:;	  goto l119;
  l128:;	  yy->__pos= yypos128; yy->__thunkpos= yythunkpos128;
  }  if (!yymatchDot(yy)) goto l119;  goto l118;
  l119:;	  yy->__pos= yypos119; yy->__thunkpos= yythunkpos119;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l112;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_unquoted, yy->__begin, yy->__end);
  }
  l115:;	
  l113:;	
  {  int yypos114= yy->__pos, yythunkpos114= yy->__thunkpos;
  {  int yypos136= yy->__pos, yythunkpos136= yy->__thunkpos;  if (!yy_escaped_char(yy)) goto l137;  goto l136;
  l137:;	  yy->__pos= yypos136; yy->__thunkpos= yythunkpos136;  if (!yymatchString(yy, "\\;")) goto l138;  yyDo(yy, yy_1_unquoted, yy->__begin, yy->__end);  goto l136;
  l138:;	  yy->__pos= yypos136; yy->__thunkpos= yythunkpos136;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l114;
#undef yytext
#undef yyleng
  }
  {  int yypos141= yy->__pos, yythunkpos141= yy->__thunkpos;
  {  int yypos142= yy->__pos, yythunkpos142= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l143;  goto l142;
  l143:;	  yy->__pos= yypos142; yy->__thunkpos= yythunkpos142;  if (!yy_WS(yy)) goto l144;  goto l142;
  l144:;	  yy->__pos= yypos142; yy->__thunkpos= yythunkpos142;  if (!yymatchString(yy, "//")) goto l145;  goto l142;
  l145:;	  yy->__pos= yypos142; yy->__thunkpos= yythunkpos142;  if (!yymatchString(yy, "/*")) goto l146;  goto l142;
  l146:;	  yy->__pos= yypos142; yy->__thunkpos= yythunkpos142;  if (!yymatchChar(yy, '\\')) goto l147;  goto l142;
  l147:;	  yy->__pos= yypos142; yy->__thunkpos= yythunkpos142;  if (!yy_SEMICOLON(yy)) goto l148;  goto l142;
  l148:;	  yy->__pos= yypos142; yy->__thunkpos= yythunkpos142;  if (!yy_EOF(yy)) goto l141;
  }
  l142:;	  goto l114;
  l141:;	  yy->__pos= yypos141; yy->__thunkpos= yythunkpos141;
  }  if (!yymatchDot(yy)) goto l114;
  l139:;	
  {  int yypos140= yy->__pos, yythunkpos140= yy->__thunkpos;
  {  int yypos149= yy->__pos, yythunkpos149= yy->__thunkpos;
  {  int yypos150= yy->__pos, yythunkpos150= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l151;  goto l150;
  l151:;	  yy->__pos= yypos150; yy->__thunkpos= yythunkpos150;  if (!yy_WS(yy)) goto l152;  goto l150;
  l152:;	  yy->__pos= yypos150; yy->__thunkpos= yythunkpos150;  if (!yymatchString(yy, "//")) goto l153;  goto l150;
  l153:;	  yy->__pos= yypos150; yy->__thunkpos= yythunkpos150;  if (!yymatchString(yy, "/*")) goto l154;  goto l150;
  l154:;	  yy->__pos= yypos150; yy->__thunkpos= yythunkpos150;  if (!yymatchChar(yy, '\\')) goto l155;  goto l150;
  l155:;	  yy->__pos= yypos150; yy->__thunkpos= yythunkpos150;  if (!yy_SEMICOLON(yy)) goto l156;  goto l150;
  l156:;	  yy->__pos= yypos150; yy->__thunkpos= yythunkpos150;  if (!yy_EOF(yy)) goto l149;
  }
  l150:;	  goto l140;
  l149:;	  yy->__pos= yypos149; yy->__thunkpos= yythunkpos149;
  }  if (!yymatchDot(yy)) goto l140;  goto l139;
  l140:;	  yy->__pos= yypos140; yy->__thunkpos= yythunkpos140;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l114;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_unquoted, yy->__begin, yy->__end);
  }
  l136:;	  goto l113;
  l114:;	  yy->__pos= yypos114; yy->__thunkpos= yythunkpos114;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "unquoted", yy->__buf+yy->__pos));
  return 1;
  l112:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "unquoted", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_client_arg_string(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "client_arg_string"));  yyDo(yy, yy_1_client_arg_string, yy->__begin, yy->__end);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l157;
#undef yytext
#undef yyleng
  }
  {  int yypos160= yy->__pos, yythunkpos160= yy->__thunkpos;  if (!yy_unquoted(yy)) goto l161;  goto l160;
  l161:;	  yy->__pos= yypos160; yy->__thunkpos= yythunkpos160;  if (!yy_quoted(yy)) goto l157;
  }
  l160:;	
  l158:;	
  {  int yypos159= yy->__pos, yythunkpos159= yy->__thunkpos;
  {  int yypos162= yy->__pos, yythunkpos162= yy->__thunkpos;  if (!yy_unquoted(yy)) goto l163;  goto l162;
  l163:;	  yy->__pos= yypos162; yy->__thunkpos= yythunkpos162;  if (!yy_quoted(yy)) goto l159;
  }
  l162:;	  goto l158;
  l159:;	  yy->__pos= yypos159; yy->__thunkpos= yythunkpos159;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l157;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_client_arg_string, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "client_arg_string", yy->__buf+yy->__pos));
  return 1;
  l157:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "client_arg_string", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_client_command_arg(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "client_command_arg"));  if (!yy_client_arg_string(yy)) goto l164;  yyDo(yy, yySet, -1, 0);  if (!yy___(yy)) goto l164;  yyDo(yy, yy_1_client_command_arg, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "client_command_arg", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l164:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "client_command_arg", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_line_end(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "line_end"));
  {  int yypos166= yy->__pos, yythunkpos166= yy->__thunkpos;  if (!yy_line_comment(yy)) goto l167;  goto l166;
  l167:;	  yy->__pos= yypos166; yy->__thunkpos= yythunkpos166;  if (!yy_EOL(yy)) goto l168;  goto l166;
  l168:;	  yy->__pos= yypos166; yy->__thunkpos= yythunkpos166;  if (!yy_EOF(yy)) goto l165;
  }
  l166:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "line_end", yy->__buf+yy->__pos));
  return 1;
  l165:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "line_end", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_client_command_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "client_command_name"));  if (!yy_client_command_arg(yy)) goto l171;  yyDo(yy, yySet, -1, 0);  goto l170;
  l171:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a command name");
#undef yytext
#undef yyleng
  }  goto l169;
  l170:;	  yyDo(yy, yy_1_client_command_name, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "client_command_name", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l169:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "client_command_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy___(yycontext *yy)
{
  yyprintf((stderr, "%s\n", "__"));
  l173:;	
  {  int yypos174= yy->__pos, yythunkpos174= yy->__thunkpos;
  {  int yypos175= yy->__pos, yythunkpos175= yy->__thunkpos;  if (!yy_HWS(yy)) goto l176;  goto l175;
  l176:;	  yy->__pos= yypos175; yy->__thunkpos= yythunkpos175;  if (!yy_block_comment(yy)) goto l174;
  }
  l175:;	  goto l173;
  l174:;	  yy->__pos= yypos174; yy->__thunkpos= yythunkpos174;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "__", yy->__buf+yy->__pos));
  return 1;
}
YY_RULE(int) yy_rel_varlength(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "rel_varlength"));
  {  int yypos178= yy->__pos, yythunkpos178= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l179;
#undef yytext
#undef yyleng
  }  if (!yy_STAR(yy)) goto l179;  if (!yy__(yy)) goto l179;
  {  int yypos180= yy->__pos, yythunkpos180= yy->__thunkpos;  if (!yy_integer_literal(yy)) goto l181;  yyDo(yy, yySet, -2, 0);  goto l180;
  l181:;	  yy->__pos= yypos180; yy->__thunkpos= yythunkpos180;  if (!yy__null_(yy)) goto l179;  yyDo(yy, yySet, -2, 0);
  }
  l180:;	  if (!yy_ELLIPSIS(yy)) goto l179;  if (!yy__(yy)) goto l179;
  {  int yypos182= yy->__pos, yythunkpos182= yy->__thunkpos;  if (!yy_integer_literal(yy)) goto l183;  yyDo(yy, yySet, -1, 0);  goto l182;
  l183:;	  yy->__pos= yypos182; yy->__thunkpos= yythunkpos182;  if (!yy__null_(yy)) goto l179;  yyDo(yy, yySet, -1, 0);
  }
  l182:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l179;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_rel_varlength, yy->__begin, yy->__end);  goto l178;
  l179:;	  yy->__pos= yypos178; yy->__thunkpos= yythunkpos178;  if (!yy_STAR(yy)) goto l184;  if (!yy__(yy)) goto l184;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l184;
#undef yytext
#undef yyleng
  }
  {  int yypos185= yy->__pos, yythunkpos185= yy->__thunkpos;  if (!yy_integer_literal(yy)) goto l186;  yyDo(yy, yySet, -2, 0);  goto l185;
  l186:;	  yy->__pos= yypos185; yy->__thunkpos= yythunkpos185;  if (!yy__null_(yy)) goto l184;  yyDo(yy, yySet, -2, 0);
  }
  l185:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l184;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_rel_varlength, yy->__begin, yy->__end);  goto l178;
  l184:;	  yy->__pos= yypos178; yy->__thunkpos= yythunkpos178;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l177;
#undef yytext
#undef yyleng
  }  if (!yy_STAR(yy)) goto l177;  if (!yy__(yy)) goto l177;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l177;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_rel_varlength, yy->__begin, yy->__end);
  }
  l178:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "rel_varlength", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l177:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "rel_varlength", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_rel_types(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "rel_types"));  if (!yy_rel_type(yy)) goto l187;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_rel_types, yy->__begin, yy->__end);
  l188:;	
  {  int yypos189= yy->__pos, yythunkpos189= yy->__thunkpos;  if (!yy_PIPE(yy)) goto l189;  if (!yy__(yy)) goto l189;
  {  int yypos190= yy->__pos, yythunkpos190= yy->__thunkpos;  if (!yy_rel_type(yy)) goto l191;  yyDo(yy, yySet, -1, 0);  goto l190;
  l191:;	  yy->__pos= yypos190; yy->__thunkpos= yythunkpos190;  if (!yy_rel_type_name(yy)) goto l189;  yyDo(yy, yySet, -1, 0);
  }
  l190:;	  yyDo(yy, yy_2_rel_types, yy->__begin, yy->__end);  goto l188;
  l189:;	  yy->__pos= yypos189; yy->__thunkpos= yythunkpos189;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "rel_types", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l187:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "rel_types", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_pattern_properties(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "pattern_properties"));
  {  int yypos193= yy->__pos, yythunkpos193= yy->__thunkpos;  if (!yy_map_literal(yy)) goto l194;  goto l193;
  l194:;	  yy->__pos= yypos193; yy->__thunkpos= yythunkpos193;  if (!yy_parameter(yy)) goto l192;
  }
  l193:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "pattern_properties", yy->__buf+yy->__pos));
  return 1;
  l192:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "pattern_properties", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_relationship_pattern(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "relationship_pattern"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l195;
#undef yytext
#undef yyleng
  }
  {  int yypos196= yy->__pos, yythunkpos196= yy->__thunkpos;  if (!yy_LEFT_ARROW_HEAD(yy)) goto l197;  if (!yy__(yy)) goto l197;  if (!yy_DASH(yy)) goto l197;  if (!yy__(yy)) goto l197;
  {  int yypos198= yy->__pos, yythunkpos198= yy->__thunkpos;  if (!yy_DASH(yy)) goto l199;
  {  int yypos200= yy->__pos, yythunkpos200= yy->__thunkpos;  if (!yy__(yy)) goto l201;  if (!yy_RIGHT_ARROW_HEAD(yy)) goto l201;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l201;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_relationship_pattern, yy->__begin, yy->__end);  goto l200;
  l201:;	  yy->__pos= yypos200; yy->__thunkpos= yythunkpos200;  if (!yy__empty_(yy)) goto l199;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l199;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_relationship_pattern, yy->__begin, yy->__end);
  }
  l200:;	  goto l198;
  l199:;	  yy->__pos= yypos198; yy->__thunkpos= yythunkpos198;  if (!yy_LEFT_SQ_PAREN(yy)) goto l197;  if (!yy__(yy)) goto l197;
  {  int yypos202= yy->__pos, yythunkpos202= yy->__thunkpos;  if (!yy_identifier(yy)) goto l203;  yyDo(yy, yySet, -3, 0);  goto l202;
  l203:;	  yy->__pos= yypos202; yy->__thunkpos= yythunkpos202;  if (!yy__null_(yy)) goto l197;  yyDo(yy, yySet, -3, 0);
  }
  l202:;	
  {  int yypos204= yy->__pos, yythunkpos204= yy->__thunkpos;  if (!yy_rel_types(yy)) goto l204;  goto l205;
  l204:;	  yy->__pos= yypos204; yy->__thunkpos= yythunkpos204;
  }
  l205:;	
  {  int yypos206= yy->__pos, yythunkpos206= yy->__thunkpos;  if (!yy_rel_varlength(yy)) goto l207;  yyDo(yy, yySet, -2, 0);  goto l206;
  l207:;	  yy->__pos= yypos206; yy->__thunkpos= yythunkpos206;  if (!yy__null_(yy)) goto l197;  yyDo(yy, yySet, -2, 0);
  }
  l206:;	
  {  int yypos208= yy->__pos, yythunkpos208= yy->__thunkpos;  if (!yy_pattern_properties(yy)) goto l209;  yyDo(yy, yySet, -1, 0);  goto l208;
  l209:;	  yy->__pos= yypos208; yy->__thunkpos= yythunkpos208;  if (!yy__null_(yy)) goto l197;  yyDo(yy, yySet, -1, 0);
  }
  l208:;	  if (!yy_RIGHT_SQ_PAREN(yy)) goto l197;  if (!yy__(yy)) goto l197;  if (!yy_DASH(yy)) goto l197;
  {  int yypos210= yy->__pos, yythunkpos210= yy->__thunkpos;  if (!yy__(yy)) goto l211;  if (!yy_RIGHT_ARROW_HEAD(yy)) goto l211;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l211;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_relationship_pattern, yy->__begin, yy->__end);  goto l210;
  l211:;	  yy->__pos= yypos210; yy->__thunkpos= yythunkpos210;  if (!yy__empty_(yy)) goto l197;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l197;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_relationship_pattern, yy->__begin, yy->__end);
  }
  l210:;	
  }
  l198:;	  goto l196;
  l197:;	  yy->__pos= yypos196; yy->__thunkpos= yythunkpos196;  if (!yy_DASH(yy)) goto l195;  if (!yy__(yy)) goto l195;
  {  int yypos212= yy->__pos, yythunkpos212= yy->__thunkpos;  if (!yy_DASH(yy)) goto l213;
  {  int yypos214= yy->__pos, yythunkpos214= yy->__thunkpos;  if (!yy__(yy)) goto l215;  if (!yy_RIGHT_ARROW_HEAD(yy)) goto l215;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l215;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_5_relationship_pattern, yy->__begin, yy->__end);  goto l214;
  l215:;	  yy->__pos= yypos214; yy->__thunkpos= yythunkpos214;  if (!yy__empty_(yy)) goto l213;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l213;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_6_relationship_pattern, yy->__begin, yy->__end);
  }
  l214:;	  goto l212;
  l213:;	  yy->__pos= yypos212; yy->__thunkpos= yythunkpos212;  if (!yy_LEFT_SQ_PAREN(yy)) goto l195;  if (!yy__(yy)) goto l195;
  {  int yypos216= yy->__pos, yythunkpos216= yy->__thunkpos;  if (!yy_identifier(yy)) goto l217;  yyDo(yy, yySet, -3, 0);  goto l216;
  l217:;	  yy->__pos= yypos216; yy->__thunkpos= yythunkpos216;  if (!yy__null_(yy)) goto l195;  yyDo(yy, yySet, -3, 0);
  }
  l216:;	
  {  int yypos218= yy->__pos, yythunkpos218= yy->__thunkpos;  if (!yy_rel_types(yy)) goto l218;  goto l219;
  l218:;	  yy->__pos= yypos218; yy->__thunkpos= yythunkpos218;
  }
  l219:;	
  {  int yypos220= yy->__pos, yythunkpos220= yy->__thunkpos;  if (!yy_rel_varlength(yy)) goto l221;  yyDo(yy, yySet, -2, 0);  goto l220;
  l221:;	  yy->__pos= yypos220; yy->__thunkpos= yythunkpos220;  if (!yy__null_(yy)) goto l195;  yyDo(yy, yySet, -2, 0);
  }
  l220:;	
  {  int yypos222= yy->__pos, yythunkpos222= yy->__thunkpos;  if (!yy_pattern_properties(yy)) goto l223;  yyDo(yy, yySet, -1, 0);  goto l222;
  l223:;	  yy->__pos= yypos222; yy->__thunkpos= yythunkpos222;  if (!yy__null_(yy)) goto l195;  yyDo(yy, yySet, -1, 0);
  }
  l222:;	  if (!yy_RIGHT_SQ_PAREN(yy)) goto l195;  if (!yy__(yy)) goto l195;  if (!yy_DASH(yy)) goto l195;
  {  int yypos224= yy->__pos, yythunkpos224= yy->__thunkpos;  if (!yy__(yy)) goto l225;  if (!yy_RIGHT_ARROW_HEAD(yy)) goto l225;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l225;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_7_relationship_pattern, yy->__begin, yy->__end);  goto l224;
  l225:;	  yy->__pos= yypos224; yy->__thunkpos= yythunkpos224;  if (!yy__empty_(yy)) goto l195;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l195;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_8_relationship_pattern, yy->__begin, yy->__end);
  }
  l224:;	
  }
  l212:;	
  }
  l196:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "relationship_pattern", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l195:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "relationship_pattern", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_node_pattern(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "node_pattern"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l226;
#undef yytext
#undef yyleng
  }  if (!yy_LEFT_PAREN(yy)) goto l226;  if (!yy__(yy)) goto l226;
  {  int yypos227= yy->__pos, yythunkpos227= yy->__thunkpos;  if (!yy_identifier(yy)) goto l228;  yyDo(yy, yySet, -3, 0);  goto l227;
  l228:;	  yy->__pos= yypos227; yy->__thunkpos= yythunkpos227;  if (!yy__null_(yy)) goto l226;  yyDo(yy, yySet, -3, 0);
  }
  l227:;	
  l229:;	
  {  int yypos230= yy->__pos, yythunkpos230= yy->__thunkpos;  if (!yy_label(yy)) goto l230;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_1_node_pattern, yy->__begin, yy->__end);  goto l229;
  l230:;	  yy->__pos= yypos230; yy->__thunkpos= yythunkpos230;
  }
  {  int yypos231= yy->__pos, yythunkpos231= yy->__thunkpos;  if (!yy_pattern_properties(yy)) goto l232;  yyDo(yy, yySet, -1, 0);  goto l231;
  l232:;	  yy->__pos= yypos231; yy->__thunkpos= yythunkpos231;  if (!yy__null_(yy)) goto l226;  yyDo(yy, yySet, -1, 0);
  }
  l231:;	  if (!yy_RIGHT_PAREN(yy)) goto l226;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l226;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_node_pattern, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "node_pattern", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l226:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "node_pattern", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ALLSHORTESTPATHS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ALLSHORTESTPATHS"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l235;  if (!yy_WB(yy)) goto l235;  if (!yy__(yy)) goto l235;  goto l234;
  l235:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("allShortestPaths");
#undef yytext
#undef yyleng
  }  goto l233;
  l234:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ALLSHORTESTPATHS", yy->__buf+yy->__pos));
  return 1;
  l233:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ALLSHORTESTPATHS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_SHORTESTPATH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "SHORTESTPATH"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l238;  if (!yy_WB(yy)) goto l238;  if (!yy__(yy)) goto l238;  goto l237;
  l238:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("shortestPath");
#undef yytext
#undef yyleng
  }  goto l236;
  l237:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "SHORTESTPATH", yy->__buf+yy->__pos));
  return 1;
  l236:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "SHORTESTPATH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_pattern_path(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "pattern_path"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l239;
#undef yytext
#undef yyleng
  }  if (!yy_node_pattern(yy)) goto l239;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_1_pattern_path, yy->__begin, yy->__end);
  l240:;	
  {  int yypos241= yy->__pos, yythunkpos241= yy->__thunkpos;  if (!yy__(yy)) goto l241;  if (!yy_relationship_pattern(yy)) goto l241;  yyDo(yy, yySet, -1, 0);  if (!yy__(yy)) goto l241;  if (!yy_node_pattern(yy)) goto l241;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_2_pattern_path, yy->__begin, yy->__end);  goto l240;
  l241:;	  yy->__pos= yypos241; yy->__thunkpos= yythunkpos241;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l239;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_pattern_path, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "pattern_path", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l239:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "pattern_path", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_shortest_path_pattern(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "shortest_path_pattern"));
  {  int yypos243= yy->__pos, yythunkpos243= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l244;
#undef yytext
#undef yyleng
  }  if (!yy_SHORTESTPATH(yy)) goto l244;  if (!yy_LEFT_PAREN(yy)) goto l244;  if (!yy__(yy)) goto l244;  if (!yy_pattern_path(yy)) goto l244;  yyDo(yy, yySet, -1, 0);  if (!yy__(yy)) goto l244;  if (!yy_RIGHT_PAREN(yy)) goto l244;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l244;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_shortest_path_pattern, yy->__begin, yy->__end);  goto l243;
  l244:;	  yy->__pos= yypos243; yy->__thunkpos= yythunkpos243;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l242;
#undef yytext
#undef yyleng
  }  if (!yy_ALLSHORTESTPATHS(yy)) goto l242;  if (!yy_LEFT_PAREN(yy)) goto l242;  if (!yy__(yy)) goto l242;  if (!yy_pattern_path(yy)) goto l242;  yyDo(yy, yySet, -1, 0);  if (!yy__(yy)) goto l242;  if (!yy_RIGHT_PAREN(yy)) goto l242;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l242;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_shortest_path_pattern, yy->__begin, yy->__end);
  }
  l243:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "shortest_path_pattern", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l242:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "shortest_path_pattern", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_anon_pattern_part(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "anon_pattern_part"));
  {  int yypos246= yy->__pos, yythunkpos246= yy->__thunkpos;  if (!yy_shortest_path_pattern(yy)) goto l247;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_anon_pattern_part, yy->__begin, yy->__end);  goto l246;
  l247:;	  yy->__pos= yypos246; yy->__thunkpos= yythunkpos246;  if (!yy_pattern_path(yy)) goto l245;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_anon_pattern_part, yy->__begin, yy->__end);
  }
  l246:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "anon_pattern_part", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l245:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "anon_pattern_part", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_rel_type_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "rel_type_name"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l248;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_rel_type_name, yy->__begin, yy->__end);  if (!yy_symbolic_name(yy)) goto l250;  goto l249;
  l250:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a relationship type name");
#undef yytext
#undef yyleng
  }  goto l248;
  l249:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l248;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_rel_type_name, yy->__begin, yy->__end);  if (!yy__(yy)) goto l248;
  yyprintf((stderr, "  ok   %s @ %s\n", "rel_type_name", yy->__buf+yy->__pos));
  return 1;
  l248:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "rel_type_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_parameter_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "parameter_name"));
  {  int yypos252= yy->__pos, yythunkpos252= yy->__thunkpos;  if (!yy_symbolic_name(yy)) goto l253;  goto l252;
  l253:;	  yy->__pos= yypos252; yy->__thunkpos= yythunkpos252;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l251;
#undef yytext
#undef yyleng
  }  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\376\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l251;
  l254:;	
  {  int yypos255= yy->__pos, yythunkpos255= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l255;  goto l254;
  l255:;	  yy->__pos= yypos255; yy->__thunkpos= yythunkpos255;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l251;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_parameter_name, yy->__begin, yy->__end);
  }
  l252:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "parameter_name", yy->__buf+yy->__pos));
  return 1;
  l251:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "parameter_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_NULL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "NULL"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l258;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l258;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l258;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l258;  if (!yy_WB(yy)) goto l258;  goto l257;
  l258:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("NULL");
#undef yytext
#undef yyleng
  }  goto l256;
  l257:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "NULL", yy->__buf+yy->__pos));
  return 1;
  l256:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "NULL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_FALSE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "FALSE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l261;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l261;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l261;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l261;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l261;  if (!yy_WB(yy)) goto l261;  goto l260;
  l261:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("FALSE");
#undef yytext
#undef yyleng
  }  goto l259;
  l260:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "FALSE", yy->__buf+yy->__pos));
  return 1;
  l259:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "FALSE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_TRUE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "TRUE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l264;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l264;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l264;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l264;  if (!yy_WB(yy)) goto l264;  goto l263;
  l264:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("TRUE");
#undef yytext
#undef yyleng
  }  goto l262;
  l263:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "TRUE", yy->__buf+yy->__pos));
  return 1;
  l262:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "TRUE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_integer_string(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "integer_string"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l265;
#undef yytext
#undef yyleng
  }  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l265;
  l266:;	
  {  int yypos267= yy->__pos, yythunkpos267= yy->__thunkpos;  if (!yy_sym_part(yy)) goto l267;  goto l266;
  l267:;	  yy->__pos= yypos267; yy->__thunkpos= yythunkpos267;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l265;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_integer_string, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "integer_string", yy->__buf+yy->__pos));
  return 1;
  l265:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "integer_string", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_float_string(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "float_string"));
  {  int yypos269= yy->__pos, yythunkpos269= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l270;
#undef yytext
#undef yyleng
  }  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l270;
  l271:;	
  {  int yypos272= yy->__pos, yythunkpos272= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l272;  goto l271;
  l272:;	  yy->__pos= yypos272; yy->__thunkpos= yythunkpos272;
  }
  {  int yypos273= yy->__pos, yythunkpos273= yy->__thunkpos;  if (!yymatchChar(yy, '.')) goto l273;  goto l274;
  l273:;	  yy->__pos= yypos273; yy->__thunkpos= yythunkpos273;
  }
  l274:;	
  l275:;	
  {  int yypos276= yy->__pos, yythunkpos276= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l276;  goto l275;
  l276:;	  yy->__pos= yypos276; yy->__thunkpos= yythunkpos276;
  }  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l270;
  {  int yypos277= yy->__pos, yythunkpos277= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\050\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l277;  goto l278;
  l277:;	  yy->__pos= yypos277; yy->__thunkpos= yythunkpos277;
  }
  l278:;	  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l270;
  l279:;	
  {  int yypos280= yy->__pos, yythunkpos280= yy->__thunkpos;  if (!yy_sym_part(yy)) goto l280;  goto l279;
  l280:;	  yy->__pos= yypos280; yy->__thunkpos= yythunkpos280;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l270;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_float_string, yy->__begin, yy->__end);  goto l269;
  l270:;	  yy->__pos= yypos269; yy->__thunkpos= yythunkpos269;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l268;
#undef yytext
#undef yyleng
  }
  l281:;	
  {  int yypos282= yy->__pos, yythunkpos282= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l282;  goto l281;
  l282:;	  yy->__pos= yypos282; yy->__thunkpos= yythunkpos282;
  }  if (!yymatchChar(yy, '.')) goto l268;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l268;
  l283:;	
  {  int yypos284= yy->__pos, yythunkpos284= yy->__thunkpos;  if (!yy_sym_part(yy)) goto l284;  goto l283;
  l284:;	  yy->__pos= yypos284; yy->__thunkpos= yythunkpos284;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l268;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_float_string, yy->__begin, yy->__end);
  }
  l269:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "float_string", yy->__buf+yy->__pos));
  return 1;
  l268:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "float_string", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_quoted(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "quoted"));
  {  int yypos286= yy->__pos, yythunkpos286= yy->__thunkpos;  if (!yy_single_quoted(yy)) goto l287;  goto l286;
  l287:;	  yy->__pos= yypos286; yy->__thunkpos= yythunkpos286;  if (!yy_double_quoted(yy)) goto l285;
  }
  l286:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "quoted", yy->__buf+yy->__pos));
  return 1;
  l285:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "quoted", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_symbolic_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "symbolic_name"));
  {  int yypos289= yy->__pos, yythunkpos289= yy->__thunkpos;  if (!yy_unescaped_symbolic_name(yy)) goto l290;  goto l289;
  l290:;	  yy->__pos= yypos289; yy->__thunkpos= yythunkpos289;  if (!yy_escaped_symbolic_name(yy)) goto l288;
  }
  l289:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "symbolic_name", yy->__buf+yy->__pos));
  return 1;
  l288:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "symbolic_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_function_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "function_name"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l291;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_function_name, yy->__begin, yy->__end);  if (!yy_symbolic_name(yy)) goto l293;  goto l292;
  l293:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a function name");
#undef yytext
#undef yyleng
  }  goto l291;
  l292:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l291;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_function_name, yy->__begin, yy->__end);  if (!yy__(yy)) goto l291;
  yyprintf((stderr, "  ok   %s @ %s\n", "function_name", yy->__buf+yy->__pos));
  return 1;
  l291:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "function_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_NONE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "NONE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l296;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l296;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l296;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l296;  if (!yy_WB(yy)) goto l296;  if (!yy__(yy)) goto l296;  goto l295;
  l296:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("NONE");
#undef yytext
#undef yyleng
  }  goto l294;
  l295:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "NONE", yy->__buf+yy->__pos));
  return 1;
  l294:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "NONE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_SINGLE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "SINGLE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l299;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l299;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l299;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l299;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l299;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l299;  if (!yy_WB(yy)) goto l299;  if (!yy__(yy)) goto l299;  goto l298;
  l299:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("SINGLE");
#undef yytext
#undef yyleng
  }  goto l297;
  l298:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "SINGLE", yy->__buf+yy->__pos));
  return 1;
  l297:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "SINGLE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ANY(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ANY"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l302;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l302;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l302;  if (!yy_WB(yy)) goto l302;  if (!yy__(yy)) goto l302;  goto l301;
  l302:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ANY");
#undef yytext
#undef yyleng
  }  goto l300;
  l301:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ANY", yy->__buf+yy->__pos));
  return 1;
  l300:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ANY", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_REDUCE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "REDUCE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l305;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l305;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l305;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l305;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l305;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l305;  if (!yy_WB(yy)) goto l305;  if (!yy__(yy)) goto l305;  goto l304;
  l305:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("REDUCE");
#undef yytext
#undef yyleng
  }  goto l303;
  l304:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "REDUCE", yy->__buf+yy->__pos));
  return 1;
  l303:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "REDUCE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_EXTRACT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "EXTRACT"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l308;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l308;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l308;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l308;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l308;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l308;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l308;  if (!yy_WB(yy)) goto l308;  if (!yy__(yy)) goto l308;  goto l307;
  l308:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("EXTRACT");
#undef yytext
#undef yyleng
  }  goto l306;
  l307:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "EXTRACT", yy->__buf+yy->__pos));
  return 1;
  l306:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "EXTRACT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_FILTER(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "FILTER"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l311;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l311;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l311;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l311;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l311;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l311;  if (!yy_WB(yy)) goto l311;  if (!yy__(yy)) goto l311;  goto l310;
  l311:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("FILTER");
#undef yytext
#undef yyleng
  }  goto l309;
  l310:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "FILTER", yy->__buf+yy->__pos));
  return 1;
  l309:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "FILTER", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ELSE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ELSE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l314;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l314;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l314;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l314;  if (!yy_WB(yy)) goto l314;  if (!yy__(yy)) goto l314;  goto l313;
  l314:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ELSE");
#undef yytext
#undef yyleng
  }  goto l312;
  l313:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ELSE", yy->__buf+yy->__pos));
  return 1;
  l312:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ELSE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_THEN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "THEN"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l317;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l317;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l317;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l317;  if (!yy_WB(yy)) goto l317;  if (!yy__(yy)) goto l317;  goto l316;
  l317:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("THEN");
#undef yytext
#undef yyleng
  }  goto l315;
  l316:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "THEN", yy->__buf+yy->__pos));
  return 1;
  l315:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "THEN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_WHEN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "WHEN"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l320;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l320;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l320;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l320;  if (!yy_WB(yy)) goto l320;  if (!yy__(yy)) goto l320;  goto l319;
  l320:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("WHEN");
#undef yytext
#undef yyleng
  }  goto l318;
  l319:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "WHEN", yy->__buf+yy->__pos));
  return 1;
  l318:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "WHEN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_END(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "END"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l323;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l323;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l323;  if (!yy_WB(yy)) goto l323;  goto l322;
  l323:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("END");
#undef yytext
#undef yyleng
  }  goto l321;
  l322:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "END", yy->__buf+yy->__pos));
  return 1;
  l321:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "END", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_case_default(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "case_default"));  if (!yy_ELSE(yy)) goto l324;  if (!yy_expression(yy)) goto l324;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_case_default, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "case_default", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l324:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "case_default", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_case_alternative(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "case_alternative"));  if (!yy_WHEN(yy)) goto l325;  if (!yy_expression(yy)) goto l325;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_case_alternative, yy->__begin, yy->__end);  if (!yy_THEN(yy)) goto l325;  if (!yy_expression(yy)) goto l325;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_case_alternative, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "case_alternative", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l325:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "case_alternative", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_CASE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "CASE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l328;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l328;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l328;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l328;  if (!yy_WB(yy)) goto l328;  if (!yy__(yy)) goto l328;  goto l327;
  l328:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("CASE");
#undef yytext
#undef yyleng
  }  goto l326;
  l327:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "CASE", yy->__buf+yy->__pos));
  return 1;
  l326:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "CASE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_pattern_expression_path(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "pattern_expression_path"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l329;
#undef yytext
#undef yyleng
  }  if (!yy_node_pattern(yy)) goto l329;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_1_pattern_expression_path, yy->__begin, yy->__end);  if (!yy__(yy)) goto l329;  if (!yy_relationship_pattern(yy)) goto l329;  yyDo(yy, yySet, -1, 0);  if (!yy__(yy)) goto l329;  if (!yy_node_pattern(yy)) goto l329;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_2_pattern_expression_path, yy->__begin, yy->__end);
  l330:;	
  {  int yypos331= yy->__pos, yythunkpos331= yy->__thunkpos;  if (!yy__(yy)) goto l331;  if (!yy_relationship_pattern(yy)) goto l331;  yyDo(yy, yySet, -1, 0);  if (!yy__(yy)) goto l331;  if (!yy_node_pattern(yy)) goto l331;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_2_pattern_expression_path, yy->__begin, yy->__end);  goto l330;
  l331:;	  yy->__pos= yypos331; yy->__thunkpos= yythunkpos331;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l329;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_pattern_expression_path, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "pattern_expression_path", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l329:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "pattern_expression_path", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_GT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "GT"));  if (!yymatchChar(yy, '>')) goto l334;  goto l333;
  l334:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'>'");
#undef yytext
#undef yyleng
  }  goto l332;
  l333:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "GT", yy->__buf+yy->__pos));
  return 1;
  l332:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "GT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_LT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "LT"));  if (!yymatchChar(yy, '<')) goto l337;  goto l336;
  l337:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'<'");
#undef yytext
#undef yyleng
  }  goto l335;
  l336:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "LT", yy->__buf+yy->__pos));
  return 1;
  l335:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "LT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_GTE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "GTE"));  if (!yymatchString(yy, ">=")) goto l340;  goto l339;
  l340:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'>='");
#undef yytext
#undef yyleng
  }  goto l338;
  l339:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "GTE", yy->__buf+yy->__pos));
  return 1;
  l338:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "GTE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_LTE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "LTE"));  if (!yymatchString(yy, "<=")) goto l343;  goto l342;
  l343:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'<='");
#undef yytext
#undef yyleng
  }  goto l341;
  l342:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "LTE", yy->__buf+yy->__pos));
  return 1;
  l341:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "LTE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ENDS_WITH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ENDS_WITH"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l346;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l346;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l346;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l346;  if (!yy_WB(yy)) goto l346;  if (!yy__(yy)) goto l346;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l346;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l346;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l346;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l346;  if (!yy_WB(yy)) goto l346;  goto l345;
  l346:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ENDS WITH");
#undef yytext
#undef yyleng
  }  goto l344;
  l345:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ENDS_WITH", yy->__buf+yy->__pos));
  return 1;
  l344:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ENDS_WITH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_STARTS_WITH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "STARTS_WITH"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yy_WB(yy)) goto l349;  if (!yy__(yy)) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l349;  if (!yy_WB(yy)) goto l349;  goto l348;
  l349:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("STARTS WITH");
#undef yytext
#undef yyleng
  }  goto l347;
  l348:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "STARTS_WITH", yy->__buf+yy->__pos));
  return 1;
  l347:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "STARTS_WITH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_CONTAINS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "CONTAINS"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l352;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l352;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l352;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l352;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l352;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l352;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l352;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l352;  if (!yy_WB(yy)) goto l352;  goto l351;
  l352:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("CONTAINS");
#undef yytext
#undef yyleng
  }  goto l350;
  l351:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "CONTAINS", yy->__buf+yy->__pos));
  return 1;
  l350:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "CONTAINS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_REGEX(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "REGEX"));  if (!yymatchString(yy, "=~")) goto l355;  goto l354;
  l355:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'=~'");
#undef yytext
#undef yyleng
  }  goto l353;
  l354:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "REGEX", yy->__buf+yy->__pos));
  return 1;
  l353:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "REGEX", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_POW(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "POW"));  if (!yymatchChar(yy, '^')) goto l358;  goto l357;
  l358:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'^'");
#undef yytext
#undef yyleng
  }  goto l356;
  l357:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "POW", yy->__buf+yy->__pos));
  return 1;
  l356:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "POW", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_MOD(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "MOD"));  if (!yymatchChar(yy, '%')) goto l361;  goto l360;
  l361:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'%'");
#undef yytext
#undef yyleng
  }  goto l359;
  l360:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "MOD", yy->__buf+yy->__pos));
  return 1;
  l359:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "MOD", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DIV(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DIV"));  if (!yymatchChar(yy, '/')) goto l364;  goto l363;
  l364:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'/'");
#undef yytext
#undef yyleng
  }  goto l362;
  l363:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DIV", yy->__buf+yy->__pos));
  return 1;
  l362:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DIV", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_MULT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "MULT"));  if (!yymatchChar(yy, '*')) goto l367;  goto l366;
  l367:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'*'");
#undef yytext
#undef yyleng
  }  goto l365;
  l366:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "MULT", yy->__buf+yy->__pos));
  return 1;
  l365:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "MULT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_NEQUAL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "NEQUAL"));  if (!yymatchString(yy, "<>")) goto l370;  goto l369;
  l370:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'<>'");
#undef yytext
#undef yyleng
  }  goto l368;
  l369:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "NEQUAL", yy->__buf+yy->__pos));
  return 1;
  l368:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "NEQUAL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_XOR(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "XOR"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l373;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l373;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l373;  if (!yy_WB(yy)) goto l373;  goto l372;
  l373:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("XOR");
#undef yytext
#undef yyleng
  }  goto l371;
  l372:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "XOR", yy->__buf+yy->__pos));
  return 1;
  l371:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "XOR", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_OR(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "OR"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l376;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l376;  if (!yy_WB(yy)) goto l376;  goto l375;
  l376:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("OR");
#undef yytext
#undef yyleng
  }  goto l374;
  l375:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "OR", yy->__buf+yy->__pos));
  return 1;
  l374:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "OR", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_AND(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "AND"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l379;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l379;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l379;  if (!yy_WB(yy)) goto l379;  goto l378;
  l379:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("AND");
#undef yytext
#undef yyleng
  }  goto l377;
  l378:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "AND", yy->__buf+yy->__pos));
  return 1;
  l377:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "AND", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_IS_NOT_NULL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "IS_NOT_NULL"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yy_WB(yy)) goto l382;  if (!yy__(yy)) goto l382;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yy_WB(yy)) goto l382;  if (!yy__(yy)) goto l382;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l382;  if (!yy_WB(yy)) goto l382;  goto l381;
  l382:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("IS NOT NULL");
#undef yytext
#undef yyleng
  }  goto l380;
  l381:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "IS_NOT_NULL", yy->__buf+yy->__pos));
  return 1;
  l380:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "IS_NOT_NULL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_IS_NULL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "IS_NULL"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l385;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l385;  if (!yy_WB(yy)) goto l385;  if (!yy__(yy)) goto l385;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l385;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l385;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l385;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l385;  if (!yy_WB(yy)) goto l385;  goto l384;
  l385:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("IS NULL");
#undef yytext
#undef yyleng
  }  goto l383;
  l384:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "IS_NULL", yy->__buf+yy->__pos));
  return 1;
  l383:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "IS_NULL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_MINUS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "MINUS"));  if (!yymatchChar(yy, '-')) goto l388;  goto l387;
  l388:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'-'");
#undef yytext
#undef yyleng
  }  goto l386;
  l387:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "MINUS", yy->__buf+yy->__pos));
  return 1;
  l386:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "MINUS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_PLUS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "PLUS"));  if (!yymatchChar(yy, '+')) goto l391;  goto l390;
  l391:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'+'");
#undef yytext
#undef yyleng
  }  goto l389;
  l390:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "PLUS", yy->__buf+yy->__pos));
  return 1;
  l389:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "PLUS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_NOT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "NOT"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l394;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l394;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l394;  if (!yy_WB(yy)) goto l394;  goto l393;
  l394:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("NOT");
#undef yytext
#undef yyleng
  }  goto l392;
  l393:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "NOT", yy->__buf+yy->__pos));
  return 1;
  l392:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "NOT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_function_application(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "function_application"));
  {  int yypos396= yy->__pos, yythunkpos396= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l397;
#undef yytext
#undef yyleng
  }  if (!yy_function_name(yy)) goto l397;  yyDo(yy, yySet, -2, 0);  if (!yy_LEFT_PAREN(yy)) goto l397;  if (!yy__(yy)) goto l397;  if (!yy_DISTINCT(yy)) goto l397;  if (!yy_STAR(yy)) goto l397;  if (!yy__(yy)) goto l397;  if (!yy_RIGHT_PAREN(yy)) goto l397;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l397;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_function_application, yy->__begin, yy->__end);  goto l396;
  l397:;	  yy->__pos= yypos396; yy->__thunkpos= yythunkpos396;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l398;
#undef yytext
#undef yyleng
  }  if (!yy_function_name(yy)) goto l398;  yyDo(yy, yySet, -2, 0);  if (!yy_LEFT_PAREN(yy)) goto l398;  if (!yy__(yy)) goto l398;  if (!yy_STAR(yy)) goto l398;  if (!yy__(yy)) goto l398;  if (!yy_RIGHT_PAREN(yy)) goto l398;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l398;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_function_application, yy->__begin, yy->__end);  goto l396;
  l398:;	  yy->__pos= yypos396; yy->__thunkpos= yythunkpos396;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l399;
#undef yytext
#undef yyleng
  }  if (!yy_function_name(yy)) goto l399;  yyDo(yy, yySet, -2, 0);  if (!yy_LEFT_PAREN(yy)) goto l399;  if (!yy__(yy)) goto l399;  if (!yy_DISTINCT(yy)) goto l399;
  {  int yypos400= yy->__pos, yythunkpos400= yy->__thunkpos;  if (!yy_expression(yy)) goto l400;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_3_function_application, yy->__begin, yy->__end);
  l402:;	
  {  int yypos403= yy->__pos, yythunkpos403= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l403;  if (!yy__(yy)) goto l403;  if (!yy_expression(yy)) goto l403;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_4_function_application, yy->__begin, yy->__end);  goto l402;
  l403:;	  yy->__pos= yypos403; yy->__thunkpos= yythunkpos403;
  }  goto l401;
  l400:;	  yy->__pos= yypos400; yy->__thunkpos= yythunkpos400;
  }
  l401:;	  if (!yy_RIGHT_PAREN(yy)) goto l399;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l399;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_5_function_application, yy->__begin, yy->__end);  goto l396;
  l399:;	  yy->__pos= yypos396; yy->__thunkpos= yythunkpos396;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l395;
#undef yytext
#undef yyleng
  }  if (!yy_function_name(yy)) goto l395;  yyDo(yy, yySet, -2, 0);  if (!yy_LEFT_PAREN(yy)) goto l395;  if (!yy__(yy)) goto l395;
  {  int yypos404= yy->__pos, yythunkpos404= yy->__thunkpos;  if (!yy_expression(yy)) goto l404;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_6_function_application, yy->__begin, yy->__end);
  l406:;	
  {  int yypos407= yy->__pos, yythunkpos407= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l407;  if (!yy__(yy)) goto l407;  if (!yy_expression(yy)) goto l407;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_7_function_application, yy->__begin, yy->__end);  goto l406;
  l407:;	  yy->__pos= yypos407; yy->__thunkpos= yythunkpos407;
  }  goto l405;
  l404:;	  yy->__pos= yypos404; yy->__thunkpos= yythunkpos404;
  }
  l405:;	  if (!yy_RIGHT_PAREN(yy)) goto l395;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l395;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_8_function_application, yy->__begin, yy->__end);
  }
  l396:;	  if (!yy__(yy)) goto l395;
  yyprintf((stderr, "  ok   %s @ %s\n", "function_application", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l395:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "function_application", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_pattern_expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "pattern_expression"));
  {  int yypos409= yy->__pos, yythunkpos409= yy->__thunkpos;  if (!yy_shortest_path_pattern(yy)) goto l410;  yyDo(yy, yySet, -1, 0);  if (!yy__(yy)) goto l410;  yyDo(yy, yy_1_pattern_expression, yy->__begin, yy->__end);  goto l409;
  l410:;	  yy->__pos= yypos409; yy->__thunkpos= yythunkpos409;  if (!yy_pattern_expression_path(yy)) goto l408;  yyDo(yy, yySet, -1, 0);  if (!yy__(yy)) goto l408;  yyDo(yy, yy_2_pattern_expression, yy->__begin, yy->__end);
  }
  l409:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "pattern_expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l408:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "pattern_expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_single_predicate(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "single_predicate"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l411;
#undef yytext
#undef yyleng
  }  if (!yy_SINGLE(yy)) goto l411;  if (!yy_LEFT_PAREN(yy)) goto l411;  if (!yy__(yy)) goto l411;  if (!yy_identifier(yy)) goto l411;  yyDo(yy, yySet, -3, 0);  if (!yy_IN(yy)) goto l411;  if (!yy__(yy)) goto l411;  if (!yy_expression(yy)) goto l411;  yyDo(yy, yySet, -2, 0);
  {  int yypos412= yy->__pos, yythunkpos412= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l413;  if (!yy_expression(yy)) goto l413;  yyDo(yy, yySet, -1, 0);  goto l412;
  l413:;	  yy->__pos= yypos412; yy->__thunkpos= yythunkpos412;  if (!yy__null_(yy)) goto l411;  yyDo(yy, yySet, -1, 0);
  }
  l412:;	  if (!yy_RIGHT_PAREN(yy)) goto l411;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l411;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_single_predicate, yy->__begin, yy->__end);  if (!yy__(yy)) goto l411;
  yyprintf((stderr, "  ok   %s @ %s\n", "single_predicate", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l411:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "single_predicate", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_none_predicate(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "none_predicate"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l414;
#undef yytext
#undef yyleng
  }  if (!yy_NONE(yy)) goto l414;  if (!yy_LEFT_PAREN(yy)) goto l414;  if (!yy__(yy)) goto l414;  if (!yy_identifier(yy)) goto l414;  yyDo(yy, yySet, -3, 0);  if (!yy_IN(yy)) goto l414;  if (!yy__(yy)) goto l414;  if (!yy_expression(yy)) goto l414;  yyDo(yy, yySet, -2, 0);
  {  int yypos415= yy->__pos, yythunkpos415= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l416;  if (!yy_expression(yy)) goto l416;  yyDo(yy, yySet, -1, 0);  goto l415;
  l416:;	  yy->__pos= yypos415; yy->__thunkpos= yythunkpos415;  if (!yy__null_(yy)) goto l414;  yyDo(yy, yySet, -1, 0);
  }
  l415:;	  if (!yy_RIGHT_PAREN(yy)) goto l414;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l414;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_none_predicate, yy->__begin, yy->__end);  if (!yy__(yy)) goto l414;
  yyprintf((stderr, "  ok   %s @ %s\n", "none_predicate", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l414:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "none_predicate", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_any_predicate(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "any_predicate"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l417;
#undef yytext
#undef yyleng
  }  if (!yy_ANY(yy)) goto l417;  if (!yy_LEFT_PAREN(yy)) goto l417;  if (!yy__(yy)) goto l417;  if (!yy_identifier(yy)) goto l417;  yyDo(yy, yySet, -3, 0);  if (!yy_IN(yy)) goto l417;  if (!yy__(yy)) goto l417;  if (!yy_expression(yy)) goto l417;  yyDo(yy, yySet, -2, 0);
  {  int yypos418= yy->__pos, yythunkpos418= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l419;  if (!yy_expression(yy)) goto l419;  yyDo(yy, yySet, -1, 0);  goto l418;
  l419:;	  yy->__pos= yypos418; yy->__thunkpos= yythunkpos418;  if (!yy__null_(yy)) goto l417;  yyDo(yy, yySet, -1, 0);
  }
  l418:;	  if (!yy_RIGHT_PAREN(yy)) goto l417;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l417;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_any_predicate, yy->__begin, yy->__end);  if (!yy__(yy)) goto l417;
  yyprintf((stderr, "  ok   %s @ %s\n", "any_predicate", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l417:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "any_predicate", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_all_predicate(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "all_predicate"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l420;
#undef yytext
#undef yyleng
  }  if (!yy_ALL(yy)) goto l420;  if (!yy_LEFT_PAREN(yy)) goto l420;  if (!yy__(yy)) goto l420;  if (!yy_identifier(yy)) goto l420;  yyDo(yy, yySet, -3, 0);  if (!yy_IN(yy)) goto l420;  if (!yy__(yy)) goto l420;  if (!yy_expression(yy)) goto l420;  yyDo(yy, yySet, -2, 0);
  {  int yypos421= yy->__pos, yythunkpos421= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l422;  if (!yy_expression(yy)) goto l422;  yyDo(yy, yySet, -1, 0);  goto l421;
  l422:;	  yy->__pos= yypos421; yy->__thunkpos= yythunkpos421;  if (!yy__null_(yy)) goto l420;  yyDo(yy, yySet, -1, 0);
  }
  l421:;	  if (!yy_RIGHT_PAREN(yy)) goto l420;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l420;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_all_predicate, yy->__begin, yy->__end);  if (!yy__(yy)) goto l420;
  yyprintf((stderr, "  ok   %s @ %s\n", "all_predicate", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l420:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "all_predicate", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_reduce_expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 5, 0);
  yyprintf((stderr, "%s\n", "reduce_expression"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l423;
#undef yytext
#undef yyleng
  }  if (!yy_REDUCE(yy)) goto l423;  if (!yy_LEFT_PAREN(yy)) goto l423;  if (!yy__(yy)) goto l423;  if (!yy_identifier(yy)) goto l423;  yyDo(yy, yySet, -5, 0);  if (!yy_EQUAL(yy)) goto l423;  if (!yy__(yy)) goto l423;  if (!yy_expression(yy)) goto l423;  yyDo(yy, yySet, -4, 0);  if (!yy_COMMA(yy)) goto l423;  if (!yy__(yy)) goto l423;  if (!yy_identifier(yy)) goto l423;  yyDo(yy, yySet, -3, 0);  if (!yy_IN(yy)) goto l423;  if (!yy__(yy)) goto l423;  if (!yy_expression(yy)) goto l423;  yyDo(yy, yySet, -2, 0);
  {  int yypos424= yy->__pos, yythunkpos424= yy->__thunkpos;  if (!yy_PIPE(yy)) goto l425;  if (!yy__(yy)) goto l425;  if (!yy_expression(yy)) goto l425;  yyDo(yy, yySet, -1, 0);  goto l424;
  l425:;	  yy->__pos= yypos424; yy->__thunkpos= yythunkpos424;  if (!yy__null_(yy)) goto l423;  yyDo(yy, yySet, -1, 0);
  }
  l424:;	  if (!yy_RIGHT_PAREN(yy)) goto l423;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l423;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_reduce_expression, yy->__begin, yy->__end);  if (!yy__(yy)) goto l423;
  yyprintf((stderr, "  ok   %s @ %s\n", "reduce_expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 5, 0);
  return 1;
  l423:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "reduce_expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_extract_expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "extract_expression"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l426;
#undef yytext
#undef yyleng
  }  if (!yy_EXTRACT(yy)) goto l426;  if (!yy_LEFT_PAREN(yy)) goto l426;  if (!yy__(yy)) goto l426;  if (!yy_identifier(yy)) goto l426;  yyDo(yy, yySet, -3, 0);  if (!yy_IN(yy)) goto l426;  if (!yy__(yy)) goto l426;  if (!yy_expression(yy)) goto l426;  yyDo(yy, yySet, -2, 0);
  {  int yypos427= yy->__pos, yythunkpos427= yy->__thunkpos;  if (!yy_PIPE(yy)) goto l428;  if (!yy__(yy)) goto l428;  if (!yy_expression(yy)) goto l428;  yyDo(yy, yySet, -1, 0);  goto l427;
  l428:;	  yy->__pos= yypos427; yy->__thunkpos= yythunkpos427;  if (!yy__null_(yy)) goto l426;  yyDo(yy, yySet, -1, 0);
  }
  l427:;	  if (!yy_RIGHT_PAREN(yy)) goto l426;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l426;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_extract_expression, yy->__begin, yy->__end);  if (!yy__(yy)) goto l426;
  yyprintf((stderr, "  ok   %s @ %s\n", "extract_expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l426:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "extract_expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_filter_expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "filter_expression"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l429;
#undef yytext
#undef yyleng
  }  if (!yy_FILTER(yy)) goto l429;  if (!yy_LEFT_PAREN(yy)) goto l429;  if (!yy__(yy)) goto l429;  if (!yy_identifier(yy)) goto l429;  yyDo(yy, yySet, -3, 0);  if (!yy_IN(yy)) goto l429;  if (!yy__(yy)) goto l429;  if (!yy_expression(yy)) goto l429;  yyDo(yy, yySet, -2, 0);
  {  int yypos430= yy->__pos, yythunkpos430= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l431;  if (!yy_expression(yy)) goto l431;  yyDo(yy, yySet, -1, 0);  goto l430;
  l431:;	  yy->__pos= yypos430; yy->__thunkpos= yythunkpos430;  if (!yy__null_(yy)) goto l429;  yyDo(yy, yySet, -1, 0);
  }
  l430:;	  if (!yy_RIGHT_PAREN(yy)) goto l429;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l429;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_filter_expression, yy->__begin, yy->__end);  if (!yy__(yy)) goto l429;
  yyprintf((stderr, "  ok   %s @ %s\n", "filter_expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l429:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "filter_expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_case_expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "case_expression"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l432;
#undef yytext
#undef yyleng
  }  if (!yy_CASE(yy)) goto l432;
  {  int yypos433= yy->__pos, yythunkpos433= yy->__thunkpos;  if (!yy__null_(yy)) goto l434;  yyDo(yy, yySet, -2, 0);  if (!yy_case_alternative(yy)) goto l434;
  l435:;	
  {  int yypos436= yy->__pos, yythunkpos436= yy->__thunkpos;  if (!yy_case_alternative(yy)) goto l436;  goto l435;
  l436:;	  yy->__pos= yypos436; yy->__thunkpos= yythunkpos436;
  }  goto l433;
  l434:;	  yy->__pos= yypos433; yy->__thunkpos= yythunkpos433;  if (!yy_expression(yy)) goto l432;  yyDo(yy, yySet, -2, 0);  if (!yy_case_alternative(yy)) goto l432;
  l437:;	
  {  int yypos438= yy->__pos, yythunkpos438= yy->__thunkpos;  if (!yy_case_alternative(yy)) goto l438;  goto l437;
  l438:;	  yy->__pos= yypos438; yy->__thunkpos= yythunkpos438;
  }
  }
  l433:;	
  {  int yypos439= yy->__pos, yythunkpos439= yy->__thunkpos;  if (!yy_case_default(yy)) goto l440;  yyDo(yy, yySet, -1, 0);  goto l439;
  l440:;	  yy->__pos= yypos439; yy->__thunkpos= yythunkpos439;  if (!yy__null_(yy)) goto l432;  yyDo(yy, yySet, -1, 0);
  }
  l439:;	  if (!yy_END(yy)) goto l432;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l432;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_case_expression, yy->__begin, yy->__end);  if (!yy__(yy)) goto l432;
  yyprintf((stderr, "  ok   %s @ %s\n", "case_expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l432:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "case_expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_map_literal(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "map_literal"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l441;
#undef yytext
#undef yyleng
  }  if (!yy_LEFT_CURLY(yy)) goto l441;  if (!yy__(yy)) goto l441;
  {  int yypos442= yy->__pos, yythunkpos442= yy->__thunkpos;  if (!yy_prop_name(yy)) goto l442;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_1_map_literal, yy->__begin, yy->__end);  if (!yy_COLON(yy)) goto l442;  if (!yy__(yy)) goto l442;  if (!yy_expression(yy)) goto l442;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_map_literal, yy->__begin, yy->__end);
  l444:;	
  {  int yypos445= yy->__pos, yythunkpos445= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l445;  if (!yy__(yy)) goto l445;  if (!yy_prop_name(yy)) goto l445;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_3_map_literal, yy->__begin, yy->__end);  if (!yy_COLON(yy)) goto l445;  if (!yy__(yy)) goto l445;  if (!yy_expression(yy)) goto l445;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_4_map_literal, yy->__begin, yy->__end);  goto l444;
  l445:;	  yy->__pos= yypos445; yy->__thunkpos= yythunkpos445;
  }  goto l443;
  l442:;	  yy->__pos= yypos442; yy->__thunkpos= yythunkpos442;
  }
  l443:;	  if (!yy_RIGHT_CURLY(yy)) goto l441;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l441;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_5_map_literal, yy->__begin, yy->__end);  if (!yy__(yy)) goto l441;
  yyprintf((stderr, "  ok   %s @ %s\n", "map_literal", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l441:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "map_literal", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_collection_literal(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "collection_literal"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l446;
#undef yytext
#undef yyleng
  }  if (!yy_LEFT_SQ_PAREN(yy)) goto l446;  if (!yy__(yy)) goto l446;
  {  int yypos447= yy->__pos, yythunkpos447= yy->__thunkpos;  if (!yy_expression(yy)) goto l447;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_collection_literal, yy->__begin, yy->__end);
  l449:;	
  {  int yypos450= yy->__pos, yythunkpos450= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l450;  if (!yy__(yy)) goto l450;  if (!yy_expression(yy)) goto l450;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_collection_literal, yy->__begin, yy->__end);  goto l449;
  l450:;	  yy->__pos= yypos450; yy->__thunkpos= yythunkpos450;
  }  goto l448;
  l447:;	  yy->__pos= yypos447; yy->__thunkpos= yythunkpos447;
  }
  l448:;	  if (!yy_RIGHT_SQ_PAREN(yy)) goto l446;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l446;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_collection_literal, yy->__begin, yy->__end);  if (!yy__(yy)) goto l446;
  yyprintf((stderr, "  ok   %s @ %s\n", "collection_literal", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l446:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "collection_literal", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_pattern_comprehension(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 4, 0);
  yyprintf((stderr, "%s\n", "pattern_comprehension"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l451;
#undef yytext
#undef yyleng
  }  if (!yy_LEFT_SQ_PAREN(yy)) goto l451;  if (!yy__(yy)) goto l451;
  {  int yypos452= yy->__pos, yythunkpos452= yy->__thunkpos;  if (!yy_identifier(yy)) goto l453;  yyDo(yy, yySet, -4, 0);  if (!yy_EQUAL(yy)) goto l453;  if (!yy__(yy)) goto l453;  goto l452;
  l453:;	  yy->__pos= yypos452; yy->__thunkpos= yythunkpos452;  if (!yy__null_(yy)) goto l451;  yyDo(yy, yySet, -4, 0);
  }
  l452:;	  if (!yy_pattern_expression_path(yy)) goto l451;  yyDo(yy, yySet, -3, 0);  if (!yy__(yy)) goto l451;
  {  int yypos454= yy->__pos, yythunkpos454= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l455;  if (!yy_expression(yy)) goto l455;  yyDo(yy, yySet, -2, 0);  goto l454;
  l455:;	  yy->__pos= yypos454; yy->__thunkpos= yythunkpos454;  if (!yy__null_(yy)) goto l451;  yyDo(yy, yySet, -2, 0);
  }
  l454:;	  if (!yy_PIPE(yy)) goto l451;  if (!yy__(yy)) goto l451;  if (!yy_expression(yy)) goto l451;  yyDo(yy, yySet, -1, 0);  if (!yy_RIGHT_SQ_PAREN(yy)) goto l451;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l451;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_pattern_comprehension, yy->__begin, yy->__end);  if (!yy__(yy)) goto l451;
  yyprintf((stderr, "  ok   %s @ %s\n", "pattern_comprehension", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 4, 0);
  return 1;
  l451:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "pattern_comprehension", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_list_comprehension(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 4, 0);
  yyprintf((stderr, "%s\n", "list_comprehension"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l456;
#undef yytext
#undef yyleng
  }  if (!yy_LEFT_SQ_PAREN(yy)) goto l456;  if (!yy__(yy)) goto l456;  if (!yy_identifier(yy)) goto l456;  yyDo(yy, yySet, -4, 0);  if (!yy_IN(yy)) goto l456;  if (!yy__(yy)) goto l456;  if (!yy_expression(yy)) goto l456;  yyDo(yy, yySet, -3, 0);
  {  int yypos457= yy->__pos, yythunkpos457= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l458;  if (!yy_expression(yy)) goto l458;  yyDo(yy, yySet, -2, 0);  goto l457;
  l458:;	  yy->__pos= yypos457; yy->__thunkpos= yythunkpos457;  if (!yy__null_(yy)) goto l456;  yyDo(yy, yySet, -2, 0);
  }
  l457:;	
  {  int yypos459= yy->__pos, yythunkpos459= yy->__thunkpos;  if (!yy_PIPE(yy)) goto l460;  if (!yy__(yy)) goto l460;  if (!yy_expression(yy)) goto l460;  yyDo(yy, yySet, -1, 0);  goto l459;
  l460:;	  yy->__pos= yypos459; yy->__thunkpos= yythunkpos459;  if (!yy__null_(yy)) goto l456;  yyDo(yy, yySet, -1, 0);
  }
  l459:;	  if (!yy_RIGHT_SQ_PAREN(yy)) goto l456;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l456;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_list_comprehension, yy->__begin, yy->__end);  if (!yy__(yy)) goto l456;
  yyprintf((stderr, "  ok   %s @ %s\n", "list_comprehension", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 4, 0);
  return 1;
  l456:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "list_comprehension", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_float_literal(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "float_literal"));  yyDo(yy, yy_1_float_literal, yy->__begin, yy->__end);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l463;
#undef yytext
#undef yyleng
  }  if (!yy_float_string(yy)) goto l463;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l463;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_float_literal, yy->__begin, yy->__end);  if (!yy__(yy)) goto l463;  goto l462;
  l463:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a float");
#undef yytext
#undef yyleng
  }  goto l461;
  l462:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "float_literal", yy->__buf+yy->__pos));
  return 1;
  l461:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "float_literal", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_null_literal(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "null_literal"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l464;
#undef yytext
#undef yyleng
  }  if (!yy_NULL(yy)) goto l464;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l464;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_null_literal, yy->__begin, yy->__end);  if (!yy__(yy)) goto l464;
  yyprintf((stderr, "  ok   %s @ %s\n", "null_literal", yy->__buf+yy->__pos));
  return 1;
  l464:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "null_literal", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_false_literal(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "false_literal"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l465;
#undef yytext
#undef yyleng
  }  if (!yy_FALSE(yy)) goto l465;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l465;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_false_literal, yy->__begin, yy->__end);  if (!yy__(yy)) goto l465;
  yyprintf((stderr, "  ok   %s @ %s\n", "false_literal", yy->__buf+yy->__pos));
  return 1;
  l465:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "false_literal", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_true_literal(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "true_literal"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l466;
#undef yytext
#undef yyleng
  }  if (!yy_TRUE(yy)) goto l466;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l466;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_true_literal, yy->__begin, yy->__end);  if (!yy__(yy)) goto l466;
  yyprintf((stderr, "  ok   %s @ %s\n", "true_literal", yy->__buf+yy->__pos));
  return 1;
  l466:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "true_literal", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DOT_STAR(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DOT_STAR"));  if (!yymatchChar(yy, '.')) goto l469;  if (!yy__(yy)) goto l469;  if (!yymatchChar(yy, '*')) goto l469;  goto l468;
  l469:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'.*'");
#undef yytext
#undef yyleng
  }  goto l467;
  l468:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DOT_STAR", yy->__buf+yy->__pos));
  return 1;
  l467:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DOT_STAR", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_atom(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "atom"));
  {  int yypos471= yy->__pos, yythunkpos471= yy->__thunkpos;  if (!yy_true_literal(yy)) goto l472;  goto l471;
  l472:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_false_literal(yy)) goto l473;  goto l471;
  l473:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_null_literal(yy)) goto l474;  goto l471;
  l474:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_string_literal(yy)) goto l475;  goto l471;
  l475:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_float_literal(yy)) goto l476;  goto l471;
  l476:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_integer_literal(yy)) goto l477;  goto l471;
  l477:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_list_comprehension(yy)) goto l478;  goto l471;
  l478:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_pattern_comprehension(yy)) goto l479;  goto l471;
  l479:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_collection_literal(yy)) goto l480;  goto l471;
  l480:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_parameter(yy)) goto l481;  goto l471;
  l481:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_map_literal(yy)) goto l482;  goto l471;
  l482:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_case_expression(yy)) goto l483;  goto l471;
  l483:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_filter_expression(yy)) goto l484;  goto l471;
  l484:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_extract_expression(yy)) goto l485;  goto l471;
  l485:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_reduce_expression(yy)) goto l486;  goto l471;
  l486:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_all_predicate(yy)) goto l487;  goto l471;
  l487:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_any_predicate(yy)) goto l488;  goto l471;
  l488:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_none_predicate(yy)) goto l489;  goto l471;
  l489:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_single_predicate(yy)) goto l490;  goto l471;
  l490:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_pattern_expression(yy)) goto l491;  goto l471;
  l491:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_LEFT_PAREN(yy)) goto l492;  if (!yy__(yy)) goto l492;  if (!yy_expression(yy)) goto l492;  yyDo(yy, yySet, -1, 0);  if (!yy_RIGHT_PAREN(yy)) goto l492;  if (!yy__(yy)) goto l492;  yyDo(yy, yy_1_atom, yy->__begin, yy->__end);  goto l471;
  l492:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_function_application(yy)) goto l493;  goto l471;
  l493:;	  yy->__pos= yypos471; yy->__thunkpos= yythunkpos471;  if (!yy_identifier(yy)) goto l470;
  }
  l471:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "atom", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l470:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "atom", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__block_end_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_block_end_"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!( yyDo(yy, block_end_action, yy->__pos, 0), 1 )) goto l494;
#undef yytext
#undef yyleng
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_block_end_", yy->__buf+yy->__pos));
  return 1;
  l494:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_block_end_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_PREFIX_OP(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "PREFIX_OP"));
  {  int yypos496= yy->__pos, yythunkpos496= yy->__thunkpos;  if (!yy_NOT(yy)) goto l497;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(NOT))) goto l497;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_PREFIX_OP, yy->__begin, yy->__end);  goto l496;
  l497:;	  yy->__pos= yypos496; yy->__thunkpos= yythunkpos496;  if (!yy_PLUS(yy)) goto l498;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(UNARY_PLUS))) goto l498;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_PREFIX_OP, yy->__begin, yy->__end);  goto l496;
  l498:;	  yy->__pos= yypos496; yy->__thunkpos= yythunkpos496;  if (!yy_MINUS(yy)) goto l495;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(UNARY_MINUS))) goto l495;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_PREFIX_OP, yy->__begin, yy->__end);
  }
  l496:;	  if (!yy__(yy)) goto l495;
  yyprintf((stderr, "  ok   %s @ %s\n", "PREFIX_OP", yy->__buf+yy->__pos));
  return 1;
  l495:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "PREFIX_OP", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_RIGHT_CURLY(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "RIGHT_CURLY"));  if (!yymatchChar(yy, '}')) goto l501;  goto l500;
  l501:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'\175'");
#undef yytext
#undef yyleng
  }  goto l499;
  l500:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "RIGHT_CURLY", yy->__buf+yy->__pos));
  return 1;
  l499:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "RIGHT_CURLY", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_map_projection_element(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "map_projection_element"));
  {  int yypos503= yy->__pos, yythunkpos503= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l504;
#undef yytext
#undef yyleng
  }  if (!yy_prop_name(yy)) goto l504;  yyDo(yy, yySet, -3, 0);  if (!yy_COLON(yy)) goto l504;  if (!yy__(yy)) goto l504;  if (!yy_expression(yy)) goto l504;  yyDo(yy, yySet, -2, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l504;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_map_projection_element, yy->__begin, yy->__end);  goto l503;
  l504:;	  yy->__pos= yypos503; yy->__thunkpos= yythunkpos503;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l505;
#undef yytext
#undef yyleng
  }  if (!yy_DOT(yy)) goto l505;  if (!yy__(yy)) goto l505;  if (!yy_prop_name(yy)) goto l505;  yyDo(yy, yySet, -3, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l505;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_map_projection_element, yy->__begin, yy->__end);  goto l503;
  l505:;	  yy->__pos= yypos503; yy->__thunkpos= yythunkpos503;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l506;
#undef yytext
#undef yyleng
  }  if (!yy_identifier(yy)) goto l506;  yyDo(yy, yySet, -1, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l506;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_map_projection_element, yy->__begin, yy->__end);  goto l503;
  l506:;	  yy->__pos= yypos503; yy->__thunkpos= yythunkpos503;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l502;
#undef yytext
#undef yyleng
  }  if (!yy_DOT_STAR(yy)) goto l502;  if (!yy__(yy)) goto l502;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l502;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_map_projection_element, yy->__begin, yy->__end);
  }
  l503:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "map_projection_element", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l502:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "map_projection_element", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_LEFT_CURLY(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "LEFT_CURLY"));  if (!yymatchChar(yy, '{')) goto l509;  goto l508;
  l509:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'\173'");
#undef yytext
#undef yyleng
  }  goto l507;
  l508:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "LEFT_CURLY", yy->__buf+yy->__pos));
  return 1;
  l507:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "LEFT_CURLY", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ELLIPSIS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ELLIPSIS"));  if (!yymatchString(yy, "..")) goto l512;  goto l511;
  l512:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'..'");
#undef yytext
#undef yyleng
  }  goto l510;
  l511:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ELLIPSIS", yy->__buf+yy->__pos));
  return 1;
  l510:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ELLIPSIS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_POSTFIX_OP(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "POSTFIX_OP"));
  {  int yypos514= yy->__pos, yythunkpos514= yy->__thunkpos;  if (!yy_IS_NULL(yy)) goto l515;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(IS_NULL))) goto l515;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_POSTFIX_OP, yy->__begin, yy->__end);  goto l514;
  l515:;	  yy->__pos= yypos514; yy->__thunkpos= yythunkpos514;  if (!yy_IS_NOT_NULL(yy)) goto l513;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(IS_NOT_NULL))) goto l513;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_POSTFIX_OP, yy->__begin, yy->__end);
  }
  l514:;	  if (!yy__(yy)) goto l513;
  yyprintf((stderr, "  ok   %s @ %s\n", "POSTFIX_OP", yy->__buf+yy->__pos));
  return 1;
  l513:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "POSTFIX_OP", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_COMPARISON_OP(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "COMPARISON_OP"));
  {  int yypos517= yy->__pos, yythunkpos517= yy->__thunkpos;  if (!yy_LTE(yy)) goto l518;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(LTE))) goto l518;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_COMPARISON_OP, yy->__begin, yy->__end);  goto l517;
  l518:;	  yy->__pos= yypos517; yy->__thunkpos= yythunkpos517;  if (!yy_GTE(yy)) goto l519;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(GTE))) goto l519;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_COMPARISON_OP, yy->__begin, yy->__end);  goto l517;
  l519:;	  yy->__pos= yypos517; yy->__thunkpos= yythunkpos517;  if (!yy_LT(yy)) goto l520;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(LT))) goto l520;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_COMPARISON_OP, yy->__begin, yy->__end);  goto l517;
  l520:;	  yy->__pos= yypos517; yy->__thunkpos= yythunkpos517;  if (!yy_GT(yy)) goto l516;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(GT))) goto l516;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_COMPARISON_OP, yy->__begin, yy->__end);
  }
  l517:;	  if (!yy__(yy)) goto l516;
  yyprintf((stderr, "  ok   %s @ %s\n", "COMPARISON_OP", yy->__buf+yy->__pos));
  return 1;
  l516:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "COMPARISON_OP", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_INFIX_OP(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "INFIX_OP"));
  {  int yypos522= yy->__pos, yythunkpos522= yy->__thunkpos;  if (!yy_AND(yy)) goto l523;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(AND))) goto l523;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l523:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_OR(yy)) goto l524;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(OR))) goto l524;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l524:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_XOR(yy)) goto l525;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(XOR))) goto l525;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l525:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_NOT(yy)) goto l526;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(NOT))) goto l526;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l526:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_EQUAL(yy)) goto l527;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(EQUAL))) goto l527;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_5_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l527:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_NEQUAL(yy)) goto l528;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(NEQUAL))) goto l528;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_6_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l528:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_PLUS(yy)) goto l529;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(PLUS))) goto l529;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_7_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l529:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_MINUS(yy)) goto l530;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(MINUS))) goto l530;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_8_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l530:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_MULT(yy)) goto l531;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(MULT))) goto l531;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_9_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l531:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_DIV(yy)) goto l532;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(DIV))) goto l532;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_10_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l532:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_MOD(yy)) goto l533;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(MOD))) goto l533;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_11_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l533:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_POW(yy)) goto l534;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(POW))) goto l534;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_12_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l534:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_IN(yy)) goto l535;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(IN))) goto l535;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_13_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l535:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_REGEX(yy)) goto l536;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(REGEX))) goto l536;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_14_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l536:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_CONTAINS(yy)) goto l537;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(CONTAINS))) goto l537;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_15_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l537:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_STARTS_WITH(yy)) goto l538;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(STARTS_WITH))) goto l538;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_16_INFIX_OP, yy->__begin, yy->__end);  goto l522;
  l538:;	  yy->__pos= yypos522; yy->__thunkpos= yythunkpos522;  if (!yy_ENDS_WITH(yy)) goto l521;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(ENDS_WITH))) goto l521;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_17_INFIX_OP, yy->__begin, yy->__end);
  }
  l522:;	  if (!yy__(yy)) goto l521;
  yyprintf((stderr, "  ok   %s @ %s\n", "INFIX_OP", yy->__buf+yy->__pos));
  return 1;
  l521:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "INFIX_OP", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__block_replace_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_block_replace_"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!( yyDo(yy, block_replace_action, yy->__pos, 0), 1 )) goto l539;
#undef yytext
#undef yyleng
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_block_replace_", yy->__buf+yy->__pos));
  return 1;
  l539:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_block_replace_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__atom(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "_atom"));
  {  int yypos541= yy->__pos, yythunkpos541= yy->__thunkpos;  if (!yy__block_start_(yy)) goto l542;  if (!yy_PREFIX_OP(yy)) goto l542;  if (!yy__(yy)) goto l542;  if (!yy__prec_expression(yy)) goto l542;  yyDo(yy, yySet, -1, 0);  if (!yy__block_end_(yy)) goto l542;  yyDo(yy, yy_1__atom, yy->__begin, yy->__end);  goto l541;
  l542:;	  yy->__pos= yypos541; yy->__thunkpos= yythunkpos541;  if (!yy_atom(yy)) goto l540;
  }
  l541:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "_atom", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l540:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_atom", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__prec_expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "_prec_expression"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_PUSH())) goto l543;
#undef yytext
#undef yyleng
  }  if (!yy__expression(yy)) goto l545;  yyDo(yy, yySet, -1, 0);  goto l544;
  l545:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  PREC_POP();
#undef yytext
#undef yyleng
  }  goto l543;
  l544:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_POP())) goto l543;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1__prec_expression, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "_prec_expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l543:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_prec_expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 6, 0);
  yyprintf((stderr, "%s\n", "_expression"));
  {  int yypos547= yy->__pos, yythunkpos547= yy->__thunkpos;  if (!yy__block_start_(yy)) goto l548;  if (!yy__atom(yy)) goto l548;  yyDo(yy, yySet, -6, 0);
  {  int yypos551= yy->__pos, yythunkpos551= yy->__thunkpos;  if (!yy_DOT(yy)) goto l552;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(PROPERTY))) goto l552;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l552;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l552;  if (!yy_prop_name(yy)) goto l552;  yyDo(yy, yySet, -5, 0);  if (!yy__block_replace_(yy)) goto l552;  yyDo(yy, yy_1__expression, yy->__begin, yy->__end);  goto l551;
  l552:;	  yy->__pos= yypos551; yy->__thunkpos= yythunkpos551;  if (!yy_INFIX_OP(yy)) goto l553;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l553;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l553;  if (!yy__prec_expression(yy)) goto l553;  yyDo(yy, yySet, -4, 0);  if (!yy__block_replace_(yy)) goto l553;  yyDo(yy, yy_2__expression, yy->__begin, yy->__end);  goto l551;
  l553:;	  yy->__pos= yypos551; yy->__thunkpos= yythunkpos551;  yyDo(yy, yy_3__expression, yy->__begin, yy->__end);  if (!yy_COMPARISON_OP(yy)) goto l554;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l554;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l554;  if (!yy__prec_expression(yy)) goto l554;  yyDo(yy, yySet, -4, 0);  yyDo(yy, yy_4__expression, yy->__begin, yy->__end);
  l555:;	
  {  int yypos556= yy->__pos, yythunkpos556= yy->__thunkpos;  if (!yy_COMPARISON_OP(yy)) goto l556;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l556;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l556;  if (!yy__prec_expression(yy)) goto l556;  yyDo(yy, yySet, -4, 0);  yyDo(yy, yy_4__expression, yy->__begin, yy->__end);  goto l555;
  l556:;	  yy->__pos= yypos556; yy->__thunkpos= yythunkpos556;
  }  if (!yy__block_replace_(yy)) goto l554;  yyDo(yy, yy_5__expression, yy->__begin, yy->__end);  goto l551;
  l554:;	  yy->__pos= yypos551; yy->__thunkpos= yythunkpos551;  if (!yy_POSTFIX_OP(yy)) goto l557;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l557;
#undef yytext
#undef yyleng
  }  if (!yy__block_replace_(yy)) goto l557;  yyDo(yy, yy_6__expression, yy->__begin, yy->__end);  goto l551;
  l557:;	  yy->__pos= yypos551; yy->__thunkpos= yythunkpos551;  if (!yy_LEFT_SQ_PAREN(yy)) goto l558;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(SUBSCRIPT))) goto l558;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l558;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l558;  if (!yy_expression(yy)) goto l558;  yyDo(yy, yySet, -4, 0);  if (!yy_RIGHT_SQ_PAREN(yy)) goto l558;  if (!yy__(yy)) goto l558;  if (!yy__block_replace_(yy)) goto l558;  yyDo(yy, yy_7__expression, yy->__begin, yy->__end);  goto l551;
  l558:;	  yy->__pos= yypos551; yy->__thunkpos= yythunkpos551;  if (!yy_LEFT_SQ_PAREN(yy)) goto l559;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(SUBSCRIPT))) goto l559;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l559;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l559;
  {  int yypos560= yy->__pos, yythunkpos560= yy->__thunkpos;  if (!yy_expression(yy)) goto l561;  yyDo(yy, yySet, -3, 0);  goto l560;
  l561:;	  yy->__pos= yypos560; yy->__thunkpos= yythunkpos560;  if (!yy__null_(yy)) goto l559;  yyDo(yy, yySet, -3, 0);
  }
  l560:;	  if (!yy_ELLIPSIS(yy)) goto l559;  if (!yy__(yy)) goto l559;
  {  int yypos562= yy->__pos, yythunkpos562= yy->__thunkpos;  if (!yy_expression(yy)) goto l563;  yyDo(yy, yySet, -2, 0);  goto l562;
  l563:;	  yy->__pos= yypos562; yy->__thunkpos= yythunkpos562;  if (!yy__null_(yy)) goto l559;  yyDo(yy, yySet, -2, 0);
  }
  l562:;	  if (!yy_RIGHT_SQ_PAREN(yy)) goto l559;  if (!yy__(yy)) goto l559;  if (!yy__block_replace_(yy)) goto l559;  yyDo(yy, yy_8__expression, yy->__begin, yy->__end);  goto l551;
  l559:;	  yy->__pos= yypos551; yy->__thunkpos= yythunkpos551;  if (!yy_LEFT_CURLY(yy)) goto l564;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(MAP_PROJECTION))) goto l564;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l564;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l564;
  {  int yypos565= yy->__pos, yythunkpos565= yy->__thunkpos;  if (!yy_map_projection_element(yy)) goto l565;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_9__expression, yy->__begin, yy->__end);
  l567:;	
  {  int yypos568= yy->__pos, yythunkpos568= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l568;  if (!yy__(yy)) goto l568;  if (!yy_map_projection_element(yy)) goto l568;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_10__expression, yy->__begin, yy->__end);  goto l567;
  l568:;	  yy->__pos= yypos568; yy->__thunkpos= yythunkpos568;
  }  goto l566;
  l565:;	  yy->__pos= yypos565; yy->__thunkpos= yythunkpos565;
  }
  l566:;	  if (!yy_RIGHT_CURLY(yy)) goto l564;  if (!yy__(yy)) goto l564;  if (!yy__block_replace_(yy)) goto l564;  yyDo(yy, yy_11__expression, yy->__begin, yy->__end);  goto l551;
  l564:;	  yy->__pos= yypos551; yy->__thunkpos= yythunkpos551;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(LABEL))) goto l548;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l548;
#undef yytext
#undef yyleng
  }  if (!yy_label(yy)) goto l548;  yyDo(yy, yySet, -5, 0);  yyDo(yy, yy_12__expression, yy->__begin, yy->__end);
  l569:;	
  {  int yypos570= yy->__pos, yythunkpos570= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(LABEL))) goto l570;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l570;
#undef yytext
#undef yyleng
  }  if (!yy_label(yy)) goto l570;  yyDo(yy, yySet, -5, 0);  yyDo(yy, yy_12__expression, yy->__begin, yy->__end);  goto l569;
  l570:;	  yy->__pos= yypos570; yy->__thunkpos= yythunkpos570;
  }  if (!yy__block_replace_(yy)) goto l548;  yyDo(yy, yy_13__expression, yy->__begin, yy->__end);
  }
  l551:;	
  l549:;	
  {  int yypos550= yy->__pos, yythunkpos550= yy->__thunkpos;
  {  int yypos571= yy->__pos, yythunkpos571= yy->__thunkpos;  if (!yy_DOT(yy)) goto l572;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(PROPERTY))) goto l572;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l572;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l572;  if (!yy_prop_name(yy)) goto l572;  yyDo(yy, yySet, -5, 0);  if (!yy__block_replace_(yy)) goto l572;  yyDo(yy, yy_1__expression, yy->__begin, yy->__end);  goto l571;
  l572:;	  yy->__pos= yypos571; yy->__thunkpos= yythunkpos571;  if (!yy_INFIX_OP(yy)) goto l573;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l573;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l573;  if (!yy__prec_expression(yy)) goto l573;  yyDo(yy, yySet, -4, 0);  if (!yy__block_replace_(yy)) goto l573;  yyDo(yy, yy_2__expression, yy->__begin, yy->__end);  goto l571;
  l573:;	  yy->__pos= yypos571; yy->__thunkpos= yythunkpos571;  yyDo(yy, yy_3__expression, yy->__begin, yy->__end);  if (!yy_COMPARISON_OP(yy)) goto l574;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l574;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l574;  if (!yy__prec_expression(yy)) goto l574;  yyDo(yy, yySet, -4, 0);  yyDo(yy, yy_4__expression, yy->__begin, yy->__end);
  l575:;	
  {  int yypos576= yy->__pos, yythunkpos576= yy->__thunkpos;  if (!yy_COMPARISON_OP(yy)) goto l576;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l576;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l576;  if (!yy__prec_expression(yy)) goto l576;  yyDo(yy, yySet, -4, 0);  yyDo(yy, yy_4__expression, yy->__begin, yy->__end);  goto l575;
  l576:;	  yy->__pos= yypos576; yy->__thunkpos= yythunkpos576;
  }  if (!yy__block_replace_(yy)) goto l574;  yyDo(yy, yy_5__expression, yy->__begin, yy->__end);  goto l571;
  l574:;	  yy->__pos= yypos571; yy->__thunkpos= yythunkpos571;  if (!yy_POSTFIX_OP(yy)) goto l577;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l577;
#undef yytext
#undef yyleng
  }  if (!yy__block_replace_(yy)) goto l577;  yyDo(yy, yy_6__expression, yy->__begin, yy->__end);  goto l571;
  l577:;	  yy->__pos= yypos571; yy->__thunkpos= yythunkpos571;  if (!yy_LEFT_SQ_PAREN(yy)) goto l578;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(SUBSCRIPT))) goto l578;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l578;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l578;  if (!yy_expression(yy)) goto l578;  yyDo(yy, yySet, -4, 0);  if (!yy_RIGHT_SQ_PAREN(yy)) goto l578;  if (!yy__(yy)) goto l578;  if (!yy__block_replace_(yy)) goto l578;  yyDo(yy, yy_7__expression, yy->__begin, yy->__end);  goto l571;
  l578:;	  yy->__pos= yypos571; yy->__thunkpos= yythunkpos571;  if (!yy_LEFT_SQ_PAREN(yy)) goto l579;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(SUBSCRIPT))) goto l579;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l579;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l579;
  {  int yypos580= yy->__pos, yythunkpos580= yy->__thunkpos;  if (!yy_expression(yy)) goto l581;  yyDo(yy, yySet, -3, 0);  goto l580;
  l581:;	  yy->__pos= yypos580; yy->__thunkpos= yythunkpos580;  if (!yy__null_(yy)) goto l579;  yyDo(yy, yySet, -3, 0);
  }
  l580:;	  if (!yy_ELLIPSIS(yy)) goto l579;  if (!yy__(yy)) goto l579;
  {  int yypos582= yy->__pos, yythunkpos582= yy->__thunkpos;  if (!yy_expression(yy)) goto l583;  yyDo(yy, yySet, -2, 0);  goto l582;
  l583:;	  yy->__pos= yypos582; yy->__thunkpos= yythunkpos582;  if (!yy__null_(yy)) goto l579;  yyDo(yy, yySet, -2, 0);
  }
  l582:;	  if (!yy_RIGHT_SQ_PAREN(yy)) goto l579;  if (!yy__(yy)) goto l579;  if (!yy__block_replace_(yy)) goto l579;  yyDo(yy, yy_8__expression, yy->__begin, yy->__end);  goto l571;
  l579:;	  yy->__pos= yypos571; yy->__thunkpos= yythunkpos571;  if (!yy_LEFT_CURLY(yy)) goto l584;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(MAP_PROJECTION))) goto l584;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l584;
#undef yytext
#undef yyleng
  }  if (!yy__(yy)) goto l584;
  {  int yypos585= yy->__pos, yythunkpos585= yy->__thunkpos;  if (!yy_map_projection_element(yy)) goto l585;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_9__expression, yy->__begin, yy->__end);
  l587:;	
  {  int yypos588= yy->__pos, yythunkpos588= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l588;  if (!yy__(yy)) goto l588;  if (!yy_map_projection_element(yy)) goto l588;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_10__expression, yy->__begin, yy->__end);  goto l587;
  l588:;	  yy->__pos= yypos588; yy->__thunkpos= yythunkpos588;
  }  goto l586;
  l585:;	  yy->__pos= yypos585; yy->__thunkpos= yythunkpos585;
  }
  l586:;	  if (!yy_RIGHT_CURLY(yy)) goto l584;  if (!yy__(yy)) goto l584;  if (!yy__block_replace_(yy)) goto l584;  yyDo(yy, yy_11__expression, yy->__begin, yy->__end);  goto l571;
  l584:;	  yy->__pos= yypos571; yy->__thunkpos= yythunkpos571;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(LABEL))) goto l550;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l550;
#undef yytext
#undef yyleng
  }  if (!yy_label(yy)) goto l550;  yyDo(yy, yySet, -5, 0);  yyDo(yy, yy_12__expression, yy->__begin, yy->__end);
  l589:;	
  {  int yypos590= yy->__pos, yythunkpos590= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(OP(LABEL))) goto l590;
#undef yytext
#undef yyleng
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_CHK())) goto l590;
#undef yytext
#undef yyleng
  }  if (!yy_label(yy)) goto l590;  yyDo(yy, yySet, -5, 0);  yyDo(yy, yy_12__expression, yy->__begin, yy->__end);  goto l589;
  l590:;	  yy->__pos= yypos590; yy->__thunkpos= yythunkpos590;
  }  if (!yy__block_replace_(yy)) goto l550;  yyDo(yy, yy_13__expression, yy->__begin, yy->__end);
  }
  l571:;	  goto l549;
  l550:;	  yy->__pos= yypos550; yy->__thunkpos= yythunkpos550;
  }  if (!yy__block_merge_(yy)) goto l548;  yyDo(yy, yy_14__expression, yy->__begin, yy->__end);  goto l547;
  l548:;	  yy->__pos= yypos547; yy->__thunkpos= yythunkpos547;  if (!yy__atom(yy)) goto l546;
  }
  l547:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "_expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 6, 0);
  return 1;
  l546:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ALL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ALL"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l593;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l593;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l593;  if (!yy_WB(yy)) goto l593;  if (!yy__(yy)) goto l593;  goto l592;
  l593:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ALL");
#undef yytext
#undef yyleng
  }  goto l591;
  l592:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ALL", yy->__buf+yy->__pos));
  return 1;
  l591:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ALL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_UNION(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "UNION"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l594;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l596;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l596;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l596;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l596;  if (!yy_WB(yy)) goto l596;  if (!yy__(yy)) goto l596;  goto l595;
  l596:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("UNION");
#undef yytext
#undef yyleng
  }  goto l594;
  l595:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "UNION", yy->__buf+yy->__pos));
  return 1;
  l594:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "UNION", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_LIMIT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "LIMIT"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l599;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l599;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l599;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l599;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l599;  if (!yy_WB(yy)) goto l599;  if (!yy__(yy)) goto l599;  goto l598;
  l599:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("LIMIT");
#undef yytext
#undef yyleng
  }  goto l597;
  l598:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "LIMIT", yy->__buf+yy->__pos));
  return 1;
  l597:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "LIMIT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_SKIP(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "SKIP"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l602;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l602;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l602;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l602;  if (!yy_WB(yy)) goto l602;  if (!yy__(yy)) goto l602;  goto l601;
  l602:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("SKIP");
#undef yytext
#undef yyleng
  }  goto l600;
  l601:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "SKIP", yy->__buf+yy->__pos));
  return 1;
  l600:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "SKIP", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ASC(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ASC"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l605;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l605;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l605;  if (!yy_WB(yy)) goto l605;  if (!yy__(yy)) goto l605;  goto l604;
  l605:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ASC");
#undef yytext
#undef yyleng
  }  goto l603;
  l604:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ASC", yy->__buf+yy->__pos));
  return 1;
  l603:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ASC", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ASCENDING(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ASCENDING"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l608;  if (!yy_WB(yy)) goto l608;  if (!yy__(yy)) goto l608;  goto l607;
  l608:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ASCENDING");
#undef yytext
#undef yyleng
  }  goto l606;
  l607:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ASCENDING", yy->__buf+yy->__pos));
  return 1;
  l606:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ASCENDING", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DESC(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DESC"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l611;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l611;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l611;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l611;  if (!yy_WB(yy)) goto l611;  if (!yy__(yy)) goto l611;  goto l610;
  l611:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("DESC");
#undef yytext
#undef yyleng
  }  goto l609;
  l610:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DESC", yy->__buf+yy->__pos));
  return 1;
  l609:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DESC", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DESCENDING(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DESCENDING"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l614;  if (!yy_WB(yy)) goto l614;  if (!yy__(yy)) goto l614;  goto l613;
  l614:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("DESCENDING");
#undef yytext
#undef yyleng
  }  goto l612;
  l613:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DESCENDING", yy->__buf+yy->__pos));
  return 1;
  l612:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DESCENDING", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_sort_item(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "sort_item"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l615;
#undef yytext
#undef yyleng
  }  if (!yy_expression(yy)) goto l615;  yyDo(yy, yySet, -1, 0);
  {  int yypos616= yy->__pos, yythunkpos616= yy->__thunkpos;
  {  int yypos618= yy->__pos, yythunkpos618= yy->__thunkpos;  if (!yy_DESCENDING(yy)) goto l619;  goto l618;
  l619:;	  yy->__pos= yypos618; yy->__thunkpos= yythunkpos618;  if (!yy_DESC(yy)) goto l617;
  }
  l618:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l617;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_sort_item, yy->__begin, yy->__end);  goto l616;
  l617:;	  yy->__pos= yypos616; yy->__thunkpos= yythunkpos616;
  {  int yypos620= yy->__pos, yythunkpos620= yy->__thunkpos;
  {  int yypos622= yy->__pos, yythunkpos622= yy->__thunkpos;  if (!yy_ASCENDING(yy)) goto l623;  goto l622;
  l623:;	  yy->__pos= yypos622; yy->__thunkpos= yythunkpos622;  if (!yy_ASC(yy)) goto l620;
  }
  l622:;	  goto l621;
  l620:;	  yy->__pos= yypos620; yy->__thunkpos= yythunkpos620;
  }
  l621:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l615;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_sort_item, yy->__begin, yy->__end);
  }
  l616:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "sort_item", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l615:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "sort_item", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ORDER_BY(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ORDER_BY"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l626;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l626;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l626;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l626;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l626;  if (!yy_WB(yy)) goto l626;  if (!yy__(yy)) goto l626;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l626;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l626;  if (!yy_WB(yy)) goto l626;  if (!yy__(yy)) goto l626;  goto l625;
  l626:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ORDER BY");
#undef yytext
#undef yyleng
  }  goto l624;
  l625:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ORDER_BY", yy->__buf+yy->__pos));
  return 1;
  l624:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ORDER_BY", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__block_merge_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_block_merge_"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!( yyDo(yy, block_merge_action, yy->__pos, 0), 1 )) goto l627;
#undef yytext
#undef yyleng
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_block_merge_", yy->__buf+yy->__pos));
  return 1;
  l627:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_block_merge_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__block_start_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_block_start_"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!( yyDo(yy, block_start_action, yy->__pos, 0), 1 )) goto l628;
#undef yytext
#undef yyleng
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_block_start_", yy->__buf+yy->__pos));
  return 1;
  l628:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_block_start_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_return_projection(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "return_projection"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l629;
#undef yytext
#undef yyleng
  }  if (!yy__block_start_(yy)) goto l629;  if (!yy_expression(yy)) goto l629;  yyDo(yy, yySet, -2, 0);
  {  int yypos630= yy->__pos, yythunkpos630= yy->__thunkpos;  if (!yy_AS(yy)) goto l631;  if (!yy_identifier(yy)) goto l631;  yyDo(yy, yySet, -1, 0);  if (!yy__block_merge_(yy)) goto l631;  goto l630;
  l631:;	  yy->__pos= yypos630; yy->__thunkpos= yythunkpos630;  if (!yy__null_(yy)) goto l629;  yyDo(yy, yySet, -1, 0);  if (!yy__block_merge_(yy)) goto l629;  yyDo(yy, yy_1_return_projection, yy->__begin, yy->__end);
  }
  l630:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l629;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_return_projection, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "return_projection", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l629:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "return_projection", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_additional_return_projections(yycontext *yy)
{  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "additional_return_projections"));
  l633:;	
  {  int yypos634= yy->__pos, yythunkpos634= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l634;  if (!yy__(yy)) goto l634;  if (!yy_return_projection(yy)) goto l634;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_additional_return_projections, yy->__begin, yy->__end);  goto l633;
  l634:;	  yy->__pos= yypos634; yy->__thunkpos= yythunkpos634;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "additional_return_projections", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
}
YY_RULE(int) yy_RETURN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "RETURN"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l635;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l637;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l637;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l637;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l637;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l637;  if (!yy_WB(yy)) goto l637;  if (!yy__(yy)) goto l637;  goto l636;
  l637:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("RETURN");
#undef yytext
#undef yyleng
  }  goto l635;
  l636:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "RETURN", yy->__buf+yy->__pos));
  return 1;
  l635:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "RETURN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_proc_projection(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "proc_projection"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l638;
#undef yytext
#undef yyleng
  }  if (!yy_identifier(yy)) goto l638;  yyDo(yy, yySet, -2, 0);
  {  int yypos639= yy->__pos, yythunkpos639= yy->__thunkpos;  if (!yy_AS(yy)) goto l640;  if (!yy_identifier(yy)) goto l640;  yyDo(yy, yySet, -1, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l640;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_proc_projection, yy->__begin, yy->__end);  goto l639;
  l640:;	  yy->__pos= yypos639; yy->__thunkpos= yythunkpos639;  if (!yy__empty_(yy)) goto l638;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l638;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_proc_projection, yy->__begin, yy->__end);
  }
  l639:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "proc_projection", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l638:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "proc_projection", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_YIELD(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "YIELD"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l643;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l643;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l643;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l643;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l643;  if (!yy_WB(yy)) goto l643;  if (!yy__(yy)) goto l643;  goto l642;
  l643:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("YIELD");
#undef yytext
#undef yyleng
  }  goto l641;
  l642:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "YIELD", yy->__buf+yy->__pos));
  return 1;
  l641:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "YIELD", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_proc_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "proc_name"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l644;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_proc_name, yy->__begin, yy->__end);
  l647:;	
  {  int yypos648= yy->__pos, yythunkpos648= yy->__thunkpos;  if (!yy_symbolic_name(yy)) goto l648;  if (!yy_DOT(yy)) goto l648;  yyDo(yy, yy_2_proc_name, yy->__begin, yy->__end);  goto l647;
  l648:;	  yy->__pos= yypos648; yy->__thunkpos= yythunkpos648;
  }  if (!yy_symbolic_name(yy)) goto l646;  goto l645;
  l646:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a procedure name");
#undef yytext
#undef yyleng
  }  goto l644;
  l645:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l644;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_proc_name, yy->__begin, yy->__end);  if (!yy__(yy)) goto l644;
  yyprintf((stderr, "  ok   %s @ %s\n", "proc_name", yy->__buf+yy->__pos));
  return 1;
  l644:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "proc_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_CALL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "CALL"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l649;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l651;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l651;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l651;  if (!yy_WB(yy)) goto l651;  if (!yy__(yy)) goto l651;  goto l650;
  l651:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("CALL");
#undef yytext
#undef yyleng
  }  goto l649;
  l650:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "CALL", yy->__buf+yy->__pos));
  return 1;
  l649:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "CALL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_UNWIND(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "UNWIND"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l652;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l654;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l654;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l654;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l654;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l654;  if (!yy_WB(yy)) goto l654;  if (!yy__(yy)) goto l654;  goto l653;
  l654:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("UNWIND");
#undef yytext
#undef yyleng
  }  goto l652;
  l653:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "UNWIND", yy->__buf+yy->__pos));
  return 1;
  l652:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "UNWIND", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__empty_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_empty_"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(1)) goto l655;
#undef yytext
#undef yyleng
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_empty_", yy->__buf+yy->__pos));
  return 1;
  l655:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_empty_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_with_projection(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "with_projection"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l656;
#undef yytext
#undef yyleng
  }  if (!yy_expression(yy)) goto l656;  yyDo(yy, yySet, -2, 0);
  {  int yypos657= yy->__pos, yythunkpos657= yy->__thunkpos;  if (!yy_AS(yy)) goto l658;  if (!yy_identifier(yy)) goto l658;  yyDo(yy, yySet, -1, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l658;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_with_projection, yy->__begin, yy->__end);  goto l657;
  l658:;	  yy->__pos= yypos657; yy->__thunkpos= yythunkpos657;  if (!yy__empty_(yy)) goto l656;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l656;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_with_projection, yy->__begin, yy->__end);
  }
  l657:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "with_projection", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l656:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "with_projection", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_limit(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "limit"));  if (!yy_LIMIT(yy)) goto l659;  if (!yy_expression(yy)) goto l659;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_limit, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "limit", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l659:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "limit", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_skip(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "skip"));  if (!yy_SKIP(yy)) goto l660;  if (!yy_expression(yy)) goto l660;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_skip, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "skip", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l660:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "skip", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_order_by(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "order_by"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l661;
#undef yytext
#undef yyleng
  }  if (!yy_ORDER_BY(yy)) goto l661;  if (!yy_sort_item(yy)) goto l661;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_order_by, yy->__begin, yy->__end);
  l662:;	
  {  int yypos663= yy->__pos, yythunkpos663= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l663;  if (!yy__(yy)) goto l663;  if (!yy_sort_item(yy)) goto l663;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_order_by, yy->__begin, yy->__end);  goto l662;
  l663:;	  yy->__pos= yypos663; yy->__thunkpos= yythunkpos663;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l661;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_order_by, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "order_by", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l661:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "order_by", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_additional_with_projections(yycontext *yy)
{  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "additional_with_projections"));
  l665:;	
  {  int yypos666= yy->__pos, yythunkpos666= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l666;  if (!yy__(yy)) goto l666;  if (!yy_with_projection(yy)) goto l666;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_additional_with_projections, yy->__begin, yy->__end);  goto l665;
  l666:;	  yy->__pos= yypos666; yy->__thunkpos= yythunkpos666;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "additional_with_projections", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
}
YY_RULE(int) yy_DISTINCT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DISTINCT"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l669;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l669;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l669;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l669;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l669;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l669;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l669;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l669;  if (!yy_WB(yy)) goto l669;  if (!yy__(yy)) goto l669;  goto l668;
  l669:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("DISTINCT");
#undef yytext
#undef yyleng
  }  goto l667;
  l668:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DISTINCT", yy->__buf+yy->__pos));
  return 1;
  l667:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DISTINCT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_WITH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "WITH"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l670;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l672;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l672;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l672;  if (!yy_WB(yy)) goto l672;  if (!yy__(yy)) goto l672;  goto l671;
  l672:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("WITH");
#undef yytext
#undef yyleng
  }  goto l670;
  l671:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "WITH", yy->__buf+yy->__pos));
  return 1;
  l670:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "WITH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_PIPE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "PIPE"));  if (!yymatchChar(yy, '|')) goto l675;  goto l674;
  l675:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'|'");
#undef yytext
#undef yyleng
  }  goto l673;
  l674:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "PIPE", yy->__buf+yy->__pos));
  return 1;
  l673:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "PIPE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_IN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "IN"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l678;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l678;  if (!yy_WB(yy)) goto l678;  goto l677;
  l678:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("IN");
#undef yytext
#undef yyleng
  }  goto l676;
  l677:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "IN", yy->__buf+yy->__pos));
  return 1;
  l676:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "IN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_FOREACH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "FOREACH"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l679;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l681;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l681;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l681;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l681;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l681;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l681;  if (!yy_WB(yy)) goto l681;  if (!yy__(yy)) goto l681;  goto l680;
  l681:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("FOREACH");
#undef yytext
#undef yyleng
  }  goto l679;
  l680:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "FOREACH", yy->__buf+yy->__pos));
  return 1;
  l679:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "FOREACH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_remove_item(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "remove_item"));
  {  int yypos683= yy->__pos, yythunkpos683= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l684;
#undef yytext
#undef yyleng
  }  if (!yy_property_expression(yy)) goto l684;  yyDo(yy, yySet, -3, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l684;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_remove_item, yy->__begin, yy->__end);  goto l683;
  l684:;	  yy->__pos= yypos683; yy->__thunkpos= yythunkpos683;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l682;
#undef yytext
#undef yyleng
  }  if (!yy_identifier(yy)) goto l682;  yyDo(yy, yySet, -2, 0);  if (!yy_label(yy)) goto l682;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_remove_item, yy->__begin, yy->__end);
  l685:;	
  {  int yypos686= yy->__pos, yythunkpos686= yy->__thunkpos;  if (!yy_label(yy)) goto l686;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_remove_item, yy->__begin, yy->__end);  goto l685;
  l686:;	  yy->__pos= yypos686; yy->__thunkpos= yythunkpos686;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l682;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_remove_item, yy->__begin, yy->__end);
  }
  l683:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "remove_item", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l682:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "remove_item", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_REMOVE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "REMOVE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l687;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l689;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l689;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l689;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l689;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l689;  if (!yy_WB(yy)) goto l689;  if (!yy__(yy)) goto l689;  goto l688;
  l689:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("REMOVE");
#undef yytext
#undef yyleng
  }  goto l687;
  l688:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "REMOVE", yy->__buf+yy->__pos));
  return 1;
  l687:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "REMOVE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DELETE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DELETE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l690;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l692;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l692;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l692;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l692;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l692;  if (!yy_WB(yy)) goto l692;  if (!yy__(yy)) goto l692;  goto l691;
  l692:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("DELETE");
#undef yytext
#undef yyleng
  }  goto l690;
  l691:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DELETE", yy->__buf+yy->__pos));
  return 1;
  l690:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DELETE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DETACH_DELETE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DETACH_DELETE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l693;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yy_WB(yy)) goto l695;  if (!yy__(yy)) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l695;  if (!yy_WB(yy)) goto l695;  if (!yy__(yy)) goto l695;  goto l694;
  l695:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("DETACH DELETE");
#undef yytext
#undef yyleng
  }  goto l693;
  l694:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DETACH_DELETE", yy->__buf+yy->__pos));
  return 1;
  l693:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DETACH_DELETE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_PLUSEQUAL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "PLUSEQUAL"));  if (!yymatchString(yy, "+=")) goto l698;  goto l697;
  l698:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'+='");
#undef yytext
#undef yyleng
  }  goto l696;
  l697:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "PLUSEQUAL", yy->__buf+yy->__pos));
  return 1;
  l696:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "PLUSEQUAL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_property_expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "property_expression"));  if (!yy__block_start_(yy)) goto l699;  if (!yy_atom(yy)) goto l699;  yyDo(yy, yySet, -2, 0);  if (!yy_DOT(yy)) goto l699;  if (!yy__(yy)) goto l699;  if (!yy_prop_name(yy)) goto l699;  yyDo(yy, yySet, -1, 0);  if (!yy__block_replace_(yy)) goto l699;  yyDo(yy, yy_1_property_expression, yy->__begin, yy->__end);
  l700:;	
  {  int yypos701= yy->__pos, yythunkpos701= yy->__thunkpos;  if (!yy_DOT(yy)) goto l701;  if (!yy__(yy)) goto l701;  if (!yy_prop_name(yy)) goto l701;  yyDo(yy, yySet, -1, 0);  if (!yy__block_replace_(yy)) goto l701;  yyDo(yy, yy_1_property_expression, yy->__begin, yy->__end);  goto l700;
  l701:;	  yy->__pos= yypos701; yy->__thunkpos= yythunkpos701;
  }  if (!yy__block_merge_(yy)) goto l699;  yyDo(yy, yy_2_property_expression, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "property_expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l699:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "property_expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_CREATE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "CREATE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l702;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l704;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l704;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l704;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l704;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l704;  if (!yy_WB(yy)) goto l704;  if (!yy__(yy)) goto l704;  goto l703;
  l704:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("CREATE");
#undef yytext
#undef yyleng
  }  goto l702;
  l703:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "CREATE", yy->__buf+yy->__pos));
  return 1;
  l702:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "CREATE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_CREATE_UNIQUE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "CREATE_UNIQUE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l705;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yy_WB(yy)) goto l707;  if (!yy__(yy)) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l707;  if (!yy_WB(yy)) goto l707;  if (!yy__(yy)) goto l707;  goto l706;
  l707:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("CREATE UNIQUE");
#undef yytext
#undef yyleng
  }  goto l705;
  l706:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "CREATE_UNIQUE", yy->__buf+yy->__pos));
  return 1;
  l705:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "CREATE_UNIQUE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_set_item(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 4, 0);
  yyprintf((stderr, "%s\n", "set_item"));
  {  int yypos709= yy->__pos, yythunkpos709= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l710;
#undef yytext
#undef yyleng
  }  if (!yy_property_expression(yy)) goto l710;  yyDo(yy, yySet, -4, 0);  if (!yy_EQUAL(yy)) goto l710;  if (!yy__(yy)) goto l710;  if (!yy_expression(yy)) goto l710;  yyDo(yy, yySet, -3, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l710;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_set_item, yy->__begin, yy->__end);  goto l709;
  l710:;	  yy->__pos= yypos709; yy->__thunkpos= yythunkpos709;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l711;
#undef yytext
#undef yyleng
  }  if (!yy_identifier(yy)) goto l711;  yyDo(yy, yySet, -2, 0);  if (!yy_EQUAL(yy)) goto l711;  if (!yy__(yy)) goto l711;  if (!yy_expression(yy)) goto l711;  yyDo(yy, yySet, -3, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l711;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_set_item, yy->__begin, yy->__end);  goto l709;
  l711:;	  yy->__pos= yypos709; yy->__thunkpos= yythunkpos709;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l712;
#undef yytext
#undef yyleng
  }  if (!yy_identifier(yy)) goto l712;  yyDo(yy, yySet, -2, 0);  if (!yy_PLUSEQUAL(yy)) goto l712;  if (!yy__(yy)) goto l712;  if (!yy_expression(yy)) goto l712;  yyDo(yy, yySet, -3, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l712;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_set_item, yy->__begin, yy->__end);  goto l709;
  l712:;	  yy->__pos= yypos709; yy->__thunkpos= yythunkpos709;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l708;
#undef yytext
#undef yyleng
  }  if (!yy_identifier(yy)) goto l708;  yyDo(yy, yySet, -2, 0);  if (!yy_label(yy)) goto l708;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_4_set_item, yy->__begin, yy->__end);
  l713:;	
  {  int yypos714= yy->__pos, yythunkpos714= yy->__thunkpos;  if (!yy_label(yy)) goto l714;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_4_set_item, yy->__begin, yy->__end);  goto l713;
  l714:;	  yy->__pos= yypos714; yy->__thunkpos= yythunkpos714;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l708;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_5_set_item, yy->__begin, yy->__end);
  }
  l709:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "set_item", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 4, 0);
  return 1;
  l708:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "set_item", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_SET(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "SET"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l715;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l717;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l717;  if (!yy_WB(yy)) goto l717;  if (!yy__(yy)) goto l717;  goto l716;
  l717:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("SET");
#undef yytext
#undef yyleng
  }  goto l715;
  l716:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "SET", yy->__buf+yy->__pos));
  return 1;
  l715:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "SET", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ON_CREATE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ON_CREATE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l720;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l720;  if (!yy_WB(yy)) goto l720;  if (!yy__(yy)) goto l720;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l720;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l720;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l720;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l720;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l720;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l720;  if (!yy_WB(yy)) goto l720;  if (!yy__(yy)) goto l720;  goto l719;
  l720:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ON CREATE");
#undef yytext
#undef yyleng
  }  goto l718;
  l719:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ON_CREATE", yy->__buf+yy->__pos));
  return 1;
  l718:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ON_CREATE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_merge_action_set(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "merge_action_set"));  if (!yy_SET(yy)) goto l723;  goto l722;
  l723:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("SET");
#undef yytext
#undef yyleng
  }  goto l721;
  l722:;	  if (!yy_set_item(yy)) goto l721;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_merge_action_set, yy->__begin, yy->__end);
  l724:;	
  {  int yypos725= yy->__pos, yythunkpos725= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l725;  if (!yy__(yy)) goto l725;  if (!yy_set_item(yy)) goto l725;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_merge_action_set, yy->__begin, yy->__end);  goto l724;
  l725:;	  yy->__pos= yypos725; yy->__thunkpos= yythunkpos725;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "merge_action_set", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l721:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "merge_action_set", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ON_MATCH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ON_MATCH"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l728;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l728;  if (!yy_WB(yy)) goto l728;  if (!yy__(yy)) goto l728;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l728;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l728;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l728;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l728;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l728;  if (!yy_WB(yy)) goto l728;  if (!yy__(yy)) goto l728;  goto l727;
  l728:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ON MATCH");
#undef yytext
#undef yyleng
  }  goto l726;
  l727:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ON_MATCH", yy->__buf+yy->__pos));
  return 1;
  l726:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ON_MATCH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_merge_action(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "merge_action"));
  {  int yypos730= yy->__pos, yythunkpos730= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l731;
#undef yytext
#undef yyleng
  }  if (!yy_ON_MATCH(yy)) goto l731;  if (!yy_merge_action_set(yy)) goto l731;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l731;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_merge_action, yy->__begin, yy->__end);  goto l730;
  l731:;	  yy->__pos= yypos730; yy->__thunkpos= yythunkpos730;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l729;
#undef yytext
#undef yyleng
  }  if (!yy_ON_CREATE(yy)) goto l729;  if (!yy_merge_action_set(yy)) goto l729;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l729;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_merge_action, yy->__begin, yy->__end);
  }
  l730:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "merge_action", yy->__buf+yy->__pos));
  return 1;
  l729:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "merge_action", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_pattern_part(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "pattern_part"));
  {  int yypos733= yy->__pos, yythunkpos733= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l734;
#undef yytext
#undef yyleng
  }  if (!yy_identifier(yy)) goto l734;  yyDo(yy, yySet, -2, 0);  if (!yy_EQUAL(yy)) goto l734;  if (!yy__(yy)) goto l734;  if (!yy_anon_pattern_part(yy)) goto l734;  yyDo(yy, yySet, -1, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l734;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_pattern_part, yy->__begin, yy->__end);  goto l733;
  l734:;	  yy->__pos= yypos733; yy->__thunkpos= yythunkpos733;  if (!yy_anon_pattern_part(yy)) goto l732;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_pattern_part, yy->__begin, yy->__end);
  }
  l733:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "pattern_part", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l732:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "pattern_part", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_MERGE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "MERGE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l735;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l737;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l737;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l737;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l737;  if (!yy_WB(yy)) goto l737;  if (!yy__(yy)) goto l737;  goto l736;
  l737:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("MERGE");
#undef yytext
#undef yyleng
  }  goto l735;
  l736:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "MERGE", yy->__buf+yy->__pos));
  return 1;
  l735:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "MERGE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_USING_SCAN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "USING_SCAN"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yy_WB(yy)) goto l740;  if (!yy__(yy)) goto l740;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l740;  if (!yy_WB(yy)) goto l740;  if (!yy__(yy)) goto l740;  goto l739;
  l740:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("USING SCAN");
#undef yytext
#undef yyleng
  }  goto l738;
  l739:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "USING_SCAN", yy->__buf+yy->__pos));
  return 1;
  l738:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "USING_SCAN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_USING_JOIN_ON(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "USING_JOIN_ON"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yy_WB(yy)) goto l743;  if (!yy__(yy)) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yy_WB(yy)) goto l743;  if (!yy__(yy)) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l743;  if (!yy_WB(yy)) goto l743;  if (!yy__(yy)) goto l743;  goto l742;
  l743:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("USING JOIN ON");
#undef yytext
#undef yyleng
  }  goto l741;
  l742:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "USING_JOIN_ON", yy->__buf+yy->__pos));
  return 1;
  l741:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "USING_JOIN_ON", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_USING_INDEX(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "USING_INDEX"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yy_WB(yy)) goto l746;  if (!yy__(yy)) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l746;  if (!yy_WB(yy)) goto l746;  if (!yy__(yy)) goto l746;  goto l745;
  l746:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("USING INDEX");
#undef yytext
#undef yyleng
  }  goto l744;
  l745:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "USING_INDEX", yy->__buf+yy->__pos));
  return 1;
  l744:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "USING_INDEX", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_MATCH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "MATCH"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l747;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l749;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l749;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l749;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l749;  if (!yy_WB(yy)) goto l749;  if (!yy__(yy)) goto l749;  goto l748;
  l749:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("MATCH");
#undef yytext
#undef yyleng
  }  goto l747;
  l748:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "MATCH", yy->__buf+yy->__pos));
  return 1;
  l747:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "MATCH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_hint(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "hint"));
  {  int yypos751= yy->__pos, yythunkpos751= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l752;
#undef yytext
#undef yyleng
  }  if (!yy_USING_INDEX(yy)) goto l752;  if (!yy_identifier(yy)) goto l752;  yyDo(yy, yySet, -3, 0);  if (!yy_label(yy)) goto l752;  yyDo(yy, yySet, -2, 0);  if (!yy_LEFT_PAREN(yy)) goto l752;  if (!yy__(yy)) goto l752;  if (!yy_prop_name(yy)) goto l752;  yyDo(yy, yySet, -1, 0);  if (!yy_RIGHT_PAREN(yy)) goto l752;  if (!yy__(yy)) goto l752;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l752;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_hint, yy->__begin, yy->__end);  goto l751;
  l752:;	  yy->__pos= yypos751; yy->__thunkpos= yythunkpos751;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l753;
#undef yytext
#undef yyleng
  }  if (!yy_USING_JOIN_ON(yy)) goto l753;  if (!yy_identifier(yy)) goto l753;  yyDo(yy, yySet, -3, 0);  yyDo(yy, yy_2_hint, yy->__begin, yy->__end);
  l754:;	
  {  int yypos755= yy->__pos, yythunkpos755= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l755;  if (!yy__(yy)) goto l755;  if (!yy_identifier(yy)) goto l755;  yyDo(yy, yySet, -3, 0);  yyDo(yy, yy_3_hint, yy->__begin, yy->__end);  goto l754;
  l755:;	  yy->__pos= yypos755; yy->__thunkpos= yythunkpos755;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l753;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_hint, yy->__begin, yy->__end);  goto l751;
  l753:;	  yy->__pos= yypos751; yy->__thunkpos= yythunkpos751;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l750;
#undef yytext
#undef yyleng
  }  if (!yy_USING_SCAN(yy)) goto l750;  if (!yy_identifier(yy)) goto l750;  yyDo(yy, yySet, -3, 0);  if (!yy_label(yy)) goto l750;  yyDo(yy, yySet, -2, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l750;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_5_hint, yy->__begin, yy->__end);
  }
  l751:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "hint", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l750:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "hint", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_pattern(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "pattern"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l756;
#undef yytext
#undef yyleng
  }  if (!yy_pattern_part(yy)) goto l756;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_pattern, yy->__begin, yy->__end);
  l757:;	
  {  int yypos758= yy->__pos, yythunkpos758= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l758;  if (!yy__(yy)) goto l758;  if (!yy_pattern_part(yy)) goto l758;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_pattern, yy->__begin, yy->__end);  goto l757;
  l758:;	  yy->__pos= yypos758; yy->__thunkpos= yythunkpos758;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l756;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_pattern, yy->__begin, yy->__end);  if (!yy__(yy)) goto l756;
  yyprintf((stderr, "  ok   %s @ %s\n", "pattern", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l756:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "pattern", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_OPTIONAL_MATCH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "OPTIONAL_MATCH"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l759;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l761;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l761;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l761;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l761;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l761;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l761;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l761;  if (!yy_WB(yy)) goto l761;  if (!yy__(yy)) goto l761;  if (!yy_MATCH(yy)) goto l761;  goto l760;
  l761:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("OPTIONAL MATCH");
#undef yytext
#undef yyleng
  }  goto l759;
  l760:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "OPTIONAL_MATCH", yy->__buf+yy->__pos));
  return 1;
  l759:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "OPTIONAL_MATCH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_rel(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "rel"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l764;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l764;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l764;  if (!yy_WB(yy)) goto l764;  if (!yy__(yy)) goto l764;  goto l763;
  l764:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("rel");
#undef yytext
#undef yyleng
  }  goto l762;
  l763:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "rel", yy->__buf+yy->__pos));
  return 1;
  l762:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "rel", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_relationship(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "relationship"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l767;  if (!yy_WB(yy)) goto l767;  if (!yy__(yy)) goto l767;  goto l766;
  l767:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("relatioinship");
#undef yytext
#undef yyleng
  }  goto l765;
  l766:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "relationship", yy->__buf+yy->__pos));
  return 1;
  l765:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "relationship", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_STAR(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "STAR"));  if (!yymatchChar(yy, '*')) goto l770;  goto l769;
  l770:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'*'");
#undef yytext
#undef yyleng
  }  goto l768;
  l769:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "STAR", yy->__buf+yy->__pos));
  return 1;
  l768:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "STAR", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_node_ids(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "node_ids"));  if (!yy_integer_literal(yy)) goto l771;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_node_ids, yy->__begin, yy->__end);
  l772:;	
  {  int yypos773= yy->__pos, yythunkpos773= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l773;  if (!yy__(yy)) goto l773;  if (!yy_integer_literal(yy)) goto l773;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_node_ids, yy->__begin, yy->__end);  goto l772;
  l773:;	  yy->__pos= yypos773; yy->__thunkpos= yythunkpos773;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "node_ids", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l771:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "node_ids", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_parameter(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "parameter"));  if (!yy__block_start_(yy)) goto l774;  yyDo(yy, yy_1_parameter, yy->__begin, yy->__end);
  {  int yypos775= yy->__pos, yythunkpos775= yy->__thunkpos;  if (!yymatchChar(yy, '$')) goto l778;  if (!yy__(yy)) goto l778;  if (!yy_parameter_name(yy)) goto l778;  goto l777;
  l778:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a parameter");
#undef yytext
#undef yyleng
  }  goto l776;
  l777:;	  goto l775;
  l776:;	  yy->__pos= yypos775; yy->__thunkpos= yythunkpos775;  if (!yymatchChar(yy, '{')) goto l780;  if (!yy__(yy)) goto l780;  if (!yy_parameter_name(yy)) goto l780;  goto l779;
  l780:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a parameter");
#undef yytext
#undef yyleng
  }  goto l774;
  l779:;	  if (!yy__(yy)) goto l774;  if (!yy_RIGHT_CURLY(yy)) goto l774;
  }
  l775:;	  if (!yy__block_merge_(yy)) goto l774;  yyDo(yy, yy_2_parameter, yy->__begin, yy->__end);  if (!yy__(yy)) goto l774;
  yyprintf((stderr, "  ok   %s @ %s\n", "parameter", yy->__buf+yy->__pos));
  return 1;
  l774:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "parameter", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_index_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "index_name"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l781;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_index_name, yy->__begin, yy->__end);  if (!yy_symbolic_name(yy)) goto l783;  goto l782;
  l783:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("an index name");
#undef yytext
#undef yyleng
  }  goto l781;
  l782:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l781;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_index_name, yy->__begin, yy->__end);  if (!yy__(yy)) goto l781;
  yyprintf((stderr, "  ok   %s @ %s\n", "index_name", yy->__buf+yy->__pos));
  return 1;
  l781:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "index_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_COLON(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "COLON"));  if (!yymatchChar(yy, ':')) goto l786;  goto l785;
  l786:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("':'");
#undef yytext
#undef yyleng
  }  goto l784;
  l785:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "COLON", yy->__buf+yy->__pos));
  return 1;
  l784:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "COLON", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_node(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "node"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l789;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l789;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l789;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l789;  if (!yy_WB(yy)) goto l789;  if (!yy__(yy)) goto l789;  goto l788;
  l789:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("node");
#undef yytext
#undef yyleng
  }  goto l787;
  l788:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "node", yy->__buf+yy->__pos));
  return 1;
  l787:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "node", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_WHERE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "WHERE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l792;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l792;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l792;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l792;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l792;  if (!yy_WB(yy)) goto l792;  if (!yy__(yy)) goto l792;  goto l791;
  l792:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("WHERE");
#undef yytext
#undef yyleng
  }  goto l790;
  l791:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "WHERE", yy->__buf+yy->__pos));
  return 1;
  l790:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "WHERE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_COMMA(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "COMMA"));  if (!yymatchChar(yy, ',')) goto l795;  goto l794;
  l795:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("','");
#undef yytext
#undef yyleng
  }  goto l793;
  l794:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "COMMA", yy->__buf+yy->__pos));
  return 1;
  l793:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "COMMA", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_start_point(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 4, 0);
  yyprintf((stderr, "%s\n", "start_point"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l796;
#undef yytext
#undef yyleng
  }  if (!yy_identifier(yy)) goto l796;  yyDo(yy, yySet, -4, 0);  if (!yy_EQUAL(yy)) goto l796;  if (!yy__(yy)) goto l796;
  {  int yypos797= yy->__pos, yythunkpos797= yy->__thunkpos;  if (!yy_node(yy)) goto l798;
  {  int yypos799= yy->__pos, yythunkpos799= yy->__thunkpos;  if (!yy_COLON(yy)) goto l800;  if (!yy__(yy)) goto l800;  if (!yy_index_name(yy)) goto l800;  yyDo(yy, yySet, -3, 0);  if (!yy_LEFT_PAREN(yy)) goto l800;  if (!yy__(yy)) goto l800;
  {  int yypos801= yy->__pos, yythunkpos801= yy->__thunkpos;  if (!yy_prop_name(yy)) goto l802;  yyDo(yy, yySet, -2, 0);  if (!yy_EQUAL(yy)) goto l802;  if (!yy__(yy)) goto l802;
  {  int yypos803= yy->__pos, yythunkpos803= yy->__thunkpos;  if (!yy_string_literal(yy)) goto l804;  yyDo(yy, yySet, -1, 0);  goto l803;
  l804:;	  yy->__pos= yypos803; yy->__thunkpos= yythunkpos803;  if (!yy_parameter(yy)) goto l802;  yyDo(yy, yySet, -1, 0);
  }
  l803:;	  if (!yy_RIGHT_PAREN(yy)) goto l802;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l802;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_start_point, yy->__begin, yy->__end);  goto l801;
  l802:;	  yy->__pos= yypos801; yy->__thunkpos= yythunkpos801;
  {  int yypos805= yy->__pos, yythunkpos805= yy->__thunkpos;  if (!yy_string_literal(yy)) goto l806;  yyDo(yy, yySet, -1, 0);  goto l805;
  l806:;	  yy->__pos= yypos805; yy->__thunkpos= yythunkpos805;  if (!yy_parameter(yy)) goto l800;  yyDo(yy, yySet, -1, 0);
  }
  l805:;	  if (!yy_RIGHT_PAREN(yy)) goto l800;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l800;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_start_point, yy->__begin, yy->__end);
  }
  l801:;	  goto l799;
  l800:;	  yy->__pos= yypos799; yy->__thunkpos= yythunkpos799;  if (!yy_LEFT_PAREN(yy)) goto l798;  if (!yy__(yy)) goto l798;
  {  int yypos807= yy->__pos, yythunkpos807= yy->__thunkpos;  if (!yy_node_ids(yy)) goto l808;  if (!yy_RIGHT_PAREN(yy)) goto l808;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l808;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_start_point, yy->__begin, yy->__end);  goto l807;
  l808:;	  yy->__pos= yypos807; yy->__thunkpos= yythunkpos807;  if (!yy_STAR(yy)) goto l798;  if (!yy__(yy)) goto l798;  if (!yy_RIGHT_PAREN(yy)) goto l798;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l798;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_start_point, yy->__begin, yy->__end);
  }
  l807:;	
  }
  l799:;	  goto l797;
  l798:;	  yy->__pos= yypos797; yy->__thunkpos= yythunkpos797;
  {  int yypos809= yy->__pos, yythunkpos809= yy->__thunkpos;  if (!yy_relationship(yy)) goto l810;  goto l809;
  l810:;	  yy->__pos= yypos809; yy->__thunkpos= yythunkpos809;  if (!yy_rel(yy)) goto l796;
  }
  l809:;	
  {  int yypos811= yy->__pos, yythunkpos811= yy->__thunkpos;  if (!yy_COLON(yy)) goto l812;  if (!yy__(yy)) goto l812;  if (!yy_index_name(yy)) goto l812;  yyDo(yy, yySet, -3, 0);  if (!yy_LEFT_PAREN(yy)) goto l812;  if (!yy__(yy)) goto l812;
  {  int yypos813= yy->__pos, yythunkpos813= yy->__thunkpos;  if (!yy_prop_name(yy)) goto l814;  yyDo(yy, yySet, -2, 0);  if (!yy_EQUAL(yy)) goto l814;  if (!yy__(yy)) goto l814;
  {  int yypos815= yy->__pos, yythunkpos815= yy->__thunkpos;  if (!yy_string_literal(yy)) goto l816;  yyDo(yy, yySet, -1, 0);  goto l815;
  l816:;	  yy->__pos= yypos815; yy->__thunkpos= yythunkpos815;  if (!yy_parameter(yy)) goto l814;  yyDo(yy, yySet, -1, 0);
  }
  l815:;	  if (!yy_RIGHT_PAREN(yy)) goto l814;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l814;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_5_start_point, yy->__begin, yy->__end);  goto l813;
  l814:;	  yy->__pos= yypos813; yy->__thunkpos= yythunkpos813;
  {  int yypos817= yy->__pos, yythunkpos817= yy->__thunkpos;  if (!yy_string_literal(yy)) goto l818;  yyDo(yy, yySet, -1, 0);  goto l817;
  l818:;	  yy->__pos= yypos817; yy->__thunkpos= yythunkpos817;  if (!yy_parameter(yy)) goto l812;  yyDo(yy, yySet, -1, 0);
  }
  l817:;	  if (!yy_RIGHT_PAREN(yy)) goto l812;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l812;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_6_start_point, yy->__begin, yy->__end);
  }
  l813:;	  goto l811;
  l812:;	  yy->__pos= yypos811; yy->__thunkpos= yythunkpos811;  if (!yy_LEFT_PAREN(yy)) goto l796;  if (!yy__(yy)) goto l796;
  {  int yypos819= yy->__pos, yythunkpos819= yy->__thunkpos;  if (!yy_node_ids(yy)) goto l820;  if (!yy_RIGHT_PAREN(yy)) goto l820;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l820;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_7_start_point, yy->__begin, yy->__end);  goto l819;
  l820:;	  yy->__pos= yypos819; yy->__thunkpos= yythunkpos819;  if (!yy_STAR(yy)) goto l796;  if (!yy__(yy)) goto l796;  if (!yy_RIGHT_PAREN(yy)) goto l796;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l796;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_8_start_point, yy->__begin, yy->__end);
  }
  l819:;	
  }
  l811:;	
  }
  l797:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "start_point", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 4, 0);
  return 1;
  l796:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "start_point", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_START(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "START"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l821;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l823;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l823;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l823;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l823;  if (!yy_WB(yy)) goto l823;  if (!yy__(yy)) goto l823;  goto l822;
  l823:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("START");
#undef yytext
#undef yyleng
  }  goto l821;
  l822:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "START", yy->__buf+yy->__pos));
  return 1;
  l821:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "START", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_string_literal(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "string_literal"));  yyDo(yy, yy_1_string_literal, yy->__begin, yy->__end);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l826;
#undef yytext
#undef yyleng
  }  if (!yy_quoted(yy)) goto l826;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l826;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_string_literal, yy->__begin, yy->__end);  if (!yy__(yy)) goto l826;  goto l825;
  l826:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("\"...string...\"");
#undef yytext
#undef yyleng
  }  goto l824;
  l825:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "string_literal", yy->__buf+yy->__pos));
  return 1;
  l824:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "string_literal", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_FIELDTERMINATOR(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "FIELDTERMINATOR"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l829;  if (!yy_WB(yy)) goto l829;  if (!yy__(yy)) goto l829;  goto l828;
  l829:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("FIELDTERMINATOR");
#undef yytext
#undef yyleng
  }  goto l827;
  l828:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "FIELDTERMINATOR", yy->__buf+yy->__pos));
  return 1;
  l827:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "FIELDTERMINATOR", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_AS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "AS"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l832;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l832;  if (!yy_WB(yy)) goto l832;  if (!yy__(yy)) goto l832;  goto l831;
  l832:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("AS");
#undef yytext
#undef yyleng
  }  goto l830;
  l831:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "AS", yy->__buf+yy->__pos));
  return 1;
  l830:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "AS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_FROM(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "FROM"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l835;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l835;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l835;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l835;  if (!yy_WB(yy)) goto l835;  if (!yy__(yy)) goto l835;  goto l834;
  l835:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("FROM");
#undef yytext
#undef yyleng
  }  goto l833;
  l834:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "FROM", yy->__buf+yy->__pos));
  return 1;
  l833:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "FROM", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_WITH_HEADERS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "WITH_HEADERS"));  if (!yy_WITH(yy)) goto l838;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l838;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l838;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l838;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l838;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l838;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l838;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l838;  if (!yy_WB(yy)) goto l838;  if (!yy__(yy)) goto l838;  goto l837;
  l838:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("WITH HEADERS");
#undef yytext
#undef yyleng
  }  goto l836;
  l837:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "WITH_HEADERS", yy->__buf+yy->__pos));
  return 1;
  l836:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "WITH_HEADERS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_LOADCSV(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "LOADCSV"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l839;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l841;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l841;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l841;  if (!yy_WB(yy)) goto l841;  if (!yy__(yy)) goto l841;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l841;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l841;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l841;  if (!yy_WB(yy)) goto l841;  if (!yy__(yy)) goto l841;  goto l840;
  l841:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("LOAD CSV");
#undef yytext
#undef yyleng
  }  goto l839;
  l840:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "LOADCSV", yy->__buf+yy->__pos));
  return 1;
  l839:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "LOADCSV", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_union_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "union_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l842;
#undef yytext
#undef yyleng
  }  if (!yy_UNION(yy)) goto l842;
  {  int yypos843= yy->__pos, yythunkpos843= yy->__thunkpos;  if (!yy_ALL(yy)) goto l844;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l844;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_union_clause, yy->__begin, yy->__end);  goto l843;
  l844:;	  yy->__pos= yypos843; yy->__thunkpos= yythunkpos843;  if (!yy__empty_(yy)) goto l842;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l842;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_union_clause, yy->__begin, yy->__end);
  }
  l843:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "union_clause", yy->__buf+yy->__pos));
  return 1;
  l842:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "union_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_start_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "start_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l845;
#undef yytext
#undef yyleng
  }  if (!yy_START(yy)) goto l845;  if (!yy_start_point(yy)) goto l845;  yyDo(yy, yySet, -2, 0);  if (!yy__(yy)) goto l845;  yyDo(yy, yy_1_start_clause, yy->__begin, yy->__end);
  l846:;	
  {  int yypos847= yy->__pos, yythunkpos847= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l847;  if (!yy__(yy)) goto l847;  if (!yy_start_point(yy)) goto l847;  yyDo(yy, yySet, -2, 0);  if (!yy__(yy)) goto l847;  yyDo(yy, yy_2_start_clause, yy->__begin, yy->__end);  goto l846;
  l847:;	  yy->__pos= yypos847; yy->__thunkpos= yythunkpos847;
  }
  {  int yypos848= yy->__pos, yythunkpos848= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l849;  if (!yy_expression(yy)) goto l849;  yyDo(yy, yySet, -1, 0);  goto l848;
  l849:;	  yy->__pos= yypos848; yy->__thunkpos= yythunkpos848;  if (!yy__null_(yy)) goto l845;  yyDo(yy, yySet, -1, 0);
  }
  l848:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l845;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_start_clause, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "start_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l845:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "start_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_loadcsv_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "loadcsv_clause"));
  {  int yypos851= yy->__pos, yythunkpos851= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l852;
#undef yytext
#undef yyleng
  }  if (!yy_LOADCSV(yy)) goto l852;  if (!yy_WITH_HEADERS(yy)) goto l852;  if (!yy_FROM(yy)) goto l852;  if (!yy_expression(yy)) goto l852;  yyDo(yy, yySet, -3, 0);  if (!yy_AS(yy)) goto l852;  if (!yy_identifier(yy)) goto l852;  yyDo(yy, yySet, -2, 0);
  {  int yypos853= yy->__pos, yythunkpos853= yy->__thunkpos;  if (!yy_FIELDTERMINATOR(yy)) goto l854;  if (!yy_string_literal(yy)) goto l854;  yyDo(yy, yySet, -1, 0);  goto l853;
  l854:;	  yy->__pos= yypos853; yy->__thunkpos= yythunkpos853;  if (!yy__null_(yy)) goto l852;  yyDo(yy, yySet, -1, 0);
  }
  l853:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l852;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_loadcsv_clause, yy->__begin, yy->__end);  goto l851;
  l852:;	  yy->__pos= yypos851; yy->__thunkpos= yythunkpos851;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l850;
#undef yytext
#undef yyleng
  }  if (!yy_LOADCSV(yy)) goto l850;  if (!yy_FROM(yy)) goto l850;  if (!yy_expression(yy)) goto l850;  yyDo(yy, yySet, -3, 0);  if (!yy_AS(yy)) goto l850;  if (!yy_identifier(yy)) goto l850;  yyDo(yy, yySet, -2, 0);
  {  int yypos855= yy->__pos, yythunkpos855= yy->__thunkpos;  if (!yy_FIELDTERMINATOR(yy)) goto l856;  if (!yy_string_literal(yy)) goto l856;  yyDo(yy, yySet, -1, 0);  goto l855;
  l856:;	  yy->__pos= yypos855; yy->__thunkpos= yythunkpos855;  if (!yy__null_(yy)) goto l850;  yyDo(yy, yySet, -1, 0);
  }
  l855:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l850;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_loadcsv_clause, yy->__begin, yy->__end);
  }
  l851:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "loadcsv_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l850:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "loadcsv_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_call_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "call_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l857;
#undef yytext
#undef yyleng
  }  if (!yy_CALL(yy)) goto l857;  if (!yy_proc_name(yy)) goto l857;  yyDo(yy, yySet, -3, 0);
  {  int yypos858= yy->__pos, yythunkpos858= yy->__thunkpos;  if (!yy_LEFT_PAREN(yy)) goto l858;  if (!yy__(yy)) goto l858;
  {  int yypos860= yy->__pos, yythunkpos860= yy->__thunkpos;  if (!yy_expression(yy)) goto l860;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_1_call_clause, yy->__begin, yy->__end);
  l862:;	
  {  int yypos863= yy->__pos, yythunkpos863= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l863;  if (!yy__(yy)) goto l863;  if (!yy_expression(yy)) goto l863;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_2_call_clause, yy->__begin, yy->__end);  goto l862;
  l863:;	  yy->__pos= yypos863; yy->__thunkpos= yythunkpos863;
  }  goto l861;
  l860:;	  yy->__pos= yypos860; yy->__thunkpos= yythunkpos860;
  }
  l861:;	  if (!yy_RIGHT_PAREN(yy)) goto l858;  if (!yy__(yy)) goto l858;  goto l859;
  l858:;	  yy->__pos= yypos858; yy->__thunkpos= yythunkpos858;
  }
  l859:;	
  {  int yypos864= yy->__pos, yythunkpos864= yy->__thunkpos;  if (!yy_YIELD(yy)) goto l864;
  {  int yypos866= yy->__pos, yythunkpos866= yy->__thunkpos;  if (!yy_proc_projection(yy)) goto l867;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_3_call_clause, yy->__begin, yy->__end);
  l868:;	
  {  int yypos869= yy->__pos, yythunkpos869= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l869;  if (!yy__(yy)) goto l869;  if (!yy_proc_projection(yy)) goto l869;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_4_call_clause, yy->__begin, yy->__end);  goto l868;
  l869:;	  yy->__pos= yypos869; yy->__thunkpos= yythunkpos869;
  }  goto l866;
  l867:;	  yy->__pos= yypos866; yy->__thunkpos= yythunkpos866;  if (!yymatchChar(yy, '-')) goto l864;
  }
  l866:;	  if (!yy__(yy)) goto l864;  goto l865;
  l864:;	  yy->__pos= yypos864; yy->__thunkpos= yythunkpos864;
  }
  l865:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l857;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_5_call_clause, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "call_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l857:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "call_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_foreach_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "foreach_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l870;
#undef yytext
#undef yyleng
  }  if (!yy_FOREACH(yy)) goto l870;  if (!yy_LEFT_PAREN(yy)) goto l870;  if (!yy__(yy)) goto l870;  if (!yy_identifier(yy)) goto l870;  yyDo(yy, yySet, -3, 0);  if (!yy_IN(yy)) goto l870;  if (!yy__(yy)) goto l870;  if (!yy_expression(yy)) goto l870;  yyDo(yy, yySet, -2, 0);  if (!yy_PIPE(yy)) goto l870;  if (!yy__(yy)) goto l870;  if (!yy_clause(yy)) goto l870;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_foreach_clause, yy->__begin, yy->__end);
  l871:;	
  {  int yypos872= yy->__pos, yythunkpos872= yy->__thunkpos;  if (!yy_clause(yy)) goto l872;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_foreach_clause, yy->__begin, yy->__end);  goto l871;
  l872:;	  yy->__pos= yypos872; yy->__thunkpos= yythunkpos872;
  }  if (!yy_RIGHT_PAREN(yy)) goto l870;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l870;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_foreach_clause, yy->__begin, yy->__end);  if (!yy__(yy)) goto l870;
  yyprintf((stderr, "  ok   %s @ %s\n", "foreach_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l870:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "foreach_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_with_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 5, 0);
  yyprintf((stderr, "%s\n", "with_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l873;
#undef yytext
#undef yyleng
  }  if (!yy_WITH(yy)) goto l873;
  {  int yypos874= yy->__pos, yythunkpos874= yy->__thunkpos;  if (!yy_DISTINCT(yy)) goto l875;  if (!yy_STAR(yy)) goto l875;  if (!yy__(yy)) goto l875;  if (!yy_additional_with_projections(yy)) goto l875;
  {  int yypos876= yy->__pos, yythunkpos876= yy->__thunkpos;  if (!yy_order_by(yy)) goto l877;  yyDo(yy, yySet, -5, 0);  goto l876;
  l877:;	  yy->__pos= yypos876; yy->__thunkpos= yythunkpos876;  if (!yy__null_(yy)) goto l875;  yyDo(yy, yySet, -5, 0);
  }
  l876:;	
  {  int yypos878= yy->__pos, yythunkpos878= yy->__thunkpos;  if (!yy_skip(yy)) goto l879;  yyDo(yy, yySet, -4, 0);  goto l878;
  l879:;	  yy->__pos= yypos878; yy->__thunkpos= yythunkpos878;  if (!yy__null_(yy)) goto l875;  yyDo(yy, yySet, -4, 0);
  }
  l878:;	
  {  int yypos880= yy->__pos, yythunkpos880= yy->__thunkpos;  if (!yy_limit(yy)) goto l881;  yyDo(yy, yySet, -3, 0);  goto l880;
  l881:;	  yy->__pos= yypos880; yy->__thunkpos= yythunkpos880;  if (!yy__null_(yy)) goto l875;  yyDo(yy, yySet, -3, 0);
  }
  l880:;	
  {  int yypos882= yy->__pos, yythunkpos882= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l883;  if (!yy_expression(yy)) goto l883;  yyDo(yy, yySet, -2, 0);  goto l882;
  l883:;	  yy->__pos= yypos882; yy->__thunkpos= yythunkpos882;  if (!yy__null_(yy)) goto l875;  yyDo(yy, yySet, -2, 0);
  }
  l882:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l875;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_with_clause, yy->__begin, yy->__end);  goto l874;
  l875:;	  yy->__pos= yypos874; yy->__thunkpos= yythunkpos874;  if (!yy_DISTINCT(yy)) goto l884;  if (!yy_with_projection(yy)) goto l884;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_with_clause, yy->__begin, yy->__end);  if (!yy_additional_with_projections(yy)) goto l884;
  {  int yypos885= yy->__pos, yythunkpos885= yy->__thunkpos;  if (!yy_order_by(yy)) goto l886;  yyDo(yy, yySet, -5, 0);  goto l885;
  l886:;	  yy->__pos= yypos885; yy->__thunkpos= yythunkpos885;  if (!yy__null_(yy)) goto l884;  yyDo(yy, yySet, -5, 0);
  }
  l885:;	
  {  int yypos887= yy->__pos, yythunkpos887= yy->__thunkpos;  if (!yy_skip(yy)) goto l888;  yyDo(yy, yySet, -4, 0);  goto l887;
  l888:;	  yy->__pos= yypos887; yy->__thunkpos= yythunkpos887;  if (!yy__null_(yy)) goto l884;  yyDo(yy, yySet, -4, 0);
  }
  l887:;	
  {  int yypos889= yy->__pos, yythunkpos889= yy->__thunkpos;  if (!yy_limit(yy)) goto l890;  yyDo(yy, yySet, -3, 0);  goto l889;
  l890:;	  yy->__pos= yypos889; yy->__thunkpos= yythunkpos889;  if (!yy__null_(yy)) goto l884;  yyDo(yy, yySet, -3, 0);
  }
  l889:;	
  {  int yypos891= yy->__pos, yythunkpos891= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l892;  if (!yy_expression(yy)) goto l892;  yyDo(yy, yySet, -2, 0);  goto l891;
  l892:;	  yy->__pos= yypos891; yy->__thunkpos= yythunkpos891;  if (!yy__null_(yy)) goto l884;  yyDo(yy, yySet, -2, 0);
  }
  l891:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l884;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_with_clause, yy->__begin, yy->__end);  goto l874;
  l884:;	  yy->__pos= yypos874; yy->__thunkpos= yythunkpos874;  if (!yy_STAR(yy)) goto l893;  if (!yy__(yy)) goto l893;  if (!yy_additional_with_projections(yy)) goto l893;
  {  int yypos894= yy->__pos, yythunkpos894= yy->__thunkpos;  if (!yy_order_by(yy)) goto l895;  yyDo(yy, yySet, -5, 0);  goto l894;
  l895:;	  yy->__pos= yypos894; yy->__thunkpos= yythunkpos894;  if (!yy__null_(yy)) goto l893;  yyDo(yy, yySet, -5, 0);
  }
  l894:;	
  {  int yypos896= yy->__pos, yythunkpos896= yy->__thunkpos;  if (!yy_skip(yy)) goto l897;  yyDo(yy, yySet, -4, 0);  goto l896;
  l897:;	  yy->__pos= yypos896; yy->__thunkpos= yythunkpos896;  if (!yy__null_(yy)) goto l893;  yyDo(yy, yySet, -4, 0);
  }
  l896:;	
  {  int yypos898= yy->__pos, yythunkpos898= yy->__thunkpos;  if (!yy_limit(yy)) goto l899;  yyDo(yy, yySet, -3, 0);  goto l898;
  l899:;	  yy->__pos= yypos898; yy->__thunkpos= yythunkpos898;  if (!yy__null_(yy)) goto l893;  yyDo(yy, yySet, -3, 0);
  }
  l898:;	
  {  int yypos900= yy->__pos, yythunkpos900= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l901;  if (!yy_expression(yy)) goto l901;  yyDo(yy, yySet, -2, 0);  goto l900;
  l901:;	  yy->__pos= yypos900; yy->__thunkpos= yythunkpos900;  if (!yy__null_(yy)) goto l893;  yyDo(yy, yySet, -2, 0);
  }
  l900:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l893;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_with_clause, yy->__begin, yy->__end);  goto l874;
  l893:;	  yy->__pos= yypos874; yy->__thunkpos= yythunkpos874;  if (!yy_with_projection(yy)) goto l873;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_5_with_clause, yy->__begin, yy->__end);  if (!yy_additional_with_projections(yy)) goto l873;
  {  int yypos902= yy->__pos, yythunkpos902= yy->__thunkpos;  if (!yy_order_by(yy)) goto l903;  yyDo(yy, yySet, -5, 0);  goto l902;
  l903:;	  yy->__pos= yypos902; yy->__thunkpos= yythunkpos902;  if (!yy__null_(yy)) goto l873;  yyDo(yy, yySet, -5, 0);
  }
  l902:;	
  {  int yypos904= yy->__pos, yythunkpos904= yy->__thunkpos;  if (!yy_skip(yy)) goto l905;  yyDo(yy, yySet, -4, 0);  goto l904;
  l905:;	  yy->__pos= yypos904; yy->__thunkpos= yythunkpos904;  if (!yy__null_(yy)) goto l873;  yyDo(yy, yySet, -4, 0);
  }
  l904:;	
  {  int yypos906= yy->__pos, yythunkpos906= yy->__thunkpos;  if (!yy_limit(yy)) goto l907;  yyDo(yy, yySet, -3, 0);  goto l906;
  l907:;	  yy->__pos= yypos906; yy->__thunkpos= yythunkpos906;  if (!yy__null_(yy)) goto l873;  yyDo(yy, yySet, -3, 0);
  }
  l906:;	
  {  int yypos908= yy->__pos, yythunkpos908= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l909;  if (!yy_expression(yy)) goto l909;  yyDo(yy, yySet, -2, 0);  goto l908;
  l909:;	  yy->__pos= yypos908; yy->__thunkpos= yythunkpos908;  if (!yy__null_(yy)) goto l873;  yyDo(yy, yySet, -2, 0);
  }
  l908:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l873;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_6_with_clause, yy->__begin, yy->__end);
  }
  l874:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "with_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 5, 0);
  return 1;
  l873:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "with_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_remove_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "remove_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l910;
#undef yytext
#undef yyleng
  }  if (!yy_REMOVE(yy)) goto l910;  if (!yy_remove_item(yy)) goto l910;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_remove_clause, yy->__begin, yy->__end);
  l911:;	
  {  int yypos912= yy->__pos, yythunkpos912= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l912;  if (!yy__(yy)) goto l912;  if (!yy_remove_item(yy)) goto l912;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_remove_clause, yy->__begin, yy->__end);  goto l911;
  l912:;	  yy->__pos= yypos912; yy->__thunkpos= yythunkpos912;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l910;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_remove_clause, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "remove_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l910:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "remove_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_delete_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "delete_clause"));
  {  int yypos914= yy->__pos, yythunkpos914= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l915;
#undef yytext
#undef yyleng
  }  if (!yy_DETACH_DELETE(yy)) goto l915;  if (!yy_expression(yy)) goto l915;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_delete_clause, yy->__begin, yy->__end);
  l916:;	
  {  int yypos917= yy->__pos, yythunkpos917= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l917;  if (!yy__(yy)) goto l917;  if (!yy_expression(yy)) goto l917;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_delete_clause, yy->__begin, yy->__end);  goto l916;
  l917:;	  yy->__pos= yypos917; yy->__thunkpos= yythunkpos917;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l915;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_delete_clause, yy->__begin, yy->__end);  goto l914;
  l915:;	  yy->__pos= yypos914; yy->__thunkpos= yythunkpos914;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l913;
#undef yytext
#undef yyleng
  }  if (!yy_DELETE(yy)) goto l913;  if (!yy_expression(yy)) goto l913;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_4_delete_clause, yy->__begin, yy->__end);
  l918:;	
  {  int yypos919= yy->__pos, yythunkpos919= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l919;  if (!yy__(yy)) goto l919;  if (!yy_expression(yy)) goto l919;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_5_delete_clause, yy->__begin, yy->__end);  goto l918;
  l919:;	  yy->__pos= yypos919; yy->__thunkpos= yythunkpos919;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l913;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_6_delete_clause, yy->__begin, yy->__end);
  }
  l914:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "delete_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l913:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "delete_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_set_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "set_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l920;
#undef yytext
#undef yyleng
  }  if (!yy_SET(yy)) goto l920;  if (!yy_set_item(yy)) goto l920;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_set_clause, yy->__begin, yy->__end);
  l921:;	
  {  int yypos922= yy->__pos, yythunkpos922= yy->__thunkpos;  if (!yy_COMMA(yy)) goto l922;  if (!yy__(yy)) goto l922;  if (!yy_set_item(yy)) goto l922;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_set_clause, yy->__begin, yy->__end);  goto l921;
  l922:;	  yy->__pos= yypos922; yy->__thunkpos= yythunkpos922;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l920;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_set_clause, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "set_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l920:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "set_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_create_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "create_clause"));
  {  int yypos924= yy->__pos, yythunkpos924= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l925;
#undef yytext
#undef yyleng
  }  if (!yy_CREATE_UNIQUE(yy)) goto l925;  if (!yy_pattern(yy)) goto l925;  yyDo(yy, yySet, -1, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l925;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_create_clause, yy->__begin, yy->__end);  goto l924;
  l925:;	  yy->__pos= yypos924; yy->__thunkpos= yythunkpos924;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l923;
#undef yytext
#undef yyleng
  }  if (!yy_CREATE(yy)) goto l923;  if (!yy_pattern(yy)) goto l923;  yyDo(yy, yySet, -1, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l923;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_create_clause, yy->__begin, yy->__end);
  }
  l924:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "create_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l923:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "create_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_merge_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "merge_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l926;
#undef yytext
#undef yyleng
  }  if (!yy_MERGE(yy)) goto l926;  if (!yy_pattern_part(yy)) goto l926;  yyDo(yy, yySet, -2, 0);  if (!yy__(yy)) goto l926;
  l927:;	
  {  int yypos928= yy->__pos, yythunkpos928= yy->__thunkpos;  if (!yy_merge_action(yy)) goto l928;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_merge_clause, yy->__begin, yy->__end);  goto l927;
  l928:;	  yy->__pos= yypos928; yy->__thunkpos= yythunkpos928;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l926;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_merge_clause, yy->__begin, yy->__end);  if (!yy__(yy)) goto l926;
  yyprintf((stderr, "  ok   %s @ %s\n", "merge_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l926:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "merge_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_unwind_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "unwind_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l929;
#undef yytext
#undef yyleng
  }  if (!yy_UNWIND(yy)) goto l929;  if (!yy_expression(yy)) goto l929;  yyDo(yy, yySet, -2, 0);  if (!yy_AS(yy)) goto l929;  if (!yy_identifier(yy)) goto l929;  yyDo(yy, yySet, -1, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l929;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_unwind_clause, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "unwind_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l929:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "unwind_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_return_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 4, 0);
  yyprintf((stderr, "%s\n", "return_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l930;
#undef yytext
#undef yyleng
  }  if (!yy_RETURN(yy)) goto l930;
  {  int yypos931= yy->__pos, yythunkpos931= yy->__thunkpos;  if (!yy_DISTINCT(yy)) goto l932;  if (!yy_STAR(yy)) goto l932;  if (!yy__(yy)) goto l932;  if (!yy_additional_return_projections(yy)) goto l932;
  {  int yypos933= yy->__pos, yythunkpos933= yy->__thunkpos;  if (!yy_order_by(yy)) goto l934;  yyDo(yy, yySet, -4, 0);  goto l933;
  l934:;	  yy->__pos= yypos933; yy->__thunkpos= yythunkpos933;  if (!yy__null_(yy)) goto l932;  yyDo(yy, yySet, -4, 0);
  }
  l933:;	
  {  int yypos935= yy->__pos, yythunkpos935= yy->__thunkpos;  if (!yy_skip(yy)) goto l936;  yyDo(yy, yySet, -3, 0);  goto l935;
  l936:;	  yy->__pos= yypos935; yy->__thunkpos= yythunkpos935;  if (!yy__null_(yy)) goto l932;  yyDo(yy, yySet, -3, 0);
  }
  l935:;	
  {  int yypos937= yy->__pos, yythunkpos937= yy->__thunkpos;  if (!yy_limit(yy)) goto l938;  yyDo(yy, yySet, -2, 0);  goto l937;
  l938:;	  yy->__pos= yypos937; yy->__thunkpos= yythunkpos937;  if (!yy__null_(yy)) goto l932;  yyDo(yy, yySet, -2, 0);
  }
  l937:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l932;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_return_clause, yy->__begin, yy->__end);  goto l931;
  l932:;	  yy->__pos= yypos931; yy->__thunkpos= yythunkpos931;  if (!yy_DISTINCT(yy)) goto l939;  if (!yy_return_projection(yy)) goto l939;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_2_return_clause, yy->__begin, yy->__end);  if (!yy_additional_return_projections(yy)) goto l939;
  {  int yypos940= yy->__pos, yythunkpos940= yy->__thunkpos;  if (!yy_order_by(yy)) goto l941;  yyDo(yy, yySet, -4, 0);  goto l940;
  l941:;	  yy->__pos= yypos940; yy->__thunkpos= yythunkpos940;  if (!yy__null_(yy)) goto l939;  yyDo(yy, yySet, -4, 0);
  }
  l940:;	
  {  int yypos942= yy->__pos, yythunkpos942= yy->__thunkpos;  if (!yy_skip(yy)) goto l943;  yyDo(yy, yySet, -3, 0);  goto l942;
  l943:;	  yy->__pos= yypos942; yy->__thunkpos= yythunkpos942;  if (!yy__null_(yy)) goto l939;  yyDo(yy, yySet, -3, 0);
  }
  l942:;	
  {  int yypos944= yy->__pos, yythunkpos944= yy->__thunkpos;  if (!yy_limit(yy)) goto l945;  yyDo(yy, yySet, -2, 0);  goto l944;
  l945:;	  yy->__pos= yypos944; yy->__thunkpos= yythunkpos944;  if (!yy__null_(yy)) goto l939;  yyDo(yy, yySet, -2, 0);
  }
  l944:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l939;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_return_clause, yy->__begin, yy->__end);  goto l931;
  l939:;	  yy->__pos= yypos931; yy->__thunkpos= yythunkpos931;  if (!yy_STAR(yy)) goto l946;  if (!yy__(yy)) goto l946;  if (!yy_additional_return_projections(yy)) goto l946;
  {  int yypos947= yy->__pos, yythunkpos947= yy->__thunkpos;  if (!yy_order_by(yy)) goto l948;  yyDo(yy, yySet, -4, 0);  goto l947;
  l948:;	  yy->__pos= yypos947; yy->__thunkpos= yythunkpos947;  if (!yy__null_(yy)) goto l946;  yyDo(yy, yySet, -4, 0);
  }
  l947:;	
  {  int yypos949= yy->__pos, yythunkpos949= yy->__thunkpos;  if (!yy_skip(yy)) goto l950;  yyDo(yy, yySet, -3, 0);  goto l949;
  l950:;	  yy->__pos= yypos949; yy->__thunkpos= yythunkpos949;  if (!yy__null_(yy)) goto l946;  yyDo(yy, yySet, -3, 0);
  }
  l949:;	
  {  int yypos951= yy->__pos, yythunkpos951= yy->__thunkpos;  if (!yy_limit(yy)) goto l952;  yyDo(yy, yySet, -2, 0);  goto l951;
  l952:;	  yy->__pos= yypos951; yy->__thunkpos= yythunkpos951;  if (!yy__null_(yy)) goto l946;  yyDo(yy, yySet, -2, 0);
  }
  l951:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l946;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_return_clause, yy->__begin, yy->__end);  goto l931;
  l946:;	  yy->__pos= yypos931; yy->__thunkpos= yythunkpos931;  if (!yy_return_projection(yy)) goto l930;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_5_return_clause, yy->__begin, yy->__end);  if (!yy_additional_return_projections(yy)) goto l930;
  {  int yypos953= yy->__pos, yythunkpos953= yy->__thunkpos;  if (!yy_order_by(yy)) goto l954;  yyDo(yy, yySet, -4, 0);  goto l953;
  l954:;	  yy->__pos= yypos953; yy->__thunkpos= yythunkpos953;  if (!yy__null_(yy)) goto l930;  yyDo(yy, yySet, -4, 0);
  }
  l953:;	
  {  int yypos955= yy->__pos, yythunkpos955= yy->__thunkpos;  if (!yy_skip(yy)) goto l956;  yyDo(yy, yySet, -3, 0);  goto l955;
  l956:;	  yy->__pos= yypos955; yy->__thunkpos= yythunkpos955;  if (!yy__null_(yy)) goto l930;  yyDo(yy, yySet, -3, 0);
  }
  l955:;	
  {  int yypos957= yy->__pos, yythunkpos957= yy->__thunkpos;  if (!yy_limit(yy)) goto l958;  yyDo(yy, yySet, -2, 0);  goto l957;
  l958:;	  yy->__pos= yypos957; yy->__thunkpos= yythunkpos957;  if (!yy__null_(yy)) goto l930;  yyDo(yy, yySet, -2, 0);
  }
  l957:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l930;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_6_return_clause, yy->__begin, yy->__end);
  }
  l931:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "return_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 4, 0);
  return 1;
  l930:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "return_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_match_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 3, 0);
  yyprintf((stderr, "%s\n", "match_clause"));
  {  int yypos960= yy->__pos, yythunkpos960= yy->__thunkpos;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l961;
#undef yytext
#undef yyleng
  }  if (!yy_OPTIONAL_MATCH(yy)) goto l961;  if (!yy_pattern(yy)) goto l961;  yyDo(yy, yySet, -3, 0);
  l962:;	
  {  int yypos963= yy->__pos, yythunkpos963= yy->__thunkpos;  if (!yy_hint(yy)) goto l963;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_1_match_clause, yy->__begin, yy->__end);  goto l962;
  l963:;	  yy->__pos= yypos963; yy->__thunkpos= yythunkpos963;
  }
  {  int yypos964= yy->__pos, yythunkpos964= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l965;  if (!yy_expression(yy)) goto l965;  yyDo(yy, yySet, -1, 0);  goto l964;
  l965:;	  yy->__pos= yypos964; yy->__thunkpos= yythunkpos964;  if (!yy__null_(yy)) goto l961;  yyDo(yy, yySet, -1, 0);
  }
  l964:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l961;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_match_clause, yy->__begin, yy->__end);  goto l960;
  l961:;	  yy->__pos= yypos960; yy->__thunkpos= yythunkpos960;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l959;
#undef yytext
#undef yyleng
  }  if (!yy_MATCH(yy)) goto l959;  if (!yy_pattern(yy)) goto l959;  yyDo(yy, yySet, -3, 0);
  l966:;	
  {  int yypos967= yy->__pos, yythunkpos967= yy->__thunkpos;  if (!yy_hint(yy)) goto l967;  yyDo(yy, yySet, -2, 0);  yyDo(yy, yy_3_match_clause, yy->__begin, yy->__end);  goto l966;
  l967:;	  yy->__pos= yypos967; yy->__thunkpos= yythunkpos967;
  }
  {  int yypos968= yy->__pos, yythunkpos968= yy->__thunkpos;  if (!yy_WHERE(yy)) goto l969;  if (!yy_expression(yy)) goto l969;  yyDo(yy, yySet, -1, 0);  goto l968;
  l969:;	  yy->__pos= yypos968; yy->__thunkpos= yythunkpos968;  if (!yy__null_(yy)) goto l959;  yyDo(yy, yySet, -1, 0);
  }
  l968:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l959;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_4_match_clause, yy->__begin, yy->__end);
  }
  l960:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "match_clause", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 3, 0);
  return 1;
  l959:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "match_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_integer_literal(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "integer_literal"));  yyDo(yy, yy_1_integer_literal, yy->__begin, yy->__end);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l972;
#undef yytext
#undef yyleng
  }  if (!yy_integer_string(yy)) goto l972;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l972;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_integer_literal, yy->__begin, yy->__end);  if (!yy__(yy)) goto l972;  goto l971;
  l972:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("an integer");
#undef yytext
#undef yyleng
  }  goto l970;
  l971:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "integer_literal", yy->__buf+yy->__pos));
  return 1;
  l970:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "integer_literal", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_USING_PERIODIC_COMMIT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "USING_PERIODIC_COMMIT"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l973;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yy_WB(yy)) goto l975;  if (!yy__(yy)) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yy_WB(yy)) goto l975;  if (!yy__(yy)) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l975;  if (!yy_WB(yy)) goto l975;  if (!yy__(yy)) goto l975;  goto l974;
  l975:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("USING PERIODIC COMMIT");
#undef yytext
#undef yyleng
  }  goto l973;
  l974:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "USING_PERIODIC_COMMIT", yy->__buf+yy->__pos));
  return 1;
  l973:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "USING_PERIODIC_COMMIT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_skip_to_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "skip_to_clause"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l976;
#undef yytext
#undef yyleng
  }  if (!yymatchDot(yy)) goto l976;
  l977:;	
  {  int yypos978= yy->__pos, yythunkpos978= yy->__thunkpos;
  {  int yypos979= yy->__pos, yythunkpos979= yy->__thunkpos;
  {  int yypos980= yy->__pos, yythunkpos980= yy->__thunkpos;  if (!yy_EOF(yy)) goto l981;  goto l980;
  l981:;	  yy->__pos= yypos980; yy->__thunkpos= yythunkpos980;  if (!yy_SEMICOLON(yy)) goto l982;  goto l980;
  l982:;	  yy->__pos= yypos980; yy->__thunkpos= yythunkpos980;
  {  int yypos983= yy->__pos, yythunkpos983= yy->__thunkpos;  if (!yy_WS(yy)) goto l984;  goto l983;
  l984:;	  yy->__pos= yypos983; yy->__thunkpos= yythunkpos983;  if (!yy_comment(yy)) goto l979;
  }
  l983:;	  if (!yy_resync_clause(yy)) goto l979;
  }
  l980:;	  goto l978;
  l979:;	  yy->__pos= yypos979; yy->__thunkpos= yythunkpos979;
  }  if (!yymatchDot(yy)) goto l978;  goto l977;
  l978:;	  yy->__pos= yypos978; yy->__thunkpos= yythunkpos978;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l976;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_skip_to_clause, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "skip_to_clause", yy->__buf+yy->__pos));
  return 1;
  l976:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "skip_to_clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__cut_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_cut_"));  if (!yy__empty_(yy)) goto l985;
  yyprintf((stderr, "  ok   %s @ %s\n", "_cut_", yy->__buf+yy->__pos));
  return 1;
  l985:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_cut_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__clauses(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "_clauses"));
  {  int yypos987= yy->__pos, yythunkpos987= yy->__thunkpos;  if (!yy_SEMICOLON(yy)) goto l988;  goto l987;
  l988:;	  yy->__pos= yypos987; yy->__thunkpos= yythunkpos987;  if (!yy_EOF(yy)) goto l989;  goto l987;
  l989:;	  yy->__pos= yypos987; yy->__thunkpos= yythunkpos987;  if (!yy_clause(yy)) goto l990;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1__clauses, yy->__begin, yy->__end);  if (!yy__cut_(yy)) goto l990;  if (!yy__clauses(yy)) goto l990;  goto l987;
  l990:;	  yy->__pos= yypos987; yy->__thunkpos= yythunkpos987;  if (!yy__error_(yy)) goto l986;
  {  int yypos991= yy->__pos, yythunkpos991= yy->__thunkpos;  if (!yy_EOF(yy)) goto l992;  goto l991;
  l992:;	  yy->__pos= yypos991; yy->__thunkpos= yythunkpos991;  if (!yy_skip_to_clause(yy)) goto l986;
  }
  l991:;	  if (!yy__(yy)) goto l986;  if (!yy__clauses(yy)) goto l986;
  }
  l987:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "_clauses", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l986:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_clauses", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_clause(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "clause"));
  {  int yypos996= yy->__pos, yythunkpos996= yy->__thunkpos;  if (!yy_match_clause(yy)) goto l997;  goto l996;
  l997:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_return_clause(yy)) goto l998;  goto l996;
  l998:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_unwind_clause(yy)) goto l999;  goto l996;
  l999:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_merge_clause(yy)) goto l1000;  goto l996;
  l1000:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_create_clause(yy)) goto l1001;  goto l996;
  l1001:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_set_clause(yy)) goto l1002;  goto l996;
  l1002:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_delete_clause(yy)) goto l1003;  goto l996;
  l1003:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_remove_clause(yy)) goto l1004;  goto l996;
  l1004:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_with_clause(yy)) goto l1005;  goto l996;
  l1005:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_foreach_clause(yy)) goto l1006;  goto l996;
  l1006:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_call_clause(yy)) goto l1007;  goto l996;
  l1007:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_loadcsv_clause(yy)) goto l1008;  goto l996;
  l1008:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_start_clause(yy)) goto l1009;  goto l996;
  l1009:;	  yy->__pos= yypos996; yy->__thunkpos= yythunkpos996;  if (!yy_union_clause(yy)) goto l995;
  }
  l996:;	  goto l994;
  l995:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a clause");
#undef yytext
#undef yyleng
  }  goto l993;
  l994:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "clause", yy->__buf+yy->__pos));
  return 1;
  l993:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "clause", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_periodic_commit(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "periodic_commit"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1010;
#undef yytext
#undef yyleng
  }  if (!yy_USING_PERIODIC_COMMIT(yy)) goto l1010;
  {  int yypos1011= yy->__pos, yythunkpos1011= yy->__thunkpos;  if (!yy_integer_literal(yy)) goto l1012;  yyDo(yy, yySet, -1, 0);  goto l1011;
  l1012:;	  yy->__pos= yypos1011; yy->__thunkpos= yythunkpos1011;  if (!yy__null_(yy)) goto l1010;  yyDo(yy, yySet, -1, 0);
  }
  l1011:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1010;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_periodic_commit, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "periodic_commit", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l1010:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "periodic_commit", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_clauses(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "clauses"));  if (!yy_clause(yy)) goto l1013;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_clauses, yy->__begin, yy->__end);  if (!yy__clauses(yy)) goto l1013;
  yyprintf((stderr, "  ok   %s @ %s\n", "clauses", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l1013:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "clauses", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_query_hints(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "query_hints"));  if (!yy_periodic_commit(yy)) goto l1016;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_query_hints, yy->__begin, yy->__end);  goto l1015;
  l1016:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a query hint");
#undef yytext
#undef yyleng
  }  goto l1014;
  l1015:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "query_hints", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l1014:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "query_hints", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DROP_CONSTRAINT_ON(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DROP_CONSTRAINT_ON"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1017;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yy_WB(yy)) goto l1019;  if (!yy__(yy)) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yy_WB(yy)) goto l1019;  if (!yy__(yy)) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1019;  if (!yy_WB(yy)) goto l1019;  if (!yy__(yy)) goto l1019;  goto l1018;
  l1019:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("DROP CONSTRAINT ON");
#undef yytext
#undef yyleng
  }  goto l1017;
  l1018:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DROP_CONSTRAINT_ON", yy->__buf+yy->__pos));
  return 1;
  l1017:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DROP_CONSTRAINT_ON", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DROP_INDEX_ON(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DROP_INDEX_ON"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1020;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yy_WB(yy)) goto l1022;  if (!yy__(yy)) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yy_WB(yy)) goto l1022;  if (!yy__(yy)) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1022;  if (!yy_WB(yy)) goto l1022;  if (!yy__(yy)) goto l1022;  goto l1021;
  l1022:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("DROP INDEX ON");
#undef yytext
#undef yyleng
  }  goto l1020;
  l1021:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DROP_INDEX_ON", yy->__buf+yy->__pos));
  return 1;
  l1020:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DROP_INDEX_ON", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_RIGHT_ARROW_HEAD(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "RIGHT_ARROW_HEAD"));  if (!yymatchChar(yy, '>')) goto l1025;  goto l1024;
  l1025:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'>'");
#undef yytext
#undef yyleng
  }  goto l1023;
  l1024:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "RIGHT_ARROW_HEAD", yy->__buf+yy->__pos));
  return 1;
  l1023:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "RIGHT_ARROW_HEAD", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_RIGHT_SQ_PAREN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "RIGHT_SQ_PAREN"));  if (!yymatchChar(yy, ']')) goto l1028;  goto l1027;
  l1028:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("']'");
#undef yytext
#undef yyleng
  }  goto l1026;
  l1027:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "RIGHT_SQ_PAREN", yy->__buf+yy->__pos));
  return 1;
  l1026:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "RIGHT_SQ_PAREN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_rel_type(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "rel_type"));  if (!yy__block_start_(yy)) goto l1029;  yyDo(yy, yy_1_rel_type, yy->__begin, yy->__end);  if (!yymatchChar(yy, ':')) goto l1031;  if (!yy__(yy)) goto l1031;  if (!yy_symbolic_name(yy)) goto l1031;  goto l1030;
  l1031:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a relationship type");
#undef yytext
#undef yyleng
  }  goto l1029;
  l1030:;	  if (!yy__block_merge_(yy)) goto l1029;  yyDo(yy, yy_2_rel_type, yy->__begin, yy->__end);  if (!yy__(yy)) goto l1029;
  yyprintf((stderr, "  ok   %s @ %s\n", "rel_type", yy->__buf+yy->__pos));
  return 1;
  l1029:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "rel_type", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_LEFT_SQ_PAREN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "LEFT_SQ_PAREN"));  if (!yymatchChar(yy, '[')) goto l1034;  goto l1033;
  l1034:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'['");
#undef yytext
#undef yyleng
  }  goto l1032;
  l1033:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "LEFT_SQ_PAREN", yy->__buf+yy->__pos));
  return 1;
  l1032:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "LEFT_SQ_PAREN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DASH(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DASH"));  if (!yymatchChar(yy, '-')) goto l1037;  goto l1036;
  l1037:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'-'");
#undef yytext
#undef yyleng
  }  goto l1035;
  l1036:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DASH", yy->__buf+yy->__pos));
  return 1;
  l1035:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DASH", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_LEFT_ARROW_HEAD(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "LEFT_ARROW_HEAD"));  if (!yymatchChar(yy, '<')) goto l1040;  goto l1039;
  l1040:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'<'");
#undef yytext
#undef yyleng
  }  goto l1038;
  l1039:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "LEFT_ARROW_HEAD", yy->__buf+yy->__pos));
  return 1;
  l1038:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "LEFT_ARROW_HEAD", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_IS_UNIQUE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "IS_UNIQUE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1043;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1043;  if (!yy_WB(yy)) goto l1043;  if (!yy__(yy)) goto l1043;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1043;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1043;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1043;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1043;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1043;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1043;  if (!yy_WB(yy)) goto l1043;  if (!yy__(yy)) goto l1043;  goto l1042;
  l1043:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("IS UNIQUE");
#undef yytext
#undef yyleng
  }  goto l1041;
  l1042:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "IS_UNIQUE", yy->__buf+yy->__pos));
  return 1;
  l1041:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "IS_UNIQUE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_expression(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "expression"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_PUSH_TOP())) goto l1044;
#undef yytext
#undef yyleng
  }  if (!yy__expression(yy)) goto l1046;  yyDo(yy, yySet, -1, 0);  goto l1045;
  l1046:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  PREC_POP();
#undef yytext
#undef yyleng
  }  goto l1044;
  l1045:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(PREC_POP())) goto l1044;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_expression, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "expression", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l1044:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "expression", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_ASSERT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "ASSERT"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1049;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1049;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1049;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1049;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1049;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1049;  if (!yy_WB(yy)) goto l1049;  if (!yy__(yy)) goto l1049;  goto l1048;
  l1049:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("ASSERT");
#undef yytext
#undef yyleng
  }  goto l1047;
  l1048:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "ASSERT", yy->__buf+yy->__pos));
  return 1;
  l1047:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ASSERT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_identifier(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "identifier"));  yyDo(yy, yy_1_identifier, yy->__begin, yy->__end);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1052;
#undef yytext
#undef yyleng
  }  if (!yy_symbolic_name(yy)) goto l1052;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1052;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_identifier, yy->__begin, yy->__end);  if (!yy__(yy)) goto l1052;  goto l1051;
  l1052:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("an identifier");
#undef yytext
#undef yyleng
  }  goto l1050;
  l1051:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "identifier", yy->__buf+yy->__pos));
  return 1;
  l1050:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "identifier", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_CREATE_CONSTRAINT_ON(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "CREATE_CONSTRAINT_ON"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1053;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yy_WB(yy)) goto l1055;  if (!yy__(yy)) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yy_WB(yy)) goto l1055;  if (!yy__(yy)) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1055;  if (!yy_WB(yy)) goto l1055;  if (!yy__(yy)) goto l1055;  goto l1054;
  l1055:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("CREATE CONSTRAINT ON");
#undef yytext
#undef yyleng
  }  goto l1053;
  l1054:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "CREATE_CONSTRAINT_ON", yy->__buf+yy->__pos));
  return 1;
  l1053:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "CREATE_CONSTRAINT_ON", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_RIGHT_PAREN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "RIGHT_PAREN"));  if (!yymatchChar(yy, ')')) goto l1058;  goto l1057;
  l1058:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("')'");
#undef yytext
#undef yyleng
  }  goto l1056;
  l1057:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "RIGHT_PAREN", yy->__buf+yy->__pos));
  return 1;
  l1056:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "RIGHT_PAREN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_prop_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "prop_name"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1059;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_prop_name, yy->__begin, yy->__end);  if (!yy_symbolic_name(yy)) goto l1061;  goto l1060;
  l1061:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a property name");
#undef yytext
#undef yyleng
  }  goto l1059;
  l1060:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1059;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_prop_name, yy->__begin, yy->__end);  if (!yy__(yy)) goto l1059;
  yyprintf((stderr, "  ok   %s @ %s\n", "prop_name", yy->__buf+yy->__pos));
  return 1;
  l1059:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "prop_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_LEFT_PAREN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "LEFT_PAREN"));  if (!yymatchChar(yy, '(')) goto l1064;  goto l1063;
  l1064:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'('");
#undef yytext
#undef yyleng
  }  goto l1062;
  l1063:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "LEFT_PAREN", yy->__buf+yy->__pos));
  return 1;
  l1062:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "LEFT_PAREN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_label(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "label"));  if (!yy__block_start_(yy)) goto l1065;  yyDo(yy, yy_1_label, yy->__begin, yy->__end);  if (!yymatchChar(yy, ':')) goto l1067;  if (!yy__(yy)) goto l1067;  if (!yy_symbolic_name(yy)) goto l1067;  goto l1066;
  l1067:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a label");
#undef yytext
#undef yyleng
  }  goto l1065;
  l1066:;	  if (!yy__block_merge_(yy)) goto l1065;  yyDo(yy, yy_2_label, yy->__begin, yy->__end);  if (!yy__(yy)) goto l1065;
  yyprintf((stderr, "  ok   %s @ %s\n", "label", yy->__buf+yy->__pos));
  return 1;
  l1065:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "label", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_CREATE_INDEX_ON(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "CREATE_INDEX_ON"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1068;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yy_WB(yy)) goto l1070;  if (!yy__(yy)) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yy_WB(yy)) goto l1070;  if (!yy__(yy)) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1070;  if (!yy_WB(yy)) goto l1070;  if (!yy__(yy)) goto l1070;  goto l1069;
  l1070:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("CREATE INDEX ON");
#undef yytext
#undef yyleng
  }  goto l1068;
  l1069:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "CREATE_INDEX_ON", yy->__buf+yy->__pos));
  return 1;
  l1068:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "CREATE_INDEX_ON", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_drop_constraint(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 4, 0);
  yyprintf((stderr, "%s\n", "drop_constraint"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1071;
#undef yytext
#undef yyleng
  }  if (!yy_DROP_CONSTRAINT_ON(yy)) goto l1071;
  {  int yypos1072= yy->__pos, yythunkpos1072= yy->__thunkpos;  if (!yy_LEFT_PAREN(yy)) goto l1073;  if (!yy__(yy)) goto l1073;  if (!yy_identifier(yy)) goto l1073;  yyDo(yy, yySet, -4, 0);  if (!yy_label(yy)) goto l1073;  yyDo(yy, yySet, -3, 0);  if (!yy_RIGHT_PAREN(yy)) goto l1073;  if (!yy__(yy)) goto l1073;  if (!yy_ASSERT(yy)) goto l1073;
  {  int yypos1074= yy->__pos, yythunkpos1074= yy->__thunkpos;  if (!yy_expression(yy)) goto l1075;  yyDo(yy, yySet, -2, 0);  if (!yy_IS_UNIQUE(yy)) goto l1075;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1075;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_drop_constraint, yy->__begin, yy->__end);  goto l1074;
  l1075:;	  yy->__pos= yypos1074; yy->__thunkpos= yythunkpos1074;  if (!yy_expression(yy)) goto l1073;  yyDo(yy, yySet, -2, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1073;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_drop_constraint, yy->__begin, yy->__end);
  }
  l1074:;	  goto l1072;
  l1073:;	  yy->__pos= yypos1072; yy->__thunkpos= yythunkpos1072;  if (!yy_LEFT_PAREN(yy)) goto l1071;  if (!yy__(yy)) goto l1071;  if (!yy_RIGHT_PAREN(yy)) goto l1071;  if (!yy__(yy)) goto l1071;
  {  int yypos1076= yy->__pos, yythunkpos1076= yy->__thunkpos;  if (!yy_LEFT_ARROW_HEAD(yy)) goto l1076;  if (!yy__(yy)) goto l1076;  goto l1077;
  l1076:;	  yy->__pos= yypos1076; yy->__thunkpos= yythunkpos1076;
  }
  l1077:;	  if (!yy_DASH(yy)) goto l1071;  if (!yy__(yy)) goto l1071;  if (!yy_LEFT_SQ_PAREN(yy)) goto l1071;  if (!yy__(yy)) goto l1071;  if (!yy_identifier(yy)) goto l1071;  yyDo(yy, yySet, -4, 0);  if (!yy_rel_type(yy)) goto l1071;  yyDo(yy, yySet, -1, 0);  if (!yy_RIGHT_SQ_PAREN(yy)) goto l1071;  if (!yy__(yy)) goto l1071;  if (!yy_DASH(yy)) goto l1071;  if (!yy__(yy)) goto l1071;
  {  int yypos1078= yy->__pos, yythunkpos1078= yy->__thunkpos;  if (!yy_RIGHT_ARROW_HEAD(yy)) goto l1078;  if (!yy__(yy)) goto l1078;  goto l1079;
  l1078:;	  yy->__pos= yypos1078; yy->__thunkpos= yythunkpos1078;
  }
  l1079:;	  if (!yy_LEFT_PAREN(yy)) goto l1071;  if (!yy__(yy)) goto l1071;  if (!yy_RIGHT_PAREN(yy)) goto l1071;  if (!yy__(yy)) goto l1071;  if (!yy_ASSERT(yy)) goto l1071;  if (!yy_expression(yy)) goto l1071;  yyDo(yy, yySet, -2, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1071;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_drop_constraint, yy->__begin, yy->__end);
  }
  l1072:;	  if (!yy__(yy)) goto l1071;
  yyprintf((stderr, "  ok   %s @ %s\n", "drop_constraint", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 4, 0);
  return 1;
  l1071:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "drop_constraint", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_drop_index(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "drop_index"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1080;
#undef yytext
#undef yyleng
  }  if (!yy_DROP_INDEX_ON(yy)) goto l1080;  if (!yy_label(yy)) goto l1080;  yyDo(yy, yySet, -2, 0);  if (!yy_LEFT_PAREN(yy)) goto l1080;  if (!yy__(yy)) goto l1080;  if (!yy_prop_name(yy)) goto l1080;  yyDo(yy, yySet, -1, 0);  if (!yy_RIGHT_PAREN(yy)) goto l1080;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1080;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_drop_index, yy->__begin, yy->__end);  if (!yy__(yy)) goto l1080;
  yyprintf((stderr, "  ok   %s @ %s\n", "drop_index", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l1080:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "drop_index", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_create_constraint(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 4, 0);
  yyprintf((stderr, "%s\n", "create_constraint"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1081;
#undef yytext
#undef yyleng
  }  if (!yy_CREATE_CONSTRAINT_ON(yy)) goto l1081;
  {  int yypos1082= yy->__pos, yythunkpos1082= yy->__thunkpos;  if (!yy_LEFT_PAREN(yy)) goto l1083;  if (!yy__(yy)) goto l1083;  if (!yy_identifier(yy)) goto l1083;  yyDo(yy, yySet, -4, 0);  if (!yy_label(yy)) goto l1083;  yyDo(yy, yySet, -3, 0);  if (!yy_RIGHT_PAREN(yy)) goto l1083;  if (!yy__(yy)) goto l1083;  if (!yy_ASSERT(yy)) goto l1083;
  {  int yypos1084= yy->__pos, yythunkpos1084= yy->__thunkpos;  if (!yy_expression(yy)) goto l1085;  yyDo(yy, yySet, -2, 0);  if (!yy_IS_UNIQUE(yy)) goto l1085;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1085;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_create_constraint, yy->__begin, yy->__end);  goto l1084;
  l1085:;	  yy->__pos= yypos1084; yy->__thunkpos= yythunkpos1084;  if (!yy_expression(yy)) goto l1083;  yyDo(yy, yySet, -2, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1083;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_create_constraint, yy->__begin, yy->__end);
  }
  l1084:;	  goto l1082;
  l1083:;	  yy->__pos= yypos1082; yy->__thunkpos= yythunkpos1082;  if (!yy_LEFT_PAREN(yy)) goto l1081;  if (!yy__(yy)) goto l1081;  if (!yy_RIGHT_PAREN(yy)) goto l1081;  if (!yy__(yy)) goto l1081;
  {  int yypos1086= yy->__pos, yythunkpos1086= yy->__thunkpos;  if (!yy_LEFT_ARROW_HEAD(yy)) goto l1086;  if (!yy__(yy)) goto l1086;  goto l1087;
  l1086:;	  yy->__pos= yypos1086; yy->__thunkpos= yythunkpos1086;
  }
  l1087:;	  if (!yy_DASH(yy)) goto l1081;  if (!yy__(yy)) goto l1081;  if (!yy_LEFT_SQ_PAREN(yy)) goto l1081;  if (!yy__(yy)) goto l1081;  if (!yy_identifier(yy)) goto l1081;  yyDo(yy, yySet, -4, 0);  if (!yy_rel_type(yy)) goto l1081;  yyDo(yy, yySet, -1, 0);  if (!yy_RIGHT_SQ_PAREN(yy)) goto l1081;  if (!yy__(yy)) goto l1081;  if (!yy_DASH(yy)) goto l1081;  if (!yy__(yy)) goto l1081;
  {  int yypos1088= yy->__pos, yythunkpos1088= yy->__thunkpos;  if (!yy_RIGHT_ARROW_HEAD(yy)) goto l1088;  if (!yy__(yy)) goto l1088;  goto l1089;
  l1088:;	  yy->__pos= yypos1088; yy->__thunkpos= yythunkpos1088;
  }
  l1089:;	  if (!yy_LEFT_PAREN(yy)) goto l1081;  if (!yy__(yy)) goto l1081;  if (!yy_RIGHT_PAREN(yy)) goto l1081;  if (!yy__(yy)) goto l1081;  if (!yy_ASSERT(yy)) goto l1081;  if (!yy_expression(yy)) goto l1081;  yyDo(yy, yySet, -2, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1081;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_3_create_constraint, yy->__begin, yy->__end);
  }
  l1082:;	  if (!yy__(yy)) goto l1081;
  yyprintf((stderr, "  ok   %s @ %s\n", "create_constraint", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 4, 0);
  return 1;
  l1081:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "create_constraint", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_create_index(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "create_index"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1090;
#undef yytext
#undef yyleng
  }  if (!yy_CREATE_INDEX_ON(yy)) goto l1090;  if (!yy_label(yy)) goto l1090;  yyDo(yy, yySet, -2, 0);  if (!yy_LEFT_PAREN(yy)) goto l1090;  if (!yy__(yy)) goto l1090;  if (!yy_prop_name(yy)) goto l1090;  yyDo(yy, yySet, -1, 0);  if (!yy_RIGHT_PAREN(yy)) goto l1090;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1090;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_create_index, yy->__begin, yy->__end);  if (!yy__(yy)) goto l1090;
  yyprintf((stderr, "  ok   %s @ %s\n", "create_index", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l1090:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "create_index", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_EXPLAIN(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "EXPLAIN"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1091;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1093;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1093;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1093;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1093;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1093;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1093;  if (!yy_WB(yy)) goto l1093;  goto l1092;
  l1093:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("EXPLAIN");
#undef yytext
#undef yyleng
  }  goto l1091;
  l1092:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "EXPLAIN", yy->__buf+yy->__pos));
  return 1;
  l1091:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "EXPLAIN", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_PROFILE(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "PROFILE"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1094;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1096;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1096;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\100\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1096;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1096;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1096;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1096;  if (!yy_WB(yy)) goto l1096;  goto l1095;
  l1096:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("PROFILE");
#undef yytext
#undef yyleng
  }  goto l1094;
  l1095:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "PROFILE", yy->__buf+yy->__pos));
  return 1;
  l1094:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "PROFILE", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_WS(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "WS"));
  {  int yypos1098= yy->__pos, yythunkpos1098= yy->__thunkpos;  if (!yy_HWS(yy)) goto l1099;  goto l1098;
  l1099:;	  yy->__pos= yypos1098; yy->__thunkpos= yythunkpos1098;  if (!yy_EOL(yy)) goto l1097;
  }
  l1098:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "WS", yy->__buf+yy->__pos));
  return 1;
  l1097:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "WS", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_cypher_param_val(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "cypher_param_val"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1100;
#undef yytext
#undef yyleng
  }
  {  int yypos1103= yy->__pos, yythunkpos1103= yy->__thunkpos;  if (!yy_WS(yy)) goto l1103;  goto l1100;
  l1103:;	  yy->__pos= yypos1103; yy->__thunkpos= yythunkpos1103;
  }  if (!yymatchDot(yy)) goto l1100;
  l1101:;	
  {  int yypos1102= yy->__pos, yythunkpos1102= yy->__thunkpos;
  {  int yypos1104= yy->__pos, yythunkpos1104= yy->__thunkpos;  if (!yy_WS(yy)) goto l1104;  goto l1102;
  l1104:;	  yy->__pos= yypos1104; yy->__thunkpos= yythunkpos1104;
  }  if (!yymatchDot(yy)) goto l1102;  goto l1101;
  l1102:;	  yy->__pos= yypos1102; yy->__thunkpos= yythunkpos1102;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1100;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_cypher_param_val, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "cypher_param_val", yy->__buf+yy->__pos));
  return 1;
  l1100:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "cypher_param_val", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_EQUAL(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "EQUAL"));  if (!yymatchChar(yy, '=')) goto l1107;  goto l1106;
  l1107:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'='");
#undef yytext
#undef yyleng
  }  goto l1105;
  l1106:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "EQUAL", yy->__buf+yy->__pos));
  return 1;
  l1105:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "EQUAL", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_cypher_param_name(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "cypher_param_name"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1108;
#undef yytext
#undef yyleng
  }  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1108;
  l1109:;	
  {  int yypos1110= yy->__pos, yythunkpos1110= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1110;  goto l1109;
  l1110:;	  yy->__pos= yypos1110; yy->__thunkpos= yythunkpos1110;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1108;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_cypher_param_name, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "cypher_param_name", yy->__buf+yy->__pos));
  return 1;
  l1108:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "cypher_param_name", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_DOT(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "DOT"));  if (!yymatchChar(yy, '.')) goto l1113;  goto l1112;
  l1113:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("'.'");
#undef yytext
#undef yyleng
  }  goto l1111;
  l1112:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "DOT", yy->__buf+yy->__pos));
  return 1;
  l1111:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "DOT", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_cypher_param(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "cypher_param"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1114;
#undef yytext
#undef yyleng
  }  if (!yy_cypher_param_name(yy)) goto l1114;  yyDo(yy, yySet, -2, 0);  if (!yy__(yy)) goto l1114;  if (!yy_EQUAL(yy)) goto l1114;  if (!yy__(yy)) goto l1114;  if (!yy_cypher_param_val(yy)) goto l1114;  yyDo(yy, yySet, -1, 0);  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1114;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_cypher_param, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "cypher_param", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l1114:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "cypher_param", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__null_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_null_"));  if (!yy__empty_(yy)) goto l1115;  yyDo(yy, yy_1__null_, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "_null_", yy->__buf+yy->__pos));
  return 1;
  l1115:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_null_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_cypher_version(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "cypher_version"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1116;
#undef yytext
#undef yyleng
  }  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1118;
  l1119:;	
  {  int yypos1120= yy->__pos, yythunkpos1120= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1120;  goto l1119;
  l1120:;	  yy->__pos= yypos1120; yy->__thunkpos= yythunkpos1120;
  }  if (!yy_DOT(yy)) goto l1118;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1118;
  l1121:;	
  {  int yypos1122= yy->__pos, yythunkpos1122= yy->__thunkpos;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1122;  goto l1121;
  l1122:;	  yy->__pos= yypos1122; yy->__thunkpos= yythunkpos1122;
  }  goto l1117;
  l1118:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a version number");
#undef yytext
#undef yyleng
  }  goto l1116;
  l1117:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1116;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_cypher_version, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "cypher_version", yy->__buf+yy->__pos));
  return 1;
  l1116:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "cypher_version", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_CYPHER(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "CYPHER"));  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\010\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1123;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1125;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1125;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1125;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\040\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1125;  if (!yymatchClass(yy, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1125;  if (!yy_WB(yy)) goto l1125;  goto l1124;
  l1125:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("CYPHER");
#undef yytext
#undef yyleng
  }  goto l1123;
  l1124:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "CYPHER", yy->__buf+yy->__pos));
  return 1;
  l1123:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "CYPHER", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_explain_option(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "explain_option"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1126;
#undef yytext
#undef yyleng
  }  if (!yy_EXPLAIN(yy)) goto l1126;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1126;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_explain_option, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "explain_option", yy->__buf+yy->__pos));
  return 1;
  l1126:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "explain_option", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_profile_option(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "profile_option"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1127;
#undef yytext
#undef yyleng
  }  if (!yy_PROFILE(yy)) goto l1127;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1127;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_profile_option, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "profile_option", yy->__buf+yy->__pos));
  return 1;
  l1127:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "profile_option", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_cypher_option(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "cypher_option"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1128;
#undef yytext
#undef yyleng
  }  if (!yy_CYPHER(yy)) goto l1128;  if (!yy__(yy)) goto l1128;
  {  int yypos1129= yy->__pos, yythunkpos1129= yy->__thunkpos;  if (!yy_cypher_version(yy)) goto l1130;  yyDo(yy, yySet, -2, 0);  goto l1129;
  l1130:;	  yy->__pos= yypos1129; yy->__thunkpos= yythunkpos1129;  if (!yy__null_(yy)) goto l1128;  yyDo(yy, yySet, -2, 0);
  }
  l1129:;	
  l1131:;	
  {  int yypos1132= yy->__pos, yythunkpos1132= yy->__thunkpos;  if (!yy__(yy)) goto l1132;  if (!yy_cypher_param(yy)) goto l1132;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_cypher_option, yy->__begin, yy->__end);  goto l1131;
  l1132:;	  yy->__pos= yypos1132; yy->__thunkpos= yythunkpos1132;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1128;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_cypher_option, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "cypher_option", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l1128:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "cypher_option", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_schema_command(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "schema_command"));
  {  int yypos1136= yy->__pos, yythunkpos1136= yy->__thunkpos;  if (!yy_create_index(yy)) goto l1137;  goto l1136;
  l1137:;	  yy->__pos= yypos1136; yy->__thunkpos= yythunkpos1136;  if (!yy_create_constraint(yy)) goto l1138;  goto l1136;
  l1138:;	  yy->__pos= yypos1136; yy->__thunkpos= yythunkpos1136;  if (!yy_drop_index(yy)) goto l1139;  goto l1136;
  l1139:;	  yy->__pos= yypos1136; yy->__thunkpos= yythunkpos1136;  if (!yy_drop_constraint(yy)) goto l1135;
  }
  l1136:;	  goto l1134;
  l1135:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a schema command");
#undef yytext
#undef yyleng
  }  goto l1133;
  l1134:;	
  {  int yypos1140= yy->__pos, yythunkpos1140= yy->__thunkpos;  if (!yy_SEMICOLON(yy)) goto l1141;  goto l1140;
  l1141:;	  yy->__pos= yypos1140; yy->__thunkpos= yythunkpos1140;  if (!yy_EOF(yy)) goto l1133;
  }
  l1140:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "schema_command", yy->__buf+yy->__pos));
  return 1;
  l1133:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "schema_command", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_query(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "query"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1142;
#undef yytext
#undef yyleng
  }
  l1143:;	
  {  int yypos1144= yy->__pos, yythunkpos1144= yy->__thunkpos;  if (!yy_query_hints(yy)) goto l1144;  goto l1143;
  l1144:;	  yy->__pos= yypos1144; yy->__thunkpos= yythunkpos1144;
  }  if (!yy_clauses(yy)) goto l1142;  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1142;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_query, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "query", yy->__buf+yy->__pos));
  return 1;
  l1142:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "query", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_statement_option(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "statement_option"));
  {  int yypos1148= yy->__pos, yythunkpos1148= yy->__thunkpos;  if (!yy_cypher_option(yy)) goto l1149;  yyDo(yy, yySet, -1, 0);  goto l1148;
  l1149:;	  yy->__pos= yypos1148; yy->__thunkpos= yythunkpos1148;  if (!yy_profile_option(yy)) goto l1150;  yyDo(yy, yySet, -1, 0);  goto l1148;
  l1150:;	  yy->__pos= yypos1148; yy->__thunkpos= yythunkpos1148;  if (!yy_explain_option(yy)) goto l1147;  yyDo(yy, yySet, -1, 0);
  }
  l1148:;	  goto l1146;
  l1147:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("a statement option");
#undef yytext
#undef yyleng
  }  goto l1145;
  l1146:;	  if (!yy__(yy)) goto l1145;  yyDo(yy, yy_1_statement_option, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "statement_option", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l1145:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "statement_option", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_skip_to_statement(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "skip_to_statement"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1151;
#undef yytext
#undef yyleng
  }  if (!yymatchDot(yy)) goto l1151;
  l1152:;	
  {  int yypos1153= yy->__pos, yythunkpos1153= yy->__thunkpos;
  {  int yypos1154= yy->__pos, yythunkpos1154= yy->__thunkpos;
  {  int yypos1155= yy->__pos, yythunkpos1155= yy->__thunkpos;  if (!yy_EOF(yy)) goto l1156;  goto l1155;
  l1156:;	  yy->__pos= yypos1155; yy->__thunkpos= yythunkpos1155;  if (!yy_SEMICOLON(yy)) goto l1157;  goto l1155;
  l1157:;	  yy->__pos= yypos1155; yy->__thunkpos= yythunkpos1155;
  {  int yypos1158= yy->__pos, yythunkpos1158= yy->__thunkpos;  if (!yy_WS(yy)) goto l1159;  goto l1158;
  l1159:;	  yy->__pos= yypos1158; yy->__thunkpos= yythunkpos1158;  if (!yy_comment(yy)) goto l1154;
  }
  l1158:;	  if (!yy_resync_statement(yy)) goto l1154;
  }
  l1155:;	  goto l1153;
  l1154:;	  yy->__pos= yypos1154; yy->__thunkpos= yythunkpos1154;
  }  if (!yymatchDot(yy)) goto l1153;  goto l1152;
  l1153:;	  yy->__pos= yypos1153; yy->__thunkpos= yythunkpos1153;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1151;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_skip_to_statement, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "skip_to_statement", yy->__buf+yy->__pos));
  return 1;
  l1151:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "skip_to_statement", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy___statement(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "__statement"));
  {  int yypos1161= yy->__pos, yythunkpos1161= yy->__thunkpos;  if (!yy_EOF(yy)) goto l1162;  yyDo(yy, yy_1___statement, yy->__begin, yy->__end);  goto l1161;
  l1162:;	  yy->__pos= yypos1161; yy->__thunkpos= yythunkpos1161;  if (!yy_SEMICOLON(yy)) goto l1163;  yyDo(yy, yy_2___statement, yy->__begin, yy->__end);  goto l1161;
  l1163:;	  yy->__pos= yypos1161; yy->__thunkpos= yythunkpos1161;  if (!yy_cypher_statement(yy)) goto l1160;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_3___statement, yy->__begin, yy->__end);
  }
  l1161:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "__statement", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l1160:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "__statement", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__statement(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_statement"));
  {  int yypos1165= yy->__pos, yythunkpos1165= yy->__thunkpos;  if (!yy___statement(yy)) goto l1166;  yyDo(yy, yy_1__statement, yy->__begin, yy->__end);  goto l1165;
  l1166:;	  yy->__pos= yypos1165; yy->__thunkpos= yythunkpos1165;  if (!yy__error_(yy)) goto l1164;
  {  int yypos1167= yy->__pos, yythunkpos1167= yy->__thunkpos;  if (!yy_EOF(yy)) goto l1168;  goto l1167;
  l1168:;	  yy->__pos= yypos1167; yy->__thunkpos= yythunkpos1167;  if (!yy_skip_to_statement(yy)) goto l1164;
  }
  l1167:;	  if (!yy__statement(yy)) goto l1164;
  }
  l1165:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "_statement", yy->__buf+yy->__pos));
  return 1;
  l1164:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_statement", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_cypher_statement(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "cypher_statement"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1169;
#undef yytext
#undef yyleng
  }
  l1170:;	
  {  int yypos1171= yy->__pos, yythunkpos1171= yy->__thunkpos;  if (!yy_statement_option(yy)) goto l1171;  goto l1170;
  l1171:;	  yy->__pos= yypos1171; yy->__thunkpos= yythunkpos1171;
  }  if (!yy__(yy)) goto l1169;
  {  int yypos1172= yy->__pos, yythunkpos1172= yy->__thunkpos;  if (!yy_query(yy)) goto l1173;  yyDo(yy, yySet, -1, 0);  goto l1172;
  l1173:;	  yy->__pos= yypos1172; yy->__thunkpos= yythunkpos1172;  if (!yy_schema_command(yy)) goto l1169;  yyDo(yy, yySet, -1, 0);
  }
  l1172:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1169;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_cypher_statement, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "cypher_statement", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l1169:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "cypher_statement", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_client_command(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 2, 0);
  yyprintf((stderr, "%s\n", "client_command"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1174;
#undef yytext
#undef yyleng
  }  if (!yy_COLON(yy)) goto l1174;  if (!yy___(yy)) goto l1174;  if (!yy_client_command_name(yy)) goto l1174;  yyDo(yy, yySet, -2, 0);
  l1175:;	
  {  int yypos1176= yy->__pos, yythunkpos1176= yy->__thunkpos;
  {  int yypos1177= yy->__pos, yythunkpos1177= yy->__thunkpos;  if (!yymatchChar(yy, '\\')) goto l1178;  if (!yy___(yy)) goto l1178;  if (!yy_line_end(yy)) goto l1178;  if (!yy___(yy)) goto l1178;  goto l1177;
  l1178:;	  yy->__pos= yypos1177; yy->__thunkpos= yythunkpos1177;  if (!yy_client_command_arg(yy)) goto l1176;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_1_client_command, yy->__begin, yy->__end);
  }
  l1177:;	  goto l1175;
  l1176:;	  yy->__pos= yypos1176; yy->__thunkpos= yythunkpos1176;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1174;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_2_client_command, yy->__begin, yy->__end);
  {  int yypos1179= yy->__pos, yythunkpos1179= yy->__thunkpos;  if (!yy_SEMICOLON(yy)) goto l1180;  goto l1179;
  l1180:;	  yy->__pos= yypos1179; yy->__thunkpos= yythunkpos1179;  if (!yy_line_end(yy)) goto l1174;
  }
  l1179:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "client_command", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 2, 0);
  return 1;
  l1174:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "client_command", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_SEMICOLON(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "SEMICOLON"));  if (!yymatchChar(yy, ';')) goto l1183;  goto l1182;
  l1183:;	  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
  ERR("';'");
#undef yytext
#undef yyleng
  }  goto l1181;
  l1182:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "SEMICOLON", yy->__buf+yy->__pos));
  return 1;
  l1181:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "SEMICOLON", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_skip_to_directive(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "skip_to_directive"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_BEGIN)) goto l1184;
#undef yytext
#undef yyleng
  }  if (!yymatchDot(yy)) goto l1184;
  l1185:;	
  {  int yypos1186= yy->__pos, yythunkpos1186= yy->__thunkpos;
  {  int yypos1187= yy->__pos, yythunkpos1187= yy->__thunkpos;
  {  int yypos1188= yy->__pos, yythunkpos1188= yy->__thunkpos;  if (!yy_EOF(yy)) goto l1189;  goto l1188;
  l1189:;	  yy->__pos= yypos1188; yy->__thunkpos= yythunkpos1188;  if (!yy_SEMICOLON(yy)) goto l1190;  goto l1188;
  l1190:;	  yy->__pos= yypos1188; yy->__thunkpos= yythunkpos1188;
  {  int yypos1191= yy->__pos, yythunkpos1191= yy->__thunkpos;  if (!yy_WS(yy)) goto l1192;  goto l1191;
  l1192:;	  yy->__pos= yypos1191; yy->__thunkpos= yythunkpos1191;  if (!yy_comment(yy)) goto l1187;
  }
  l1191:;	  if (!yy_resync_directive(yy)) goto l1187;
  }
  l1188:;	  goto l1186;
  l1187:;	  yy->__pos= yypos1187; yy->__thunkpos= yythunkpos1187;
  }  if (!yymatchDot(yy)) goto l1186;  goto l1185;
  l1186:;	  yy->__pos= yypos1186; yy->__thunkpos= yythunkpos1186;
  }  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!(YY_END)) goto l1184;
#undef yytext
#undef yyleng
  }  yyDo(yy, yy_1_skip_to_directive, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "skip_to_directive", yy->__buf+yy->__pos));
  return 1;
  l1184:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "skip_to_directive", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_EOF(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "EOF"));
  {  int yypos1194= yy->__pos, yythunkpos1194= yy->__thunkpos;  if (!yymatchDot(yy)) goto l1194;  goto l1193;
  l1194:;	  yy->__pos= yypos1194; yy->__thunkpos= yythunkpos1194;
  }  yyDo(yy, yy_1_EOF, yy->__begin, yy->__end);
  yyprintf((stderr, "  ok   %s @ %s\n", "EOF", yy->__buf+yy->__pos));
  return 1;
  l1193:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "EOF", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__error_(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_error_"));  yyText(yy, yy->__begin, yy->__end);  {
#define yytext yy->__text
#define yyleng yy->__textlen
if (!( (record_error(yy), 1) )) goto l1195;
#undef yytext
#undef yyleng
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_error_", yy->__buf+yy->__pos));
  return 1;
  l1195:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_error_", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy___directive(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;  yyDo(yy, yyPush, 1, 0);
  yyprintf((stderr, "%s\n", "__directive"));
  {  int yypos1197= yy->__pos, yythunkpos1197= yy->__thunkpos;  if (!yy_EOF(yy)) goto l1198;  yyDo(yy, yy_1___directive, yy->__begin, yy->__end);  goto l1197;
  l1198:;	  yy->__pos= yypos1197; yy->__thunkpos= yythunkpos1197;  if (!yy_SEMICOLON(yy)) goto l1199;  yyDo(yy, yy_2___directive, yy->__begin, yy->__end);  goto l1197;
  l1199:;	  yy->__pos= yypos1197; yy->__thunkpos= yythunkpos1197;  if (!yy_client_command(yy)) goto l1200;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_3___directive, yy->__begin, yy->__end);  goto l1197;
  l1200:;	  yy->__pos= yypos1197; yy->__thunkpos= yythunkpos1197;  if (!yy_cypher_statement(yy)) goto l1196;  yyDo(yy, yySet, -1, 0);  yyDo(yy, yy_4___directive, yy->__begin, yy->__end);
  }
  l1197:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "__directive", yy->__buf+yy->__pos));  yyDo(yy, yyPop, 1, 0);
  return 1;
  l1196:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "__directive", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__directive(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "_directive"));
  {  int yypos1202= yy->__pos, yythunkpos1202= yy->__thunkpos;  if (!yy___directive(yy)) goto l1203;  yyDo(yy, yy_1__directive, yy->__begin, yy->__end);  goto l1202;
  l1203:;	  yy->__pos= yypos1202; yy->__thunkpos= yythunkpos1202;  if (!yy__error_(yy)) goto l1201;
  {  int yypos1204= yy->__pos, yythunkpos1204= yy->__thunkpos;  if (!yy_EOF(yy)) goto l1205;  goto l1204;
  l1205:;	  yy->__pos= yypos1204; yy->__thunkpos= yythunkpos1204;  if (!yy_skip_to_directive(yy)) goto l1201;
  }
  l1204:;	  if (!yy__directive(yy)) goto l1201;
  }
  l1202:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "_directive", yy->__buf+yy->__pos));
  return 1;
  l1201:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "_directive", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy__(yycontext *yy)
{
  yyprintf((stderr, "%s\n", "_"));
  l1207:;	
  {  int yypos1208= yy->__pos, yythunkpos1208= yy->__thunkpos;
  {  int yypos1209= yy->__pos, yythunkpos1209= yy->__thunkpos;  if (!yy_WS(yy)) goto l1210;  goto l1209;
  l1210:;	  yy->__pos= yypos1209; yy->__thunkpos= yythunkpos1209;  if (!yy_comment(yy)) goto l1208;
  }
  l1209:;	  goto l1207;
  l1208:;	  yy->__pos= yypos1208; yy->__thunkpos= yythunkpos1208;
  }
  yyprintf((stderr, "  ok   %s @ %s\n", "_", yy->__buf+yy->__pos));
  return 1;
}
YY_RULE(int) yy_statement(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "statement"));  if (!yy__(yy)) goto l1211;  if (!yy__statement(yy)) goto l1211;
  yyprintf((stderr, "  ok   %s @ %s\n", "statement", yy->__buf+yy->__pos));
  return 1;
  l1211:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "statement", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy_directive(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "directive"));  if (!yy__(yy)) goto l1212;  if (!yy__directive(yy)) goto l1212;
  yyprintf((stderr, "  ok   %s @ %s\n", "directive", yy->__buf+yy->__pos));
  return 1;
  l1212:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "directive", yy->__buf+yy->__pos));
  return 0;
}
YY_RULE(int) yy___entry_points(yycontext *yy)
{  int yypos0= yy->__pos, yythunkpos0= yy->__thunkpos;
  yyprintf((stderr, "%s\n", "__entry_points"));
  {  int yypos1214= yy->__pos, yythunkpos1214= yy->__thunkpos;  if (!yy_directive(yy)) goto l1215;  goto l1214;
  l1215:;	  yy->__pos= yypos1214; yy->__thunkpos= yythunkpos1214;  if (!yy_statement(yy)) goto l1213;
  }
  l1214:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "__entry_points", yy->__buf+yy->__pos));
  return 1;
  l1213:;	  yy->__pos= yypos0; yy->__thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "__entry_points", yy->__buf+yy->__pos));
  return 0;
}

#ifndef YY_PART

typedef int (*yyrule)(yycontext *yy);

YY_PARSE(int) YYPARSEFROM(YY_CTX_PARAM_ yyrule yystart)
{
  int yyok;
  if (!yyctx->__buflen)
    {
      yyctx->__buflen= YY_BUFFER_SIZE;
      yyctx->__buf= (char *)YY_MALLOC(yyctx, yyctx->__buflen);
      yyctx->__textlen= YY_BUFFER_SIZE;
      yyctx->__text= (char *)YY_MALLOC(yyctx, yyctx->__textlen);
      yyctx->__thunkslen= YY_STACK_SIZE;
      yyctx->__thunks= (yythunk *)YY_MALLOC(yyctx, sizeof(yythunk) * yyctx->__thunkslen);
      yyctx->__valslen= YY_STACK_SIZE;
      yyctx->__vals= (YYSTYPE *)YY_MALLOC(yyctx, sizeof(YYSTYPE) * yyctx->__valslen);
      yyctx->__begin= yyctx->__end= yyctx->__pos= yyctx->__limit= yyctx->__thunkpos= 0;
    }
  yyctx->__begin= yyctx->__end= yyctx->__pos;
  yyctx->__thunkpos= 0;
  yyctx->__val= yyctx->__vals;
  yyok= yystart(yyctx);
  if (yyok) yyDone(yyctx);
  yyCommit(yyctx);
  return yyok;
}

YY_PARSE(int) YYPARSE(YY_CTX_PARAM)
{
  return YYPARSEFROM(YY_CTX_ARG_ yy___entry_points);
}

YY_PARSE(yycontext *) YYRELEASE(yycontext *yyctx)
{
  if (yyctx->__buflen)
    {
      yyctx->__buflen= 0;
      YY_FREE(yyctx, yyctx->__buf);
      YY_FREE(yyctx, yyctx->__text);
      YY_FREE(yyctx, yyctx->__thunks);
      YY_FREE(yyctx, yyctx->__vals);
    }
  return yyctx;
}

#endif
