/* Generated by re2c 3.1 on Tue Dec 10 20:24:59 2024 */
#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 "/home/kaminski/Documents/git/potassco/clingo/build/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 yy3;
                default:
                    goto yy1;
            }
        yy1:
            ++YYCURSOR;
        yy2:
            YYCURSOR -= 1;
            YYSETCONDITION(yycnormal);
            continue;
        yy3:
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case 's':
                    goto yy4;
                default:
                    goto yy2;
            }
        yy4:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'p':
                    goto yy6;
                default:
                    goto yy5;
            }
        yy5:
            YYCURSOR = YYMARKER;
            goto yy2;
        yy6:
            yych = *++YYCURSOR;
            switch (yych) {
                case ' ':
                    YYCTXMARKER = YYCURSOR;
                    goto yy7;
                default:
                    goto yy5;
            }
        yy7:
            yych = *++YYCURSOR;
            switch (yych) {
                case '0':
                    goto yy8;
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    goto yy10;
                default:
                    goto yy5;
            }
        yy8:
            ++YYCURSOR;
        yy9:
            YYCURSOR = YYCTXMARKER;
            YYSETCONDITION(yycaspif);
#line 69 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                aspif_(loc);
                continue;
            }
#line 122 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy10:
            ++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 yy10;
                default:
                    goto yy9;
            }
        /* *********************************** */
        yyc_definition:
            if ((YYLIMIT - YYCURSOR) < 10)
                YYFILL(10);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy14;
                case '\n':
                    goto yy16;
                case '#':
                    goto yy17;
                case '%':
                    goto yy19;
                case '&':
                    goto yy21;
                case '\'':
                case '_':
                    goto yy22;
                case ',':
                    goto yy23;
                case '.':
                    goto yy24;
                case '/':
                    goto yy25;
                case '0':
                    goto yy26;
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    goto yy28;
                case ':':
                    goto yy29;
                case ';':
                    goto yy30;
                case 'a':
                    goto yy31;
                case 'b':
                    goto yy33;
                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 yy34;
                case 'd':
                    goto yy36;
                case 'h':
                    goto yy37;
                case 'l':
                    goto yy38;
                case 'r':
                    goto yy39;
                case 'u':
                    goto yy40;
                case '{':
                    goto yy41;
                case '}':
                    goto yy42;
                default:
                    goto yy12;
            }
        yy12:
            ++YYCURSOR;
        yy13:
#line 153 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            lexerError(end(loc), string());
            continue;
        }
#line 204 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy14:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy14;
                default:
                    goto yy15;
            }
        yy15:
#line 71 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            start(loc);
            continue;
        }
#line 218 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy16:
            ++YYCURSOR;
#line 72 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                if (eof())
                    return 0;
                step();
                start(loc);
                continue;
            }
#line 223 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy17:
            yych = *++YYCURSOR;
            switch (yych) {
                case '!':
                    goto yy43;
                default:
                    goto yy45;
            }
        yy18:
#line 152 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            lexerError(end(loc), string());
            continue;
        }
#line 233 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy19:
            yych = *++YYCURSOR;
            switch (yych) {
                case '*':
                    goto yy46;
                default:
                    goto yy20;
            }
        yy20:
            YYSETCONDITION(yyccomment);
            continue;
        yy21:
            ++YYCURSOR;
#line 144 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::AND; }
#line 247 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy22:
            yyaccept = 0;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\'':
                case '_':
                    goto yy47;
                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 yy34;
                default:
                    goto yy13;
            }
        yy23:
            ++YYCURSOR;
#line 120 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::COMMA; }
#line 286 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy24:
            ++YYCURSOR;
#line 116 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::DOT; }
#line 291 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy25:
            ++YYCURSOR;
#line 142 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::SLASH; }
#line 296 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy26:
            yyaccept = 1;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case 'b':
                    goto yy49;
                case 'o':
                    goto yy50;
                case 'x':
                    goto yy51;
                default:
                    goto yy27;
            }
        yy27:
#line 102 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            value.num = clingo_number();
            return NonGroundGrammar::parser::token::NUMBER;
        }
#line 309 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy28:
            ++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 yy28;
                default:
                    goto yy27;
            }
        yy29:
            ++YYCURSOR;
#line 117 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::COLON; }
#line 331 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy30:
            ++YYCURSOR;
#line 114 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::SEM; }
#line 336 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy31:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy52;
                default:
                    goto yy35;
            }
        yy32:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy33:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy53;
                case 'o':
                    goto yy54;
                default:
                    goto yy35;
            }
        yy34:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy35:
            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 yy34;
                default:
                    goto yy32;
            }
        yy36:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy55;
                default:
                    goto yy35;
            }
        yy37:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy56;
                default:
                    goto yy35;
            }
        yy38:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy57;
                default:
                    goto yy35;
            }
        yy39:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy58;
                default:
                    goto yy35;
            }
        yy40:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy59;
                default:
                    goto yy35;
            }
        yy41:
            ++YYCURSOR;
#line 127 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LBRACE; }
#line 460 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy42:
            ++YYCURSOR;
#line 128 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::RBRACE; }
#line 465 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy43:
            ++YYCURSOR;
            YYSETCONDITION(yyccomment);
            continue;
        yy44:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy45:
            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 yy44;
                default:
                    goto yy18;
            }
        yy46:
            ++YYCURSOR;
            YYSETCONDITION(yycblockcomment);
#line 149 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                bc++;
                continue;
            }
#line 546 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy47:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\'':
                case '_':
                    goto yy47;
                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 yy34;
                default:
                    goto yy48;
            }
        yy48:
            YYCURSOR = YYMARKER;
            if (yyaccept == 0) {
                goto yy13;
            } else {
                goto yy27;
            }
        yy49:
            yych = *++YYCURSOR;
            switch (yych) {
                case '0':
                case '1':
                    goto yy60;
                default:
                    goto yy48;
            }
        yy50:
            yych = *++YYCURSOR;
            switch (yych) {
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                    goto yy61;
                default:
                    goto yy48;
            }
        yy51:
            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 yy62;
                default:
                    goto yy48;
            }
        yy52:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'y':
                    goto yy63;
                default:
                    goto yy35;
            }
        yy53:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy65;
                default:
                    goto yy35;
            }
        yy54:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'd':
                    goto yy66;
                default:
                    goto yy35;
            }
        yy55:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy67;
                default:
                    goto yy35;
            }
        yy56:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy68;
                default:
                    goto yy35;
            }
        yy57:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'f':
                    goto yy69;
                default:
                    goto yy35;
            }
        yy58:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'g':
                    goto yy70;
                default:
                    goto yy35;
            }
        yy59:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy71;
                default:
                    goto yy35;
            }
        yy60:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '0':
                case '1':
                    goto yy60;
                default:
                    goto yy27;
            }
        yy61:
            ++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 yy61;
                default:
                    goto yy27;
            }
        yy62:
            ++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 yy62;
                default:
                    goto yy27;
            }
        yy63:
            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 yy34;
                default:
                    goto yy64;
            }
        yy64:
#line 92 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::ANY;
        }
#line 807 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy65:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy72;
                default:
                    goto yy35;
            }
        yy66:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'y':
                    goto yy73;
                default:
                    goto yy35;
            }
        yy67:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy75;
                default:
                    goto yy35;
            }
        yy68:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'd':
                    goto yy76;
                default:
                    goto yy35;
            }
        yy69:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy78;
                default:
                    goto yy35;
            }
        yy70:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'h':
                    goto yy80;
                default:
                    goto yy35;
            }
        yy71:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy81;
                default:
                    goto yy35;
            }
        yy72:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy82;
                default:
                    goto yy35;
            }
        yy73:
            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 yy34;
                default:
                    goto yy74;
            }
        yy74:
#line 91 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::BODY;
        }
#line 928 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy75:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'c':
                    goto yy83;
                default:
                    goto yy35;
            }
        yy76:
            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 yy34;
                default:
                    goto yy77;
            }
        yy77:
#line 90 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::HEAD;
        }
#line 1007 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy78:
            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 yy34;
                default:
                    goto yy79;
            }
        yy79:
#line 88 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::LEFT;
        }
#line 1080 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy80:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy84;
                default:
                    goto yy35;
            }
        yy81:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'y':
                    goto yy86;
                default:
                    goto yy35;
            }
        yy82:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'y':
                    goto yy88;
                default:
                    goto yy35;
            }
        yy83:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy90;
                default:
                    goto yy35;
            }
        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 yy34;
                default:
                    goto yy85;
            }
        yy85:
#line 89 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::RIGHT;
        }
#line 1177 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy86:
            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 yy34;
                default:
                    goto yy87;
            }
        yy87:
#line 94 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::UNARY;
        }
#line 1250 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy88:
            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 yy34;
                default:
                    goto yy89;
            }
        yy89:
#line 93 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::BINARY;
        }
#line 1323 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy90:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy91;
                default:
                    goto yy35;
            }
        yy91:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'v':
                    goto yy92;
                default:
                    goto yy35;
            }
        yy92:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy93;
                default:
                    goto yy35;
            }
        yy93:
            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 yy34;
                default:
                    goto yy94;
            }
        yy94:
#line 95 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::DIRECTIVE;
        }
#line 1414 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        /* *********************************** */
        yyc_normal:
            if ((YYLIMIT - YYCURSOR) < 11)
                YYFILL(11);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy98;
                case '\n':
                    goto yy100;
                case '!':
                    goto yy101;
                case '"':
                    goto yy102;
                case '#':
                    goto yy103;
                case '%':
                    goto yy105;
                case '&':
                    goto yy107;
                case '\'':
                    goto yy108;
                case '(':
                    goto yy109;
                case ')':
                    goto yy110;
                case '*':
                    goto yy111;
                case '+':
                    goto yy113;
                case ',':
                    goto yy114;
                case '-':
                    goto yy115;
                case '.':
                    goto yy116;
                case '/':
                    goto yy118;
                case '0':
                    goto yy119;
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    goto yy121;
                case ':':
                    goto yy122;
                case ';':
                    goto yy124;
                case '<':
                    goto yy125;
                case '=':
                    goto yy127;
                case '>':
                    goto yy129;
                case '?':
                    goto yy131;
                case '@':
                    goto yy132;
                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 yy133;
                case '[':
                    goto yy135;
                case '\\':
                    goto yy136;
                case ']':
                    goto yy137;
                case '^':
                    goto yy138;
                case '_':
                    goto yy139;
                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 yy141;
                case 'd':
                    goto yy144;
                case 'n':
                    goto yy145;
                case 'o':
                    goto yy146;
                case '{':
                    goto yy147;
                case '|':
                    goto yy148;
                case '}':
                    goto yy149;
                case '~':
                    goto yy150;
                default:
                    goto yy96;
            }
        yy96:
            ++YYCURSOR;
        yy97:
#line 153 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            lexerError(end(loc), string());
            continue;
        }
#line 1523 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy98:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy98;
                default:
                    goto yy99;
            }
        yy99:
#line 71 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            start(loc);
            continue;
        }
#line 1537 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy100:
            ++YYCURSOR;
#line 72 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                if (eof())
                    return 0;
                step();
                start(loc);
                continue;
            }
#line 1542 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy101:
            yych = *++YYCURSOR;
            switch (yych) {
                case '=':
                    goto yy151;
                default:
                    goto yy97;
            }
        yy102:
            yyaccept = 0;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\n':
                    goto yy97;
                default:
                    goto yy153;
            }
        yy103:
            yych = *++YYCURSOR;
            switch (yych) {
                case '!':
                    goto yy157;
                case 'c':
                    goto yy160;
                case 'd':
                    goto yy161;
                case 'e':
                    goto yy162;
                case 'f':
                    goto yy163;
                case 'h':
                    goto yy164;
                case 'i':
                    goto yy165;
                case 'm':
                    goto yy166;
                case 'p':
                    goto yy167;
                case 's':
                    goto yy168;
                case 't':
                    goto yy169;
                default:
                    goto yy159;
            }
        yy104:
#line 152 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            lexerError(end(loc), string());
            continue;
        }
#line 1575 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy105:
            yych = *++YYCURSOR;
            switch (yych) {
                case '*':
                    goto yy170;
                default:
                    goto yy106;
            }
        yy106:
            YYSETCONDITION(yyccomment);
            continue;
        yy107:
            ++YYCURSOR;
#line 144 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::AND; }
#line 1589 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy108:
            yyaccept = 0;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\'':
                case '_':
                    goto yy171;
                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 yy133;
                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 yy141;
                default:
                    goto yy97;
            }
        yy109:
            ++YYCURSOR;
#line 124 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LPAREN; }
#line 1654 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy110:
            ++YYCURSOR;
#line 125 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::RPAREN; }
#line 1659 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy111:
            yych = *++YYCURSOR;
            switch (yych) {
                case '*':
                    goto yy172;
                default:
                    goto yy112;
            }
        yy112:
#line 133 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::MUL;
        }
#line 1669 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy113:
            ++YYCURSOR;
#line 129 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::ADD; }
#line 1674 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy114:
            ++YYCURSOR;
#line 120 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::COMMA; }
#line 1679 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy115:
            ++YYCURSOR;
#line 130 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::SUB; }
#line 1684 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy116:
            yych = *++YYCURSOR;
            switch (yych) {
                case '.':
                    goto yy173;
                default:
                    goto yy117;
            }
        yy117:
#line 116 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::DOT;
        }
#line 1694 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy118:
            ++YYCURSOR;
#line 142 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::SLASH; }
#line 1699 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy119:
            yyaccept = 1;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case 'b':
                    goto yy174;
                case 'o':
                    goto yy175;
                case 'x':
                    goto yy176;
                default:
                    goto yy120;
            }
        yy120:
#line 102 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            value.num = clingo_number();
            return NonGroundGrammar::parser::token::NUMBER;
        }
#line 1712 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy121:
            ++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 yy121;
                default:
                    goto yy120;
            }
        yy122:
            yych = *++YYCURSOR;
            switch (yych) {
                case '-':
                    goto yy177;
                case '~':
                    goto yy178;
                default:
                    goto yy123;
            }
        yy123:
#line 117 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::COLON;
        }
#line 1740 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy124:
            ++YYCURSOR;
#line 114 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::SEM; }
#line 1745 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy125:
            yych = *++YYCURSOR;
            switch (yych) {
                case '=':
                    goto yy179;
                case '>':
                    goto yy180;
                default:
                    goto yy126;
            }
        yy126:
#line 135 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::LT;
        }
#line 1756 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy127:
            yych = *++YYCURSOR;
            switch (yych) {
                case '=':
                    goto yy181;
                default:
                    goto yy128;
            }
        yy128:
#line 141 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::EQ;
        }
#line 1766 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy129:
            yych = *++YYCURSOR;
            switch (yych) {
                case '=':
                    goto yy182;
                default:
                    goto yy130;
            }
        yy130:
#line 134 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::GT;
        }
#line 1776 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy131:
            ++YYCURSOR;
#line 147 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::QUESTION; }
#line 1781 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy132:
            ++YYCURSOR;
#line 143 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::AT; }
#line 1786 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy133:
            ++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 yy133;
                default:
                    goto yy134;
            }
        yy134:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy135:
            ++YYCURSOR;
#line 122 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LBRACK; }
#line 1866 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy136:
            ++YYCURSOR;
#line 132 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::MOD; }
#line 1871 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy137:
            ++YYCURSOR;
#line 123 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::RBRACK; }
#line 1876 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy138:
            ++YYCURSOR;
#line 145 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::XOR; }
#line 1881 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy139:
            yyaccept = 2;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\'':
                case '_':
                    goto yy171;
                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 yy133;
                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 yy141;
                default:
                    goto yy140;
            }
        yy140:
#line 100 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::ANONYMOUS;
        }
#line 1945 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy141:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy142:
            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 yy141;
                default:
                    goto yy143;
            }
        yy143:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy144:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy183;
                default:
                    goto yy142;
            }
        yy145:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'o':
                    goto yy184;
                default:
                    goto yy142;
            }
        yy146:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'v':
                    goto yy185;
                default:
                    goto yy142;
            }
        yy147:
            ++YYCURSOR;
#line 127 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LBRACE; }
#line 2044 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy148:
            ++YYCURSOR;
#line 121 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::VBAR; }
#line 2049 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy149:
            ++YYCURSOR;
#line 128 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::RBRACE; }
#line 2054 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy150:
            ++YYCURSOR;
#line 146 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::BNOT; }
#line 2059 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy151:
            ++YYCURSOR;
#line 139 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::NEQ; }
#line 2064 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy152:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy153:
            switch (yych) {
                case '\n':
                    goto yy154;
                case '"':
                    goto yy155;
                case '\\':
                    goto yy156;
                default:
                    goto yy152;
            }
        yy154:
            YYCURSOR = YYMARKER;
            switch (yyaccept) {
                case 0:
                    goto yy97;
                case 1:
                    goto yy120;
                case 2:
                    goto yy140;
                case 3:
                    goto yy249;
                default:
                    goto yy104;
            }
        yy155:
            ++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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy156:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '"':
                case '\\':
                case 'n':
                    goto yy152;
                default:
                    goto yy154;
            }
        yy157:
            ++YYCURSOR;
            YYSETCONDITION(yyccomment);
            continue;
        yy158:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy159:
            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 yy158;
                default:
                    goto yy104;
            }
        yy160:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'o':
                    goto yy186;
                default:
                    goto yy159;
            }
        yy161:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy187;
                default:
                    goto yy159;
            }
        yy162:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'd':
                    goto yy188;
                case 'x':
                    goto yy189;
                default:
                    goto yy159;
            }
        yy163:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy190;
                default:
                    goto yy159;
            }
        yy164:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy191;
                default:
                    goto yy159;
            }
        yy165:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy192;
                default:
                    goto yy159;
            }
        yy166:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy193;
                case 'i':
                    goto yy194;
                default:
                    goto yy159;
            }
        yy167:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy195;
                default:
                    goto yy159;
            }
        yy168:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'c':
                    goto yy196;
                case 'h':
                    goto yy197;
                case 'u':
                    goto yy198;
                default:
                    goto yy159;
            }
        yy169:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'h':
                    goto yy199;
                case 'r':
                    goto yy200;
                default:
                    goto yy159;
            }
        yy170:
            ++YYCURSOR;
            YYSETCONDITION(yycblockcomment);
#line 149 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                bc++;
                continue;
            }
#line 2245 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy171:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\'':
                case '_':
                    goto yy171;
                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 yy133;
                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 yy141;
                default:
                    goto yy154;
            }
        yy172:
            ++YYCURSOR;
#line 131 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::POW; }
#line 2311 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy173:
            ++YYCURSOR;
#line 115 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::DOTS; }
#line 2316 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy174:
            yych = *++YYCURSOR;
            switch (yych) {
                case '0':
                case '1':
                    goto yy201;
                default:
                    goto yy154;
            }
        yy175:
            yych = *++YYCURSOR;
            switch (yych) {
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                    goto yy202;
                default:
                    goto yy154;
            }
        yy176:
            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 yy203;
                default:
                    goto yy154;
            }
        yy177:
            ++YYCURSOR;
#line 118 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::IF; }
#line 2367 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy178:
            ++YYCURSOR;
#line 119 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::WIF; }
#line 2372 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy179:
            ++YYCURSOR;
#line 137 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LEQ; }
#line 2377 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy180:
            ++YYCURSOR;
#line 140 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::NEQ; }
#line 2382 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy181:
            ++YYCURSOR;
#line 138 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::EQ; }
#line 2387 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy182:
            ++YYCURSOR;
#line 136 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::GEQ; }
#line 2392 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy183:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'f':
                    goto yy204;
                default:
                    goto yy142;
            }
        yy184:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy205;
                default:
                    goto yy142;
            }
        yy185:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy207;
                default:
                    goto yy142;
            }
        yy186:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy208;
                case 'u':
                    goto yy209;
                default:
                    goto yy159;
            }
        yy187:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'f':
                    goto yy210;
                default:
                    goto yy159;
            }
        yy188:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'g':
                    goto yy211;
                default:
                    goto yy159;
            }
        yy189:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy212;
                default:
                    goto yy159;
            }
        yy190:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'l':
                    goto yy213;
                default:
                    goto yy159;
            }
        yy191:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy214;
                default:
                    goto yy159;
            }
        yy192:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'c':
                    goto yy215;
                case 'f':
                    goto yy216;
                default:
                    goto yy159;
            }
        yy193:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'x':
                    goto yy218;
                default:
                    goto yy159;
            }
        yy194:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy220;
                default:
                    goto yy159;
            }
        yy195:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'o':
                    goto yy222;
                default:
                    goto yy159;
            }
        yy196:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy223;
                default:
                    goto yy159;
            }
        yy197:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'o':
                    goto yy224;
                default:
                    goto yy159;
            }
        yy198:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy225;
                case 'p':
                    goto yy227;
                default:
                    goto yy159;
            }
        yy199:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy229;
                default:
                    goto yy159;
            }
        yy200:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy230;
                default:
                    goto yy159;
            }
        yy201:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '0':
                case '1':
                    goto yy201;
                default:
                    goto yy120;
            }
        yy202:
            ++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 yy202;
                default:
                    goto yy120;
            }
        yy203:
            ++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 yy203;
                default:
                    goto yy120;
            }
        yy204:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy231;
                default:
                    goto yy142;
            }
        yy205:
            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 yy141;
                default:
                    goto yy206;
            }
        yy206:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy207:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy232;
                default:
                    goto yy142;
            }
        yy208:
            yych = *++YYCURSOR;
            switch (yych) {
                case 's':
                    goto yy233;
                default:
                    goto yy159;
            }
        yy209:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy234;
                default:
                    goto yy159;
            }
        yy210:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy235;
                default:
                    goto yy159;
            }
        yy211:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy236;
                default:
                    goto yy159;
            }
        yy212:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy238;
                default:
                    goto yy159;
            }
        yy213:
            yych = *++YYCURSOR;
            switch (yych) {
                case 's':
                    goto yy239;
                default:
                    goto yy159;
            }
        yy214:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy240;
                default:
                    goto yy159;
            }
        yy215:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'l':
                    goto yy241;
                default:
                    goto yy159;
            }
        yy216:
            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 yy158;
                case 'i':
                    goto yy242;
                default:
                    goto yy217;
            }
        yy217:
#line 73 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::INFIMUM;
        }
#line 2760 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy218:
            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 yy158;
                case 'i':
                    goto yy243;
                default:
                    goto yy219;
            }
        yy219:
#line 112 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::MAX;
        }
#line 2832 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy220:
            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 yy158;
                case 'i':
                    goto yy244;
                default:
                    goto yy221;
            }
        yy221:
#line 111 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::MIN;
        }
#line 2904 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy222:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'g':
                    goto yy245;
                case 'j':
                    goto yy246;
                default:
                    goto yy159;
            }
        yy223:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy247;
                default:
                    goto yy159;
            }
        yy224:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'w':
                    goto yy248;
                default:
                    goto yy159;
            }
        yy225:
            yych = *++YYCURSOR;
            switch (yych) {
                case '+':
                    goto yy250;
                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 yy158;
                default:
                    goto yy226;
            }
        yy226:
#line 108 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::SUM;
        }
#line 2996 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        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 '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 yy158;
                case 'r':
                    goto yy251;
                default:
                    goto yy228;
            }
        yy228:
#line 74 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::SUPREMUM;
        }
#line 3068 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy229:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'o':
                    goto yy252;
                default:
                    goto yy159;
            }
        yy230:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy253;
                default:
                    goto yy159;
            }
        yy231:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy255;
                default:
                    goto yy142;
            }
        yy232:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy256;
                default:
                    goto yy142;
            }
        yy233:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy257;
                default:
                    goto yy159;
            }
        yy234:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy259;
                default:
                    goto yy159;
            }
        yy235:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy261;
                default:
                    goto yy159;
            }
        yy236:
            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 yy158;
                default:
                    goto yy237;
            }
        yy237:
#line 77 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::EDGE;
        }
#line 3182 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy238:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy262;
                default:
                    goto yy159;
            }
        yy239:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy263;
                default:
                    goto yy159;
            }
        yy240:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy265;
                default:
                    goto yy159;
            }
        yy241:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy266;
                default:
                    goto yy159;
            }
        yy242:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy267;
                default:
                    goto yy159;
            }
        yy243:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy268;
                default:
                    goto yy159;
            }
        yy244:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy269;
                default:
                    goto yy159;
            }
        yy245:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy270;
                default:
                    goto yy159;
            }
        yy246:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy271;
                default:
                    goto yy159;
            }
        yy247:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'p':
                    goto yy272;
                default:
                    goto yy159;
            }
        yy248:
            yyaccept = 3;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    YYCTXMARKER = YYCURSOR;
                    goto yy273;
                case '$':
                case '-':
                    YYCTXMARKER = YYCURSOR;
                    goto yy274;
                case '\'':
                    YYCTXMARKER = YYCURSOR;
                    goto yy275;
                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 yy158;
                case '_':
                    YYCTXMARKER = YYCURSOR;
                    goto yy276;
                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 yy277;
                default:
                    goto yy249;
            }
        yy249:
#line 80 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::SHOW;
        }
#line 3332 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy250:
            ++YYCURSOR;
#line 109 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::SUMP; }
#line 3337 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy251:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy278;
                default:
                    goto yy159;
            }
        yy252:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy279;
                default:
                    goto yy159;
            }
        yy253:
            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 yy158;
                default:
                    goto yy254;
            }
        yy254:
#line 106 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::TRUE;
        }
#line 3421 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy255:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'l':
                    goto yy280;
                default:
                    goto yy142;
            }
        yy256:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy281;
                default:
                    goto yy142;
            }
        yy257:
            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 yy158;
                default:
                    goto yy258;
            }
        yy258:
#line 82 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::CONST;
        }
#line 3505 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy259:
            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 yy158;
                default:
                    goto yy260;
            }
        yy260:
#line 110 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::COUNT;
        }
#line 3577 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy261:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy282;
                default:
                    goto yy159;
            }
        yy262:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy283;
                default:
                    goto yy159;
            }
        yy263:
            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 yy158;
                default:
                    goto yy264;
            }
        yy264:
#line 107 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::FALSE;
        }
#line 3661 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy265:
            yych = *++YYCURSOR;
            switch (yych) {
                case 's':
                    goto yy284;
                default:
                    goto yy159;
            }
        yy266:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'd':
                    goto yy285;
                default:
                    goto yy159;
            }
        yy267:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy286;
                default:
                    goto yy159;
            }
        yy268:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy287;
                default:
                    goto yy159;
            }
        yy269:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy288;
                default:
                    goto yy159;
            }
        yy270:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy289;
                default:
                    goto yy159;
            }
        yy271:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'c':
                    goto yy290;
                default:
                    goto yy159;
            }
        yy272:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy291;
                default:
                    goto yy159;
            }
        yy273:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy273;
                case '$':
                case '-':
                    goto yy274;
                case '\'':
                case '_':
                    goto yy275;
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                    goto yy293;
                default:
                    goto yy154;
            }
        yy274:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy274;
                case '\'':
                case '_':
                    goto yy275;
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                    goto yy293;
                default:
                    goto yy154;
            }
        yy275:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\'':
                case '_':
                    goto yy275;
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                    goto yy293;
                default:
                    goto yy154;
            }
        yy276:
            yyaccept = 4;
            YYMARKER = ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\'':
                    goto yy275;
                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 yy158;
                case '_':
                    goto yy276;
                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 yy277;
                default:
                    goto yy104;
            }
        yy277:
            yyaccept = 4;
            YYMARKER = ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy294;
                case '\'':
                    goto yy293;
                case '/':
                    goto yy295;
                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 yy277;
                default:
                    goto yy104;
            }
        yy278:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy296;
                default:
                    goto yy159;
            }
        yy279:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'y':
                    goto yy297;
                default:
                    goto yy159;
            }
        yy280:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy299;
                default:
                    goto yy142;
            }
        yy281:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'd':
                    goto yy301;
                default:
                    goto yy142;
            }
        yy282:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'd':
                    goto yy302;
                default:
                    goto yy159;
            }
        yy283:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy304;
                default:
                    goto yy159;
            }
        yy284:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy305;
                default:
                    goto yy159;
            }
        yy285:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy306;
                default:
                    goto yy159;
            }
        yy286:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy308;
                default:
                    goto yy159;
            }
        yy287:
            yych = *++YYCURSOR;
            switch (yych) {
                case 's':
                case 'z':
                    goto yy309;
                default:
                    goto yy159;
            }
        yy288:
            yych = *++YYCURSOR;
            switch (yych) {
                case 's':
                case 'z':
                    goto yy310;
                default:
                    goto yy159;
            }
        yy289:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy311;
                default:
                    goto yy159;
            }
        yy290:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy313;
                default:
                    goto yy159;
            }
        yy291:
            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 yy158;
                default:
                    goto yy292;
            }
        yy292:
            YYSETCONDITION(yycscript);
#line 75 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::SCRIPT; }
#line 4126 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy293:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy294;
                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 yy293;
                case '/':
                    goto yy295;
                default:
                    goto yy154;
            }
        yy294:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy294;
                case '/':
                    goto yy295;
                default:
                    goto yy154;
            }
        yy295:
            ++YYCURSOR;
            if ((YYLIMIT - YYCURSOR) < 3)
                YYFILL(3);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy295;
                case '0':
                    goto yy315;
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    goto yy316;
                default:
                    goto yy154;
            }
        yy296:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy317;
                default:
                    goto yy159;
            }
        yy297:
            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 yy158;
                default:
                    goto yy298;
            }
        yy298:
#line 113 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::THEORY;
        }
#line 4313 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy299:
            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 yy141;
                default:
                    goto yy300;
            }
        yy300:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy301:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy318;
                default:
                    goto yy142;
            }
        yy302:
            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 yy158;
                default:
                    goto yy303;
            }
        yy303:
#line 87 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::DEFINED;
        }
#line 4464 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy304:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'l':
                    goto yy320;
                default:
                    goto yy159;
            }
        yy305:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'i':
                    goto yy322;
                default:
                    goto yy159;
            }
        yy306:
            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 yy158;
                default:
                    goto yy307;
            }
        yy307:
#line 76 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::INCLUDE;
        }
#line 4548 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy308:
            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 yy158;
                default:
                    goto yy217;
            }
        yy309:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy323;
                default:
                    goto yy159;
            }
        yy310:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy325;
                default:
                    goto yy159;
            }
        yy311:
            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 yy158;
                default:
                    goto yy312;
            }
        yy312:
#line 85 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::BLOCK;
        }
#line 4700 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy313:
            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 yy158;
                default:
                    goto yy314;
            }
        yy314:
#line 79 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::PROJECT;
        }
#line 4772 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy315:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'b':
                    goto yy330;
                case 'o':
                    goto yy331;
                case 'x':
                    goto yy332;
                default:
                    goto yy328;
            }
        yy316:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy327;
                case '.':
                    goto yy329;
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    goto yy316;
                default:
                    goto yy154;
            }
        yy317:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy333;
                default:
                    goto yy159;
            }
        yy318:
            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 yy141;
                default:
                    goto yy319;
            }
        yy319:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/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 yy158;
                default:
                    goto yy321;
            }
        yy321:
#line 86 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::EXTERNAL;
        }
#line 4953 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy322:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'c':
                    goto yy334;
                default:
                    goto yy159;
            }
        yy323:
            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 yy158;
                default:
                    goto yy324;
            }
        yy324:
#line 84 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::MAXIMIZE;
        }
#line 5031 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy325:
            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 yy158;
                default:
                    goto yy326;
            }
        yy326:
#line 83 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::MINIMIZE;
        }
#line 5103 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy327:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy328:
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy327;
                case '.':
                    goto yy329;
                default:
                    goto yy154;
            }
        yy329:
            ++YYCURSOR;
            YYCURSOR = YYCTXMARKER;
#line 81 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::SHOWSIG; }
#line 5122 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy330:
            yych = *++YYCURSOR;
            switch (yych) {
                case '0':
                case '1':
                    goto yy336;
                default:
                    goto yy154;
            }
        yy331:
            yych = *++YYCURSOR;
            switch (yych) {
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                    goto yy337;
                default:
                    goto yy154;
            }
        yy332:
            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 yy338;
                default:
                    goto yy154;
            }
        yy333:
            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 yy158;
                default:
                    goto yy228;
            }
        yy334:
            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 yy158;
                default:
                    goto yy335;
            }
        yy335:
#line 78 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::HEURISTIC;
        }
#line 5308 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy336:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy327;
                case '.':
                    goto yy329;
                case '0':
                case '1':
                    goto yy336;
                default:
                    goto yy154;
            }
        yy337:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy327;
                case '.':
                    goto yy329;
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                    goto yy337;
                default:
                    goto yy154;
            }
        yy338:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\n':
                case '\r':
                case ' ':
                    goto yy327;
                case '.':
                    goto yy329;
                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 yy338;
                default:
                    goto yy154;
            }
        /* *********************************** */
        yyc_script:
            if ((YYLIMIT - YYCURSOR) < 2)
                YYFILL(2);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy342;
                case '\n':
                    goto yy344;
                case '#':
                    goto yy345;
                case '%':
                    goto yy347;
                case '\'':
                case '_':
                    goto yy349;
                case '(':
                    goto yy350;
                case ')':
                    goto yy351;
                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 yy353;
                default:
                    goto yy340;
            }
        yy340:
            ++YYCURSOR;
        yy341:
#line 153 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            lexerError(end(loc), string());
            continue;
        }
#line 5424 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy342:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy342;
                default:
                    goto yy343;
            }
        yy343:
#line 71 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            start(loc);
            continue;
        }
#line 5438 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy344:
            ++YYCURSOR;
#line 72 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                if (eof())
                    return 0;
                step();
                start(loc);
                continue;
            }
#line 5443 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy345:
            yych = *++YYCURSOR;
            switch (yych) {
                case '!':
                    goto yy355;
                default:
                    goto yy357;
            }
        yy346:
#line 152 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            lexerError(end(loc), string());
            continue;
        }
#line 5453 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy347:
            yych = *++YYCURSOR;
            switch (yych) {
                case '*':
                    goto yy358;
                default:
                    goto yy348;
            }
        yy348:
            YYSETCONDITION(yyccomment);
            continue;
        yy349:
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\'':
                case '_':
                    goto yy359;
                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 yy353;
                default:
                    goto yy341;
            }
        yy350:
            ++YYCURSOR;
#line 124 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LPAREN; }
#line 5500 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy351:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy351;
                default:
                    goto yy352;
            }
        yy352:
            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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy353:
            ++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 yy353;
                default:
                    goto yy354;
            }
        yy354:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy355:
            ++YYCURSOR;
            YYSETCONDITION(yyccomment);
            continue;
        yy356:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy357:
            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 yy356;
                default:
                    goto yy346;
            }
        yy358:
            ++YYCURSOR;
            YYSETCONDITION(yycblockcomment);
#line 149 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                bc++;
                continue;
            }
#line 5671 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy359:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\'':
                case '_':
                    goto yy359;
                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 yy353;
                default:
                    goto yy360;
            }
        yy360:
            YYCURSOR = YYMARKER;
            goto yy341;
        /* *********************************** */
        yyc_theory:
            if ((YYLIMIT - YYCURSOR) < 10)
                YYFILL(10);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy364;
                case '\n':
                    goto yy366;
                case '!':
                case '&':
                case '*':
                case '+':
                case '-':
                case '/':
                case '<':
                case '=':
                case '>':
                case '?':
                case '@':
                case '\\':
                case '^':
                case '|':
                case '~':
                    goto yy367;
                case '"':
                    goto yy369;
                case '#':
                    goto yy370;
                case '%':
                    goto yy372;
                case '\'':
                case '_':
                    goto yy374;
                case '(':
                    goto yy375;
                case ')':
                    goto yy376;
                case ',':
                    goto yy377;
                case '.':
                    goto yy378;
                case '0':
                    goto yy380;
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    goto yy382;
                case ':':
                    goto yy383;
                case ';':
                    goto yy385;
                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 yy387;
                case '[':
                    goto yy389;
                case ']':
                    goto yy390;
                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 yy391;
                case 'n':
                    goto yy394;
                case '{':
                    goto yy395;
                case '}':
                    goto yy396;
                default:
                    goto yy362;
            }
        yy362:
            ++YYCURSOR;
        yy363:
#line 153 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            lexerError(end(loc), string());
            continue;
        }
#line 5818 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy364:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy364;
                default:
                    goto yy365;
            }
        yy365:
#line 71 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            start(loc);
            continue;
        }
#line 5832 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy366:
            ++YYCURSOR;
#line 72 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                if (eof())
                    return 0;
                step();
                start(loc);
                continue;
            }
#line 5837 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy367:
            ++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 yy367;
                default:
                    goto yy368;
            }
        yy368:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy369:
            yyaccept = 0;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\n':
                    goto yy363;
                default:
                    goto yy398;
            }
        yy370:
            yych = *++YYCURSOR;
            switch (yych) {
                case '!':
                    goto yy402;
                case 'i':
                    goto yy405;
                case 's':
                    goto yy406;
                default:
                    goto yy404;
            }
        yy371:
#line 152 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            lexerError(end(loc), string());
            continue;
        }
#line 5885 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy372:
            yych = *++YYCURSOR;
            switch (yych) {
                case '*':
                    goto yy407;
                default:
                    goto yy373;
            }
        yy373:
            YYSETCONDITION(yyccomment);
            continue;
        yy374:
            yyaccept = 0;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\'':
                case '_':
                    goto yy408;
                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 yy387;
                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 yy391;
                default:
                    goto yy363;
            }
        yy375:
            ++YYCURSOR;
#line 124 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LPAREN; }
#line 5959 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy376:
            ++YYCURSOR;
#line 125 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::RPAREN; }
#line 5964 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy377:
            ++YYCURSOR;
#line 120 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::COMMA; }
#line 5969 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy378:
            yych = *++YYCURSOR;
            switch (yych) {
                case '!':
                case '&':
                case '*':
                case '+':
                case '-':
                case '.':
                case '/':
                case ':':
                case ';':
                case '<':
                case '=':
                case '>':
                case '?':
                case '@':
                case '\\':
                case '^':
                case '|':
                case '~':
                    goto yy367;
                default:
                    goto yy379;
            }
        yy379:
#line 116 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::DOT;
        }
#line 5996 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy380:
            yyaccept = 1;
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case 'b':
                    goto yy409;
                case 'o':
                    goto yy410;
                case 'x':
                    goto yy411;
                default:
                    goto yy381;
            }
        yy381:
#line 102 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            value.num = clingo_number();
            return NonGroundGrammar::parser::token::NUMBER;
        }
#line 6009 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy382:
            ++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 yy382;
                default:
                    goto yy381;
            }
        yy383:
            yych = *++YYCURSOR;
            switch (yych) {
                case '!':
                case '&':
                case '*':
                case '+':
                case '.':
                case '/':
                case ':':
                case ';':
                case '<':
                case '=':
                case '>':
                case '?':
                case '@':
                case '\\':
                case '^':
                case '|':
                case '~':
                    goto yy367;
                case '-':
                    goto yy412;
                default:
                    goto yy384;
            }
        yy384:
#line 117 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::COLON;
        }
#line 6053 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy385:
            yych = *++YYCURSOR;
            switch (yych) {
                case '!':
                case '&':
                case '*':
                case '+':
                case '-':
                case '.':
                case '/':
                case ':':
                case ';':
                case '<':
                case '=':
                case '>':
                case '?':
                case '@':
                case '\\':
                case '^':
                case '|':
                case '~':
                    goto yy367;
                default:
                    goto yy386;
            }
        yy386:
#line 114 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::SEM;
        }
#line 6080 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy387:
            ++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 yy387;
                default:
                    goto yy388;
            }
        yy388:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy389:
            ++YYCURSOR;
#line 122 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LBRACK; }
#line 6160 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy390:
            ++YYCURSOR;
#line 123 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::RBRACK; }
#line 6165 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy391:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy392:
            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 yy391;
                default:
                    goto yy393;
            }
        yy393:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy394:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'o':
                    goto yy414;
                default:
                    goto yy392;
            }
        yy395:
            ++YYCURSOR;
#line 127 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::LBRACE; }
#line 6252 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy396:
            ++YYCURSOR;
#line 128 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { return NonGroundGrammar::parser::token::RBRACE; }
#line 6257 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy397:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy398:
            switch (yych) {
                case '\n':
                    goto yy399;
                case '"':
                    goto yy400;
                case '\\':
                    goto yy401;
                default:
                    goto yy397;
            }
        yy399:
            YYCURSOR = YYMARKER;
            if (yyaccept == 0) {
                goto yy363;
            } else {
                goto yy381;
            }
        yy400:
            ++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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy401:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '"':
                case '\\':
                case 'n':
                    goto yy397;
                default:
                    goto yy399;
            }
        yy402:
            ++YYCURSOR;
            YYSETCONDITION(yyccomment);
            continue;
        yy403:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
        yy404:
            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 yy403;
                default:
                    goto yy371;
            }
        yy405:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy415;
                default:
                    goto yy404;
            }
        yy406:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy416;
                default:
                    goto yy404;
            }
        yy407:
            ++YYCURSOR;
            YYSETCONDITION(yycblockcomment);
#line 149 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                bc++;
                continue;
            }
#line 6383 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy408:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\'':
                case '_':
                    goto yy408;
                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 yy387;
                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 yy391;
                default:
                    goto yy399;
            }
        yy409:
            yych = *++YYCURSOR;
            switch (yych) {
                case '0':
                case '1':
                    goto yy417;
                default:
                    goto yy399;
            }
        yy410:
            yych = *++YYCURSOR;
            switch (yych) {
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                    goto yy418;
                default:
                    goto yy399;
            }
        yy411:
            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 yy419;
                default:
                    goto yy399;
            }
        yy412:
            yych = *++YYCURSOR;
            switch (yych) {
                case '!':
                case '&':
                case '*':
                case '+':
                case '-':
                case '.':
                case '/':
                case ':':
                case ';':
                case '<':
                case '=':
                case '>':
                case '?':
                case '@':
                case '\\':
                case '^':
                case '|':
                case '~':
                    goto yy367;
                default:
                    goto yy413;
            }
        yy413:
#line 118 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::IF;
        }
#line 6517 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy414:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy420;
                default:
                    goto yy392;
            }
        yy415:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'f':
                    goto yy422;
                default:
                    goto yy404;
            }
        yy416:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'p':
                    goto yy424;
                default:
                    goto yy404;
            }
        yy417:
            ++YYCURSOR;
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '0':
                case '1':
                    goto yy417;
                default:
                    goto yy381;
            }
        yy418:
            ++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 yy418;
                default:
                    goto yy381;
            }
        yy419:
            ++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 yy419;
                default:
                    goto yy381;
            }
        yy420:
            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 yy391;
                default:
                    goto yy421;
            }
        yy421:
#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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy422:
            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 yy403;
                case 'i':
                    goto yy426;
                default:
                    goto yy423;
            }
        yy423:
#line 73 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::INFIMUM;
        }
#line 6732 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy424:
            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 yy403;
                case 'r':
                    goto yy427;
                default:
                    goto yy425;
            }
        yy425:
#line 74 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            return NonGroundGrammar::parser::token::SUPREMUM;
        }
#line 6804 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy426:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy428;
                default:
                    goto yy404;
            }
        yy427:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy429;
                default:
                    goto yy404;
            }
        yy428:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy430;
                default:
                    goto yy404;
            }
        yy429:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy431;
                default:
                    goto yy404;
            }
        yy430:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy432;
                default:
                    goto yy404;
            }
        yy431:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'u':
                    goto yy433;
                default:
                    goto yy404;
            }
        yy432:
            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 yy403;
                default:
                    goto yy423;
            }
        yy433:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy434;
                default:
                    goto yy404;
            }
        yy434:
            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 yy403;
                default:
                    goto yy425;
            }
        /* *********************************** */
        yyc_script_body:
            if ((YYLIMIT - YYCURSOR) < 5)
                YYFILL(5);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy438;
                case '\n':
                    goto yy439;
                case '#':
                    goto yy440;
                default:
                    goto yy436;
            }
        yy436:
            ++YYCURSOR;
        yy437:
#line 176 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            continue;
        }
#line 7000 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy438:
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy441;
                case '#':
                    goto yy443;
                default:
                    goto yy437;
            }
        yy439:
            ++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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy440:
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case 'e':
                    goto yy444;
                default:
                    goto yy437;
            }
        yy441:
            ++YYCURSOR;
            if ((YYLIMIT - YYCURSOR) < 4)
                YYFILL(4);
            yych = *YYCURSOR;
            switch (yych) {
                case '\t':
                case '\r':
                case ' ':
                    goto yy441;
                case '#':
                    goto yy443;
                default:
                    goto yy442;
            }
        yy442:
            YYCURSOR = YYMARKER;
            goto yy437;
        yy443:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy444;
                default:
                    goto yy442;
            }
        yy444:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy445;
                default:
                    goto yy442;
            }
        yy445:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'd':
                    goto yy446;
                default:
                    goto yy442;
            }
        yy446:
            ++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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        /* *********************************** */
        yyc_blockcomment:
            if ((YYLIMIT - YYCURSOR) < 2)
                YYFILL(2);
            yych = *YYCURSOR;
            switch (yych) {
                case '\n':
                    goto yy450;
                case '%':
                    goto yy451;
                case '*':
                    goto yy453;
                default:
                    goto yy448;
            }
        yy448:
            ++YYCURSOR;
        yy449:
#line 191 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        {
            continue;
        }
#line 7093 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy450:
            ++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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy451:
            yych = *++YYCURSOR;
            switch (yych) {
                case '*':
                    goto yy454;
                default:
                    goto yy452;
            }
        yy452:
            YYSETCONDITION(yyccomment);
            continue;
        yy453:
            yych = *++YYCURSOR;
            switch (yych) {
                case '%':
                    goto yy455;
                default:
                    goto yy449;
            }
        yy454:
            ++YYCURSOR;
#line 188 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                bc++;
                continue;
            }
#line 7118 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy455:
            ++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 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        /* *********************************** */
        yyc_comment:
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\n':
                    goto yy458;
                default:
                    goto yy457;
            }
        yy457:
            ++YYCURSOR;
#line 217 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { continue; }
#line 7145 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy458:
            ++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 "/home/kaminski/Documents/git/potassco/clingo/build/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) {

#line 7189 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        {
            YYCTYPE yych;
            switch (YYGETCONDITION()) {
                case yycaspif:
                    goto yyc_aspif;
            }
        /* *********************************** */
        yyc_aspif:
            if (YYLIMIT <= YYCURSOR)
                YYFILL(1);
            yych = *YYCURSOR;
            switch (yych) {
                case '\n':
                    goto yy461;
                default:
                    goto yy460;
            }
        yy460:
            ++YYCURSOR;
#line 232 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { continue; }
#line 7207 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy461:
            ++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 7212 "/home/kaminski/Documents/git/potassco/clingo/build/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;

#line 7224 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    {
        YYCTYPE yych;
        switch (YYGETCONDITION()) {
            case yycaspif:
                goto yyc_aspif;
        }
    /* *********************************** */
    yyc_aspif:
        goto yy462;
    yy463:
        ++YYCURSOR;
    yy462:
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
                goto yy464;
            default:
                goto yy463;
        }
    yy464:
#line 242 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
    {
        return string();
    }
#line 7245 "/home/kaminski/Documents/git/potassco/clingo/build/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 (;;) {

#line 7263 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        {
            YYCTYPE yych;
            switch (YYGETCONDITION()) {
                case yycaspif:
                    goto yyc_aspif;
            }
        /* *********************************** */
        yyc_aspif:
            if ((YYLIMIT - YYCURSOR) < 13)
                YYFILL(13);
            yych = *YYCURSOR;
            switch (yych) {
                case ' ':
                    goto yy468;
                default:
                    goto yy466;
            }
        yy466:
            ++YYCURSOR;
        yy467:
            YYCURSOR -= 1;
#line 259 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            { break; }
#line 7283 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
        yy468:
            yych = *(YYMARKER = ++YYCURSOR);
            switch (yych) {
                case 'i':
                    goto yy469;
                default:
                    goto yy467;
            }
        yy469:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy471;
                default:
                    goto yy470;
            }
        yy470:
            YYCURSOR = YYMARKER;
            goto yy467;
        yy471:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'c':
                    goto yy472;
                default:
                    goto yy470;
            }
        yy472:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'r':
                    goto yy473;
                default:
                    goto yy470;
            }
        yy473:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy474;
                default:
                    goto yy470;
            }
        yy474:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'm':
                    goto yy475;
                default:
                    goto yy470;
            }
        yy475:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'e':
                    goto yy476;
                default:
                    goto yy470;
            }
        yy476:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'n':
                    goto yy477;
                default:
                    goto yy470;
            }
        yy477:
            yych = *++YYCURSOR;
            switch (yych) {
                case 't':
                    goto yy478;
                default:
                    goto yy470;
            }
        yy478:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'a':
                    goto yy479;
                default:
                    goto yy470;
            }
        yy479:
            yych = *++YYCURSOR;
            switch (yych) {
                case 'l':
                    goto yy480;
                default:
                    goto yy470;
            }
        yy480:
            yych = *++YYCURSOR;
            switch (yych) {
                case '\n':
                case ' ':
                    goto yy481;
                default:
                    goto yy470;
            }
        yy481:
            ++YYCURSOR;
            YYCURSOR -= 1;
#line 258 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
            {
                incremental = true;
                break;
            }
#line 7365 "/home/kaminski/Documents/git/potassco/clingo/build/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;

#line 7377 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    {
        YYCTYPE yych;
        switch (YYGETCONDITION()) {
            case yycaspif:
                goto yyc_aspif;
        }
    /* *********************************** */
    yyc_aspif:
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
                goto yy485;
            case ' ':
                goto yy486;
            default:
                goto yy483;
        }
    yy483:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy484;
            default:
                goto yy483;
        }
    yy484:
#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 7404 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy485:
        ++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 7409 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy486:
        ++YYCURSOR;
#line 269 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        { return; }
#line 7414 "/home/kaminski/Documents/git/potassco/clingo/build/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;

#line 7424 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    {
        YYCTYPE yych;
        switch (YYGETCONDITION()) {
            case yycaspif:
                goto yyc_aspif;
        }
    /* *********************************** */
    yyc_aspif:
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
                goto yy490;
            case ' ':
                goto yy491;
            default:
                goto yy488;
        }
    yy488:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy489;
            default:
                goto yy488;
        }
    yy489:
#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 7451 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy490:
        ++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 7461 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy491:
        ++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 7466 "/home/kaminski/Documents/git/potassco/clingo/build/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;

#line 7476 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    {
        YYCTYPE yych;
        switch (YYGETCONDITION()) {
            case yycaspif:
                goto yyc_aspif;
        }
    /* *********************************** */
    yyc_aspif:
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
                goto yy495;
            case ' ':
                goto yy496;
            default:
                goto yy493;
        }
    yy493:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy494;
            default:
                goto yy493;
        }
    yy494:
#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 7503 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy495:
        ++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 7514 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy496:
        ++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 7519 "/home/kaminski/Documents/git/potassco/clingo/build/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;

#line 7529 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    {
        YYCTYPE yych;
        switch (YYGETCONDITION()) {
            case yycaspif:
                goto yyc_aspif;
        }
    /* *********************************** */
    yyc_aspif:
        if ((YYLIMIT - YYCURSOR) < 3)
            YYFILL(3);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
                goto yy501;
            case ' ':
                goto yy502;
            case '-':
                goto yy503;
            case '0':
                goto yy504;
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                goto yy506;
            default:
                goto yy498;
        }
    yy498:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
    yy499:
        switch (yych) {
            case '\n':
            case ' ':
                goto yy500;
            default:
                goto yy498;
        }
    yy500:
#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 7568 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy501:
        ++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 7573 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy502:
        ++YYCURSOR;
#line 312 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        { aspif_error_(loc, "expected unsigned integer but got <SPACE>"); }
#line 7578 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy503:
        yych = *++YYCURSOR;
        switch (yych) {
            case '0':
                goto yy504;
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                goto yy506;
            default:
                goto yy499;
        }
    yy504:
        yych = *++YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy505;
            default:
                goto yy498;
        }
    yy505:
#line 310 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
    {
        return signed_integer();
    }
#line 7604 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy506:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy505;
            case '0':
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                goto yy506;
            default:
                goto yy498;
        }
    }
#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;

#line 7634 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    {
        YYCTYPE yych;
        switch (YYGETCONDITION()) {
            case yycaspif:
                goto yyc_aspif;
        }
    /* *********************************** */
    yyc_aspif:
        if ((YYLIMIT - YYCURSOR) < 2)
            YYFILL(2);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
                goto yy510;
            case ' ':
                goto yy511;
            case '0':
                goto yy512;
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                goto yy514;
            default:
                goto yy508;
        }
    yy508:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy509;
            default:
                goto yy508;
        }
    yy509:
#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 7671 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy510:
        ++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 7676 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy511:
        ++YYCURSOR;
#line 324 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        { aspif_error_(loc, "expected integer but got <SPACE>"); }
#line 7681 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy512:
        yych = *++YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy513;
            default:
                goto yy508;
        }
    yy513:
#line 322 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
    {
        return unsigned_integer();
    }
#line 7692 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy514:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy513;
            case '0':
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                goto yy514;
            default:
                goto yy508;
        }
    }
#line 326 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"

    return 0;
}

void NonGroundParser::aspif_asp_(Location &loc) {
    start(loc);
    char yych;

#line 7723 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    {
        YYCTYPE yych;
        switch (YYGETCONDITION()) {
            case yycaspif:
                goto yyc_aspif;
        }
    /* *********************************** */
    yyc_aspif:
        if ((YYLIMIT - YYCURSOR) < 4)
            YYFILL(4);
        yych = *YYCURSOR;
        switch (yych) {
            case '\n':
                goto yy519;
            case ' ':
                goto yy520;
            case 'a':
                goto yy521;
            default:
                goto yy516;
        }
    yy516:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR)
            YYFILL(1);
        yych = *YYCURSOR;
    yy517:
        switch (yych) {
            case '\n':
            case ' ':
                goto yy518;
            default:
                goto yy516;
        }
    yy518:
#line 338 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
    {
        aspif_error_(loc, format("expected 'asp' but got token ", string()).c_str());
    }
#line 7752 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy519:
        ++YYCURSOR;
#line 336 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        { aspif_error_(loc, format("expected 'asp' but got ", eof() ? "<EOF>" : "<EOL>").c_str()); }
#line 7757 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy520:
        ++YYCURSOR;
#line 337 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
        { aspif_error_(loc, "expected 'asp' but got <SPACE>"); }
#line 7762 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    yy521:
        yych = *++YYCURSOR;
        switch (yych) {
            case 's':
                goto yy522;
            default:
                goto yy517;
        }
    yy522:
        yych = *++YYCURSOR;
        switch (yych) {
            case 'p':
                goto yy523;
            default:
                goto yy517;
        }
    yy523:
        yych = *++YYCURSOR;
        switch (yych) {
            case '\n':
            case ' ':
                goto yy524;
            default:
                goto yy516;
        }
    yy524:
#line 335 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
    {
        return;
    }
#line 7785 "/home/kaminski/Documents/git/potassco/clingo/build/debug/libgringo//src/input/nongroundlexer.hh"
    }
#line 339 "/home/kaminski/Documents/git/potassco/clingo/libgringo//src/input/nongroundlexer.xch"
}

} // namespace Input
} // namespace Gringo

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