/* Generated by re2c 1.1.1 on Mon Mar 27 15:13:18 2023 */
#line 1 "/home/kaminski/Documents/git/potassco/clingo/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 59 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"


namespace Gringo { namespace Input {

int NonGroundParser::lex_impl(void *pValue, Location &loc) {
    int bc = 0;
    auto &value = *static_cast<NonGroundGrammar::parser::semantic_type*>(pValue);
    start(loc);
    for (;;) {
        
#line 49 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
{
	YYCTYPE yych;
	unsigned int yyaccept = 0;
	switch (YYGETCONDITION()) {
	case yycstart: goto yyc_start;
	case yycdefinition: goto yyc_definition;
	case yycnormal: goto yyc_normal;
	case yycscript: goto yyc_script;
	case yyctheory: goto yyc_theory;
	case yycscript_body: goto yyc_script_body;
	case yycblockcomment: goto yyc_blockcomment;
	case yyccomment: goto yyc_comment;
	}
/* *********************************** */
yyc_start:
	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
	yych = *YYCURSOR;
	switch (yych) {
	case 'a':	goto yy5;
	default:	goto yy3;
	}
yy3:
	++YYCURSOR;
yy4:
	YYCURSOR -= 1;
	YYSETCONDITION(yycnormal);
	continue;
yy5:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 's':	goto yy6;
	default:	goto yy4;
	}
yy6:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'p':	goto yy8;
	default:	goto yy7;
	}
yy7:
	YYCURSOR = YYMARKER;
	goto yy4;
yy8:
	yych = *++YYCURSOR;
	switch (yych) {
	case ' ':
		YYCTXMARKER = YYCURSOR;
		goto yy9;
	default:	goto yy7;
	}
yy9:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':	goto yy10;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy12;
	default:	goto yy7;
	}
yy10:
	++YYCURSOR;
yy11:
	YYCURSOR = YYCTXMARKER;
	YYSETCONDITION(yycaspif);
#line 69 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ aspif_(loc); continue; }
#line 122 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy12:
	++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':	goto yy12;
	default:	goto yy11;
	}
/* *********************************** */
yyc_definition:
	if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy18;
	case '\n':	goto yy21;
	case '#':	goto yy23;
	case '%':	goto yy25;
	case '&':	goto yy27;
	case '\'':
	case '_':	goto yy29;
	case ',':	goto yy30;
	case '.':	goto yy32;
	case '/':	goto yy34;
	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 yy40;
	case ';':	goto yy42;
	case 'a':	goto yy44;
	case 'b':	goto yy46;
	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 yy47;
	case 'd':	goto yy49;
	case 'h':	goto yy50;
	case 'l':	goto yy51;
	case 'r':	goto yy52;
	case 'u':	goto yy53;
	case '{':	goto yy54;
	case '}':	goto yy56;
	default:	goto yy16;
	}
yy16:
	++YYCURSOR;
yy17:
#line 153 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 204 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy18:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy18;
	default:	goto yy20;
	}
yy20:
#line 71 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ start(loc); continue; }
#line 218 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy21:
	++YYCURSOR;
#line 72 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) return 0; step(); start(loc); continue; }
#line 223 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy23:
	yych = *++YYCURSOR;
	switch (yych) {
	case '!':	goto yy58;
	default:	goto yy61;
	}
yy24:
#line 152 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 233 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy25:
	yych = *++YYCURSOR;
	switch (yych) {
	case '*':	goto yy62;
	default:	goto yy26;
	}
yy26:
	YYSETCONDITION(yyccomment);
	continue;
yy27:
	++YYCURSOR;
#line 144 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::AND; }
#line 247 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy29:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\'':
	case '_':	goto yy64;
	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 yy47;
	default:	goto yy17;
	}
yy30:
	++YYCURSOR;
#line 120 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COMMA; }
#line 286 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy32:
	++YYCURSOR;
#line 116 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DOT; }
#line 291 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy34:
	++YYCURSOR;
#line 142 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SLASH; }
#line 296 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy36:
	yyaccept = 1;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 'b':	goto yy67;
	case 'o':	goto yy68;
	case 'x':	goto yy69;
	default:	goto yy37;
	}
yy37:
#line 102 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.num = clingo_number(); return NonGroundGrammar::parser::token::NUMBER; }
#line 309 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy38:
	++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':	goto yy38;
	default:	goto yy37;
	}
yy40:
	++YYCURSOR;
#line 117 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COLON; }
#line 331 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy42:
	++YYCURSOR;
#line 114 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SEM; }
#line 336 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy44:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy70;
	default:	goto yy48;
	}
yy45:
#line 101 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::IDENTIFIER; }
#line 346 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy46:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy71;
	case 'o':	goto yy72;
	default:	goto yy48;
	}
yy47:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy48:
	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 yy47;
	default:	goto yy45;
	}
yy49:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy73;
	default:	goto yy48;
	}
yy50:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy74;
	default:	goto yy48;
	}
yy51:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy75;
	default:	goto yy48;
	}
yy52:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy76;
	default:	goto yy48;
	}
yy53:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy77;
	default:	goto yy48;
	}
yy54:
	++YYCURSOR;
#line 127 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACE; }
#line 460 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy56:
	++YYCURSOR;
#line 128 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACE; }
#line 465 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy58:
	++YYCURSOR;
	YYSETCONDITION(yyccomment);
	continue;
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 yy24;
	}
yy62:
	++YYCURSOR;
	YYSETCONDITION(yycblockcomment);
#line 149 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 546 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy64:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\'':
	case '_':	goto yy64;
	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 yy47;
	default:	goto yy66;
	}
yy66:
	YYCURSOR = YYMARKER;
	if (yyaccept == 0) {
		goto yy17;
	} else {
		goto yy37;
	}
yy67:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':
	case '1':	goto yy78;
	default:	goto yy66;
	}
yy68:
	yych = *++YYCURSOR;
	switch (yych) {
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy80;
	default:	goto yy66;
	}
yy69:
	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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy82;
	default:	goto yy66;
	}
yy70:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy84;
	default:	goto yy48;
	}
yy71:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy86;
	default:	goto yy48;
	}
yy72:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy87;
	default:	goto yy48;
	}
yy73:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy88;
	default:	goto yy48;
	}
yy74:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy89;
	default:	goto yy48;
	}
yy75:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'f':	goto yy90;
	default:	goto yy48;
	}
yy76:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'g':	goto yy91;
	default:	goto yy48;
	}
yy77:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy92;
	default:	goto yy48;
	}
yy78:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '0':
	case '1':	goto yy78;
	default:	goto yy37;
	}
yy80:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy80;
	default:	goto yy37;
	}
yy82:
	++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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy82;
	default:	goto yy37;
	}
yy84:
	yych = *++YYCURSOR;
	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 yy47;
	default:	goto yy85;
	}
yy85:
#line 92 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::ANY; }
#line 807 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy86:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy93;
	default:	goto yy48;
	}
yy87:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy94;
	default:	goto yy48;
	}
yy88:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy96;
	default:	goto yy48;
	}
yy89:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy97;
	default:	goto yy48;
	}
yy90:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy99;
	default:	goto yy48;
	}
yy91:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'h':	goto yy101;
	default:	goto yy48;
	}
yy92:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy102;
	default:	goto yy48;
	}
yy93:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy103;
	default:	goto yy48;
	}
yy94:
	yych = *++YYCURSOR;
	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 yy47;
	default:	goto yy95;
	}
yy95:
#line 91 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::BODY; }
#line 928 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy96:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy104;
	default:	goto yy48;
	}
yy97:
	yych = *++YYCURSOR;
	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 yy47;
	default:	goto yy98;
	}
yy98:
#line 90 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::HEAD; }
#line 1007 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy99:
	yych = *++YYCURSOR;
	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 yy47;
	default:	goto yy100;
	}
yy100:
#line 88 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LEFT; }
#line 1080 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy101:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy105;
	default:	goto yy48;
	}
yy102:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy107;
	default:	goto yy48;
	}
yy103:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy109;
	default:	goto yy48;
	}
yy104:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy111;
	default:	goto yy48;
	}
yy105:
	yych = *++YYCURSOR;
	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 yy47;
	default:	goto yy106;
	}
yy106:
#line 89 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RIGHT; }
#line 1177 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy107:
	yych = *++YYCURSOR;
	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 yy47;
	default:	goto yy108;
	}
yy108:
#line 94 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::UNARY; }
#line 1250 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy109:
	yych = *++YYCURSOR;
	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 yy47;
	default:	goto yy110;
	}
yy110:
#line 93 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::BINARY; }
#line 1323 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy111:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy112;
	default:	goto yy48;
	}
yy112:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'v':	goto yy113;
	default:	goto yy48;
	}
yy113:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy114;
	default:	goto yy48;
	}
yy114:
	yych = *++YYCURSOR;
	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 yy47;
	default:	goto yy115;
	}
yy115:
#line 95 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DIRECTIVE; }
#line 1414 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
/* *********************************** */
yyc_normal:
	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy120;
	case '\n':	goto yy123;
	case '!':	goto yy125;
	case '"':	goto yy126;
	case '#':	goto yy127;
	case '%':	goto yy129;
	case '&':	goto yy131;
	case '\'':	goto yy133;
	case '(':	goto yy134;
	case ')':	goto yy136;
	case '*':	goto yy138;
	case '+':	goto yy140;
	case ',':	goto yy142;
	case '-':	goto yy144;
	case '.':	goto yy146;
	case '/':	goto yy148;
	case '0':	goto yy150;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy152;
	case ':':	goto yy154;
	case ';':	goto yy156;
	case '<':	goto yy158;
	case '=':	goto yy160;
	case '>':	goto yy162;
	case '?':	goto yy164;
	case '@':	goto yy166;
	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 yy168;
	case '[':	goto yy171;
	case '\\':	goto yy173;
	case ']':	goto yy175;
	case '^':	goto yy177;
	case '_':	goto yy179;
	case 'a':
	case 'b':
	case 'c':
	case 'e':
	case 'f':
	case 'g':
	case 'h':
	case 'i':
	case 'j':
	case 'k':
	case 'l':
	case 'm':
	case 'p':
	case 'q':
	case 'r':
	case 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy181;
	case 'd':	goto yy184;
	case 'n':	goto yy185;
	case 'o':	goto yy186;
	case '{':	goto yy187;
	case '|':	goto yy189;
	case '}':	goto yy191;
	case '~':	goto yy193;
	default:	goto yy118;
	}
yy118:
	++YYCURSOR;
yy119:
#line 153 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 1523 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy120:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy120;
	default:	goto yy122;
	}
yy122:
#line 71 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ start(loc); continue; }
#line 1537 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy123:
	++YYCURSOR;
#line 72 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) return 0; step(); start(loc); continue; }
#line 1542 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy125:
	yych = *++YYCURSOR;
	switch (yych) {
	case '=':	goto yy195;
	default:	goto yy119;
	}
yy126:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\n':	goto yy119;
	default:	goto yy198;
	}
yy127:
	yych = *++YYCURSOR;
	switch (yych) {
	case '!':	goto yy203;
	case 'c':	goto yy207;
	case 'd':	goto yy208;
	case 'e':	goto yy209;
	case 'f':	goto yy210;
	case 'h':	goto yy211;
	case 'i':	goto yy212;
	case 'm':	goto yy213;
	case 'p':	goto yy214;
	case 's':	goto yy215;
	case 't':	goto yy216;
	default:	goto yy206;
	}
yy128:
#line 152 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 1575 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy129:
	yych = *++YYCURSOR;
	switch (yych) {
	case '*':	goto yy217;
	default:	goto yy130;
	}
yy130:
	YYSETCONDITION(yyccomment);
	continue;
yy131:
	++YYCURSOR;
#line 144 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::AND; }
#line 1589 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy133:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\'':
	case '_':	goto yy219;
	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 yy168;
	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 yy181;
	default:	goto yy119;
	}
yy134:
	++YYCURSOR;
#line 124 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LPAREN; }
#line 1654 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy136:
	++YYCURSOR;
#line 125 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RPAREN; }
#line 1659 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy138:
	yych = *++YYCURSOR;
	switch (yych) {
	case '*':	goto yy221;
	default:	goto yy139;
	}
yy139:
#line 133 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MUL; }
#line 1669 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy140:
	++YYCURSOR;
#line 129 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::ADD; }
#line 1674 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy142:
	++YYCURSOR;
#line 120 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COMMA; }
#line 1679 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy144:
	++YYCURSOR;
#line 130 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUB; }
#line 1684 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy146:
	yych = *++YYCURSOR;
	switch (yych) {
	case '.':	goto yy223;
	default:	goto yy147;
	}
yy147:
#line 116 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DOT; }
#line 1694 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy148:
	++YYCURSOR;
#line 142 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SLASH; }
#line 1699 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy150:
	yyaccept = 1;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 'b':	goto yy225;
	case 'o':	goto yy226;
	case 'x':	goto yy227;
	default:	goto yy151;
	}
yy151:
#line 102 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.num = clingo_number(); return NonGroundGrammar::parser::token::NUMBER; }
#line 1712 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy152:
	++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':	goto yy152;
	default:	goto yy151;
	}
yy154:
	yych = *++YYCURSOR;
	switch (yych) {
	case '-':	goto yy228;
	case '~':	goto yy230;
	default:	goto yy155;
	}
yy155:
#line 117 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COLON; }
#line 1740 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy156:
	++YYCURSOR;
#line 114 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SEM; }
#line 1745 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy158:
	yych = *++YYCURSOR;
	switch (yych) {
	case '=':	goto yy232;
	case '>':	goto yy234;
	default:	goto yy159;
	}
yy159:
#line 135 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LT; }
#line 1756 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy160:
	yych = *++YYCURSOR;
	switch (yych) {
	case '=':	goto yy236;
	default:	goto yy161;
	}
yy161:
#line 141 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::EQ; }
#line 1766 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy162:
	yych = *++YYCURSOR;
	switch (yych) {
	case '=':	goto yy238;
	default:	goto yy163;
	}
yy163:
#line 134 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::GT; }
#line 1776 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy164:
	++YYCURSOR;
#line 147 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::QUESTION; }
#line 1781 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy166:
	++YYCURSOR;
#line 143 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::AT; }
#line 1786 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy168:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	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 yy168;
	default:	goto yy170;
	}
yy170:
#line 103 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::VARIABLE; }
#line 1861 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy171:
	++YYCURSOR;
#line 122 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACK; }
#line 1866 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy173:
	++YYCURSOR;
#line 132 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MOD; }
#line 1871 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy175:
	++YYCURSOR;
#line 123 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACK; }
#line 1876 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy177:
	++YYCURSOR;
#line 145 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::XOR; }
#line 1881 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy179:
	yyaccept = 2;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\'':
	case '_':	goto yy219;
	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 yy168;
	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 yy181;
	default:	goto yy180;
	}
yy180:
#line 100 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::ANONYMOUS; }
#line 1945 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy181:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy182:
	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 yy181;
	default:	goto yy183;
	}
yy183:
#line 101 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::IDENTIFIER; }
#line 2021 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy184:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy240;
	default:	goto yy182;
	}
yy185:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy241;
	default:	goto yy182;
	}
yy186:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'v':	goto yy242;
	default:	goto yy182;
	}
yy187:
	++YYCURSOR;
#line 127 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACE; }
#line 2044 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy189:
	++YYCURSOR;
#line 121 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::VBAR; }
#line 2049 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy191:
	++YYCURSOR;
#line 128 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACE; }
#line 2054 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy193:
	++YYCURSOR;
#line 146 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::BNOT; }
#line 2059 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy195:
	++YYCURSOR;
#line 139 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::NEQ; }
#line 2064 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy197:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy198:
	switch (yych) {
	case '\n':	goto yy199;
	case '"':	goto yy200;
	case '\\':	goto yy202;
	default:	goto yy197;
	}
yy199:
	YYCURSOR = YYMARKER;
	switch (yyaccept) {
	case 0: 	goto yy119;
	case 1: 	goto yy151;
	case 2: 	goto yy180;
	case 3: 	goto yy309;
	default:	goto yy128;
	}
yy200:
	++YYCURSOR;
#line 104 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(unquote(string(1, 1)).c_str()); return NonGroundGrammar::parser::token::STRING; }
#line 2089 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy202:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '"':
	case '\\':
	case 'n':	goto yy197;
	default:	goto yy199;
	}
yy203:
	++YYCURSOR;
	YYSETCONDITION(yyccomment);
	continue;
yy205:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy206:
	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 yy205;
	default:	goto yy128;
	}
yy207:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy243;
	default:	goto yy206;
	}
yy208:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy244;
	default:	goto yy206;
	}
yy209:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy245;
	case 'x':	goto yy246;
	default:	goto yy206;
	}
yy210:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy247;
	default:	goto yy206;
	}
yy211:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy248;
	default:	goto yy206;
	}
yy212:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy249;
	default:	goto yy206;
	}
yy213:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy250;
	case 'i':	goto yy251;
	default:	goto yy206;
	}
yy214:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy252;
	default:	goto yy206;
	}
yy215:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy253;
	case 'h':	goto yy254;
	case 'u':	goto yy255;
	default:	goto yy206;
	}
yy216:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'h':	goto yy256;
	case 'r':	goto yy257;
	default:	goto yy206;
	}
yy217:
	++YYCURSOR;
	YYSETCONDITION(yycblockcomment);
#line 149 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 2245 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy219:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\'':
	case '_':	goto yy219;
	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 yy168;
	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 yy181;
	default:	goto yy199;
	}
yy221:
	++YYCURSOR;
#line 131 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::POW; }
#line 2311 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy223:
	++YYCURSOR;
#line 115 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DOTS; }
#line 2316 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy225:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':
	case '1':	goto yy258;
	default:	goto yy199;
	}
yy226:
	yych = *++YYCURSOR;
	switch (yych) {
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy260;
	default:	goto yy199;
	}
yy227:
	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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy262;
	default:	goto yy199;
	}
yy228:
	++YYCURSOR;
#line 118 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::IF; }
#line 2367 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy230:
	++YYCURSOR;
#line 119 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::WIF; }
#line 2372 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy232:
	++YYCURSOR;
#line 137 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LEQ; }
#line 2377 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy234:
	++YYCURSOR;
#line 140 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::NEQ; }
#line 2382 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy236:
	++YYCURSOR;
#line 138 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::EQ; }
#line 2387 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy238:
	++YYCURSOR;
#line 136 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::GEQ; }
#line 2392 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy240:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'f':	goto yy264;
	default:	goto yy182;
	}
yy241:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy265;
	default:	goto yy182;
	}
yy242:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy267;
	default:	goto yy182;
	}
yy243:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy268;
	case 'u':	goto yy269;
	default:	goto yy206;
	}
yy244:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'f':	goto yy270;
	default:	goto yy206;
	}
yy245:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'g':	goto yy271;
	default:	goto yy206;
	}
yy246:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy272;
	default:	goto yy206;
	}
yy247:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'l':	goto yy273;
	default:	goto yy206;
	}
yy248:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy274;
	default:	goto yy206;
	}
yy249:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy275;
	case 'f':	goto yy276;
	default:	goto yy206;
	}
yy250:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'x':	goto yy278;
	default:	goto yy206;
	}
yy251:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy280;
	default:	goto yy206;
	}
yy252:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy282;
	default:	goto yy206;
	}
yy253:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy283;
	default:	goto yy206;
	}
yy254:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy284;
	default:	goto yy206;
	}
yy255:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy285;
	case 'p':	goto yy287;
	default:	goto yy206;
	}
yy256:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy289;
	default:	goto yy206;
	}
yy257:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy290;
	default:	goto yy206;
	}
yy258:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '0':
	case '1':	goto yy258;
	default:	goto yy151;
	}
yy260:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy260;
	default:	goto yy151;
	}
yy262:
	++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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy262;
	default:	goto yy151;
	}
yy264:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy291;
	default:	goto yy182;
	}
yy265:
	yych = *++YYCURSOR;
	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 yy181;
	default:	goto yy266;
	}
yy266:
#line 97 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(not_); return NonGroundGrammar::parser::token::NOT; }
#line 2634 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy267:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy292;
	default:	goto yy182;
	}
yy268:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':	goto yy293;
	default:	goto yy206;
	}
yy269:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy294;
	default:	goto yy206;
	}
yy270:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy295;
	default:	goto yy206;
	}
yy271:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy296;
	default:	goto yy206;
	}
yy272:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy298;
	default:	goto yy206;
	}
yy273:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':	goto yy299;
	default:	goto yy206;
	}
yy274:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy300;
	default:	goto yy206;
	}
yy275:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'l':	goto yy301;
	default:	goto yy206;
	}
yy276:
	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 '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 yy205;
	case 'i':	goto yy302;
	default:	goto yy277;
	}
yy277:
#line 73 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::INFIMUM; }
#line 2760 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy278:
	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 '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 yy205;
	case 'i':	goto yy303;
	default:	goto yy279;
	}
yy279:
#line 112 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MAX; }
#line 2832 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy280:
	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 '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 yy205;
	case 'i':	goto yy304;
	default:	goto yy281;
	}
yy281:
#line 111 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MIN; }
#line 2904 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy282:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'g':	goto yy305;
	case 'j':	goto yy306;
	default:	goto yy206;
	}
yy283:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy307;
	default:	goto yy206;
	}
yy284:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'w':	goto yy308;
	default:	goto yy206;
	}
yy285:
	yych = *++YYCURSOR;
	switch (yych) {
	case '+':	goto yy310;
	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 yy205;
	default:	goto yy286;
	}
yy286:
#line 108 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUM; }
#line 2996 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy287:
	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 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy205;
	case 'r':	goto yy312;
	default:	goto yy288;
	}
yy288:
#line 74 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUPREMUM; }
#line 3068 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy289:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy313;
	default:	goto yy206;
	}
yy290:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy314;
	default:	goto yy206;
	}
yy291:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy316;
	default:	goto yy182;
	}
yy292:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy317;
	default:	goto yy182;
	}
yy293:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy318;
	default:	goto yy206;
	}
yy294:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy320;
	default:	goto yy206;
	}
yy295:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy322;
	default:	goto yy206;
	}
yy296:
	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 yy205;
	default:	goto yy297;
	}
yy297:
#line 77 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::EDGE; }
#line 3182 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy298:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy323;
	default:	goto yy206;
	}
yy299:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy324;
	default:	goto yy206;
	}
yy300:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy326;
	default:	goto yy206;
	}
yy301:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy327;
	default:	goto yy206;
	}
yy302:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy328;
	default:	goto yy206;
	}
yy303:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy329;
	default:	goto yy206;
	}
yy304:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy330;
	default:	goto yy206;
	}
yy305:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy331;
	default:	goto yy206;
	}
yy306:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy332;
	default:	goto yy206;
	}
yy307:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'p':	goto yy333;
	default:	goto yy206;
	}
yy308:
	yyaccept = 3;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':
		YYCTXMARKER = YYCURSOR;
		goto yy334;
	case '$':
	case '-':
		YYCTXMARKER = YYCURSOR;
		goto yy336;
	case '\'':
		YYCTXMARKER = YYCURSOR;
		goto yy338;
	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 yy205;
	case '_':
		YYCTXMARKER = YYCURSOR;
		goto yy340;
	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':
		YYCTXMARKER = YYCURSOR;
		goto yy342;
	default:	goto yy309;
	}
yy309:
#line 80 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SHOW; }
#line 3332 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy310:
	++YYCURSOR;
#line 109 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUMP; }
#line 3337 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy312:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy344;
	default:	goto yy206;
	}
yy313:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'r':	goto yy345;
	default:	goto yy206;
	}
yy314:
	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 yy205;
	default:	goto yy315;
	}
yy315:
#line 106 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::TRUE; }
#line 3421 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy316:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'l':	goto yy346;
	default:	goto yy182;
	}
yy317:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy347;
	default:	goto yy182;
	}
yy318:
	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 yy205;
	default:	goto yy319;
	}
yy319:
#line 82 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::CONST; }
#line 3505 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy320:
	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 yy205;
	default:	goto yy321;
	}
yy321:
#line 110 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COUNT; }
#line 3577 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy322:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy348;
	default:	goto yy206;
	}
yy323:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy349;
	default:	goto yy206;
	}
yy324:
	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 yy205;
	default:	goto yy325;
	}
yy325:
#line 107 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::FALSE; }
#line 3661 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy326:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':	goto yy350;
	default:	goto yy206;
	}
yy327:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy351;
	default:	goto yy206;
	}
yy328:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy352;
	default:	goto yy206;
	}
yy329:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy353;
	default:	goto yy206;
	}
yy330:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy354;
	default:	goto yy206;
	}
yy331:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy355;
	default:	goto yy206;
	}
yy332:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy356;
	default:	goto yy206;
	}
yy333:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy357;
	default:	goto yy206;
	}
yy334:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy334;
	case '$':
	case '-':	goto yy336;
	case '\'':
	case '_':	goto yy338;
	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 yy359;
	default:	goto yy199;
	}
yy336:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy336;
	case '\'':
	case '_':	goto yy338;
	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 yy359;
	default:	goto yy199;
	}
yy338:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\'':
	case '_':	goto yy338;
	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 yy359;
	default:	goto yy199;
	}
yy340:
	yyaccept = 4;
	YYMARKER = ++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\'':	goto yy338;
	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 yy205;
	case '_':	goto yy340;
	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 yy342;
	default:	goto yy128;
	}
yy342:
	yyaccept = 4;
	YYMARKER = ++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy361;
	case '\'':	goto yy359;
	case '/':	goto yy363;
	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 yy342;
	default:	goto yy128;
	}
yy344:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy365;
	default:	goto yy206;
	}
yy345:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'y':	goto yy366;
	default:	goto yy206;
	}
yy346:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy368;
	default:	goto yy182;
	}
yy347:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy370;
	default:	goto yy182;
	}
yy348:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy371;
	default:	goto yy206;
	}
yy349:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'a':	goto yy373;
	default:	goto yy206;
	}
yy350:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy374;
	default:	goto yy206;
	}
yy351:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy375;
	default:	goto yy206;
	}
yy352:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy377;
	default:	goto yy206;
	}
yy353:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':
	case 'z':	goto yy378;
	default:	goto yy206;
	}
yy354:
	yych = *++YYCURSOR;
	switch (yych) {
	case 's':
	case 'z':	goto yy379;
	default:	goto yy206;
	}
yy355:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy380;
	default:	goto yy206;
	}
yy356:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy382;
	default:	goto yy206;
	}
yy357:
	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 yy205;
	default:	goto yy358;
	}
yy358:
	YYSETCONDITION(yycscript);
#line 75 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SCRIPT; }
#line 4126 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy359:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy361;
	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 yy359;
	case '/':	goto yy363;
	default:	goto yy199;
	}
yy361:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy361;
	case '/':	goto yy363;
	default:	goto yy199;
	}
yy363:
	++YYCURSOR;
	if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy363;
	case '0':	goto yy384;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy385;
	default:	goto yy199;
	}
yy365:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy387;
	default:	goto yy206;
	}
yy366:
	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 yy205;
	default:	goto yy367;
	}
yy367:
#line 113 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::THEORY; }
#line 4313 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy368:
	yych = *++YYCURSOR;
	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 yy181;
	default:	goto yy369;
	}
yy369:
#line 98 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::DEFAULT; }
#line 4386 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy370:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy388;
	default:	goto yy182;
	}
yy371:
	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 yy205;
	default:	goto yy372;
	}
yy372:
#line 87 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DEFINED; }
#line 4464 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy373:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'l':	goto yy390;
	default:	goto yy206;
	}
yy374:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'i':	goto yy392;
	default:	goto yy206;
	}
yy375:
	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 yy205;
	default:	goto yy376;
	}
yy376:
#line 76 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::INCLUDE; }
#line 4548 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy377:
	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 yy205;
	default:	goto yy277;
	}
yy378:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy393;
	default:	goto yy206;
	}
yy379:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy395;
	default:	goto yy206;
	}
yy380:
	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 yy205;
	default:	goto yy381;
	}
yy381:
#line 85 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::BLOCK; }
#line 4700 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy382:
	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 yy205;
	default:	goto yy383;
	}
yy383:
#line 79 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::PROJECT; }
#line 4772 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy384:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'b':	goto yy401;
	case 'o':	goto yy402;
	case 'x':	goto yy403;
	default:	goto yy398;
	}
yy385:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy397;
	case '.':	goto yy399;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy385;
	default:	goto yy199;
	}
yy387:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy404;
	default:	goto yy206;
	}
yy388:
	yych = *++YYCURSOR;
	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 yy181;
	default:	goto yy389;
	}
yy389:
#line 99 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::OVERRIDE; }
#line 4881 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy390:
	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 yy205;
	default:	goto yy391;
	}
yy391:
#line 86 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::EXTERNAL; }
#line 4953 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy392:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'c':	goto yy405;
	default:	goto yy206;
	}
yy393:
	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 yy205;
	default:	goto yy394;
	}
yy394:
#line 84 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MAXIMIZE; }
#line 5031 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy395:
	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 yy205;
	default:	goto yy396;
	}
yy396:
#line 83 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::MINIMIZE; }
#line 5103 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy397:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy398:
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy397;
	case '.':	goto yy399;
	default:	goto yy199;
	}
yy399:
	++YYCURSOR;
	YYCURSOR = YYCTXMARKER;
#line 81 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SHOWSIG; }
#line 5122 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy401:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':
	case '1':	goto yy407;
	default:	goto yy199;
	}
yy402:
	yych = *++YYCURSOR;
	switch (yych) {
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy409;
	default:	goto yy199;
	}
yy403:
	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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy411;
	default:	goto yy199;
	}
yy404:
	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 yy205;
	default:	goto yy288;
	}
yy405:
	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 yy205;
	default:	goto yy406;
	}
yy406:
#line 78 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::HEURISTIC; }
#line 5308 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy407:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy397;
	case '.':	goto yy399;
	case '0':
	case '1':	goto yy407;
	default:	goto yy199;
	}
yy409:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy397;
	case '.':	goto yy399;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy409;
	default:	goto yy199;
	}
yy411:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\n':
	case '\r':
	case ' ':	goto yy397;
	case '.':	goto yy399;
	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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy411;
	default:	goto yy199;
	}
/* *********************************** */
yyc_script:
	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy417;
	case '\n':	goto yy420;
	case '#':	goto yy422;
	case '%':	goto yy424;
	case '\'':
	case '_':	goto yy426;
	case '(':	goto yy427;
	case ')':	goto yy429;
	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 yy432;
	default:	goto yy415;
	}
yy415:
	++YYCURSOR;
yy416:
#line 153 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 5424 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy417:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy417;
	default:	goto yy419;
	}
yy419:
#line 71 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ start(loc); continue; }
#line 5438 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy420:
	++YYCURSOR;
#line 72 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) return 0; step(); start(loc); continue; }
#line 5443 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy422:
	yych = *++YYCURSOR;
	switch (yych) {
	case '!':	goto yy435;
	default:	goto yy438;
	}
yy423:
#line 152 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 5453 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy424:
	yych = *++YYCURSOR;
	switch (yych) {
	case '*':	goto yy439;
	default:	goto yy425;
	}
yy425:
	YYSETCONDITION(yyccomment);
	continue;
yy426:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\'':
	case '_':	goto yy441;
	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 yy432;
	default:	goto yy416;
	}
yy427:
	++YYCURSOR;
#line 124 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LPAREN; }
#line 5500 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy429:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy429;
	default:	goto yy431;
	}
yy431:
	YYSETCONDITION(yycscript_body);
#line 126 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ start(loc); return NonGroundGrammar::parser::token::RPAREN; }
#line 5515 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy432:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	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 yy432;
	default:	goto yy434;
	}
yy434:
#line 101 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::IDENTIFIER; }
#line 5590 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy435:
	++YYCURSOR;
	YYSETCONDITION(yyccomment);
	continue;
yy437:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy438:
	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 yy437;
	default:	goto yy423;
	}
yy439:
	++YYCURSOR;
	YYSETCONDITION(yycblockcomment);
#line 149 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 5671 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy441:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\'':
	case '_':	goto yy441;
	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 yy432;
	default:	goto yy443;
	}
yy443:
	YYCURSOR = YYMARKER;
	goto yy416;
/* *********************************** */
yyc_theory:
	if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy448;
	case '\n':	goto yy451;
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '/':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy453;
	case '"':	goto yy456;
	case '#':	goto yy457;
	case '%':	goto yy459;
	case '\'':
	case '_':	goto yy461;
	case '(':	goto yy462;
	case ')':	goto yy464;
	case ',':	goto yy466;
	case '.':	goto yy468;
	case '0':	goto yy470;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy472;
	case ':':	goto yy474;
	case ';':	goto yy476;
	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 yy478;
	case '[':	goto yy481;
	case ']':	goto yy483;
	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 yy485;
	case 'n':	goto yy488;
	case '{':	goto yy489;
	case '}':	goto yy491;
	default:	goto yy446;
	}
yy446:
	++YYCURSOR;
yy447:
#line 153 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 5818 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy448:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy448;
	default:	goto yy450;
	}
yy450:
#line 71 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ start(loc); continue; }
#line 5832 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy451:
	++YYCURSOR;
#line 72 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) return 0; step(); start(loc); continue; }
#line 5837 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy453:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy453;
	default:	goto yy455;
	}
yy455:
#line 148 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::THEORY_OP; }
#line 5866 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy456:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\n':	goto yy447;
	default:	goto yy494;
	}
yy457:
	yych = *++YYCURSOR;
	switch (yych) {
	case '!':	goto yy499;
	case 'i':	goto yy503;
	case 's':	goto yy504;
	default:	goto yy502;
	}
yy458:
#line 152 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ lexerError(end(loc), string()); continue; }
#line 5885 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy459:
	yych = *++YYCURSOR;
	switch (yych) {
	case '*':	goto yy505;
	default:	goto yy460;
	}
yy460:
	YYSETCONDITION(yyccomment);
	continue;
yy461:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\'':
	case '_':	goto yy507;
	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 yy478;
	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 yy485;
	default:	goto yy447;
	}
yy462:
	++YYCURSOR;
#line 124 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LPAREN; }
#line 5959 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy464:
	++YYCURSOR;
#line 125 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RPAREN; }
#line 5964 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy466:
	++YYCURSOR;
#line 120 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COMMA; }
#line 5969 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy468:
	yych = *++YYCURSOR;
	switch (yych) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy453;
	default:	goto yy469;
	}
yy469:
#line 116 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::DOT; }
#line 5996 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy470:
	yyaccept = 1;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 'b':	goto yy509;
	case 'o':	goto yy510;
	case 'x':	goto yy511;
	default:	goto yy471;
	}
yy471:
#line 102 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.num = clingo_number(); return NonGroundGrammar::parser::token::NUMBER; }
#line 6009 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy472:
	++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':	goto yy472;
	default:	goto yy471;
	}
yy474:
	yych = *++YYCURSOR;
	switch (yych) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy453;
	case '-':	goto yy512;
	default:	goto yy475;
	}
yy475:
#line 117 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::COLON; }
#line 6053 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy476:
	yych = *++YYCURSOR;
	switch (yych) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy453;
	default:	goto yy477;
	}
yy477:
#line 114 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SEM; }
#line 6080 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy478:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	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 yy478;
	default:	goto yy480;
	}
yy480:
#line 103 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::VARIABLE; }
#line 6155 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy481:
	++YYCURSOR;
#line 122 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACK; }
#line 6160 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy483:
	++YYCURSOR;
#line 123 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACK; }
#line 6165 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy485:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy486:
	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 yy485;
	default:	goto yy487;
	}
yy487:
#line 101 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(string()); return NonGroundGrammar::parser::token::IDENTIFIER; }
#line 6241 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy488:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'o':	goto yy514;
	default:	goto yy486;
	}
yy489:
	++YYCURSOR;
#line 127 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::LBRACE; }
#line 6252 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy491:
	++YYCURSOR;
#line 128 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::RBRACE; }
#line 6257 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy493:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy494:
	switch (yych) {
	case '\n':	goto yy495;
	case '"':	goto yy496;
	case '\\':	goto yy498;
	default:	goto yy493;
	}
yy495:
	YYCURSOR = YYMARKER;
	if (yyaccept == 0) {
		goto yy447;
	} else {
		goto yy471;
	}
yy496:
	++YYCURSOR;
#line 104 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(unquote(string(1, 1)).c_str()); return NonGroundGrammar::parser::token::STRING; }
#line 6280 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy498:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '"':
	case '\\':
	case 'n':	goto yy493;
	default:	goto yy495;
	}
yy499:
	++YYCURSOR;
	YYSETCONDITION(yyccomment);
	continue;
yy501:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy502:
	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 yy501;
	default:	goto yy458;
	}
yy503:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy515;
	default:	goto yy502;
	}
yy504:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy516;
	default:	goto yy502;
	}
yy505:
	++YYCURSOR;
	YYSETCONDITION(yycblockcomment);
#line 149 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 6383 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy507:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\'':
	case '_':	goto yy507;
	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 yy478;
	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 yy485;
	default:	goto yy495;
	}
yy509:
	yych = *++YYCURSOR;
	switch (yych) {
	case '0':
	case '1':	goto yy517;
	default:	goto yy495;
	}
yy510:
	yych = *++YYCURSOR;
	switch (yych) {
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy519;
	default:	goto yy495;
	}
yy511:
	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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy521;
	default:	goto yy495;
	}
yy512:
	yych = *++YYCURSOR;
	switch (yych) {
	case '!':
	case '&':
	case '*':
	case '+':
	case '-':
	case '.':
	case '/':
	case ':':
	case ';':
	case '<':
	case '=':
	case '>':
	case '?':
	case '@':
	case '\\':
	case '^':
	case '|':
	case '~':	goto yy453;
	default:	goto yy513;
	}
yy513:
#line 118 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::IF; }
#line 6517 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy514:
	yych = *++YYCURSOR;
	switch (yych) {
	case 't':	goto yy523;
	default:	goto yy486;
	}
yy515:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'f':	goto yy525;
	default:	goto yy502;
	}
yy516:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'p':	goto yy527;
	default:	goto yy502;
	}
yy517:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '0':
	case '1':	goto yy517;
	default:	goto yy471;
	}
yy519:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy519;
	default:	goto yy471;
	}
yy521:
	++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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy521;
	default:	goto yy471;
	}
yy523:
	yych = *++YYCURSOR;
	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 yy485;
	default:	goto yy524;
	}
yy524:
#line 97 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ value.str = String::toRep(not_); return NonGroundGrammar::parser::token::NOT; }
#line 6660 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy525:
	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 '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 yy501;
	case 'i':	goto yy529;
	default:	goto yy526;
	}
yy526:
#line 73 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::INFIMUM; }
#line 6732 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy527:
	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 's':
	case 't':
	case 'u':
	case 'v':
	case 'w':
	case 'x':
	case 'y':
	case 'z':	goto yy501;
	case 'r':	goto yy530;
	default:	goto yy528;
	}
yy528:
#line 74 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ return NonGroundGrammar::parser::token::SUPREMUM; }
#line 6804 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy529:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy531;
	default:	goto yy502;
	}
yy530:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy532;
	default:	goto yy502;
	}
yy531:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy533;
	default:	goto yy502;
	}
yy532:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy534;
	default:	goto yy502;
	}
yy533:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy535;
	default:	goto yy502;
	}
yy534:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'u':	goto yy536;
	default:	goto yy502;
	}
yy535:
	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 yy501;
	default:	goto yy526;
	}
yy536:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'm':	goto yy537;
	default:	goto yy502;
	}
yy537:
	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 yy501;
	default:	goto yy528;
	}
/* *********************************** */
yyc_script_body:
	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy542;
	case '\n':	goto yy543;
	case '#':	goto yy545;
	default:	goto yy540;
	}
yy540:
	++YYCURSOR;
yy541:
#line 176 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ continue; }
#line 7000 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy542:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy546;
	case '#':	goto yy549;
	default:	goto yy541;
	}
yy543:
	++YYCURSOR;
#line 168 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{
            if(eof()) {
                lexerError(eof(loc), Potassco::toSpan("<EOF>", 5));
                return 0;
            }
            step();
            continue;
        }
#line 7021 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy545:
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
	case 'e':	goto yy550;
	default:	goto yy541;
	}
yy546:
	++YYCURSOR;
	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
	yych = *YYCURSOR;
	switch (yych) {
	case '\t':
	case '\r':
	case ' ':	goto yy546;
	case '#':	goto yy549;
	default:	goto yy548;
	}
yy548:
	YYCURSOR = YYMARKER;
	goto yy541;
yy549:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'e':	goto yy550;
	default:	goto yy548;
	}
yy550:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'n':	goto yy551;
	default:	goto yy548;
	}
yy551:
	yych = *++YYCURSOR;
	switch (yych) {
	case 'd':	goto yy552;
	default:	goto yy548;
	}
yy552:
	++YYCURSOR;
	YYSETCONDITION(yycnormal);
#line 155 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{
            auto span = string();
            size_t size = span.size - 4;
            for (; size > 0; --size) {
                char c = span[size - 1];
                if (c != ' ' && c != '\t' && c != '\r') {
                    break;
                }
            }
            std::string s(span.first, span.first + size);
            value.str = String::toRep(s.c_str());
            return NonGroundGrammar::parser::token::CODE;
        }
#line 7077 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
/* *********************************** */
yyc_blockcomment:
	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
	switch (yych) {
	case '\n':	goto yy558;
	case '%':	goto yy560;
	case '*':	goto yy562;
	default:	goto yy556;
	}
yy556:
	++YYCURSOR;
yy557:
#line 191 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ continue; }
#line 7093 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy558:
	++YYCURSOR;
#line 190 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ if(eof()) { lexerError(eof(loc), Potassco::toSpan("<EOF>", 5)); return 0; } step(); continue; }
#line 7098 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy560:
	yych = *++YYCURSOR;
	switch (yych) {
	case '*':	goto yy563;
	default:	goto yy561;
	}
yy561:
	YYSETCONDITION(yyccomment);
	continue;
yy562:
	yych = *++YYCURSOR;
	switch (yych) {
	case '%':	goto yy565;
	default:	goto yy557;
	}
yy563:
	++YYCURSOR;
#line 188 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ bc++; continue; }
#line 7118 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy565:
	++YYCURSOR;
#line 178 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{
            if(--bc == 0) {
                if (pb_.reportComment()) {
                    reportComment(end(loc), string(), true);
                }
                condition(yycnormal);
                start(loc);
            }
            continue;
        }
#line 7132 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
/* *********************************** */
yyc_comment:
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\n':	goto yy571;
	default:	goto yy569;
	}
yy569:
	++YYCURSOR;
#line 217 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
	{ continue; }
#line 7145 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy571:
	++YYCURSOR;
#line 193 "/home/kaminski/Documents/git/potassco/clingo/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 {
                if (pb_.reportComment()) {
                    // trim newline characters from end of string
                    int offset = 0;
                    for (char *last = cursor() - 1; *last == '\n' || *last == '\r'; --last, ++offset);
                    auto val = string(0, offset);
                    // compute end to avoid including newline characters
                    loc.endFilename = loc.beginFilename;
                    loc.endLine     = loc.beginLine;
                    loc.endColumn   = loc.beginColumn + val.size;
                    reportComment(loc, val, false);
                }
                condition(yycnormal);
                start(loc);
            }
            continue;
        }
#line 7173 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
}
#line 218 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

    }
    assert(false);
    return 0;
}

StringSpan NonGroundParser::aspif_string_(Location &loc) {
    auto n = aspif_unsigned_(loc);
    aspif_ws_(loc);
    start(loc);
    char yych;
    for (uint32_t i = 0; i < n; ++i) {
        /* *********************************** */
yyc_aspif:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':	goto yy577;
default:	goto yy575;
}
yy575:
++YYCURSOR;
#line 232 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ continue; }
#line 7200 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy577:
++YYCURSOR;
#line 231 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected non-newline character but got ", eof() ? "<EOF>" : "<EOL>").c_str()); }
#line 7205 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
#line 233 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

    }
    return string();
}

StringSpan NonGroundParser::aspif_nonl_string_(Location &loc) {
    start(loc);
    char yych;
    /* *********************************** */
yyc_aspif:
goto yy579;
yy580:
++YYCURSOR;
yy579:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':	goto yy582;
default:	goto yy580;
}
yy582:
#line 242 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ return string(); }
#line 7230 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
#line 243 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

    return string();
}

void NonGroundParser::aspif_preamble_(Location &loc) {
    aspif_ws_(loc);
    auto major = aspif_unsigned_(loc);
    aspif_ws_(loc);
    auto minor = aspif_unsigned_(loc);
    aspif_ws_(loc);
    auto revision = aspif_unsigned_(loc);
    bool incremental = false;
    char yych;
    for (;;) {
        /* *********************************** */
yyc_aspif:
if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
yych = *YYCURSOR;
switch (yych) {
case ' ':	goto yy587;
default:	goto yy585;
}
yy585:
++YYCURSOR;
yy586:
YYCURSOR -= 1;
#line 259 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ break; }
#line 7260 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy587:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 'i':	goto yy588;
default:	goto yy586;
}
yy588:
yych = *++YYCURSOR;
switch (yych) {
case 'n':	goto yy590;
default:	goto yy589;
}
yy589:
YYCURSOR = YYMARKER;
goto yy586;
yy590:
yych = *++YYCURSOR;
switch (yych) {
case 'c':	goto yy591;
default:	goto yy589;
}
yy591:
yych = *++YYCURSOR;
switch (yych) {
case 'r':	goto yy592;
default:	goto yy589;
}
yy592:
yych = *++YYCURSOR;
switch (yych) {
case 'e':	goto yy593;
default:	goto yy589;
}
yy593:
yych = *++YYCURSOR;
switch (yych) {
case 'm':	goto yy594;
default:	goto yy589;
}
yy594:
yych = *++YYCURSOR;
switch (yych) {
case 'e':	goto yy595;
default:	goto yy589;
}
yy595:
yych = *++YYCURSOR;
switch (yych) {
case 'n':	goto yy596;
default:	goto yy589;
}
yy596:
yych = *++YYCURSOR;
switch (yych) {
case 't':	goto yy597;
default:	goto yy589;
}
yy597:
yych = *++YYCURSOR;
switch (yych) {
case 'a':	goto yy598;
default:	goto yy589;
}
yy598:
yych = *++YYCURSOR;
switch (yych) {
case 'l':	goto yy599;
default:	goto yy589;
}
yy599:
yych = *++YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy600;
default:	goto yy589;
}
yy600:
++YYCURSOR;
YYCURSOR -= 1;
#line 258 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ incremental = true; break; }
#line 7342 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
#line 260 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

    }
    aspif_nl_(loc);
}

void NonGroundParser::aspif_ws_(Location &loc) {
    start(loc);
    char yych;
    /* *********************************** */
yyc_aspif:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':	goto yy607;
case ' ':	goto yy609;
default:	goto yy604;
}
yy604:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy606;
default:	goto yy604;
}
yy606:
#line 271 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected <SPACE> but got ", string()).c_str()); }
#line 7373 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy607:
++YYCURSOR;
#line 270 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected <SPACE> but got ", eof() ? "<EOF>" : "<EOL>").c_str()); }
#line 7378 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy609:
++YYCURSOR;
#line 269 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ return; }
#line 7383 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
#line 272 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

}

void NonGroundParser::aspif_eof_(Location &loc) {
    start(loc);
    char yych;
    /* *********************************** */
yyc_aspif:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':	goto yy616;
case ' ':	goto yy618;
default:	goto yy613;
}
yy613:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy615;
default:	goto yy613;
}
yy615:
#line 286 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected <EOF> but got ", string()).c_str()); }
#line 7412 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy616:
++YYCURSOR;
#line 279 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{
        if (eof()) {
           return;
        }
        aspif_error_(loc, format("expected <EOF> but got <EOL>").c_str());
    }
#line 7422 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy618:
++YYCURSOR;
#line 285 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected <EOF> but got <SPACE>").c_str()); }
#line 7427 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
#line 287 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

}

void NonGroundParser::aspif_nl_(Location &loc) {
    start(loc);
    char yych;
    /* *********************************** */
yyc_aspif:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':	goto yy625;
case ' ':	goto yy627;
default:	goto yy622;
}
yy622:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy624;
default:	goto yy622;
}
yy624:
#line 302 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected <EOL> but got ", string()).c_str()); }
#line 7456 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy625:
++YYCURSOR;
#line 294 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{
        if (eof()) {
           aspif_error_(loc, format("expected <EOL> but got <EOF>").c_str());
        }
        step();
        return;
    }
#line 7467 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy627:
++YYCURSOR;
#line 301 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected <EOL> but got <SPACE>").c_str()); }
#line 7472 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
#line 303 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

}

int32_t NonGroundParser::aspif_signed_(Location &loc) {
    start(loc);
    char yych;
    /* *********************************** */
yyc_aspif:
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
switch (yych) {
case '\n':	goto yy634;
case ' ':	goto yy636;
case '-':	goto yy638;
case '0':	goto yy639;
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':	goto yy641;
default:	goto yy631;
}
yy631:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy632:
switch (yych) {
case '\n':
case ' ':	goto yy633;
default:	goto yy631;
}
yy633:
#line 313 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected unsigned integer but got token ", string()).c_str()); }
#line 7513 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy634:
++YYCURSOR;
#line 311 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected unsigned integer but got ", eof() ? "<EOF>" : "<EOL>").c_str()); }
#line 7518 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy636:
++YYCURSOR;
#line 312 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, "expected unsigned integer but got <SPACE>"); }
#line 7523 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy638:
yych = *++YYCURSOR;
switch (yych) {
case '0':	goto yy639;
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':	goto yy641;
default:	goto yy632;
}
yy639:
yych = *++YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy640;
default:	goto yy631;
}
yy640:
#line 310 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ return signed_integer(); }
#line 7549 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy641:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy640;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':	goto yy641;
default:	goto yy631;
}
#line 314 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

    return 0;
}

uint32_t NonGroundParser::aspif_unsigned_(Location &loc) {
    start(loc);
    char yych;
    /* *********************************** */
yyc_aspif:
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
case '\n':	goto yy648;
case ' ':	goto yy650;
case '0':	goto yy652;
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':	goto yy654;
default:	goto yy645;
}
yy645:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy647;
default:	goto yy645;
}
yy647:
#line 325 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected integer but got token ", string()).c_str()); }
#line 7608 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy648:
++YYCURSOR;
#line 323 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, format("expected integer but got ", eof() ? "<EOF>" : "<EOL>").c_str()); }
#line 7613 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy650:
++YYCURSOR;
#line 324 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ aspif_error_(loc, "expected integer but got <SPACE>"); }
#line 7618 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy652:
yych = *++YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy653;
default:	goto yy645;
}
yy653:
#line 322 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
{ return unsigned_integer(); }
#line 7629 "/mnt/scratch/kaminski/build/clingo/debug/libgringo//src/input/nongroundlexer.hh"
yy654:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\n':
case ' ':	goto yy653;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':	goto yy654;
default:	goto yy645;
}
#line 326 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

    return 0;

}

} } // namespace Input Gringo

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