/* Generated by re2c 0.13.5 on Mon Nov  6 18:02:20 2017 */
#line 1 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
// {{{ MIT License

// Copyright 2017 Roland Kaminski

// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.

// }}}

#define YYCTYPE     char
#define YYCURSOR    cursor()
#define YYLIMIT     limit()
#define YYMARKER    marker()
#define YYFILL(n)   {fill(n);}
#define YYCTXMARKER ctxmarker()
#define YYGETCONDITION condition
#define YYSETCONDITION condition

// Note: THEORYOP is also used in output/backends.cc
#line 54 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"


int Gringo::Input::NonGroundParser::lex_impl(void *pValue, Location &loc) {
    int bc = 0;
    auto &value = *static_cast<Gringo::Input::NonGroundGrammar::parser::semantic_type*>(pValue);
    start(loc);
    for (;;) {
        
#line 47 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
{
	YYCTYPE yych;
	unsigned int yyaccept = 0;
	switch (YYGETCONDITION()) {
	case yycblockcomment: goto yyc_blockcomment;
	case yyccomment: goto yyc_comment;
	case yycdefinition: goto yyc_definition;
	case yyclua: goto yyc_lua;
	case yycnormal: goto yyc_normal;
	case yycpython: goto yyc_python;
	case yyctheory: goto yyc_theory;
	}
/* *********************************** */
yyc_blockcomment:

	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
	switch (yych) {
	case '\n':	goto yy6;
	case '%':	goto yy4;
	case '*':	goto yy2;
	default:	goto yy8;
	}
yy2:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '%':	goto yy11;
	default:	goto yy3;
	}
yy3:
#line 194 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ continue; }
#line 80 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy4:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '*':	goto yy9;
	default:	goto yy5;
	}
yy5:
	YYSETCONDITION(yyccomment);
#line 192 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 91 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy6:
	++YYCURSOR;
#line 193 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) { lexerError(eof(loc), Potassco::toSpan("<EOF>", 5)); return 0; } step(); continue; }
#line 96 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy8:
	yych = *++YYCURSOR;
	goto yy3;
yy9:
	++YYCURSOR;
#line 191 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 104 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy11:
	++YYCURSOR;
#line 190 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ if(--bc == 0) { condition(yycnormal); start(loc); } continue; }
#line 109 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
/* *********************************** */
yyc_comment:
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\n':	goto yy15;
	default:	goto yy17;
	}
yy15:
	++YYCURSOR;
#line 196 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{
            if(eof()) {
                if(bc > 0) { lexerError(eof(loc), Potassco::toSpan("<EOF>", 5)); }
                return 0;
            }
            step();
            if (bc > 0) { condition(yycblockcomment); }
            else {
                condition(yycnormal);
                start(loc);
            }
            continue;
        }
#line 134 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy17:
	++YYCURSOR;
#line 209 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ continue; }
#line 139 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
/* *********************************** */
yyc_definition:
	if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy22;
	case '\n':	goto yy23;
	case '#':	goto yy57;
	case '%':	goto yy55;
	case '&':	goto yy53;
	case ',':	goto yy45;
	case '.':	goto yy41;
	case '/':	goto yy51;
	case '0':	goto yy36;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy38;
	case ':':	goto yy43;
	case ';':	goto yy39;
	case '_':	goto yy33;
	case 'a':	goto yy30;
	case 'b':	goto yy29;
	case 'c':
	case 'e':
	case 'f':
	case 'g':
	case 'i':
	case 'j':
	case 'k':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 's':
	case 't':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy35;
	case 'd':	goto yy32;
	case 'h':	goto yy28;
	case 'l':	goto yy25;
	case 'r':	goto yy27;
	case 'u':	goto yy31;
	case '{':	goto yy47;
	case '}':	goto yy49;
	default:	goto yy59;
	}
yy21:
#line 62 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ start(loc); continue; }
#line 201 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy22:
	yych = *++YYCURSOR;
	goto yy114;
yy23:
	++YYCURSOR;
#line 63 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) return 0; step(); start(loc); continue; }
#line 209 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy25:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case 'e':	goto yy109;
	default:	goto yy69;
	}
yy26:
#line 90 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::IDENTIFIER; }
#line 219 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy27:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy104;
	default:	goto yy69;
	}
yy28:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy100;
	default:	goto yy69;
	}
yy29:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy90;
	case 'o':	goto yy91;
	default:	goto yy69;
	}
yy30:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy87;
	default:	goto yy69;
	}
yy31:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy82;
	default:	goto yy69;
	}
yy32:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy73;
	default:	goto yy69;
	}
yy33:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '_':	goto yy70;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy34;
	}
yy34:
#line 154 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 293 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy35:
	yych = *++YYCURSOR;
	goto yy69;
yy36:
	++YYCURSOR;
yy37:
#line 91 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.num = integer(); return NonGroundGrammar::parser::token::NUMBER; }
#line 302 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy38:
	yych = *++YYCURSOR;
	goto yy67;
yy39:
	++YYCURSOR;
#line 104 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SEM; }
#line 310 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy41:
	++YYCURSOR;
#line 106 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DOT; }
#line 315 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy43:
	++YYCURSOR;
#line 107 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COLON; }
#line 320 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy45:
	++YYCURSOR;
#line 110 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COMMA; }
#line 325 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy47:
	++YYCURSOR;
#line 116 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACE; }
#line 330 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy49:
	++YYCURSOR;
#line 117 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACE; }
#line 335 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy51:
	++YYCURSOR;
#line 131 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SLASH; }
#line 340 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy53:
	++YYCURSOR;
#line 133 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::AND; }
#line 345 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy55:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '*':	goto yy64;
	default:	goto yy56;
	}
yy56:
	YYSETCONDITION(yyccomment);
#line 151 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 356 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy57:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '!':	goto yy62;
	default:	goto yy61;
	}
yy58:
#line 153 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 366 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy59:
	yych = *++YYCURSOR;
	goto yy34;
yy60:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy61:
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy60;
	default:	goto yy58;
	}
yy62:
	++YYCURSOR;
	YYSETCONDITION(yyccomment);
#line 152 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 446 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy64:
	++YYCURSOR;
	YYSETCONDITION(yycblockcomment);
#line 150 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 452 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy66:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy67:
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy66;
	default:	goto yy37;
	}
yy68:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy69:
	switch (yych) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy26;
	}
yy70:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '_':	goto yy70;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy72;
	}
yy72:
	YYCURSOR = YYMARKER;
	goto yy34;
yy73:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy74;
	default:	goto yy69;
	}
yy74:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy75;
	default:	goto yy69;
	}
yy75:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy76;
	default:	goto yy69;
	}
yy76:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy77;
	default:	goto yy69;
	}
yy77:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy78;
	default:	goto yy69;
	}
yy78:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'v':	goto yy79;
	default:	goto yy69;
	}
yy79:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy80;
	default:	goto yy69;
	}
yy80:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy81;
	}
yy81:
#line 86 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DIRECTIVE; }
#line 694 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy82:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy83;
	default:	goto yy69;
	}
yy83:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy84;
	default:	goto yy69;
	}
yy84:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy85;
	default:	goto yy69;
	}
yy85:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy86;
	}
yy86:
#line 85 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::UNARY; }
#line 785 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy87:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy88;
	default:	goto yy69;
	}
yy88:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy89;
	}
yy89:
#line 83 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::ANY; }
#line 864 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy90:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy95;
	default:	goto yy69;
	}
yy91:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy92;
	default:	goto yy69;
	}
yy92:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy93;
	default:	goto yy69;
	}
yy93:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy94;
	}
yy94:
#line 82 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::BODY; }
#line 955 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy95:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy96;
	default:	goto yy69;
	}
yy96:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy97;
	default:	goto yy69;
	}
yy97:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy98;
	default:	goto yy69;
	}
yy98:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy99;
	}
yy99:
#line 84 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::BINARY; }
#line 1046 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy100:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy101;
	default:	goto yy69;
	}
yy101:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy102;
	default:	goto yy69;
	}
yy102:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy103;
	}
yy103:
#line 81 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::HEAD; }
#line 1131 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy104:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'g':	goto yy105;
	default:	goto yy69;
	}
yy105:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'h':	goto yy106;
	default:	goto yy69;
	}
yy106:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy107;
	default:	goto yy69;
	}
yy107:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy108;
	}
yy108:
#line 80 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RIGHT; }
#line 1222 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy109:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'f':	goto yy110;
	default:	goto yy69;
	}
yy110:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy111;
	default:	goto yy69;
	}
yy111:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy68;
	default:	goto yy112;
	}
yy112:
#line 79 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LEFT; }
#line 1307 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy113:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy114:
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy113;
	default:	goto yy21;
	}
/* *********************************** */
yyc_lua:
	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
	yych = *YYCURSOR;
	switch (yych) {
	case '\n':	goto yy119;
	case '#':	goto yy117;
	default:	goto yy121;
	}
yy117:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 'e':	goto yy122;
	default:	goto yy118;
	}
yy118:
#line 188 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ continue; }
#line 1338 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy119:
	++YYCURSOR;
#line 180 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{
            if(eof()) {
                lexerError(eof(loc), Potassco::toSpan("<EOF>", 5));
                return 0;
            }
            step();
            continue;
        }
#line 1350 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy121:
	yych = *++YYCURSOR;
	goto yy118;
yy122:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy124;
	default:	goto yy123;
	}
yy123:
	YYCURSOR = YYMARKER;
	goto yy118;
yy124:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy125;
	default:	goto yy123;
	}
yy125:
	++YYCURSOR;
	YYSETCONDITION(yycnormal);
#line 173 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{
            auto span = string(0,4);
            std::string s(span.first, span.first + span.size);
            s.erase(0, s.find(')') + 1);
            value.str = String::toRep(s.c_str());
            return NonGroundGrammar::parser::token::LUA;
        }
#line 1380 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
/* *********************************** */
yyc_normal:
	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy130;
	case '\n':	goto yy131;
	case '!':	goto yy183;
	case '"':	goto yy145;
	case '#':	goto yy133;
	case '$':	goto yy196;
	case '%':	goto yy198;
	case '&':	goto yy188;
	case '(':	goto yy161;
	case ')':	goto yy163;
	case '*':	goto yy173;
	case '+':	goto yy169;
	case ',':	goto yy153;
	case '-':	goto yy171;
	case '.':	goto yy149;
	case '/':	goto yy184;
	case '0':	goto yy140;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy142;
	case ':':	goto yy151;
	case ';':	goto yy147;
	case '<':	goto yy179;
	case '=':	goto yy181;
	case '>':	goto yy177;
	case '?':	goto yy194;
	case '@':	goto yy186;
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':	goto yy143;
	case '[':	goto yy157;
	case '\\':	goto yy175;
	case ']':	goto yy159;
	case '^':	goto yy190;
	case '_':	goto yy137;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy139;
	case 'n':	goto yy135;
	case '{':	goto yy165;
	case '|':	goto yy155;
	case '}':	goto yy167;
	case '~':	goto yy192;
	default:	goto yy200;
	}
yy129:
#line 62 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ start(loc); continue; }
#line 1487 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy130:
	yych = *++YYCURSOR;
	goto yy434;
yy131:
	++YYCURSOR;
#line 63 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) return 0; step(); start(loc); continue; }
#line 1495 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy133:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '!':	goto yy273;
	case 'c':	goto yy263;
	case 'd':	goto yy264;
	case 'e':	goto yy265;
	case 'f':	goto yy266;
	case 'h':	goto yy267;
	case 'i':	goto yy268;
	case 'm':	goto yy269;
	case 'p':	goto yy270;
	case 's':	goto yy271;
	case 't':	goto yy272;
	default:	goto yy262;
	}
yy134:
#line 153 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 1515 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy135:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case 'o':	goto yy258;
	default:	goto yy255;
	}
yy136:
#line 90 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::IDENTIFIER; }
#line 1525 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy137:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':	goto yy250;
	case '_':	goto yy256;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy254;
	default:	goto yy138;
	}
yy138:
#line 89 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::ANONYMOUS; }
#line 1588 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy139:
	yych = *++YYCURSOR;
	goto yy255;
yy140:
	++YYCURSOR;
yy141:
#line 91 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.num = integer(); return NonGroundGrammar::parser::token::NUMBER; }
#line 1597 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy142:
	yych = *++YYCURSOR;
	goto yy253;
yy143:
	++YYCURSOR;
	yych = *YYCURSOR;
	goto yy251;
yy144:
#line 92 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::VARIABLE; }
#line 1608 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy145:
	yyaccept = 1;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\n':	goto yy146;
	default:	goto yy246;
	}
yy146:
#line 154 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 1619 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy147:
	++YYCURSOR;
#line 104 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SEM; }
#line 1624 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy149:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '.':	goto yy243;
	default:	goto yy150;
	}
yy150:
#line 106 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DOT; }
#line 1634 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy151:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '-':	goto yy241;
	case '~':	goto yy239;
	default:	goto yy152;
	}
yy152:
#line 107 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COLON; }
#line 1645 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy153:
	++YYCURSOR;
#line 110 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COMMA; }
#line 1650 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy155:
	++YYCURSOR;
#line 111 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::VBAR; }
#line 1655 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy157:
	++YYCURSOR;
#line 112 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACK; }
#line 1660 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy159:
	++YYCURSOR;
#line 113 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACK; }
#line 1665 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy161:
	++YYCURSOR;
#line 114 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LPAREN; }
#line 1670 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy163:
	++YYCURSOR;
#line 115 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RPAREN; }
#line 1675 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy165:
	++YYCURSOR;
#line 116 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACE; }
#line 1680 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy167:
	++YYCURSOR;
#line 117 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACE; }
#line 1685 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy169:
	++YYCURSOR;
#line 118 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::ADD; }
#line 1690 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy171:
	++YYCURSOR;
#line 119 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUB; }
#line 1695 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy173:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '*':	goto yy237;
	default:	goto yy174;
	}
yy174:
#line 122 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MUL; }
#line 1705 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy175:
	++YYCURSOR;
#line 121 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MOD; }
#line 1710 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy177:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '=':	goto yy235;
	default:	goto yy178;
	}
yy178:
#line 123 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::GT; }
#line 1720 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy179:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '=':	goto yy233;
	case '>':	goto yy231;
	default:	goto yy180;
	}
yy180:
#line 124 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LT; }
#line 1731 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy181:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '=':	goto yy229;
	default:	goto yy182;
	}
yy182:
#line 130 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::EQ; }
#line 1741 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy183:
	yych = *++YYCURSOR;
	switch (yych) {
	case '=':	goto yy227;
	default:	goto yy146;
	}
yy184:
	++YYCURSOR;
#line 131 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SLASH; }
#line 1752 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy186:
	++YYCURSOR;
#line 132 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::AT; }
#line 1757 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy188:
	++YYCURSOR;
#line 133 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::AND; }
#line 1762 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy190:
	++YYCURSOR;
#line 134 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::XOR; }
#line 1767 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy192:
	++YYCURSOR;
#line 135 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::BNOT; }
#line 1772 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy194:
	++YYCURSOR;
#line 136 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::QUESTION; }
#line 1777 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy196:
	yyaccept = 2;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '!':	goto yy205;
	case '*':	goto yy211;
	case '+':	goto yy215;
	case '-':	goto yy213;
	case '<':	goto yy203;
	case '=':	goto yy207;
	case '>':	goto yy209;
	default:	goto yy197;
	}
yy197:
#line 137 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP; }
#line 1794 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy198:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '*':	goto yy201;
	default:	goto yy199;
	}
yy199:
	YYSETCONDITION(yyccomment);
#line 151 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 1805 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy200:
	yych = *++YYCURSOR;
	goto yy146;
yy201:
	++YYCURSOR;
	YYSETCONDITION(yycblockcomment);
#line 150 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 1814 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy203:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '=':	goto yy223;
	case '>':	goto yy225;
	default:	goto yy204;
	}
yy204:
#line 142 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_LT; }
#line 1825 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy205:
	yych = *++YYCURSOR;
	switch (yych) {
	case '=':	goto yy221;
	default:	goto yy206;
	}
yy206:
	YYCURSOR = YYMARKER;
	switch (yyaccept) {
	case 0: 	goto yy138;
	case 1: 	goto yy146;
	case 2: 	goto yy197;
	case 3: 	goto yy290;
	case 4: 	goto yy134;
	}
yy207:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '=':	goto yy219;
	default:	goto yy208;
	}
yy208:
#line 146 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_EQ; }
#line 1850 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy209:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '=':	goto yy217;
	default:	goto yy210;
	}
yy210:
#line 144 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_GT; }
#line 1860 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy211:
	++YYCURSOR;
#line 140 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_MUL; }
#line 1865 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy213:
	++YYCURSOR;
#line 139 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_SUB; }
#line 1870 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy215:
	++YYCURSOR;
#line 138 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_ADD; }
#line 1875 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy217:
	++YYCURSOR;
#line 143 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_GEQ; }
#line 1880 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy219:
	++YYCURSOR;
#line 145 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_EQ; }
#line 1885 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy221:
	++YYCURSOR;
#line 147 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_NEQ; }
#line 1890 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy223:
	++YYCURSOR;
#line 141 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_LEQ; }
#line 1895 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy225:
	++YYCURSOR;
#line 148 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CSP_NEQ; }
#line 1900 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy227:
	++YYCURSOR;
#line 128 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::NEQ; }
#line 1905 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy229:
	++YYCURSOR;
#line 127 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::EQ; }
#line 1910 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy231:
	++YYCURSOR;
#line 129 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::NEQ; }
#line 1915 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy233:
	++YYCURSOR;
#line 126 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LEQ; }
#line 1920 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy235:
	++YYCURSOR;
#line 125 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::GEQ; }
#line 1925 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy237:
	++YYCURSOR;
#line 120 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::POW; }
#line 1930 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy239:
	++YYCURSOR;
#line 109 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::WIF; }
#line 1935 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy241:
	++YYCURSOR;
#line 108 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::IF; }
#line 1940 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy243:
	++YYCURSOR;
#line 105 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DOTS; }
#line 1945 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy245:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy246:
	switch (yych) {
	case '\n':	goto yy206;
	case '"':	goto yy248;
	case '\\':	goto yy247;
	default:	goto yy245;
	}
yy247:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '"':
	case '\\':
	case 'n':	goto yy245;
	default:	goto yy206;
	}
yy248:
	++YYCURSOR;
#line 93 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(unquote(string(1, 1)).c_str()); return NonGroundGrammar::parser::token::STRING; }
#line 1971 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy250:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy251:
	switch (yych) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy250;
	default:	goto yy144;
	}
yy252:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy253:
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy252;
	default:	goto yy141;
	}
yy254:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy255:
	switch (yych) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy254;
	default:	goto yy136;
	}
yy256:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':	goto yy250;
	case '_':	goto yy256;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy254;
	default:	goto yy206;
	}
yy258:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy259;
	default:	goto yy255;
	}
yy259:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy254;
	default:	goto yy260;
	}
yy260:
#line 88 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(not_); return NonGroundGrammar::parser::token::NOT; }
#line 2272 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy261:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy262:
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy134;
	}
yy263:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy424;
	default:	goto yy262;
	}
yy264:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy416;
	default:	goto yy262;
	}
yy265:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy404;
	case 'x':	goto yy405;
	default:	goto yy262;
	}
yy266:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy399;
	default:	goto yy262;
	}
yy267:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy390;
	default:	goto yy262;
	}
yy268:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy377;
	default:	goto yy262;
	}
yy269:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy360;
	case 'i':	goto yy359;
	default:	goto yy262;
	}
yy270:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy347;
	default:	goto yy262;
	}
yy271:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy286;
	case 'h':	goto yy287;
	case 'u':	goto yy285;
	default:	goto yy262;
	}
yy272:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'h':	goto yy276;
	case 'r':	goto yy275;
	default:	goto yy262;
	}
yy273:
	++YYCURSOR;
	YYSETCONDITION(yyccomment);
#line 152 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 2414 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy275:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy282;
	default:	goto yy262;
	}
yy276:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy277;
	default:	goto yy262;
	}
yy277:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy278;
	default:	goto yy262;
	}
yy278:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy279;
	default:	goto yy262;
	}
yy279:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy280;
	default:	goto yy262;
	}
yy280:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy281;
	}
yy281:
#line 103 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::THEORY; }
#line 2516 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy282:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy283;
	default:	goto yy262;
	}
yy283:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy284;
	}
yy284:
#line 95 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::TRUE; }
#line 2594 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy285:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy336;
	case 'p':	goto yy338;
	default:	goto yy262;
	}
yy286:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy313;
	default:	goto yy262;
	}
yy287:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy288;
	default:	goto yy262;
	}
yy288:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'w':	goto yy289;
	default:	goto yy262;
	}
yy289:
	YYCTXMARKER = YYCURSOR + 1;
	yyaccept = 3;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy295;
	case '$':
	case '-':	goto yy297;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':	goto yy261;
	case '_':	goto yy291;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy293;
	default:	goto yy290;
	}
yy290:
#line 72 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SHOW; }
#line 2699 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy291:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':	goto yy261;
	case '_':	goto yy291;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy293;
	default:	goto yy134;
	}
yy293:
	yyaccept = 4;
	YYMARKER = ++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy303;
	case '\'':	goto yy301;
	case '/':	goto yy305;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy293;
	default:	goto yy134;
	}
yy295:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy295;
	case '$':
	case '-':	goto yy297;
	case '_':	goto yy299;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy301;
	default:	goto yy206;
	}
yy297:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy297;
	case '_':	goto yy299;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy301;
	default:	goto yy206;
	}
yy299:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '_':	goto yy299;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy301;
	default:	goto yy206;
	}
yy301:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy303;
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy301;
	case '/':	goto yy305;
	default:	goto yy206;
	}
yy303:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy303;
	case '/':	goto yy305;
	default:	goto yy206;
	}
yy305:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy305;
	case '0':	goto yy307;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy309;
	default:	goto yy206;
	}
yy307:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy307;
	case '.':	goto yy311;
	default:	goto yy206;
	}
yy309:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy307;
	case '.':	goto yy311;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy309;
	default:	goto yy206;
	}
yy311:
	++YYCURSOR;
	YYCURSOR = YYCTXMARKER;
#line 73 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SHOWSIG; }
#line 3107 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy313:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy314;
	default:	goto yy262;
	}
yy314:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'p':	goto yy315;
	default:	goto yy262;
	}
yy315:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy316;
	default:	goto yy262;
	}
yy316:
	yyaccept = 4;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy317;
	case '(':	goto yy319;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy134;
	}
yy317:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy317;
	case '(':	goto yy319;
	default:	goto yy206;
	}
yy319:
	++YYCURSOR;
	if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy319;
	case 'l':	goto yy322;
	case 'p':	goto yy321;
	default:	goto yy206;
	}
yy321:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy328;
	default:	goto yy206;
	}
yy322:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy323;
	default:	goto yy206;
	}
yy323:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy324;
	default:	goto yy206;
	}
yy324:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy324;
	case ')':	goto yy326;
	default:	goto yy206;
	}
yy326:
	++YYCURSOR;
	YYSETCONDITION(yyclua);
#line 67 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 3256 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy328:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy329;
	default:	goto yy206;
	}
yy329:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'h':	goto yy330;
	default:	goto yy206;
	}
yy330:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy331;
	default:	goto yy206;
	}
yy331:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy332;
	default:	goto yy206;
	}
yy332:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy332;
	case ')':	goto yy334;
	default:	goto yy206;
	}
yy334:
	++YYCURSOR;
	YYSETCONDITION(yycpython);
#line 66 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 3297 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy336:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '+':	goto yy345;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy337;
	}
yy337:
#line 97 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUM; }
#line 3370 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy338:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	case 'r':	goto yy340;
	default:	goto yy339;
	}
yy339:
#line 65 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUPREMUM; }
#line 3442 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy340:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy341;
	default:	goto yy262;
	}
yy341:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy342;
	default:	goto yy262;
	}
yy342:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy343;
	default:	goto yy262;
	}
yy343:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy344;
	default:	goto yy262;
	}
yy344:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy339;
	}
yy345:
	++YYCURSOR;
#line 98 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUMP; }
#line 3539 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy347:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy348;
	default:	goto yy262;
	}
yy348:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'g':	goto yy350;
	case 'j':	goto yy349;
	default:	goto yy262;
	}
yy349:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy355;
	default:	goto yy262;
	}
yy350:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy351;
	default:	goto yy262;
	}
yy351:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy352;
	default:	goto yy262;
	}
yy352:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy353;
	default:	goto yy262;
	}
yy353:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy354;
	}
yy354:
#line 77 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::BLOCK; }
#line 3648 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy355:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy356;
	default:	goto yy262;
	}
yy356:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy357;
	default:	goto yy262;
	}
yy357:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy358;
	}
yy358:
#line 71 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::PROJECT; }
#line 3732 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy359:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy369;
	default:	goto yy262;
	}
yy360:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'x':	goto yy361;
	default:	goto yy262;
	}
yy361:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	case 'i':	goto yy363;
	default:	goto yy362;
	}
yy362:
#line 101 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MAX; }
#line 3816 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy363:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy364;
	default:	goto yy262;
	}
yy364:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy365;
	default:	goto yy262;
	}
yy365:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':
	case 'z':	goto yy366;
	default:	goto yy262;
	}
yy366:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy367;
	default:	goto yy262;
	}
yy367:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy368;
	}
yy368:
#line 76 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MAXIMIZE; }
#line 3913 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy369:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	case 'i':	goto yy371;
	default:	goto yy370;
	}
yy370:
#line 100 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MIN; }
#line 3985 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy371:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy372;
	default:	goto yy262;
	}
yy372:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy373;
	default:	goto yy262;
	}
yy373:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':
	case 'z':	goto yy374;
	default:	goto yy262;
	}
yy374:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy375;
	default:	goto yy262;
	}
yy375:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy376;
	}
yy376:
#line 75 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MINIMIZE; }
#line 4082 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy377:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy378;
	case 'f':	goto yy379;
	default:	goto yy262;
	}
yy378:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'l':	goto yy385;
	default:	goto yy262;
	}
yy379:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	case 'i':	goto yy381;
	default:	goto yy380;
	}
yy380:
#line 64 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::INFIMUM; }
#line 4167 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy381:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy382;
	default:	goto yy262;
	}
yy382:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy383;
	default:	goto yy262;
	}
yy383:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy384;
	default:	goto yy262;
	}
yy384:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy380;
	}
yy385:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy386;
	default:	goto yy262;
	}
yy386:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy387;
	default:	goto yy262;
	}
yy387:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy388;
	default:	goto yy262;
	}
yy388:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy389;
	}
yy389:
#line 68 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::INCLUDE; }
#line 4343 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy390:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy391;
	default:	goto yy262;
	}
yy391:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy392;
	default:	goto yy262;
	}
yy392:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy393;
	default:	goto yy262;
	}
yy393:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':	goto yy394;
	default:	goto yy262;
	}
yy394:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy395;
	default:	goto yy262;
	}
yy395:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy396;
	default:	goto yy262;
	}
yy396:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy397;
	default:	goto yy262;
	}
yy397:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy398;
	}
yy398:
#line 70 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::HEURISTIC; }
#line 4457 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy399:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'l':	goto yy400;
	default:	goto yy262;
	}
yy400:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':	goto yy401;
	default:	goto yy262;
	}
yy401:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy402;
	default:	goto yy262;
	}
yy402:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy403;
	}
yy403:
#line 96 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::FALSE; }
#line 4547 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy404:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'g':	goto yy413;
	default:	goto yy262;
	}
yy405:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy406;
	default:	goto yy262;
	}
yy406:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy407;
	default:	goto yy262;
	}
yy407:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy408;
	default:	goto yy262;
	}
yy408:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy409;
	default:	goto yy262;
	}
yy409:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy410;
	default:	goto yy262;
	}
yy410:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'l':	goto yy411;
	default:	goto yy262;
	}
yy411:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy412;
	}
yy412:
#line 78 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::EXTERNAL; }
#line 4661 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy413:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy414;
	default:	goto yy262;
	}
yy414:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy415;
	}
yy415:
#line 69 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::EDGE; }
#line 4739 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy416:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':	goto yy417;
	default:	goto yy262;
	}
yy417:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'j':	goto yy418;
	default:	goto yy262;
	}
yy418:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy419;
	default:	goto yy262;
	}
yy419:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy420;
	default:	goto yy262;
	}
yy420:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy421;
	default:	goto yy262;
	}
yy421:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy422;
	default:	goto yy262;
	}
yy422:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy423;
	}
yy423:
#line 102 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DISJOINT; }
#line 4847 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy424:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy425;
	case 'u':	goto yy426;
	default:	goto yy262;
	}
yy425:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':	goto yy430;
	default:	goto yy262;
	}
yy426:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy427;
	default:	goto yy262;
	}
yy427:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy428;
	default:	goto yy262;
	}
yy428:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy429;
	}
yy429:
#line 99 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COUNT; }
#line 4944 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy430:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy431;
	default:	goto yy262;
	}
yy431:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy261;
	default:	goto yy432;
	}
yy432:
#line 74 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CONST; }
#line 5022 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy433:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy434:
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy433;
	default:	goto yy129;
	}
/* *********************************** */
yyc_python:
	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
	yych = *YYCURSOR;
	switch (yych) {
	case '\n':	goto yy439;
	case '#':	goto yy437;
	default:	goto yy441;
	}
yy437:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 'e':	goto yy442;
	default:	goto yy438;
	}
yy438:
#line 171 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ continue; }
#line 5053 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy439:
	++YYCURSOR;
#line 163 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{
            if(eof()) {
                lexerError(eof(loc), Potassco::toSpan("<EOF>", 5));
                return 0;
            }
            step();
            continue;
        }
#line 5065 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy441:
	yych = *++YYCURSOR;
	goto yy438;
yy442:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy444;
	default:	goto yy443;
	}
yy443:
	YYCURSOR = YYMARKER;
	goto yy438;
yy444:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy445;
	default:	goto yy443;
	}
yy445:
	++YYCURSOR;
	YYSETCONDITION(yycnormal);
#line 156 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{
            auto span = string();
            std::string s(span.first, span.first + span.size);
            s.push_back('\n');
            value.str = String::toRep(s.c_str());
            return NonGroundGrammar::parser::token::PYTHON;
        }
#line 5095 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
/* *********************************** */
yyc_theory:
	if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy450;
	case '\n':	goto yy451;
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '/':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy485;
	case '"':	goto yy464;
	case '#':	goto yy453;
	case '%':	goto yy487;
	case '(':	goto yy477;
	case ')':	goto yy479;
	case ',':	goto yy471;
	case '.':	goto yy467;
	case '0':	goto yy459;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy461;
	case ':':	goto yy469;
	case ';':	goto yy465;
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':	goto yy462;
	case '[':	goto yy473;
	case ']':	goto yy475;
	case '_':	goto yy455;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy457;
	case '{':	goto yy481;
	case '}':	goto yy483;
	default:	goto yy489;
	}
yy449:
#line 62 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ start(loc); continue; }
#line 5201 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy450:
	yych = *++YYCURSOR;
	goto yy532;
yy451:
	++YYCURSOR;
#line 63 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) return 0; step(); start(loc); continue; }
#line 5209 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy453:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '!':	goto yy514;
	case 'i':	goto yy512;
	case 's':	goto yy513;
	default:	goto yy511;
	}
yy454:
#line 153 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 5221 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy455:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':	goto yy502;
	case '_':	goto yy508;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy506;
	default:	goto yy456;
	}
yy456:
#line 154 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 5284 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy457:
	++YYCURSOR;
	yych = *YYCURSOR;
	goto yy507;
yy458:
#line 90 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::IDENTIFIER; }
#line 5292 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy459:
	++YYCURSOR;
yy460:
#line 91 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.num = integer(); return NonGroundGrammar::parser::token::NUMBER; }
#line 5298 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy461:
	yych = *++YYCURSOR;
	goto yy505;
yy462:
	++YYCURSOR;
	yych = *YYCURSOR;
	goto yy503;
yy463:
#line 92 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::VARIABLE; }
#line 5309 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy464:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\n':	goto yy456;
	default:	goto yy497;
	}
yy465:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy492;
	default:	goto yy466;
	}
yy466:
#line 104 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SEM; }
#line 5343 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy467:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy492;
	default:	goto yy468;
	}
yy468:
#line 106 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DOT; }
#line 5370 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy469:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy492;
	case '-':	goto yy494;
	default:	goto yy470;
	}
yy470:
#line 107 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COLON; }
#line 5397 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy471:
	++YYCURSOR;
#line 110 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COMMA; }
#line 5402 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy473:
	++YYCURSOR;
#line 112 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACK; }
#line 5407 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy475:
	++YYCURSOR;
#line 113 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACK; }
#line 5412 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy477:
	++YYCURSOR;
#line 114 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LPAREN; }
#line 5417 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy479:
	++YYCURSOR;
#line 115 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RPAREN; }
#line 5422 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy481:
	++YYCURSOR;
#line 116 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACE; }
#line 5427 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy483:
	++YYCURSOR;
#line 117 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACE; }
#line 5432 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy485:
	++YYCURSOR;
	yych = *YYCURSOR;
	goto yy493;
yy486:
#line 149 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::THEORY_OP; }
#line 5440 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy487:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '*':	goto yy490;
	default:	goto yy488;
	}
yy488:
	YYSETCONDITION(yyccomment);
#line 151 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 5451 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy489:
	yych = *++YYCURSOR;
	goto yy456;
yy490:
	++YYCURSOR;
	YYSETCONDITION(yycblockcomment);
#line 150 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 5460 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy492:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy493:
	switch (yych) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy492;
	default:	goto yy486;
	}
yy494:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy492;
	default:	goto yy495;
	}
yy495:
#line 108 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::IF; }
#line 5513 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy496:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy497:
	switch (yych) {
	case '\n':	goto yy498;
	case '"':	goto yy500;
	case '\\':	goto yy499;
	default:	goto yy496;
	}
yy498:
	YYCURSOR = YYMARKER;
	goto yy456;
yy499:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '"':
	case '\\':
	case 'n':	goto yy496;
	default:	goto yy498;
	}
yy500:
	++YYCURSOR;
#line 93 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(unquote(string(1, 1)).c_str()); return NonGroundGrammar::parser::token::STRING; }
#line 5542 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy502:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy503:
	switch (yych) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy502;
	default:	goto yy463;
	}
yy504:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy505:
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy504;
	default:	goto yy460;
	}
yy506:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy507:
	switch (yych) {
	case '\'':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy506;
	default:	goto yy458;
	}
yy508:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':	goto yy502;
	case '_':	goto yy508;
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy506;
	default:	goto yy498;
	}
yy510:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy511:
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy510;
	default:	goto yy454;
	}
yy512:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy524;
	default:	goto yy511;
	}
yy513:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy516;
	default:	goto yy511;
	}
yy514:
	++YYCURSOR;
	YYSETCONDITION(yyccomment);
#line 152 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	continue;
#line 5853 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy516:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'p':	goto yy517;
	default:	goto yy511;
	}
yy517:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy510;
	case 'r':	goto yy519;
	default:	goto yy518;
	}
yy518:
#line 65 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUPREMUM; }
#line 5931 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy519:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy520;
	default:	goto yy511;
	}
yy520:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy521;
	default:	goto yy511;
	}
yy521:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy522;
	default:	goto yy511;
	}
yy522:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy523;
	default:	goto yy511;
	}
yy523:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy510;
	default:	goto yy518;
	}
yy524:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'f':	goto yy525;
	default:	goto yy511;
	}
yy525:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy510;
	case 'i':	goto yy527;
	default:	goto yy526;
	}
yy526:
#line 64 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::INFIMUM; }
#line 6101 "/tmp/clingo-release/build/debug/libgringo//src/input/nongroundlexer.hh"
yy527:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy528;
	default:	goto yy511;
	}
yy528:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy529;
	default:	goto yy511;
	}
yy529:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy530;
	default:	goto yy511;
	}
yy530:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 'A':
	case 'B':
	case 'C':
	case 'D':
	case 'E':
	case 'F':
	case 'G':
	case 'H':
	case 'I':
	case 'J':
	case 'K':
	case 'L':
	case 'M':
	case 'N':
	case 'O':
	case 'P':
	case 'Q':
	case 'R':
	case 'S':
	case 'T':
	case 'U':
	case 'V':
	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
	case '_':
	case 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'n':
	case 'o':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy510;
	default:	goto yy526;
	}
yy531:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy532:
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy531;
	default:	goto yy449;
	}
}
#line 210 "/tmp/clingo-release/libgringo//src/input/nongroundlexer.xch"

    }
    assert(false);
    return 0;
}

#undef YYCTYPE
#undef YYCURSOR
#undef YYLIMIT
#undef YYMARKER
#undef YYFILL
#undef YYCTXMARKER
#undef YYGETCONDITION
#undef YYSETCONDITION
