// Generated from ./grammar/sql.g4 by ANTLR 4.7.1 // jshint ignore: start var antlr4 = require('antlr4/index'); var sqlListener = require('./sqlListener').sqlListener; var sqlVisitor = require('./sqlVisitor').sqlVisitor; var grammarFileName = "sql.g4"; var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964", "\u0003\u0115\u0aad\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004", "\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007", "\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f", "\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010", "\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014", "\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017\t\u0017", "\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a\u0004\u001b", "\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e\t\u001e", "\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#\t#\u0004", "$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004*\t*\u0004", "+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u0004", "2\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u00048\t8\u0004", "9\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004?\t?\u0004", "@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004F\tF\u0004", "G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004M\tM\u0004", "N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004T\tT\u0004", "U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004[\t[\u0004", "\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004b\tb\u0004", "c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004i\ti\u0004", "j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004p\tp\u0004", "q\tq\u0004r\tr\u0004s\ts\u0004t\tt\u0003\u0002\u0003\u0002\u0003\u0002", "\u0003\u0002\u0005\u0002\u00ed\n\u0002\u0003\u0003\u0003\u0003\u0003", "\u0003\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0005\u0003\u0005\u0003", "\u0005\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003", "\u0007\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0005\b\u0106\n\b\u0003\b\u0003\b\u0003\b\u0005\b\u010b\n\b\u0003", "\b\u0005\b\u010e\n\b\u0003\b\u0003\b\u0003\b\u0005\b\u0113\n\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0005\b\u0120\n\b\u0003\b\u0003\b\u0005\b\u0124\n\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u012b\n\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0007\b\u0139\n\b\f\b\u000e\b\u013c\u000b\b\u0003\b\u0005", "\b\u013f\n\b\u0003\b\u0005\b\u0142\n\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0005\b\u0149\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0007\b\u015a\n\b\f\b\u000e\b\u015d\u000b\b\u0003\b\u0005", "\b\u0160\n\b\u0003\b\u0005\b\u0163\n\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0005\b\u016a\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b", "\u0005\b\u0171\n\b\u0003\b\u0003\b\u0005\b\u0175\n\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u017d\n\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u0187\n\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0005\b\u018d\n\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0005\b\u0193\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0005\b\u019e\n\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005", "\b\u01be\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b", "\u01c6\n\b\u0003\b\u0003\b\u0005\b\u01ca\n\b\u0003\b\u0003\b\u0003\b", "\u0005\b\u01cf\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u01d5\n\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u01dd\n\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0005\b\u01e3\n\b\u0003\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005", "\b\u01f0\n\b\u0003\b\u0006\b\u01f3\n\b\r\b\u000e\b\u01f4\u0003\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u01fe\n\b\u0003\b", "\u0006\b\u0201\n\b\r\b\u000e\b\u0202\u0003\b\u0003\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0005\b\u0213\n\b\u0003\b\u0003\b\u0003\b\u0007\b\u0218\n", "\b\f\b\u000e\b\u021b\u000b\b\u0003\b\u0005\b\u021e\n\b\u0003\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u0226\n\b\u0003\b\u0003\b", "\u0003\b\u0007\b\u022b\n\b\f\b\u000e\b\u022e\u000b\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0005\b\u0234\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005", "\b\u0243\n\b\u0003\b\u0003\b\u0005\b\u0247\n\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0005\b\u024d\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b", "\u0253\n\b\u0003\b\u0005\b\u0256\n\b\u0003\b\u0005\b\u0259\n\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0005\b\u025f\n\b\u0003\b\u0003\b\u0005\b", "\u0263\n\b\u0003\b\u0003\b\u0005\b\u0267\n\b\u0003\b\u0003\b\u0003\b", "\u0005\b\u026c\n\b\u0003\b\u0003\b\u0005\b\u0270\n\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u0278\n\b\u0003\b\u0005\b\u027b", "\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b", "\u0284\n\b\u0003\b\u0003\b\u0003\b\u0005\b\u0289\n\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0005\b\u028f\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0005\b\u0296\n\b\u0003\b\u0005\b\u0299\n\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0005\b\u029f\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0007\b\u02a8\n\b\f\b\u000e\b\u02ab\u000b\b\u0005\b", "\u02ad\n\b\u0003\b\u0003\b\u0005\b\u02b1\n\b\u0003\b\u0003\b\u0003\b", "\u0005\b\u02b6\n\b\u0003\b\u0003\b\u0003\b\u0005\b\u02bb\n\b\u0003\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u02c2\n\b\u0003\b\u0005\b\u02c5", "\n\b\u0003\b\u0005\b\u02c8\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003", "\b\u0005\b\u02cf\n\b\u0003\b\u0003\b\u0003\b\u0005\b\u02d4\n\b\u0003", "\b\u0003\b\u0003\b\u0005\b\u02d9\n\b\u0003\b\u0005\b\u02dc\n\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u02e5\n\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u02ed\n\b\u0003", "\b\u0003\b\u0003\b\u0003\b\u0005\b\u02f3\n\b\u0003\b\u0003\b\u0005\b", "\u02f7\n\b\u0003\b\u0003\b\u0005\b\u02fb\n\b\u0003\b\u0003\b\u0005\b", "\u02ff\n\b\u0005\b\u0301\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0005\b\u030a\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005", "\b\u0310\n\b\u0003\b\u0003\b\u0003\b\u0005\b\u0315\n\b\u0003\b\u0005", "\b\u0318\n\b\u0003\b\u0003\b\u0005\b\u031c\n\b\u0003\b\u0005\b\u031f", "\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0007\b\u0327\n", "\b\f\b\u000e\b\u032a\u000b\b\u0005\b\u032c\n\b\u0003\b\u0003\b\u0005", "\b\u0330\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u0336\n\b\u0003", "\b\u0005\b\u0339\n\b\u0003\b\u0005\b\u033c\n\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0005\b\u0342\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b", "\u0003\b\u0005\b\u034a\n\b\u0003\b\u0003\b\u0003\b\u0005\b\u034f\n\b", "\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u0355\n\b\u0003\b\u0003\b\u0003", "\b\u0003\b\u0005\b\u035b\n\b\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b", "\u0003\b\u0003\b\u0007\b\u0364\n\b\f\b\u000e\b\u0367\u000b\b\u0003\b", "\u0003\b\u0003\b\u0007\b\u036c\n\b\f\b\u000e\b\u036f\u000b\b\u0003\b", "\u0003\b\u0007\b\u0373\n\b\f\b\u000e\b\u0376\u000b\b\u0003\b\u0003\b", "\u0003\b\u0007\b\u037b\n\b\f\b\u000e\b\u037e\u000b\b\u0005\b\u0380\n", "\b\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0005\t\u0388\n\t", "\u0003\t\u0003\t\u0005\t\u038c\n\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0005\t\u0393\n\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t", "\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0005\t\u0407\n\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t", "\u0005\t\u040f\n\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0005", "\t\u0417\n\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t", "\u0005\t\u0420\n\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003", "\t\u0003\t\u0003\t\u0003\t\u0005\t\u042c\n\t\u0003\n\u0003\n\u0005\n", "\u0430\n\n\u0003\n\u0005\n\u0433\n\n\u0003\n\u0003\n\u0003\n\u0003\n", "\u0005\n\u0439\n\n\u0003\n\u0003\n\u0003\u000b\u0003\u000b\u0003\u000b", "\u0003\u000b\u0003\u000b\u0003\u000b\u0005\u000b\u0443\n\u000b\u0003", "\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\f\u0003\f\u0003\f\u0003", "\f\u0003\f\u0003\f\u0005\f\u044f\n\f\u0003\f\u0003\f\u0003\f\u0005\f", "\u0454\n\f\u0003\r\u0003\r\u0003\r\u0003\u000e\u0005\u000e\u045a\n\u000e", "\u0003\u000e\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f", "\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u0466\n", "\u000f\u0005\u000f\u0468\n\u000f\u0003\u000f\u0003\u000f\u0003\u000f", "\u0005\u000f\u046d\n\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u0471", "\n\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u0476\n\u000f", "\u0003\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u047b\n\u000f\u0003", "\u000f\u0005\u000f\u047e\n\u000f\u0003\u000f\u0003\u000f\u0003\u000f", "\u0005\u000f\u0483\n\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u0487", "\n\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0005\u000f\u048c\n\u000f", "\u0005\u000f\u048e\n\u000f\u0003\u0010\u0003\u0010\u0005\u0010\u0492", "\n\u0010\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011", "\u0007\u0011\u0499\n\u0011\f\u0011\u000e\u0011\u049c\u000b\u0011\u0003", "\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0012\u0005\u0012\u04a3", "\n\u0012\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013", "\u0005\u0013\u04aa\n\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0007", "\u0014\u04af\n\u0014\f\u0014\u000e\u0014\u04b2\u000b\u0014\u0003\u0015", "\u0003\u0015\u0003\u0015\u0003\u0015\u0007\u0015\u04b8\n\u0015\f\u0015", "\u000e\u0015\u04bb\u000b\u0015\u0003\u0016\u0003\u0016\u0005\u0016\u04bf", "\n\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0017", "\u0003\u0017\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018", "\u0007\u0018\u04cc\n\u0018\f\u0018\u000e\u0018\u04cf\u000b\u0018\u0003", "\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0005\u0019\u04d5\n\u0019", "\u0003\u0019\u0005\u0019\u04d8\n\u0019\u0003\u001a\u0003\u001a\u0003", "\u001a\u0007\u001a\u04dd\n\u001a\f\u001a\u000e\u001a\u04e0\u000b\u001a", "\u0003\u001a\u0005\u001a\u04e3\n\u001a\u0003\u001b\u0003\u001b\u0003", "\u001b\u0003\u001b\u0005\u001b\u04e9\n\u001b\u0003\u001c\u0003\u001c", "\u0003\u001c\u0003\u001c\u0007\u001c\u04ef\n\u001c\f\u001c\u000e\u001c", "\u04f2\u000b\u001c\u0003\u001c\u0003\u001c\u0003\u001d\u0003\u001d\u0003", "\u001d\u0003\u001d\u0007\u001d\u04fa\n\u001d\f\u001d\u000e\u001d\u04fd", "\u000b\u001d\u0003\u001d\u0003\u001d\u0003\u001e\u0003\u001e\u0003\u001e", "\u0003\u001e\u0003\u001e\u0003\u001e\u0005\u001e\u0507\n\u001e\u0003", "\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0005\u001f\u050e", "\n\u001f\u0003 \u0003 \u0003 \u0003 \u0005 \u0514\n \u0003!\u0003!\u0003", "!\u0003\"\u0005\"\u051a\n\"\u0003\"\u0003\"\u0003\"\u0003\"\u0003\"", "\u0006\"\u0521\n\"\r\"\u000e\"\u0522\u0005\"\u0525\n\"\u0003#\u0003", "#\u0003#\u0003#\u0003#\u0007#\u052c\n#\f#\u000e#\u052f\u000b#\u0005", "#\u0531\n#\u0003#\u0003#\u0003#\u0003#\u0003#\u0007#\u0538\n#\f#\u000e", "#\u053b\u000b#\u0005#\u053d\n#\u0003#\u0003#\u0003#\u0003#\u0003#\u0007", "#\u0544\n#\f#\u000e#\u0547\u000b#\u0005#\u0549\n#\u0003#\u0003#\u0003", "#\u0003#\u0003#\u0007#\u0550\n#\f#\u000e#\u0553\u000b#\u0005#\u0555", "\n#\u0003#\u0005#\u0558\n#\u0003#\u0003#\u0003#\u0005#\u055d\n#\u0005", "#\u055f\n#\u0003$\u0005$\u0562\n$\u0003$\u0003$\u0003$\u0003%\u0003", "%\u0003%\u0003%\u0003%\u0003%\u0003%\u0005%\u056e\n%\u0003%\u0003%\u0003", "%\u0003%\u0003%\u0005%\u0575\n%\u0003%\u0003%\u0003%\u0003%\u0003%\u0005", "%\u057c\n%\u0003%\u0007%\u057f\n%\f%\u000e%\u0582\u000b%\u0003&\u0003", "&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003&\u0005&\u058c\n&\u0003\'", "\u0003\'\u0005\'\u0590\n\'\u0003\'\u0003\'\u0005\'\u0594\n\'\u0003(", "\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0005", "(\u05a0\n(\u0003(\u0005(\u05a3\n(\u0003(\u0003(\u0005(\u05a7\n(\u0003", "(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0003(\u0005(\u05b1\n(\u0003", "(\u0003(\u0005(\u05b5\n(\u0005(\u05b7\n(\u0003(\u0005(\u05ba\n(\u0003", "(\u0003(\u0005(\u05be\n(\u0003(\u0005(\u05c1\n(\u0003(\u0003(\u0005", "(\u05c5\n(\u0003(\u0003(\u0007(\u05c9\n(\f(\u000e(\u05cc\u000b(\u0003", "(\u0005(\u05cf\n(\u0003(\u0003(\u0005(\u05d3\n(\u0003(\u0003(\u0003", "(\u0005(\u05d8\n(\u0003(\u0005(\u05db\n(\u0005(\u05dd\n(\u0003(\u0007", "(\u05e0\n(\f(\u000e(\u05e3\u000b(\u0003(\u0003(\u0005(\u05e7\n(\u0003", "(\u0005(\u05ea\n(\u0003(\u0003(\u0005(\u05ee\n(\u0003(\u0005(\u05f1", "\n(\u0005(\u05f3\n(\u0003)\u0003)\u0003)\u0005)\u05f8\n)\u0003)\u0007", ")\u05fb\n)\f)\u000e)\u05fe\u000b)\u0003)\u0003)\u0003*\u0003*\u0003", "*\u0003*\u0003*\u0003*\u0007*\u0608\n*\f*\u000e*\u060b\u000b*\u0003", "*\u0003*\u0005*\u060f\n*\u0003+\u0003+\u0003+\u0003+\u0007+\u0615\n", "+\f+\u000e+\u0618\u000b+\u0003+\u0007+\u061b\n+\f+\u000e+\u061e\u000b", "+\u0003+\u0005+\u0621\n+\u0003,\u0003,\u0003,\u0003,\u0003,\u0007,\u0628", "\n,\f,\u000e,\u062b\u000b,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003", ",\u0003,\u0003,\u0003,\u0003,\u0007,\u0637\n,\f,\u000e,\u063a\u000b", ",\u0003,\u0003,\u0005,\u063e\n,\u0003,\u0003,\u0003,\u0003,\u0003,\u0003", ",\u0003,\u0003,\u0007,\u0648\n,\f,\u000e,\u064b\u000b,\u0003,\u0003", ",\u0005,\u064f\n,\u0003-\u0003-\u0003-\u0003-\u0007-\u0655\n-\f-\u000e", "-\u0658\u000b-\u0005-\u065a\n-\u0003-\u0003-\u0005-\u065e\n-\u0003.", "\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0007", ".\u066a\n.\f.\u000e.\u066d\u000b.\u0003.\u0003.\u0003.\u0003/\u0003", "/\u0003/\u0003/\u0003/\u0007/\u0677\n/\f/\u000e/\u067a\u000b/\u0003", "/\u0003/\u0005/\u067e\n/\u00030\u00030\u00050\u0682\n0\u00030\u0005", "0\u0685\n0\u00031\u00031\u00031\u00051\u068a\n1\u00031\u00031\u0003", "1\u00031\u00031\u00071\u0691\n1\f1\u000e1\u0694\u000b1\u00051\u0696", "\n1\u00031\u00031\u00031\u00051\u069b\n1\u00031\u00031\u00031\u0007", "1\u06a0\n1\f1\u000e1\u06a3\u000b1\u00051\u06a5\n1\u00032\u00032\u0003", "3\u00033\u00073\u06ab\n3\f3\u000e3\u06ae\u000b3\u00034\u00034\u0003", "4\u00034\u00054\u06b4\n4\u00034\u00034\u00034\u00034\u00034\u00054\u06bb", "\n4\u00035\u00055\u06be\n5\u00035\u00035\u00035\u00055\u06c3\n5\u0003", "5\u00035\u00035\u00035\u00055\u06c9\n5\u00035\u00035\u00055\u06cd\n", "5\u00035\u00055\u06d0\n5\u00035\u00055\u06d3\n5\u00036\u00036\u0003", "6\u00036\u00056\u06d9\n6\u00037\u00037\u00037\u00057\u06de\n7\u0003", "7\u00037\u00038\u00058\u06e3\n8\u00038\u00038\u00038\u00038\u00038\u0003", "8\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u0003", "8\u00058\u06f5\n8\u00058\u06f7\n8\u00038\u00058\u06fa\n8\u00039\u0003", "9\u00039\u00039\u0003:\u0003:\u0003:\u0007:\u0703\n:\f:\u000e:\u0706", "\u000b:\u0003;\u0003;\u0003;\u0003;\u0007;\u070c\n;\f;\u000e;\u070f", "\u000b;\u0003;\u0003;\u0003<\u0003<\u0005<\u0715\n<\u0003=\u0003=\u0003", "=\u0003=\u0007=\u071b\n=\f=\u000e=\u071e\u000b=\u0003=\u0003=\u0003", ">\u0003>\u0003>\u0005>\u0725\n>\u0003?\u0003?\u0003?\u0005?\u072a\n", "?\u0003?\u0003?\u0003?\u0003?\u0003?\u0003?\u0005?\u0732\n?\u0003?\u0003", "?\u0003?\u0003?\u0003?\u0003?\u0005?\u073a\n?\u0003?\u0003?\u0003?\u0003", "?\u0005?\u0740\n?\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0007", "@\u0749\n@\f@\u000e@\u074c\u000b@\u0005@\u074e\n@\u0003@\u0003@\u0003", "@\u0003@\u0003@\u0007@\u0755\n@\f@\u000e@\u0758\u000b@\u0005@\u075a", "\n@\u0003@\u0003@\u0003@\u0003@\u0007@\u0760\n@\f@\u000e@\u0763\u000b", "@\u0005@\u0765\n@\u0003@\u0003@\u0003@\u0003@\u0005@\u076b\n@\u0003", "@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003", "@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003", "@\u0005@\u0782\n@\u0005@\u0784\n@\u0003@\u0003@\u0003@\u0003@\u0003", "@\u0003@\u0005@\u078c\n@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003", "@\u0003@\u0003@\u0007@\u0797\n@\f@\u000e@\u079a\u000b@\u0003@\u0003", "@\u0003A\u0003A\u0003A\u0003A\u0003B\u0003B\u0003C\u0003C\u0003D\u0003", "D\u0003D\u0007D\u07a9\nD\fD\u000eD\u07ac\u000bD\u0003E\u0003E\u0007", "E\u07b0\nE\fE\u000eE\u07b3\u000bE\u0003F\u0003F\u0005F\u07b7\nF\u0003", "G\u0003G\u0003G\u0003G\u0003G\u0003G\u0003G\u0003G\u0005G\u07c1\nG\u0003", "G\u0003G\u0005G\u07c5\nG\u0003G\u0003G\u0005G\u07c9\nG\u0003G\u0003", "G\u0003G\u0003G\u0005G\u07cf\nG\u0003H\u0003H\u0003I\u0003I\u0003J\u0003", "J\u0003K\u0003K\u0003K\u0003K\u0007K\u07db\nK\fK\u000eK\u07de\u000b", "K\u0003K\u0003K\u0003L\u0003L\u0003L\u0003L\u0003L\u0007L\u07e7\nL\f", "L\u000eL\u07ea\u000bL\u0005L\u07ec\nL\u0003L\u0003L\u0003L\u0003M\u0005", "M\u07f2\nM\u0003M\u0003M\u0005M\u07f6\nM\u0005M\u07f8\nM\u0003N\u0003", "N\u0003N\u0003N\u0003N\u0003N\u0003N\u0005N\u0801\nN\u0003N\u0003N\u0003", "N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003N\u0003N\u0005N\u080d\nN\u0005", "N\u080f\nN\u0003N\u0003N\u0003N\u0003N\u0003N\u0005N\u0816\nN\u0003", "N\u0003N\u0003N\u0003N\u0003N\u0005N\u081d\nN\u0003N\u0003N\u0003N\u0003", "N\u0005N\u0823\nN\u0003N\u0003N\u0003N\u0003N\u0005N\u0829\nN\u0005", "N\u082b\nN\u0003O\u0003O\u0003O\u0005O\u0830\nO\u0003O\u0003O\u0003", "O\u0003O\u0003O\u0003O\u0003O\u0003O\u0003O\u0007O\u083b\nO\fO\u000e", "O\u083e\u000bO\u0003O\u0003O\u0003O\u0003O\u0003O\u0003O\u0003O\u0003", "O\u0005O\u0848\nO\u0003P\u0003P\u0003P\u0005P\u084d\nP\u0003P\u0003", "P\u0003Q\u0003Q\u0005Q\u0853\nQ\u0003Q\u0003Q\u0005Q\u0857\nQ\u0005", "Q\u0859\nQ\u0003R\u0003R\u0003R\u0007R\u085e\nR\fR\u000eR\u0861\u000b", "R\u0003S\u0003S\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003T\u0003", "T\u0003T\u0003T\u0005T\u086f\nT\u0005T\u0871\nT\u0003T\u0003T\u0003", "T\u0003T\u0003T\u0003T\u0007T\u0879\nT\fT\u000eT\u087c\u000bT\u0003", "U\u0005U\u087f\nU\u0003U\u0003U\u0003U\u0003U\u0003U\u0003U\u0005U\u0887", "\nU\u0003U\u0003U\u0003U\u0003U\u0003U\u0007U\u088e\nU\fU\u000eU\u0891", "\u000bU\u0003U\u0003U\u0003U\u0005U\u0896\nU\u0003U\u0003U\u0003U\u0003", "U\u0003U\u0003U\u0005U\u089e\nU\u0003U\u0003U\u0003U\u0003U\u0005U\u08a4", "\nU\u0003U\u0003U\u0003U\u0005U\u08a9\nU\u0003U\u0003U\u0003U\u0005", "U\u08ae\nU\u0003V\u0003V\u0003V\u0003V\u0005V\u08b4\nV\u0003V\u0003", "V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003", "V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0003V\u0007V\u08c9\nV\f", "V\u000eV\u08cc\u000bV\u0003W\u0003W\u0003W\u0006W\u08d1\nW\rW\u000e", "W\u08d2\u0003W\u0003W\u0005W\u08d7\nW\u0003W\u0003W\u0003W\u0003W\u0003", "W\u0006W\u08de\nW\rW\u000eW\u08df\u0003W\u0003W\u0005W\u08e4\nW\u0003", "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003", "W\u0003W\u0003W\u0003W\u0007W\u08f4\nW\fW\u000eW\u08f7\u000bW\u0005", "W\u08f9\nW\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0005W\u0901\n", "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0005W\u090a\nW\u0003", "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003", "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0006W\u091f", "\nW\rW\u000eW\u0920\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003", "W\u0003W\u0003W\u0005W\u092c\nW\u0003W\u0003W\u0003W\u0007W\u0931\n", "W\fW\u000eW\u0934\u000bW\u0005W\u0936\nW\u0003W\u0003W\u0003W\u0005", "W\u093b\nW\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003", "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0006W\u094c\nW\rW\u000e", "W\u094d\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003", "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0005W\u095f\nW\u0003W\u0003", "W\u0003W\u0003W\u0003W\u0003W\u0003W\u0003W\u0007W\u0969\nW\fW\u000e", "W\u096c\u000bW\u0003X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003X\u0003", "X\u0006X\u0976\nX\rX\u000eX\u0977\u0005X\u097a\nX\u0003Y\u0003Y\u0003", "Z\u0003Z\u0003[\u0003[\u0003\\\u0003\\\u0003]\u0003]\u0007]\u0986\n", "]\f]\u000e]\u0989\u000b]\u0003^\u0003^\u0003^\u0003^\u0005^\u098f\n", "^\u0003_\u0005_\u0992\n_\u0003_\u0003_\u0005_\u0996\n_\u0003`\u0003", "`\u0003`\u0005`\u099b\n`\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003", "a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0003a\u0005a\u09ac", "\na\u0003a\u0003a\u0005a\u09b0\na\u0003a\u0003a\u0003a\u0003a\u0003", "a\u0007a\u09b7\na\fa\u000ea\u09ba\u000ba\u0003a\u0005a\u09bd\na\u0005", "a\u09bf\na\u0003b\u0003b\u0003b\u0007b\u09c4\nb\fb\u000eb\u09c7\u000b", "b\u0003c\u0003c\u0003c\u0003c\u0005c\u09cd\nc\u0003d\u0003d\u0003d\u0007", "d\u09d2\nd\fd\u000ed\u09d5\u000bd\u0003e\u0003e\u0003e\u0007e\u09da", "\ne\fe\u000ee\u09dd\u000be\u0003e\u0003e\u0003e\u0005e\u09e2\ne\u0003", "e\u0003e\u0005e\u09e6\ne\u0003e\u0003e\u0003e\u0003e\u0003e\u0003e\u0003", "e\u0003e\u0003e\u0003e\u0003e\u0003e\u0007e\u09f4\ne\fe\u000ee\u09f7", "\u000be\u0003e\u0003e\u0005e\u09fb\ne\u0003f\u0003f\u0003f\u0003f\u0003", "f\u0003f\u0005f\u0a03\nf\u0003g\u0003g\u0003g\u0007g\u0a08\ng\fg\u000e", "g\u0a0b\u000bg\u0003h\u0003h\u0003h\u0003h\u0003h\u0005h\u0a12\nh\u0003", "i\u0003i\u0003i\u0003i\u0003i\u0003j\u0003j\u0003j\u0003j\u0007j\u0a1d", "\nj\fj\u000ej\u0a20\u000bj\u0003k\u0003k\u0003k\u0003k\u0003l\u0003", "l\u0003l\u0003l\u0003l\u0003l\u0003l\u0007l\u0a2d\nl\fl\u000el\u0a30", "\u000bl\u0003l\u0003l\u0003l\u0003l\u0003l\u0007l\u0a37\nl\fl\u000e", "l\u0a3a\u000bl\u0005l\u0a3c\nl\u0003l\u0003l\u0003l\u0003l\u0003l\u0007", "l\u0a43\nl\fl\u000el\u0a46\u000bl\u0005l\u0a48\nl\u0005l\u0a4a\nl\u0003", "l\u0005l\u0a4d\nl\u0003l\u0005l\u0a50\nl\u0003m\u0003m\u0003m\u0003", "m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003m\u0003", "m\u0003m\u0003m\u0005m\u0a62\nm\u0003n\u0003n\u0003n\u0003n\u0003n\u0003", "n\u0003n\u0005n\u0a6b\nn\u0003o\u0003o\u0003o\u0007o\u0a70\no\fo\u000e", "o\u0a73\u000bo\u0003p\u0003p\u0003p\u0003p\u0003p\u0003p\u0003p\u0003", "p\u0003p\u0003p\u0003p\u0003p\u0003p\u0003p\u0003p\u0005p\u0a84\np\u0003", "q\u0003q\u0003q\u0005q\u0a89\nq\u0003r\u0003r\u0003s\u0005s\u0a8e\n", "s\u0003s\u0003s\u0005s\u0a92\ns\u0003s\u0003s\u0005s\u0a96\ns\u0003", "s\u0003s\u0005s\u0a9a\ns\u0003s\u0003s\u0005s\u0a9e\ns\u0003s\u0003", "s\u0005s\u0aa2\ns\u0003s\u0003s\u0005s\u0aa6\ns\u0003s\u0005s\u0aa9", "\ns\u0003t\u0003t\u0003t\u0007\u0328\u0365\u036d\u0374\u037c\u0006H", "\u00a6\u00aa\u00acu\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014", "\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bd", "fhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090", "\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8", "\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0", "\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8", "\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u0002\u001d\u0003\u0002\u00d2", "\u00d3\u0004\u0002ZZ\\\\\u0005\u0002df\u00b8\u00b8\u00be\u00be\u0004", "\u0002\u0016\u0016))\u0004\u000266aa\u0004\u0002\u00b8\u00b8\u00be\u00be", "\u0004\u0002\u0017\u0017\u00df\u00df\u0003\u0002ps\u0003\u0002pr\u0003", "\u000256\u0004\u0002SSUU\u0004\u0002\u0019\u0019\u001b\u001b\u0003\u0002", "\u010b\u010c\u0003\u0002./\u0004\u0002\u0094\u0095\u009a\u009a\u0003", "\u0002\u0096\u0099\u0004\u0002\u0094\u0095\u009d\u009d\u0003\u0002\u0086", "\u0088\u0003\u0002\u008c\u0093\u0003\u0002\u0094\u009e\u0003\u0002\'", "*\u0003\u000223\u0003\u0002\u0094\u0095\u0004\u0002LL\u00a5\u00a5\u0004", "\u0002##\u00a3\u00a3\u0003\u0002PQ\u000b\u0002\u0015=@@HWYot\u008b\u0099", "\u0099\u009f\u00a8\u00aa\u00f6\u00f8\u00f9\u0002\u0c66\u0002\u00ec\u0003", "\u0002\u0002\u0002\u0004\u00ee\u0003\u0002\u0002\u0002\u0006\u00f1\u0003", "\u0002\u0002\u0002\b\u00f4\u0003\u0002\u0002\u0002\n\u00f7\u0003\u0002", "\u0002\u0002\f\u00fa\u0003\u0002\u0002\u0002\u000e\u037f\u0003\u0002", "\u0002\u0002\u0010\u042b\u0003\u0002\u0002\u0002\u0012\u042d\u0003\u0002", "\u0002\u0002\u0014\u043c\u0003\u0002\u0002\u0002\u0016\u0448\u0003\u0002", "\u0002\u0002\u0018\u0455\u0003\u0002\u0002\u0002\u001a\u0459\u0003\u0002", "\u0002\u0002\u001c\u048d\u0003\u0002\u0002\u0002\u001e\u048f\u0003\u0002", "\u0002\u0002 \u0493\u0003\u0002\u0002\u0002\"\u049f\u0003\u0002\u0002", "\u0002$\u04a9\u0003\u0002\u0002\u0002&\u04ab\u0003\u0002\u0002\u0002", "(\u04b3\u0003\u0002\u0002\u0002*\u04bc\u0003\u0002\u0002\u0002,\u04c4", "\u0003\u0002\u0002\u0002.\u04c7\u0003\u0002\u0002\u00020\u04d2\u0003", "\u0002\u0002\u00022\u04e2\u0003\u0002\u0002\u00024\u04e8\u0003\u0002", "\u0002\u00026\u04ea\u0003\u0002\u0002\u00028\u04f5\u0003\u0002\u0002", "\u0002:\u0506\u0003\u0002\u0002\u0002<\u050d\u0003\u0002\u0002\u0002", ">\u050f\u0003\u0002\u0002\u0002@\u0515\u0003\u0002\u0002\u0002B\u0524", "\u0003\u0002\u0002\u0002D\u0530\u0003\u0002\u0002\u0002F\u0561\u0003", "\u0002\u0002\u0002H\u0566\u0003\u0002\u0002\u0002J\u058b\u0003\u0002", "\u0002\u0002L\u058d\u0003\u0002\u0002\u0002N\u05f2\u0003\u0002\u0002", "\u0002P\u05f4\u0003\u0002\u0002\u0002R\u060e\u0003\u0002\u0002\u0002", "T\u0610\u0003\u0002\u0002\u0002V\u064e\u0003\u0002\u0002\u0002X\u065d", "\u0003\u0002\u0002\u0002Z\u065f\u0003\u0002\u0002\u0002\\\u067d\u0003", "\u0002\u0002\u0002^\u067f\u0003\u0002\u0002\u0002`\u0686\u0003\u0002", "\u0002\u0002b\u06a6\u0003\u0002\u0002\u0002d\u06a8\u0003\u0002\u0002", "\u0002f\u06ba\u0003\u0002\u0002\u0002h\u06d2\u0003\u0002\u0002\u0002", "j\u06d8\u0003\u0002\u0002\u0002l\u06da\u0003\u0002\u0002\u0002n\u06f9", "\u0003\u0002\u0002\u0002p\u06fb\u0003\u0002\u0002\u0002r\u06ff\u0003", "\u0002\u0002\u0002t\u0707\u0003\u0002\u0002\u0002v\u0712\u0003\u0002", "\u0002\u0002x\u0716\u0003\u0002\u0002\u0002z\u0721\u0003\u0002\u0002", "\u0002|\u073f\u0003\u0002\u0002\u0002~\u0741\u0003\u0002\u0002\u0002", "\u0080\u079d\u0003\u0002\u0002\u0002\u0082\u07a1\u0003\u0002\u0002\u0002", "\u0084\u07a3\u0003\u0002\u0002\u0002\u0086\u07a5\u0003\u0002\u0002\u0002", "\u0088\u07ad\u0003\u0002\u0002\u0002\u008a\u07b4\u0003\u0002\u0002\u0002", "\u008c\u07ce\u0003\u0002\u0002\u0002\u008e\u07d0\u0003\u0002\u0002\u0002", "\u0090\u07d2\u0003\u0002\u0002\u0002\u0092\u07d4\u0003\u0002\u0002\u0002", "\u0094\u07d6\u0003\u0002\u0002\u0002\u0096\u07e1\u0003\u0002\u0002\u0002", "\u0098\u07f7\u0003\u0002\u0002\u0002\u009a\u082a\u0003\u0002\u0002\u0002", "\u009c\u0847\u0003\u0002\u0002\u0002\u009e\u084c\u0003\u0002\u0002\u0002", "\u00a0\u0850\u0003\u0002\u0002\u0002\u00a2\u085a\u0003\u0002\u0002\u0002", "\u00a4\u0862\u0003\u0002\u0002\u0002\u00a6\u0870\u0003\u0002\u0002\u0002", "\u00a8\u08ad\u0003\u0002\u0002\u0002\u00aa\u08b3\u0003\u0002\u0002\u0002", "\u00ac\u095e\u0003\u0002\u0002\u0002\u00ae\u0979\u0003\u0002\u0002\u0002", "\u00b0\u097b\u0003\u0002\u0002\u0002\u00b2\u097d\u0003\u0002\u0002\u0002", "\u00b4\u097f\u0003\u0002\u0002\u0002\u00b6\u0981\u0003\u0002\u0002\u0002", "\u00b8\u0983\u0003\u0002\u0002\u0002\u00ba\u098a\u0003\u0002\u0002\u0002", "\u00bc\u0995\u0003\u0002\u0002\u0002\u00be\u099a\u0003\u0002\u0002\u0002", "\u00c0\u09be\u0003\u0002\u0002\u0002\u00c2\u09c0\u0003\u0002\u0002\u0002", "\u00c4\u09c8\u0003\u0002\u0002\u0002\u00c6\u09ce\u0003\u0002\u0002\u0002", "\u00c8\u09fa\u0003\u0002\u0002\u0002\u00ca\u0a02\u0003\u0002\u0002\u0002", "\u00cc\u0a04\u0003\u0002\u0002\u0002\u00ce\u0a0c\u0003\u0002\u0002\u0002", "\u00d0\u0a13\u0003\u0002\u0002\u0002\u00d2\u0a18\u0003\u0002\u0002\u0002", "\u00d4\u0a21\u0003\u0002\u0002\u0002\u00d6\u0a4f\u0003\u0002\u0002\u0002", "\u00d8\u0a61\u0003\u0002\u0002\u0002\u00da\u0a6a\u0003\u0002\u0002\u0002", "\u00dc\u0a6c\u0003\u0002\u0002\u0002\u00de\u0a83\u0003\u0002\u0002\u0002", "\u00e0\u0a88\u0003\u0002\u0002\u0002\u00e2\u0a8a\u0003\u0002\u0002\u0002", "\u00e4\u0aa8\u0003\u0002\u0002\u0002\u00e6\u0aaa\u0003\u0002\u0002\u0002", "\u00e8\u00e9\u0005\u000e\b\u0002\u00e9\u00ea\u0007\u0002\u0002\u0003", "\u00ea\u00ed\u0003\u0002\u0002\u0002\u00eb\u00ed\u0007\u0002\u0002\u0003", "\u00ec\u00e8\u0003\u0002\u0002\u0002\u00ec\u00eb\u0003\u0002\u0002\u0002", "\u00ed\u0003\u0003\u0002\u0002\u0002\u00ee\u00ef\u0005\u00a0Q\u0002", "\u00ef\u00f0\u0007\u0002\u0002\u0003\u00f0\u0005\u0003\u0002\u0002\u0002", "\u00f1\u00f2\u0005\u009cO\u0002\u00f2\u00f3\u0007\u0002\u0002\u0003", "\u00f3\u0007\u0003\u0002\u0002\u0002\u00f4\u00f5\u0005\u009eP\u0002", "\u00f5\u00f6\u0007\u0002\u0002\u0003\u00f6\t\u0003\u0002\u0002\u0002", "\u00f7\u00f8\u0005\u00c0a\u0002\u00f8\u00f9\u0007\u0002\u0002\u0003", "\u00f9\u000b\u0003\u0002\u0002\u0002\u00fa\u00fb\u0005\u00c2b\u0002", "\u00fb\u00fc\u0007\u0002\u0002\u0003\u00fc\r\u0003\u0002\u0002\u0002", "\u00fd\u0380\u0005\u001a\u000e\u0002\u00fe\u00ff\u0007l\u0002\u0002", "\u00ff\u0380\u0005\u00dep\u0002\u0100\u0101\u0007Y\u0002\u0002\u0101", "\u0105\u0007\u00d9\u0002\u0002\u0102\u0103\u0007\u0089\u0002\u0002\u0103", "\u0104\u0007*\u0002\u0002\u0104\u0106\u0007,\u0002\u0002\u0105\u0102", "\u0003\u0002\u0002\u0002\u0105\u0106\u0003\u0002\u0002\u0002\u0106\u0107", "\u0003\u0002\u0002\u0002\u0107\u010a\u0005\u00dep\u0002\u0108\u0109", "\u0007|\u0002\u0002\u0109\u010b\u0007\u0107\u0002\u0002\u010a\u0108", "\u0003\u0002\u0002\u0002\u010a\u010b\u0003\u0002\u0002\u0002\u010b\u010d", "\u0003\u0002\u0002\u0002\u010c\u010e\u0005\u0018\r\u0002\u010d\u010c", "\u0003\u0002\u0002\u0002\u010d\u010e\u0003\u0002\u0002\u0002\u010e\u0112", "\u0003\u0002\u0002\u0002\u010f\u0110\u0007W\u0002\u0002\u0110\u0111", "\u0007\u00c4\u0002\u0002\u0111\u0113\u0005.\u0018\u0002\u0112\u010f", "\u0003\u0002\u0002\u0002\u0112\u0113\u0003\u0002\u0002\u0002\u0113\u0380", "\u0003\u0002\u0002\u0002\u0114\u0115\u0007w\u0002\u0002\u0115\u0116", "\u0007\u00d9\u0002\u0002\u0116\u0117\u0005\u00dep\u0002\u0117\u0118", "\u0007}\u0002\u0002\u0118\u0119\u0007\u00c4\u0002\u0002\u0119\u011a", "\u0005.\u0018\u0002\u011a\u0380\u0003\u0002\u0002\u0002\u011b\u011c", "\u0007o\u0002\u0002\u011c\u011f\u0007\u00d9\u0002\u0002\u011d\u011e", "\u0007\u0089\u0002\u0002\u011e\u0120\u0007,\u0002\u0002\u011f\u011d", "\u0003\u0002\u0002\u0002\u011f\u0120\u0003\u0002\u0002\u0002\u0120\u0121", "\u0003\u0002\u0002\u0002\u0121\u0123\u0005\u00dep\u0002\u0122\u0124", "\t\u0002\u0002\u0002\u0123\u0122\u0003\u0002\u0002\u0002\u0123\u0124", "\u0003\u0002\u0002\u0002\u0124\u0380\u0003\u0002\u0002\u0002\u0125\u012a", "\u0005\u0012\n\u0002\u0126\u0127\u0007\u0003\u0002\u0002\u0127\u0128", "\u0005\u00c2b\u0002\u0128\u0129\u0007\u0004\u0002\u0002\u0129\u012b", "\u0003\u0002\u0002\u0002\u012a\u0126\u0003\u0002\u0002\u0002\u012a\u012b", "\u0003\u0002\u0002\u0002\u012b\u012c\u0003\u0002\u0002\u0002\u012c\u013a", "\u0005,\u0017\u0002\u012d\u012e\u0007\u00c1\u0002\u0002\u012e\u0139", "\u0005.\u0018\u0002\u012f\u0130\u0007\u00e1\u0002\u0002\u0130\u0131", "\u0007\u001e\u0002\u0002\u0131\u0139\u0005p9\u0002\u0132\u0139\u0005", "\u0014\u000b\u0002\u0133\u0139\u0005\u0018\r\u0002\u0134\u0135\u0007", "|\u0002\u0002\u0135\u0139\u0007\u0107\u0002\u0002\u0136\u0137\u0007", "\u00c3\u0002\u0002\u0137\u0139\u0005.\u0018\u0002\u0138\u012d\u0003", "\u0002\u0002\u0002\u0138\u012f\u0003\u0002\u0002\u0002\u0138\u0132\u0003", "\u0002\u0002\u0002\u0138\u0133\u0003\u0002\u0002\u0002\u0138\u0134\u0003", "\u0002\u0002\u0002\u0138\u0136\u0003\u0002\u0002\u0002\u0139\u013c\u0003", "\u0002\u0002\u0002\u013a\u0138\u0003\u0002\u0002\u0002\u013a\u013b\u0003", "\u0002\u0002\u0002\u013b\u0141\u0003\u0002\u0002\u0002\u013c\u013a\u0003", "\u0002\u0002\u0002\u013d\u013f\u0007\u0018\u0002\u0002\u013e\u013d\u0003", "\u0002\u0002\u0002\u013e\u013f\u0003\u0002\u0002\u0002\u013f\u0140\u0003", "\u0002\u0002\u0002\u0140\u0142\u0005\u001a\u000e\u0002\u0141\u013e\u0003", "\u0002\u0002\u0002\u0141\u0142\u0003\u0002\u0002\u0002\u0142\u0380\u0003", "\u0002\u0002\u0002\u0143\u0148\u0005\u0012\n\u0002\u0144\u0145\u0007", "\u0003\u0002\u0002\u0145\u0146\u0005\u00c2b\u0002\u0146\u0147\u0007", "\u0004\u0002\u0002\u0147\u0149\u0003\u0002\u0002\u0002\u0148\u0144\u0003", "\u0002\u0002\u0002\u0148\u0149\u0003\u0002\u0002\u0002\u0149\u015b\u0003", "\u0002\u0002\u0002\u014a\u014b\u0007|\u0002\u0002\u014b\u015a\u0007", "\u0107\u0002\u0002\u014c\u014d\u0007\u00e1\u0002\u0002\u014d\u014e\u0007", "\u001e\u0002\u0002\u014e\u014f\u0007\u0003\u0002\u0002\u014f\u0150\u0005", "\u00c2b\u0002\u0150\u0151\u0007\u0004\u0002\u0002\u0151\u015a\u0003", "\u0002\u0002\u0002\u0152\u015a\u0005\u0014\u000b\u0002\u0153\u015a\u0005", "\u0016\f\u0002\u0154\u015a\u0005\u009aN\u0002\u0155\u015a\u0005:\u001e", "\u0002\u0156\u015a\u0005\u0018\r\u0002\u0157\u0158\u0007\u00c3\u0002", "\u0002\u0158\u015a\u0005.\u0018\u0002\u0159\u014a\u0003\u0002\u0002", "\u0002\u0159\u014c\u0003\u0002\u0002\u0002\u0159\u0152\u0003\u0002\u0002", "\u0002\u0159\u0153\u0003\u0002\u0002\u0002\u0159\u0154\u0003\u0002\u0002", "\u0002\u0159\u0155\u0003\u0002\u0002\u0002\u0159\u0156\u0003\u0002\u0002", "\u0002\u0159\u0157\u0003\u0002\u0002\u0002\u015a\u015d\u0003\u0002\u0002", "\u0002\u015b\u0159\u0003\u0002\u0002\u0002\u015b\u015c\u0003\u0002\u0002", "\u0002\u015c\u0162\u0003\u0002\u0002\u0002\u015d\u015b\u0003\u0002\u0002", "\u0002\u015e\u0160\u0007\u0018\u0002\u0002\u015f\u015e\u0003\u0002\u0002", "\u0002\u015f\u0160\u0003\u0002\u0002\u0002\u0160\u0161\u0003\u0002\u0002", "\u0002\u0161\u0163\u0005\u001a\u000e\u0002\u0162\u015f\u0003\u0002\u0002", "\u0002\u0162\u0163\u0003\u0002\u0002\u0002\u0163\u0380\u0003\u0002\u0002", "\u0002\u0164\u0165\u0007Y\u0002\u0002\u0165\u0169\u0007Z\u0002\u0002", "\u0166\u0167\u0005\u00dep\u0002\u0167\u0168\u0007\u0005\u0002\u0002", "\u0168\u016a\u0003\u0002\u0002\u0002\u0169\u0166\u0003\u0002\u0002\u0002", "\u0169\u016a\u0003\u0002\u0002\u0002\u016a\u016b\u0003\u0002\u0002\u0002", "\u016b\u0170\u0005\u009cO\u0002\u016c\u016d\u0007\u0003\u0002\u0002", "\u016d\u016e\u0005\u00c6d\u0002\u016e\u016f\u0007\u0004\u0002\u0002", "\u016f\u0171\u0003\u0002\u0002\u0002\u0170\u016c\u0003\u0002\u0002\u0002", "\u0170\u0171\u0003\u0002\u0002\u0002\u0171\u0174\u0003\u0002\u0002\u0002", "\u0172\u0173\u0007|\u0002\u0002\u0173\u0175\u0007\u0107\u0002\u0002", "\u0174\u0172\u0003\u0002\u0002\u0002\u0174\u0175\u0003\u0002\u0002\u0002", "\u0175\u017c\u0003\u0002\u0002\u0002\u0176\u0177\u0007\u00e1\u0002\u0002", "\u0177\u0178\u0007\u001e\u0002\u0002\u0178\u0179\u0007\u0003\u0002\u0002", "\u0179\u017a\u0005p9\u0002\u017a\u017b\u0007\u0004\u0002\u0002\u017b", "\u017d\u0003\u0002\u0002\u0002\u017c\u0176\u0003\u0002\u0002\u0002\u017c", "\u017d\u0003\u0002\u0002\u0002\u017d\u017e\u0003\u0002\u0002\u0002\u017e", "\u017f\u0007W\u0002\u0002\u017f\u0180\u0005.\u0018\u0002\u0180\u0380", "\u0003\u0002\u0002\u0002\u0181\u0182\u0007Y\u0002\u0002\u0182\u0186", "\u0007Z\u0002\u0002\u0183\u0184\u0007\u0089\u0002\u0002\u0184\u0185", "\u0007*\u0002\u0002\u0185\u0187\u0007,\u0002\u0002\u0186\u0183\u0003", "\u0002\u0002\u0002\u0186\u0187\u0003\u0002\u0002\u0002\u0187\u0188\u0003", "\u0002\u0002\u0002\u0188\u0189\u0005\u009cO\u0002\u0189\u018a\u0007", ".\u0002\u0002\u018a\u018c\u0005\u009cO\u0002\u018b\u018d\u0005\u0018", "\r\u0002\u018c\u018b\u0003\u0002\u0002\u0002\u018c\u018d\u0003\u0002", "\u0002\u0002\u018d\u0380\u0003\u0002\u0002\u0002\u018e\u018f\u0007\u00dd", "\u0002\u0002\u018f\u0190\u0007Z\u0002\u0002\u0190\u0192\u0005\u009c", "O\u0002\u0191\u0193\u0005 \u0011\u0002\u0192\u0191\u0003\u0002\u0002", "\u0002\u0192\u0193\u0003\u0002\u0002\u0002\u0193\u0194\u0003\u0002\u0002", "\u0002\u0194\u0195\u0007\u00de\u0002\u0002\u0195\u019d\u0007\u00e0\u0002", "\u0002\u0196\u019e\u0005\u00dep\u0002\u0197\u0198\u00077\u0002\u0002", "\u0198\u0199\u0007j\u0002\u0002\u0199\u019e\u0005r:\u0002\u019a\u019b", "\u00077\u0002\u0002\u019b\u019c\u0007\u0019\u0002\u0002\u019c\u019e", "\u0007j\u0002\u0002\u019d\u0196\u0003\u0002\u0002\u0002\u019d\u0197", "\u0003\u0002\u0002\u0002\u019d\u019a\u0003\u0002\u0002\u0002\u019d\u019e", "\u0003\u0002\u0002\u0002\u019e\u0380\u0003\u0002\u0002\u0002\u019f\u01a0", "\u0007w\u0002\u0002\u01a0\u01a1\u0007Z\u0002\u0002\u01a1\u01a2\u0005", "\u009cO\u0002\u01a2\u01a3\u0007\u0017\u0002\u0002\u01a3\u01a4\u0007", "j\u0002\u0002\u01a4\u01a5\u0007\u0003\u0002\u0002\u01a5\u01a6\u0005", "\u00c2b\u0002\u01a6\u01a7\u0007\u0004\u0002\u0002\u01a7\u0380\u0003", "\u0002\u0002\u0002\u01a8\u01a9\u0007w\u0002\u0002\u01a9\u01aa\t\u0003", "\u0002\u0002\u01aa\u01ab\u0005\u009cO\u0002\u01ab\u01ac\u0007x\u0002", "\u0002\u01ac\u01ad\u0007t\u0002\u0002\u01ad\u01ae\u0005\u009cO\u0002", "\u01ae\u0380\u0003\u0002\u0002\u0002\u01af\u01b0\u0007w\u0002\u0002", "\u01b0\u01b1\t\u0003\u0002\u0002\u01b1\u01b2\u0005\u009cO\u0002\u01b2", "\u01b3\u0007}\u0002\u0002\u01b3\u01b4\u0007\u00c3\u0002\u0002\u01b4", "\u01b5\u0005.\u0018\u0002\u01b5\u0380\u0003\u0002\u0002\u0002\u01b6", "\u01b7\u0007w\u0002\u0002\u01b7\u01b8\t\u0003\u0002\u0002\u01b8\u01b9", "\u0005\u009cO\u0002\u01b9\u01ba\u0007\u00c2\u0002\u0002\u01ba\u01bd", "\u0007\u00c3\u0002\u0002\u01bb\u01bc\u0007\u0089\u0002\u0002\u01bc\u01be", "\u0007,\u0002\u0002\u01bd\u01bb\u0003\u0002\u0002\u0002\u01bd\u01be", "\u0003\u0002\u0002\u0002\u01be\u01bf\u0003\u0002\u0002\u0002\u01bf\u01c0", "\u0005.\u0018\u0002\u01c0\u0380\u0003\u0002\u0002\u0002\u01c1\u01c2", "\u0007w\u0002\u0002\u01c2\u01c3\u0007Z\u0002\u0002\u01c3\u01c5\u0005", "\u009cO\u0002\u01c4\u01c6\u0005 \u0011\u0002\u01c5\u01c4\u0003\u0002", "\u0002\u0002\u01c5\u01c6\u0003\u0002\u0002\u0002\u01c6\u01c7\u0003\u0002", "\u0002\u0002\u01c7\u01c9\u0007\u00d1\u0002\u0002\u01c8\u01ca\u0007k", "\u0002\u0002\u01c9\u01c8\u0003\u0002\u0002\u0002\u01c9\u01ca\u0003\u0002", "\u0002\u0002\u01ca\u01cb\u0003\u0002\u0002\u0002\u01cb\u01cc\u0005\u00de", "p\u0002\u01cc\u01ce\u0005\u00c4c\u0002\u01cd\u01cf\u0005\u00be`\u0002", "\u01ce\u01cd\u0003\u0002\u0002\u0002\u01ce\u01cf\u0003\u0002\u0002\u0002", "\u01cf\u0380\u0003\u0002\u0002\u0002\u01d0\u01d1\u0007w\u0002\u0002", "\u01d1\u01d2\u0007Z\u0002\u0002\u01d2\u01d4\u0005\u009cO\u0002\u01d3", "\u01d5\u0005 \u0011\u0002\u01d4\u01d3\u0003\u0002\u0002\u0002\u01d4", "\u01d5\u0003\u0002\u0002\u0002\u01d5\u01d6\u0003\u0002\u0002\u0002\u01d6", "\u01d7\u0007}\u0002\u0002\u01d7\u01d8\u0007\u00aa\u0002\u0002\u01d8", "\u01dc\u0007\u0107\u0002\u0002\u01d9\u01da\u0007W\u0002\u0002\u01da", "\u01db\u0007\u00ab\u0002\u0002\u01db\u01dd\u0005.\u0018\u0002\u01dc", "\u01d9\u0003\u0002\u0002\u0002\u01dc\u01dd\u0003\u0002\u0002\u0002\u01dd", "\u0380\u0003\u0002\u0002\u0002\u01de\u01df\u0007w\u0002\u0002\u01df", "\u01e0\u0007Z\u0002\u0002\u01e0\u01e2\u0005\u009cO\u0002\u01e1\u01e3", "\u0005 \u0011\u0002\u01e2\u01e1\u0003\u0002\u0002\u0002\u01e2\u01e3", "\u0003\u0002\u0002\u0002\u01e3\u01e4\u0003\u0002\u0002\u0002\u01e4\u01e5", "\u0007}\u0002\u0002\u01e5\u01e6\u0007\u00ab\u0002\u0002\u01e6\u01e7", "\u0005.\u0018\u0002\u01e7\u0380\u0003\u0002\u0002\u0002\u01e8\u01e9", "\u0007w\u0002\u0002\u01e9\u01ea\u0007Z\u0002\u0002\u01ea\u01eb\u0005", "\u009cO\u0002\u01eb\u01ef\u0007\u0017\u0002\u0002\u01ec\u01ed\u0007", "\u0089\u0002\u0002\u01ed\u01ee\u0007*\u0002\u0002\u01ee\u01f0\u0007", ",\u0002\u0002\u01ef\u01ec\u0003\u0002\u0002\u0002\u01ef\u01f0\u0003", "\u0002\u0002\u0002\u01f0\u01f2\u0003\u0002\u0002\u0002\u01f1\u01f3\u0005", "\u001e\u0010\u0002\u01f2\u01f1\u0003\u0002\u0002\u0002\u01f3\u01f4\u0003", "\u0002\u0002\u0002\u01f4\u01f2\u0003\u0002\u0002\u0002\u01f4\u01f5\u0003", "\u0002\u0002\u0002\u01f5\u0380\u0003\u0002\u0002\u0002\u01f6\u01f7\u0007", "w\u0002\u0002\u01f7\u01f8\u0007\\\u0002\u0002\u01f8\u01f9\u0005\u009c", "O\u0002\u01f9\u01fd\u0007\u0017\u0002\u0002\u01fa\u01fb\u0007\u0089", "\u0002\u0002\u01fb\u01fc\u0007*\u0002\u0002\u01fc\u01fe\u0007,\u0002", "\u0002\u01fd\u01fa\u0003\u0002\u0002\u0002\u01fd\u01fe\u0003\u0002\u0002", "\u0002\u01fe\u0200\u0003\u0002\u0002\u0002\u01ff\u0201\u0005 \u0011", "\u0002\u0200\u01ff\u0003\u0002\u0002\u0002\u0201\u0202\u0003\u0002\u0002", "\u0002\u0202\u0200\u0003\u0002\u0002\u0002\u0202\u0203\u0003\u0002\u0002", "\u0002\u0203\u0380\u0003\u0002\u0002\u0002\u0204\u0205\u0007w\u0002", "\u0002\u0205\u0206\u0007Z\u0002\u0002\u0206\u0207\u0005\u009cO\u0002", "\u0207\u0208\u0005 \u0011\u0002\u0208\u0209\u0007x\u0002\u0002\u0209", "\u020a\u0007t\u0002\u0002\u020a\u020b\u0005 \u0011\u0002\u020b\u0380", "\u0003\u0002\u0002\u0002\u020c\u020d\u0007w\u0002\u0002\u020d\u020e", "\u0007Z\u0002\u0002\u020e\u020f\u0005\u009cO\u0002\u020f\u0212\u0007", "o\u0002\u0002\u0210\u0211\u0007\u0089\u0002\u0002\u0211\u0213\u0007", ",\u0002\u0002\u0212\u0210\u0003\u0002\u0002\u0002\u0212\u0213\u0003", "\u0002\u0002\u0002\u0213\u0214\u0003\u0002\u0002\u0002\u0214\u0219\u0005", " \u0011\u0002\u0215\u0216\u0007\u0006\u0002\u0002\u0216\u0218\u0005", " \u0011\u0002\u0217\u0215\u0003\u0002\u0002\u0002\u0218\u021b\u0003", "\u0002\u0002\u0002\u0219\u0217\u0003\u0002\u0002\u0002\u0219\u021a\u0003", "\u0002\u0002\u0002\u021a\u021d\u0003\u0002\u0002\u0002\u021b\u0219\u0003", "\u0002\u0002\u0002\u021c\u021e\u0007\u00d6\u0002\u0002\u021d\u021c\u0003", "\u0002\u0002\u0002\u021d\u021e\u0003\u0002\u0002\u0002\u021e\u0380\u0003", "\u0002\u0002\u0002\u021f\u0220\u0007w\u0002\u0002\u0220\u0221\u0007", "\\\u0002\u0002\u0221\u0222\u0005\u009cO\u0002\u0222\u0225\u0007o\u0002", "\u0002\u0223\u0224\u0007\u0089\u0002\u0002\u0224\u0226\u0007,\u0002", "\u0002\u0225\u0223\u0003\u0002\u0002\u0002\u0225\u0226\u0003\u0002\u0002", "\u0002\u0226\u0227\u0003\u0002\u0002\u0002\u0227\u022c\u0005 \u0011", "\u0002\u0228\u0229\u0007\u0006\u0002\u0002\u0229\u022b\u0005 \u0011", "\u0002\u022a\u0228\u0003\u0002\u0002\u0002\u022b\u022e\u0003\u0002\u0002", "\u0002\u022c\u022a\u0003\u0002\u0002\u0002\u022c\u022d\u0003\u0002\u0002", "\u0002\u022d\u0380\u0003\u0002\u0002\u0002\u022e\u022c\u0003\u0002\u0002", "\u0002\u022f\u0230\u0007w\u0002\u0002\u0230\u0231\u0007Z\u0002\u0002", "\u0231\u0233\u0005\u009cO\u0002\u0232\u0234\u0005 \u0011\u0002\u0233", "\u0232\u0003\u0002\u0002\u0002\u0233\u0234\u0003\u0002\u0002\u0002\u0234", "\u0235\u0003\u0002\u0002\u0002\u0235\u0236\u0007}\u0002\u0002\u0236", "\u0237\u0005\u0018\r\u0002\u0237\u0380\u0003\u0002\u0002\u0002\u0238", "\u0239\u0007w\u0002\u0002\u0239\u023a\u0007Z\u0002\u0002\u023a\u023b", "\u0005\u009cO\u0002\u023b\u023c\u0007\u00ea\u0002\u0002\u023c\u023d", "\u0007m\u0002\u0002\u023d\u0380\u0003\u0002\u0002\u0002\u023e\u023f", "\u0007o\u0002\u0002\u023f\u0242\u0007Z\u0002\u0002\u0240\u0241\u0007", "\u0089\u0002\u0002\u0241\u0243\u0007,\u0002\u0002\u0242\u0240\u0003", "\u0002\u0002\u0002\u0242\u0243\u0003\u0002\u0002\u0002\u0243\u0244\u0003", "\u0002\u0002\u0002\u0244\u0246\u0005\u009cO\u0002\u0245\u0247\u0007", "\u00d6\u0002\u0002\u0246\u0245\u0003\u0002\u0002\u0002\u0246\u0247\u0003", "\u0002\u0002\u0002\u0247\u0380\u0003\u0002\u0002\u0002\u0248\u0249\u0007", "o\u0002\u0002\u0249\u024c\u0007\\\u0002\u0002\u024a\u024b\u0007\u0089", "\u0002\u0002\u024b\u024d\u0007,\u0002\u0002\u024c\u024a\u0003\u0002", "\u0002\u0002\u024c\u024d\u0003\u0002\u0002\u0002\u024d\u024e\u0003\u0002", "\u0002\u0002\u024e\u0380\u0005\u009cO\u0002\u024f\u0252\u0007Y\u0002", "\u0002\u0250\u0251\u0007\'\u0002\u0002\u0251\u0253\u0007]\u0002\u0002", "\u0252\u0250\u0003\u0002\u0002\u0002\u0252\u0253\u0003\u0002\u0002\u0002", "\u0253\u0258\u0003\u0002\u0002\u0002\u0254\u0256\u0007\u00bf\u0002\u0002", "\u0255\u0254\u0003\u0002\u0002\u0002\u0255\u0256\u0003\u0002\u0002\u0002", "\u0256\u0257\u0003\u0002\u0002\u0002\u0257\u0259\u0007\u00c0\u0002\u0002", "\u0258\u0255\u0003\u0002\u0002\u0002\u0258\u0259\u0003\u0002\u0002\u0002", "\u0259\u025a\u0003\u0002\u0002\u0002\u025a\u025e\u0007\\\u0002\u0002", "\u025b\u025c\u0007\u0089\u0002\u0002\u025c\u025d\u0007*\u0002\u0002", "\u025d\u025f\u0007,\u0002\u0002\u025e\u025b\u0003\u0002\u0002\u0002", "\u025e\u025f\u0003\u0002\u0002\u0002\u025f\u0260\u0003\u0002\u0002\u0002", "\u0260\u0262\u0005\u009cO\u0002\u0261\u0263\u0005x=\u0002\u0262\u0261", "\u0003\u0002\u0002\u0002\u0262\u0263\u0003\u0002\u0002\u0002\u0263\u0266", "\u0003\u0002\u0002\u0002\u0264\u0265\u0007|\u0002\u0002\u0265\u0267", "\u0007\u0107\u0002\u0002\u0266\u0264\u0003\u0002\u0002\u0002\u0266\u0267", "\u0003\u0002\u0002\u0002\u0267\u026b\u0003\u0002\u0002\u0002\u0268\u0269", "\u0007\u00e1\u0002\u0002\u0269\u026a\u0007G\u0002\u0002\u026a\u026c", "\u0005p9\u0002\u026b\u0268\u0003\u0002\u0002\u0002\u026b\u026c\u0003", "\u0002\u0002\u0002\u026c\u026f\u0003\u0002\u0002\u0002\u026d\u026e\u0007", "\u00c3\u0002\u0002\u026e\u0270\u0005.\u0018\u0002\u026f\u026d\u0003", "\u0002\u0002\u0002\u026f\u0270\u0003\u0002\u0002\u0002\u0270\u0271\u0003", "\u0002\u0002\u0002\u0271\u0272\u0007\u0018\u0002\u0002\u0272\u0273\u0005", "\u001a\u000e\u0002\u0273\u0380\u0003\u0002\u0002\u0002\u0274\u0277\u0007", "Y\u0002\u0002\u0275\u0276\u0007\'\u0002\u0002\u0276\u0278\u0007]\u0002", "\u0002\u0277\u0275\u0003\u0002\u0002\u0002\u0277\u0278\u0003\u0002\u0002", "\u0002\u0278\u027a\u0003\u0002\u0002\u0002\u0279\u027b\u0007\u00bf\u0002", "\u0002\u027a\u0279\u0003\u0002\u0002\u0002\u027a\u027b\u0003\u0002\u0002", "\u0002\u027b\u027c\u0003\u0002\u0002\u0002\u027c\u027d\u0007\u00c0\u0002", "\u0002\u027d\u027e\u0007\\\u0002\u0002\u027e\u0283\u0005\u009cO\u0002", "\u027f\u0280\u0007\u0003\u0002\u0002\u0280\u0281\u0005\u00c2b\u0002", "\u0281\u0282\u0007\u0004\u0002\u0002\u0282\u0284\u0003\u0002\u0002\u0002", "\u0283\u027f\u0003\u0002\u0002\u0002\u0283\u0284\u0003\u0002\u0002\u0002", "\u0284\u0285\u0003\u0002\u0002\u0002\u0285\u0288\u0005,\u0017\u0002", "\u0286\u0287\u0007\u00c1\u0002\u0002\u0287\u0289\u0005.\u0018\u0002", "\u0288\u0286\u0003\u0002\u0002\u0002\u0288\u0289\u0003\u0002\u0002\u0002", "\u0289\u0380\u0003\u0002\u0002\u0002\u028a\u028b\u0007w\u0002\u0002", "\u028b\u028c\u0007\\\u0002\u0002\u028c\u028e\u0005\u009cO\u0002\u028d", "\u028f\u0007\u0018\u0002\u0002\u028e\u028d\u0003\u0002\u0002\u0002\u028e", "\u028f\u0003\u0002\u0002\u0002\u028f\u0290\u0003\u0002\u0002\u0002\u0290", "\u0291\u0005\u001a\u000e\u0002\u0291\u0380\u0003\u0002\u0002\u0002\u0292", "\u0295\u0007Y\u0002\u0002\u0293\u0294\u0007\'\u0002\u0002\u0294\u0296", "\u0007]\u0002\u0002\u0295\u0293\u0003\u0002\u0002\u0002\u0295\u0296", "\u0003\u0002\u0002\u0002\u0296\u0298\u0003\u0002\u0002\u0002\u0297\u0299", "\u0007\u00c0\u0002\u0002\u0298\u0297\u0003\u0002\u0002\u0002\u0298\u0299", "\u0003\u0002\u0002\u0002\u0299\u029a\u0003\u0002\u0002\u0002\u029a\u029e", "\u0007\u00b7\u0002\u0002\u029b\u029c\u0007\u0089\u0002\u0002\u029c\u029d", "\u0007*\u0002\u0002\u029d\u029f\u0007,\u0002\u0002\u029e\u029b\u0003", "\u0002\u0002\u0002\u029e\u029f\u0003\u0002\u0002\u0002\u029f\u02a0\u0003", "\u0002\u0002\u0002\u02a0\u02a1\u0005\u00dco\u0002\u02a1\u02a2\u0007", "\u0018\u0002\u0002\u02a2\u02ac\u0007\u0107\u0002\u0002\u02a3\u02a4\u0007", "\u00a9\u0002\u0002\u02a4\u02a9\u0005@!\u0002\u02a5\u02a6\u0007\u0006", "\u0002\u0002\u02a6\u02a8\u0005@!\u0002\u02a7\u02a5\u0003\u0002\u0002", "\u0002\u02a8\u02ab\u0003\u0002\u0002\u0002\u02a9\u02a7\u0003\u0002\u0002", "\u0002\u02a9\u02aa\u0003\u0002\u0002\u0002\u02aa\u02ad\u0003\u0002\u0002", "\u0002\u02ab\u02a9\u0003\u0002\u0002\u0002\u02ac\u02a3\u0003\u0002\u0002", "\u0002\u02ac\u02ad\u0003\u0002\u0002\u0002\u02ad\u0380\u0003\u0002\u0002", "\u0002\u02ae\u02b0\u0007o\u0002\u0002\u02af\u02b1\u0007\u00c0\u0002", "\u0002\u02b0\u02af\u0003\u0002\u0002\u0002\u02b0\u02b1\u0003\u0002\u0002", "\u0002\u02b1\u02b2\u0003\u0002\u0002\u0002\u02b2\u02b5\u0007\u00b7\u0002", "\u0002\u02b3\u02b4\u0007\u0089\u0002\u0002\u02b4\u02b6\u0007,\u0002", "\u0002\u02b5\u02b3\u0003\u0002\u0002\u0002\u02b5\u02b6\u0003\u0002\u0002", "\u0002\u02b6\u02b7\u0003\u0002\u0002\u0002\u02b7\u0380\u0005\u00dco", "\u0002\u02b8\u02ba\u0007b\u0002\u0002\u02b9\u02bb\t\u0004\u0002\u0002", "\u02ba\u02b9\u0003\u0002\u0002\u0002\u02ba\u02bb\u0003\u0002\u0002\u0002", "\u02bb\u02bc\u0003\u0002\u0002\u0002\u02bc\u0380\u0005\u000e\b\u0002", "\u02bd\u02be\u0007h\u0002\u0002\u02be\u02c1\u0007i\u0002\u0002\u02bf", "\u02c0\t\u0005\u0002\u0002\u02c0\u02c2\u0005\u00dep\u0002\u02c1\u02bf", "\u0003\u0002\u0002\u0002\u02c1\u02c2\u0003\u0002\u0002\u0002\u02c2\u02c7", "\u0003\u0002\u0002\u0002\u02c3\u02c5\u0007.\u0002\u0002\u02c4\u02c3", "\u0003\u0002\u0002\u0002\u02c4\u02c5\u0003\u0002\u0002\u0002\u02c5\u02c6", "\u0003\u0002\u0002\u0002\u02c6\u02c8\u0007\u0107\u0002\u0002\u02c7\u02c4", "\u0003\u0002\u0002\u0002\u02c7\u02c8\u0003\u0002\u0002\u0002\u02c8\u0380", "\u0003\u0002\u0002\u0002\u02c9\u02ca\u0007h\u0002\u0002\u02ca\u02cb", "\u0007Z\u0002\u0002\u02cb\u02ce\u0007\u00b8\u0002\u0002\u02cc\u02cd", "\t\u0005\u0002\u0002\u02cd\u02cf\u0005\u00dep\u0002\u02ce\u02cc\u0003", "\u0002\u0002\u0002\u02ce\u02cf\u0003\u0002\u0002\u0002\u02cf\u02d0\u0003", "\u0002\u0002\u0002\u02d0\u02d1\u0007.\u0002\u0002\u02d1\u02d3\u0007", "\u0107\u0002\u0002\u02d2\u02d4\u0005 \u0011\u0002\u02d3\u02d2\u0003", "\u0002\u0002\u0002\u02d3\u02d4\u0003\u0002\u0002\u0002\u02d4\u0380\u0003", "\u0002\u0002\u0002\u02d5\u02d6\u0007h\u0002\u0002\u02d6\u02db\u0007", "\u00da\u0002\u0002\u02d7\u02d9\u0007.\u0002\u0002\u02d8\u02d7\u0003", "\u0002\u0002\u0002\u02d8\u02d9\u0003\u0002\u0002\u0002\u02d9\u02da\u0003", "\u0002\u0002\u0002\u02da\u02dc\u0007\u0107\u0002\u0002\u02db\u02d8\u0003", "\u0002\u0002\u0002\u02db\u02dc\u0003\u0002\u0002\u0002\u02dc\u0380\u0003", "\u0002\u0002\u0002\u02dd\u02de\u0007h\u0002\u0002\u02de\u02df\u0007", "\u00c3\u0002\u0002\u02df\u02e4\u0005\u009cO\u0002\u02e0\u02e1\u0007", "\u0003\u0002\u0002\u02e1\u02e2\u00052\u001a\u0002\u02e2\u02e3\u0007", "\u0004\u0002\u0002\u02e3\u02e5\u0003\u0002\u0002\u0002\u02e4\u02e0\u0003", "\u0002\u0002\u0002\u02e4\u02e5\u0003\u0002\u0002\u0002\u02e5\u0380\u0003", "\u0002\u0002\u0002\u02e6\u02e7\u0007h\u0002\u0002\u02e7\u02e8\u0007", "j\u0002\u0002\u02e8\u02e9\t\u0005\u0002\u0002\u02e9\u02ec\u0005\u009c", "O\u0002\u02ea\u02eb\t\u0005\u0002\u0002\u02eb\u02ed\u0005\u00dep\u0002", "\u02ec\u02ea\u0003\u0002\u0002\u0002\u02ec\u02ed\u0003\u0002\u0002\u0002", "\u02ed\u0380\u0003\u0002\u0002\u0002\u02ee\u02ef\u0007h\u0002\u0002", "\u02ef\u02f0\u0007m\u0002\u0002\u02f0\u02f2\u0005\u009cO\u0002\u02f1", "\u02f3\u0005 \u0011\u0002\u02f2\u02f1\u0003\u0002\u0002\u0002\u02f2", "\u02f3\u0003\u0002\u0002\u0002\u02f3\u0380\u0003\u0002\u0002\u0002\u02f4", "\u02f6\u0007h\u0002\u0002\u02f5\u02f7\u0005\u00dep\u0002\u02f6\u02f5", "\u0003\u0002\u0002\u0002\u02f6\u02f7\u0003\u0002\u0002\u0002\u02f7\u02f8", "\u0003\u0002\u0002\u0002\u02f8\u0300\u0007n\u0002\u0002\u02f9\u02fb", "\u0007.\u0002\u0002\u02fa\u02f9\u0003\u0002\u0002\u0002\u02fa\u02fb", "\u0003\u0002\u0002\u0002\u02fb\u02fe\u0003\u0002\u0002\u0002\u02fc\u02ff", "\u0005\u00dco\u0002\u02fd\u02ff\u0007\u0107\u0002\u0002\u02fe\u02fc", "\u0003\u0002\u0002\u0002\u02fe\u02fd\u0003\u0002\u0002\u0002\u02ff\u0301", "\u0003\u0002\u0002\u0002\u0300\u02fa\u0003\u0002\u0002\u0002\u0300\u0301", "\u0003\u0002\u0002\u0002\u0301\u0380\u0003\u0002\u0002\u0002\u0302\u0303", "\u0007h\u0002\u0002\u0303\u0304\u0007Y\u0002\u0002\u0304\u0305\u0007", "Z\u0002\u0002\u0305\u0380\u0005\u009cO\u0002\u0306\u0307\t\u0006\u0002", "\u0002\u0307\u0309\u0007\u00b7\u0002\u0002\u0308\u030a\u0007\u00b8\u0002", "\u0002\u0309\u0308\u0003\u0002\u0002\u0002\u0309\u030a\u0003\u0002\u0002", "\u0002\u030a\u030b\u0003\u0002\u0002\u0002\u030b\u0380\u0005$\u0013", "\u0002\u030c\u030d\t\u0006\u0002\u0002\u030d\u030f\u0007\u00d9\u0002", "\u0002\u030e\u0310\u0007\u00b8\u0002\u0002\u030f\u030e\u0003\u0002\u0002", "\u0002\u030f\u0310\u0003\u0002\u0002\u0002\u0310\u0311\u0003\u0002\u0002", "\u0002\u0311\u0380\u0005\u00dep\u0002\u0312\u0314\t\u0006\u0002\u0002", "\u0313\u0315\u0007Z\u0002\u0002\u0314\u0313\u0003\u0002\u0002\u0002", "\u0314\u0315\u0003\u0002\u0002\u0002\u0315\u0317\u0003\u0002\u0002\u0002", "\u0316\u0318\t\u0007\u0002\u0002\u0317\u0316\u0003\u0002\u0002\u0002", "\u0317\u0318\u0003\u0002\u0002\u0002\u0318\u0319\u0003\u0002\u0002\u0002", "\u0319\u031b\u0005\u009cO\u0002\u031a\u031c\u0005 \u0011\u0002\u031b", "\u031a\u0003\u0002\u0002\u0002\u031b\u031c\u0003\u0002\u0002\u0002\u031c", "\u031e\u0003\u0002\u0002\u0002\u031d\u031f\u0005&\u0014\u0002\u031e", "\u031d\u0003\u0002\u0002\u0002\u031e\u031f\u0003\u0002\u0002\u0002\u031f", "\u0380\u0003\u0002\u0002\u0002\u0320\u0321\u0007\u00b9\u0002\u0002\u0321", "\u0322\u0007Z\u0002\u0002\u0322\u0380\u0005\u009cO\u0002\u0323\u032b", "\u0007\u00b9\u0002\u0002\u0324\u032c\u0007\u0107\u0002\u0002\u0325\u0327", "\u000b\u0002\u0002\u0002\u0326\u0325\u0003\u0002\u0002\u0002\u0327\u032a", "\u0003\u0002\u0002\u0002\u0328\u0329\u0003\u0002\u0002\u0002\u0328\u0326", "\u0003\u0002\u0002\u0002\u0329\u032c\u0003\u0002\u0002\u0002\u032a\u0328", "\u0003\u0002\u0002\u0002\u032b\u0324\u0003\u0002\u0002\u0002\u032b\u0328", "\u0003\u0002\u0002\u0002\u032c\u0380\u0003\u0002\u0002\u0002\u032d\u032f", "\u0007\u00bb\u0002\u0002\u032e\u0330\u0007\u00bd\u0002\u0002\u032f\u032e", "\u0003\u0002\u0002\u0002\u032f\u0330\u0003\u0002\u0002\u0002\u0330\u0331", "\u0003\u0002\u0002\u0002\u0331\u0332\u0007Z\u0002\u0002\u0332\u0335", "\u0005\u009cO\u0002\u0333\u0334\u0007\u00c1\u0002\u0002\u0334\u0336", "\u0005.\u0018\u0002\u0335\u0333\u0003\u0002\u0002\u0002\u0335\u0336", "\u0003\u0002\u0002\u0002\u0336\u033b\u0003\u0002\u0002\u0002\u0337\u0339", "\u0007\u0018\u0002\u0002\u0338\u0337\u0003\u0002\u0002\u0002\u0338\u0339", "\u0003\u0002\u0002\u0002\u0339\u033a\u0003\u0002\u0002\u0002\u033a\u033c", "\u0005\u001a\u000e\u0002\u033b\u0338\u0003\u0002\u0002\u0002\u033b\u033c", "\u0003\u0002\u0002\u0002\u033c\u0380\u0003\u0002\u0002\u0002\u033d\u033e", "\u0007\u00bc\u0002\u0002\u033e\u0341\u0007Z\u0002\u0002\u033f\u0340", "\u0007\u0089\u0002\u0002\u0340\u0342\u0007,\u0002\u0002\u0341\u033f", "\u0003\u0002\u0002\u0002\u0341\u0342\u0003\u0002\u0002\u0002\u0342\u0343", "\u0003\u0002\u0002\u0002\u0343\u0380\u0005\u009cO\u0002\u0344\u0345", "\u0007\u00ba\u0002\u0002\u0345\u0380\u0007\u00bb\u0002\u0002\u0346\u0347", "\u0007\u00ed\u0002\u0002\u0347\u0349\u0007\u007f\u0002\u0002\u0348\u034a", "\u0007\u00f8\u0002\u0002\u0349\u0348\u0003\u0002\u0002\u0002\u0349\u034a", "\u0003\u0002\u0002\u0002\u034a\u034b\u0003\u0002\u0002\u0002\u034b\u034c", "\u0007\u00f9\u0002\u0002\u034c\u034e\u0007\u0107\u0002\u0002\u034d\u034f", "\u0007\u00a6\u0002\u0002\u034e\u034d\u0003\u0002\u0002\u0002\u034e\u034f", "\u0003\u0002\u0002\u0002\u034f\u0350\u0003\u0002\u0002\u0002\u0350\u0351", "\u0007`\u0002\u0002\u0351\u0352\u0007Z\u0002\u0002\u0352\u0354\u0005", "\u009cO\u0002\u0353\u0355\u0005 \u0011\u0002\u0354\u0353\u0003\u0002", "\u0002\u0002\u0354\u0355\u0003\u0002\u0002\u0002\u0355\u0380\u0003\u0002", "\u0002\u0002\u0356\u0357\u0007\u00dc\u0002\u0002\u0357\u0358\u0007Z", "\u0002\u0002\u0358\u035a\u0005\u009cO\u0002\u0359\u035b\u0005 \u0011", "\u0002\u035a\u0359\u0003\u0002\u0002\u0002\u035a\u035b\u0003\u0002\u0002", "\u0002\u035b\u0380\u0003\u0002\u0002\u0002\u035c\u035d\u0007\u00e8\u0002", "\u0002\u035d\u035e\u0007\u00e9\u0002\u0002\u035e\u035f\u0007Z\u0002", "\u0002\u035f\u0380\u0005\u009cO\u0002\u0360\u0361\t\b\u0002\u0002\u0361", "\u0365\u0005\u00dep\u0002\u0362\u0364\u000b\u0002\u0002\u0002\u0363", "\u0362\u0003\u0002\u0002\u0002\u0364\u0367\u0003\u0002\u0002\u0002\u0365", "\u0366\u0003\u0002\u0002\u0002\u0365\u0363\u0003\u0002\u0002\u0002\u0366", "\u0380\u0003\u0002\u0002\u0002\u0367\u0365\u0003\u0002\u0002\u0002\u0368", "\u0369\u0007}\u0002\u0002\u0369\u036d\u0007\u00ee\u0002\u0002\u036a", "\u036c\u000b\u0002\u0002\u0002\u036b\u036a\u0003\u0002\u0002\u0002\u036c", "\u036f\u0003\u0002\u0002\u0002\u036d\u036e\u0003\u0002\u0002\u0002\u036d", "\u036b\u0003\u0002\u0002\u0002\u036e\u0380\u0003\u0002\u0002\u0002\u036f", "\u036d\u0003\u0002\u0002\u0002\u0370\u0374\u0007}\u0002\u0002\u0371", "\u0373\u000b\u0002\u0002\u0002\u0372\u0371\u0003\u0002\u0002\u0002\u0373", "\u0376\u0003\u0002\u0002\u0002\u0374\u0375\u0003\u0002\u0002\u0002\u0374", "\u0372\u0003\u0002\u0002\u0002\u0375\u0380\u0003\u0002\u0002\u0002\u0376", "\u0374\u0003\u0002\u0002\u0002\u0377\u0380\u0007~\u0002\u0002\u0378", "\u037c\u0005\u0010\t\u0002\u0379\u037b\u000b\u0002\u0002\u0002\u037a", "\u0379\u0003\u0002\u0002\u0002\u037b\u037e\u0003\u0002\u0002\u0002\u037c", "\u037d\u0003\u0002\u0002\u0002\u037c\u037a\u0003\u0002\u0002\u0002\u037d", "\u0380\u0003\u0002\u0002\u0002\u037e\u037c\u0003\u0002\u0002\u0002\u037f", "\u00fd\u0003\u0002\u0002\u0002\u037f\u00fe\u0003\u0002\u0002\u0002\u037f", "\u0100\u0003\u0002\u0002\u0002\u037f\u0114\u0003\u0002\u0002\u0002\u037f", "\u011b\u0003\u0002\u0002\u0002\u037f\u0125\u0003\u0002\u0002\u0002\u037f", "\u0143\u0003\u0002\u0002\u0002\u037f\u0164\u0003\u0002\u0002\u0002\u037f", "\u0181\u0003\u0002\u0002\u0002\u037f\u018e\u0003\u0002\u0002\u0002\u037f", "\u019f\u0003\u0002\u0002\u0002\u037f\u01a8\u0003\u0002\u0002\u0002\u037f", "\u01af\u0003\u0002\u0002\u0002\u037f\u01b6\u0003\u0002\u0002\u0002\u037f", "\u01c1\u0003\u0002\u0002\u0002\u037f\u01d0\u0003\u0002\u0002\u0002\u037f", "\u01de\u0003\u0002\u0002\u0002\u037f\u01e8\u0003\u0002\u0002\u0002\u037f", "\u01f6\u0003\u0002\u0002\u0002\u037f\u0204\u0003\u0002\u0002\u0002\u037f", "\u020c\u0003\u0002\u0002\u0002\u037f\u021f\u0003\u0002\u0002\u0002\u037f", "\u022f\u0003\u0002\u0002\u0002\u037f\u0238\u0003\u0002\u0002\u0002\u037f", "\u023e\u0003\u0002\u0002\u0002\u037f\u0248\u0003\u0002\u0002\u0002\u037f", "\u024f\u0003\u0002\u0002\u0002\u037f\u0274\u0003\u0002\u0002\u0002\u037f", "\u028a\u0003\u0002\u0002\u0002\u037f\u0292\u0003\u0002\u0002\u0002\u037f", "\u02ae\u0003\u0002\u0002\u0002\u037f\u02b8\u0003\u0002\u0002\u0002\u037f", "\u02bd\u0003\u0002\u0002\u0002\u037f\u02c9\u0003\u0002\u0002\u0002\u037f", "\u02d5\u0003\u0002\u0002\u0002\u037f\u02dd\u0003\u0002\u0002\u0002\u037f", "\u02e6\u0003\u0002\u0002\u0002\u037f\u02ee\u0003\u0002\u0002\u0002\u037f", "\u02f4\u0003\u0002\u0002\u0002\u037f\u0302\u0003\u0002\u0002\u0002\u037f", "\u0306\u0003\u0002\u0002\u0002\u037f\u030c\u0003\u0002\u0002\u0002\u037f", "\u0312\u0003\u0002\u0002\u0002\u037f\u0320\u0003\u0002\u0002\u0002\u037f", "\u0323\u0003\u0002\u0002\u0002\u037f\u032d\u0003\u0002\u0002\u0002\u037f", "\u033d\u0003\u0002\u0002\u0002\u037f\u0344\u0003\u0002\u0002\u0002\u037f", "\u0346\u0003\u0002\u0002\u0002\u037f\u0356\u0003\u0002\u0002\u0002\u037f", "\u035c\u0003\u0002\u0002\u0002\u037f\u0360\u0003\u0002\u0002\u0002\u037f", "\u0368\u0003\u0002\u0002\u0002\u037f\u0370\u0003\u0002\u0002\u0002\u037f", "\u0377\u0003\u0002\u0002\u0002\u037f\u0378\u0003\u0002\u0002\u0002\u0380", "\u000f\u0003\u0002\u0002\u0002\u0381\u0382\u0007Y\u0002\u0002\u0382", "\u042c\u0007\u00ee\u0002\u0002\u0383\u0384\u0007o\u0002\u0002\u0384", "\u042c\u0007\u00ee\u0002\u0002\u0385\u0387\u0007\u00e5\u0002\u0002\u0386", "\u0388\u0007\u00ee\u0002\u0002\u0387\u0386\u0003\u0002\u0002\u0002\u0387", "\u0388\u0003\u0002\u0002\u0002\u0388\u042c\u0003\u0002\u0002\u0002\u0389", "\u038b\u0007\u00e4\u0002\u0002\u038a\u038c\u0007\u00ee\u0002\u0002\u038b", "\u038a\u0003\u0002\u0002\u0002\u038b\u038c\u0003\u0002\u0002\u0002\u038c", "\u042c\u0003\u0002\u0002\u0002\u038d\u038e\u0007h\u0002\u0002\u038e", "\u042c\u0007\u00e5\u0002\u0002\u038f\u0390\u0007h\u0002\u0002\u0390", "\u0392\u0007\u00ee\u0002\u0002\u0391\u0393\u0007\u00e5\u0002\u0002\u0392", "\u0391\u0003\u0002\u0002\u0002\u0392\u0393\u0003\u0002\u0002\u0002\u0393", "\u042c\u0003\u0002\u0002\u0002\u0394\u0395\u0007h\u0002\u0002\u0395", "\u042c\u0007\u00f1\u0002\u0002\u0396\u0397\u0007h\u0002\u0002\u0397", "\u042c\u0007\u00ef\u0002\u0002\u0398\u0399\u0007h\u0002\u0002\u0399", "\u039a\u0007R\u0002\u0002\u039a\u042c\u0007\u00ef\u0002\u0002\u039b", "\u039c\u0007\u00eb\u0002\u0002\u039c\u042c\u0007Z\u0002\u0002\u039d", "\u039e\u0007\u00ec\u0002\u0002\u039e\u042c\u0007Z\u0002\u0002\u039f", "\u03a0\u0007h\u0002\u0002\u03a0\u042c\u0007\u00f0\u0002\u0002\u03a1", "\u03a2\u0007h\u0002\u0002\u03a2\u03a3\u0007Y\u0002\u0002\u03a3\u042c", "\u0007Z\u0002\u0002\u03a4\u03a5\u0007h\u0002\u0002\u03a5\u042c\u0007", "\u00f2\u0002\u0002\u03a6\u03a7\u0007h\u0002\u0002\u03a7\u042c\u0007", "\u00f4\u0002\u0002\u03a8\u03a9\u0007h\u0002\u0002\u03a9\u042c\u0007", "\u00f5\u0002\u0002\u03aa\u03ab\u0007Y\u0002\u0002\u03ab\u042c\u0007", "\u00f3\u0002\u0002\u03ac\u03ad\u0007o\u0002\u0002\u03ad\u042c\u0007", "\u00f3\u0002\u0002\u03ae\u03af\u0007w\u0002\u0002\u03af\u042c\u0007", "\u00f3\u0002\u0002\u03b0\u03b1\u0007\u00e6\u0002\u0002\u03b1\u042c\u0007", "Z\u0002\u0002\u03b2\u03b3\u0007\u00e6\u0002\u0002\u03b3\u042c\u0007", "\u00d9\u0002\u0002\u03b4\u03b5\u0007\u00e7\u0002\u0002\u03b5\u042c\u0007", "Z\u0002\u0002\u03b6\u03b7\u0007\u00e7\u0002\u0002\u03b7\u042c\u0007", "\u00d9\u0002\u0002\u03b8\u03b9\u0007Y\u0002\u0002\u03b9\u03ba\u0007", "\u00c0\u0002\u0002\u03ba\u042c\u0007\u0084\u0002\u0002\u03bb\u03bc\u0007", "o\u0002\u0002\u03bc\u03bd\u0007\u00c0\u0002\u0002\u03bd\u042c\u0007", "\u0084\u0002\u0002\u03be\u03bf\u0007w\u0002\u0002\u03bf\u03c0\u0007", "Z\u0002\u0002\u03c0\u03c1\u0005\u009cO\u0002\u03c1\u03c2\u0007*\u0002", "\u0002\u03c2\u03c3\u0007\u00d4\u0002\u0002\u03c3\u042c\u0003\u0002\u0002", "\u0002\u03c4\u03c5\u0007w\u0002\u0002\u03c5\u03c6\u0007Z\u0002\u0002", "\u03c6\u03c7\u0005\u009cO\u0002\u03c7\u03c8\u0007\u00d4\u0002\u0002", "\u03c8\u03c9\u0007\u001e\u0002\u0002\u03c9\u042c\u0003\u0002\u0002\u0002", "\u03ca\u03cb\u0007w\u0002\u0002\u03cb\u03cc\u0007Z\u0002\u0002\u03cc", "\u03cd\u0005\u009cO\u0002\u03cd\u03ce\u0007*\u0002\u0002\u03ce\u03cf", "\u0007\u00d5\u0002\u0002\u03cf\u042c\u0003\u0002\u0002\u0002\u03d0\u03d1", "\u0007w\u0002\u0002\u03d1\u03d2\u0007Z\u0002\u0002\u03d2\u03d3\u0005", "\u009cO\u0002\u03d3\u03d4\u0007\u00c6\u0002\u0002\u03d4\u03d5\u0007", "\u001e\u0002\u0002\u03d5\u042c\u0003\u0002\u0002\u0002\u03d6\u03d7\u0007", "w\u0002\u0002\u03d7\u03d8\u0007Z\u0002\u0002\u03d8\u03d9\u0005\u009c", "O\u0002\u03d9\u03da\u0007*\u0002\u0002\u03da\u03db\u0007\u00c6\u0002", "\u0002\u03db\u042c\u0003\u0002\u0002\u0002\u03dc\u03dd\u0007w\u0002", "\u0002\u03dd\u03de\u0007Z\u0002\u0002\u03de\u03df\u0005\u009cO\u0002", "\u03df\u03e0\u0007*\u0002\u0002\u03e0\u03e1\u0007\u00c7\u0002\u0002", "\u03e1\u03e2\u0007\u0018\u0002\u0002\u03e2\u03e3\u0007\u00c8\u0002\u0002", "\u03e3\u042c\u0003\u0002\u0002\u0002\u03e4\u03e5\u0007w\u0002\u0002", "\u03e5\u03e6\u0007Z\u0002\u0002\u03e6\u03e7\u0005\u009cO\u0002\u03e7", "\u03e8\u0007}\u0002\u0002\u03e8\u03e9\u0007\u00c6\u0002\u0002\u03e9", "\u03ea\u0007\u00c9\u0002\u0002\u03ea\u042c\u0003\u0002\u0002\u0002\u03eb", "\u03ec\u0007w\u0002\u0002\u03ec\u03ed\u0007Z\u0002\u0002\u03ed\u03ee", "\u0005\u009cO\u0002\u03ee\u03ef\u0007\u00ca\u0002\u0002\u03ef\u03f0", "\u0007L\u0002\u0002\u03f0\u042c\u0003\u0002\u0002\u0002\u03f1\u03f2", "\u0007w\u0002\u0002\u03f2\u03f3\u0007Z\u0002\u0002\u03f3\u03f4\u0005", "\u009cO\u0002\u03f4\u03f5\u0007\u00cb\u0002\u0002\u03f5\u03f6\u0007", "L\u0002\u0002\u03f6\u042c\u0003\u0002\u0002\u0002\u03f7\u03f8\u0007", "w\u0002\u0002\u03f8\u03f9\u0007Z\u0002\u0002\u03f9\u03fa\u0005\u009c", "O\u0002\u03fa\u03fb\u0007\u00cc\u0002\u0002\u03fb\u03fc\u0007L\u0002", "\u0002\u03fc\u042c\u0003\u0002\u0002\u0002\u03fd\u03fe\u0007w\u0002", "\u0002\u03fe\u03ff\u0007Z\u0002\u0002\u03ff\u0400\u0005\u009cO\u0002", "\u0400\u0401\u0007\u00ce\u0002\u0002\u0401\u042c\u0003\u0002\u0002\u0002", "\u0402\u0403\u0007w\u0002\u0002\u0403\u0404\u0007Z\u0002\u0002\u0404", "\u0406\u0005\u009cO\u0002\u0405\u0407\u0005 \u0011\u0002\u0406\u0405", "\u0003\u0002\u0002\u0002\u0406\u0407\u0003\u0002\u0002\u0002\u0407\u0408", "\u0003\u0002\u0002\u0002\u0408\u0409\u0007\u00cf\u0002\u0002\u0409\u042c", "\u0003\u0002\u0002\u0002\u040a\u040b\u0007w\u0002\u0002\u040b\u040c", "\u0007Z\u0002\u0002\u040c\u040e\u0005\u009cO\u0002\u040d\u040f\u0005", " \u0011\u0002\u040e\u040d\u0003\u0002\u0002\u0002\u040e\u040f\u0003", "\u0002\u0002\u0002\u040f\u0410\u0003\u0002\u0002\u0002\u0410\u0411\u0007", "\u00d0\u0002\u0002\u0411\u042c\u0003\u0002\u0002\u0002\u0412\u0413\u0007", "w\u0002\u0002\u0413\u0414\u0007Z\u0002\u0002\u0414\u0416\u0005\u009c", "O\u0002\u0415\u0417\u0005 \u0011\u0002\u0416\u0415\u0003\u0002\u0002", "\u0002\u0416\u0417\u0003\u0002\u0002\u0002\u0417\u0418\u0003\u0002\u0002", "\u0002\u0418\u0419\u0007}\u0002\u0002\u0419\u041a\u0007\u00cd\u0002", "\u0002\u041a\u042c\u0003\u0002\u0002\u0002\u041b\u041c\u0007w\u0002", "\u0002\u041c\u041d\u0007Z\u0002\u0002\u041d\u041f\u0005\u009cO\u0002", "\u041e\u0420\u0005 \u0011\u0002\u041f\u041e\u0003\u0002\u0002\u0002", "\u041f\u0420\u0003\u0002\u0002\u0002\u0420\u0421\u0003\u0002\u0002\u0002", "\u0421\u0422\u0007]\u0002\u0002\u0422\u0423\u0007j\u0002\u0002\u0423", "\u042c\u0003\u0002\u0002\u0002\u0424\u0425\u0007\u0080\u0002\u0002\u0425", "\u042c\u0007\u0081\u0002\u0002\u0426\u042c\u0007\u0082\u0002\u0002\u0427", "\u042c\u0007\u0083\u0002\u0002\u0428\u042c\u0007\u00db\u0002\u0002\u0429", "\u042a\u0007_\u0002\u0002\u042a\u042c\u0007\u0016\u0002\u0002\u042b", "\u0381\u0003\u0002\u0002\u0002\u042b\u0383\u0003\u0002\u0002\u0002\u042b", "\u0385\u0003\u0002\u0002\u0002\u042b\u0389\u0003\u0002\u0002\u0002\u042b", "\u038d\u0003\u0002\u0002\u0002\u042b\u038f\u0003\u0002\u0002\u0002\u042b", "\u0394\u0003\u0002\u0002\u0002\u042b\u0396\u0003\u0002\u0002\u0002\u042b", "\u0398\u0003\u0002\u0002\u0002\u042b\u039b\u0003\u0002\u0002\u0002\u042b", "\u039d\u0003\u0002\u0002\u0002\u042b\u039f\u0003\u0002\u0002\u0002\u042b", "\u03a1\u0003\u0002\u0002\u0002\u042b\u03a4\u0003\u0002\u0002\u0002\u042b", "\u03a6\u0003\u0002\u0002\u0002\u042b\u03a8\u0003\u0002\u0002\u0002\u042b", "\u03aa\u0003\u0002\u0002\u0002\u042b\u03ac\u0003\u0002\u0002\u0002\u042b", "\u03ae\u0003\u0002\u0002\u0002\u042b\u03b0\u0003\u0002\u0002\u0002\u042b", "\u03b2\u0003\u0002\u0002\u0002\u042b\u03b4\u0003\u0002\u0002\u0002\u042b", "\u03b6\u0003\u0002\u0002\u0002\u042b\u03b8\u0003\u0002\u0002\u0002\u042b", "\u03bb\u0003\u0002\u0002\u0002\u042b\u03be\u0003\u0002\u0002\u0002\u042b", "\u03c4\u0003\u0002\u0002\u0002\u042b\u03ca\u0003\u0002\u0002\u0002\u042b", "\u03d0\u0003\u0002\u0002\u0002\u042b\u03d6\u0003\u0002\u0002\u0002\u042b", "\u03dc\u0003\u0002\u0002\u0002\u042b\u03e4\u0003\u0002\u0002\u0002\u042b", "\u03eb\u0003\u0002\u0002\u0002\u042b\u03f1\u0003\u0002\u0002\u0002\u042b", "\u03f7\u0003\u0002\u0002\u0002\u042b\u03fd\u0003\u0002\u0002\u0002\u042b", "\u0402\u0003\u0002\u0002\u0002\u042b\u040a\u0003\u0002\u0002\u0002\u042b", "\u0412\u0003\u0002\u0002\u0002\u042b\u041b\u0003\u0002\u0002\u0002\u042b", "\u0424\u0003\u0002\u0002\u0002\u042b\u0426\u0003\u0002\u0002\u0002\u042b", "\u0427\u0003\u0002\u0002\u0002\u042b\u0428\u0003\u0002\u0002\u0002\u042b", "\u0429\u0003\u0002\u0002\u0002\u042c\u0011\u0003\u0002\u0002\u0002\u042d", "\u042f\u0007Y\u0002\u0002\u042e\u0430\u0007\u00c0\u0002\u0002\u042f", "\u042e\u0003\u0002\u0002\u0002\u042f\u0430\u0003\u0002\u0002\u0002\u0430", "\u0432\u0003\u0002\u0002\u0002\u0431\u0433\u0007\u00e2\u0002\u0002\u0432", "\u0431\u0003\u0002\u0002\u0002\u0432\u0433\u0003\u0002\u0002\u0002\u0433", "\u0434\u0003\u0002\u0002\u0002\u0434\u0438\u0007Z\u0002\u0002\u0435", "\u0436\u0007\u0089\u0002\u0002\u0436\u0437\u0007*\u0002\u0002\u0437", "\u0439\u0007,\u0002\u0002\u0438\u0435\u0003\u0002\u0002\u0002\u0438", "\u0439\u0003\u0002\u0002\u0002\u0439\u043a\u0003\u0002\u0002\u0002\u043a", "\u043b\u0005\u009cO\u0002\u043b\u0013\u0003\u0002\u0002\u0002\u043c", "\u043d\u0007\u00d4\u0002\u0002\u043d\u043e\u0007\u001e\u0002\u0002\u043e", "\u0442\u0005p9\u0002\u043f\u0440\u0007\u00d5\u0002\u0002\u0440\u0441", "\u0007\u001e\u0002\u0002\u0441\u0443\u0005t;\u0002\u0442\u043f\u0003", "\u0002\u0002\u0002\u0442\u0443\u0003\u0002\u0002\u0002\u0443\u0444\u0003", "\u0002\u0002\u0002\u0444\u0445\u0007`\u0002\u0002\u0445\u0446\u0007", "\u010b\u0002\u0002\u0446\u0447\u0007\u00c5\u0002\u0002\u0447\u0015\u0003", "\u0002\u0002\u0002\u0448\u0449\u0007\u00c6\u0002\u0002\u0449\u044a\u0007", "\u001e\u0002\u0002\u044a\u044b\u0005p9\u0002\u044b\u044e\u0007G\u0002", "\u0002\u044c\u044f\u00056\u001c\u0002\u044d\u044f\u00058\u001d\u0002", "\u044e\u044c\u0003\u0002\u0002\u0002\u044e\u044d\u0003\u0002\u0002\u0002", "\u044f\u0453\u0003\u0002\u0002\u0002\u0450\u0451\u0007\u00c7\u0002\u0002", "\u0451\u0452\u0007\u0018\u0002\u0002\u0452\u0454\u0007\u00c8\u0002\u0002", "\u0453\u0450\u0003\u0002\u0002\u0002\u0453\u0454\u0003\u0002\u0002\u0002", "\u0454\u0017\u0003\u0002\u0002\u0002\u0455\u0456\u0007\u00c9\u0002\u0002", "\u0456\u0457\u0007\u0107\u0002\u0002\u0457\u0019\u0003\u0002\u0002\u0002", "\u0458\u045a\u0005(\u0015\u0002\u0459\u0458\u0003\u0002\u0002\u0002", "\u0459\u045a\u0003\u0002\u0002\u0002\u045a\u045b\u0003\u0002\u0002\u0002", "\u045b\u045c\u0005B\"\u0002\u045c\u001b\u0003\u0002\u0002\u0002\u045d", "\u045e\u0007^\u0002\u0002\u045e\u045f\u0007\u00a6\u0002\u0002\u045f", "\u0460\u0007Z\u0002\u0002\u0460\u0467\u0005\u009cO\u0002\u0461\u0465", "\u0005 \u0011\u0002\u0462\u0463\u0007\u0089\u0002\u0002\u0463\u0464", "\u0007*\u0002\u0002\u0464\u0466\u0007,\u0002\u0002\u0465\u0462\u0003", "\u0002\u0002\u0002\u0465\u0466\u0003\u0002\u0002\u0002\u0466\u0468\u0003", "\u0002\u0002\u0002\u0467\u0461\u0003\u0002\u0002\u0002\u0467\u0468\u0003", "\u0002\u0002\u0002\u0468\u048e\u0003\u0002\u0002\u0002\u0469\u046a\u0007", "^\u0002\u0002\u046a\u046c\u0007`\u0002\u0002\u046b\u046d\u0007Z\u0002", "\u0002\u046c\u046b\u0003\u0002\u0002\u0002\u046c\u046d\u0003\u0002\u0002", "\u0002\u046d\u046e\u0003\u0002\u0002\u0002\u046e\u0470\u0005\u009cO", "\u0002\u046f\u0471\u0005 \u0011\u0002\u0470\u046f\u0003\u0002\u0002", "\u0002\u0470\u0471\u0003\u0002\u0002\u0002\u0471\u048e\u0003\u0002\u0002", "\u0002\u0472\u0473\u0007^\u0002\u0002\u0473\u0475\u0007\u00a6\u0002", "\u0002\u0474\u0476\u0007\u00f8\u0002\u0002\u0475\u0474\u0003\u0002\u0002", "\u0002\u0475\u0476\u0003\u0002\u0002\u0002\u0476\u0477\u0003\u0002\u0002", "\u0002\u0477\u0478\u0007[\u0002\u0002\u0478\u047a\u0007\u0107\u0002", "\u0002\u0479\u047b\u0005\u009aN\u0002\u047a\u0479\u0003\u0002\u0002", "\u0002\u047a\u047b\u0003\u0002\u0002\u0002\u047b\u047d\u0003\u0002\u0002", "\u0002\u047c\u047e\u0005:\u001e\u0002\u047d\u047c\u0003\u0002\u0002", "\u0002\u047d\u047e\u0003\u0002\u0002\u0002\u047e\u048e\u0003\u0002\u0002", "\u0002\u047f\u0480\u0007^\u0002\u0002\u0480\u0482\u0007\u00a6\u0002", "\u0002\u0481\u0483\u0007\u00f8\u0002\u0002\u0482\u0481\u0003\u0002\u0002", "\u0002\u0482\u0483\u0003\u0002\u0002\u0002\u0483\u0484\u0003\u0002\u0002", "\u0002\u0484\u0486\u0007[\u0002\u0002\u0485\u0487\u0007\u0107\u0002", "\u0002\u0486\u0485\u0003\u0002\u0002\u0002\u0486\u0487\u0003\u0002\u0002", "\u0002\u0487\u0488\u0003\u0002\u0002\u0002\u0488\u048b\u0005,\u0017", "\u0002\u0489\u048a\u0007\u00c1\u0002\u0002\u048a\u048c\u0005.\u0018", "\u0002\u048b\u0489\u0003\u0002\u0002\u0002\u048b\u048c\u0003\u0002\u0002", "\u0002\u048c\u048e\u0003\u0002\u0002\u0002\u048d\u045d\u0003\u0002\u0002", "\u0002\u048d\u0469\u0003\u0002\u0002\u0002\u048d\u0472\u0003\u0002\u0002", "\u0002\u048d\u047f\u0003\u0002\u0002\u0002\u048e\u001d\u0003\u0002\u0002", "\u0002\u048f\u0491\u0005 \u0011\u0002\u0490\u0492\u0005\u0018\r\u0002", "\u0491\u0490\u0003\u0002\u0002\u0002\u0491\u0492\u0003\u0002\u0002\u0002", "\u0492\u001f\u0003\u0002\u0002\u0002\u0493\u0494\u0007L\u0002\u0002", "\u0494\u0495\u0007\u0003\u0002\u0002\u0495\u049a\u0005\"\u0012\u0002", "\u0496\u0497\u0007\u0006\u0002\u0002\u0497\u0499\u0005\"\u0012\u0002", "\u0498\u0496\u0003\u0002\u0002\u0002\u0499\u049c\u0003\u0002\u0002\u0002", "\u049a\u0498\u0003\u0002\u0002\u0002\u049a\u049b\u0003\u0002\u0002\u0002", "\u049b\u049d\u0003\u0002\u0002\u0002\u049c\u049a\u0003\u0002\u0002\u0002", "\u049d\u049e\u0007\u0004\u0002\u0002\u049e!\u0003\u0002\u0002\u0002", "\u049f\u04a2\u0005\u00dep\u0002\u04a0\u04a1\u0007\u008c\u0002\u0002", "\u04a1\u04a3\u0005\u00aeX\u0002\u04a2\u04a0\u0003\u0002\u0002\u0002", "\u04a2\u04a3\u0003\u0002\u0002\u0002\u04a3#\u0003\u0002\u0002\u0002", "\u04a4\u04aa\u0005\u00dco\u0002\u04a5\u04aa\u0007\u0107\u0002\u0002", "\u04a6\u04aa\u0005\u00b0Y\u0002\u04a7\u04aa\u0005\u00b2Z\u0002\u04a8", "\u04aa\u0005\u00b4[\u0002\u04a9\u04a4\u0003\u0002\u0002\u0002\u04a9", "\u04a5\u0003\u0002\u0002\u0002\u04a9\u04a6\u0003\u0002\u0002\u0002\u04a9", "\u04a7\u0003\u0002\u0002\u0002\u04a9\u04a8\u0003\u0002\u0002\u0002\u04aa", "%\u0003\u0002\u0002\u0002\u04ab\u04b0\u0005\u00dep\u0002\u04ac\u04ad", "\u0007\u0005\u0002\u0002\u04ad\u04af\u0005\u00dep\u0002\u04ae\u04ac", "\u0003\u0002\u0002\u0002\u04af\u04b2\u0003\u0002\u0002\u0002\u04b0\u04ae", "\u0003\u0002\u0002\u0002\u04b0\u04b1\u0003\u0002\u0002\u0002\u04b1\'", "\u0003\u0002\u0002\u0002\u04b2\u04b0\u0003\u0002\u0002\u0002\u04b3\u04b4", "\u0007W\u0002\u0002\u04b4\u04b9\u0005*\u0016\u0002\u04b5\u04b6\u0007", "\u0006\u0002\u0002\u04b6\u04b8\u0005*\u0016\u0002\u04b7\u04b5\u0003", "\u0002\u0002\u0002\u04b8\u04bb\u0003\u0002\u0002\u0002\u04b9\u04b7\u0003", "\u0002\u0002\u0002\u04b9\u04ba\u0003\u0002\u0002\u0002\u04ba)\u0003", "\u0002\u0002\u0002\u04bb\u04b9\u0003\u0002\u0002\u0002\u04bc\u04be\u0005", "\u00dep\u0002\u04bd\u04bf\u0007\u0018\u0002\u0002\u04be\u04bd\u0003", "\u0002\u0002\u0002\u04be\u04bf\u0003\u0002\u0002\u0002\u04bf\u04c0\u0003", "\u0002\u0002\u0002\u04c0\u04c1\u0007\u0003\u0002\u0002\u04c1\u04c2\u0005", "\u001a\u000e\u0002\u04c2\u04c3\u0007\u0004\u0002\u0002\u04c3+\u0003", "\u0002\u0002\u0002\u04c4\u04c5\u0007\u00a9\u0002\u0002\u04c5\u04c6\u0005", "\u00dco\u0002\u04c6-\u0003\u0002\u0002\u0002\u04c7\u04c8\u0007\u0003", "\u0002\u0002\u04c8\u04cd\u00050\u0019\u0002\u04c9\u04ca\u0007\u0006", "\u0002\u0002\u04ca\u04cc\u00050\u0019\u0002\u04cb\u04c9\u0003\u0002", "\u0002\u0002\u04cc\u04cf\u0003\u0002\u0002\u0002\u04cd\u04cb\u0003\u0002", "\u0002\u0002\u04cd\u04ce\u0003\u0002\u0002\u0002\u04ce\u04d0\u0003\u0002", "\u0002\u0002\u04cf\u04cd\u0003\u0002\u0002\u0002\u04d0\u04d1\u0007\u0004", "\u0002\u0002\u04d1/\u0003\u0002\u0002\u0002\u04d2\u04d7\u00052\u001a", "\u0002\u04d3\u04d5\u0007\u008c\u0002\u0002\u04d4\u04d3\u0003\u0002\u0002", "\u0002\u04d4\u04d5\u0003\u0002\u0002\u0002\u04d5\u04d6\u0003\u0002\u0002", "\u0002\u04d6\u04d8\u00054\u001b\u0002\u04d7\u04d4\u0003\u0002\u0002", "\u0002\u04d7\u04d8\u0003\u0002\u0002\u0002\u04d81\u0003\u0002\u0002", "\u0002\u04d9\u04de\u0005\u00dep\u0002\u04da\u04db\u0007\u0005\u0002", "\u0002\u04db\u04dd\u0005\u00dep\u0002\u04dc\u04da\u0003\u0002\u0002", "\u0002\u04dd\u04e0\u0003\u0002\u0002\u0002\u04de\u04dc\u0003\u0002\u0002", "\u0002\u04de\u04df\u0003\u0002\u0002\u0002\u04df\u04e3\u0003\u0002\u0002", "\u0002\u04e0\u04de\u0003\u0002\u0002\u0002\u04e1\u04e3\u0007\u0107\u0002", "\u0002\u04e2\u04d9\u0003\u0002\u0002\u0002\u04e2\u04e1\u0003\u0002\u0002", "\u0002\u04e33\u0003\u0002\u0002\u0002\u04e4\u04e9\u0007\u010b\u0002", "\u0002\u04e5\u04e9\u0007\u010c\u0002\u0002\u04e6\u04e9\u0005\u00b6\\", "\u0002\u04e7\u04e9\u0007\u0107\u0002\u0002\u04e8\u04e4\u0003\u0002\u0002", "\u0002\u04e8\u04e5\u0003\u0002\u0002\u0002\u04e8\u04e6\u0003\u0002\u0002", "\u0002\u04e8\u04e7\u0003\u0002\u0002\u0002\u04e95\u0003\u0002\u0002", "\u0002\u04ea\u04eb\u0007\u0003\u0002\u0002\u04eb\u04f0\u0005\u00aeX", "\u0002\u04ec\u04ed\u0007\u0006\u0002\u0002\u04ed\u04ef\u0005\u00aeX", "\u0002\u04ee\u04ec\u0003\u0002\u0002\u0002\u04ef\u04f2\u0003\u0002\u0002", "\u0002\u04f0\u04ee\u0003\u0002\u0002\u0002\u04f0\u04f1\u0003\u0002\u0002", "\u0002\u04f1\u04f3\u0003\u0002\u0002\u0002\u04f2\u04f0\u0003\u0002\u0002", "\u0002\u04f3\u04f4\u0007\u0004\u0002\u0002\u04f47\u0003\u0002\u0002", "\u0002\u04f5\u04f6\u0007\u0003\u0002\u0002\u04f6\u04fb\u00056\u001c", "\u0002\u04f7\u04f8\u0007\u0006\u0002\u0002\u04f8\u04fa\u00056\u001c", "\u0002\u04f9\u04f7\u0003\u0002\u0002\u0002\u04fa\u04fd\u0003\u0002\u0002", "\u0002\u04fb\u04f9\u0003\u0002\u0002\u0002\u04fb\u04fc\u0003\u0002\u0002", "\u0002\u04fc\u04fe\u0003\u0002\u0002\u0002\u04fd\u04fb\u0003\u0002\u0002", "\u0002\u04fe\u04ff\u0007\u0004\u0002\u0002\u04ff9\u0003\u0002\u0002", "\u0002\u0500\u0501\u0007\u00c7\u0002\u0002\u0501\u0502\u0007\u0018\u0002", "\u0002\u0502\u0507\u0005<\u001f\u0002\u0503\u0504\u0007\u00c7\u0002", "\u0002\u0504\u0505\u0007\u001e\u0002\u0002\u0505\u0507\u0005> \u0002", "\u0506\u0500\u0003\u0002\u0002\u0002\u0506\u0503\u0003\u0002\u0002\u0002", "\u0507;\u0003\u0002\u0002\u0002\u0508\u0509\u0007\u00d7\u0002\u0002", "\u0509\u050a\u0007\u0107\u0002\u0002\u050a\u050b\u0007\u00d8\u0002\u0002", "\u050b\u050e\u0007\u0107\u0002\u0002\u050c\u050e\u0005\u00dep\u0002", "\u050d\u0508\u0003\u0002\u0002\u0002\u050d\u050c\u0003\u0002\u0002\u0002", "\u050e=\u0003\u0002\u0002\u0002\u050f\u0513\u0007\u0107\u0002\u0002", "\u0510\u0511\u0007W\u0002\u0002\u0511\u0512\u0007\u00ab\u0002\u0002", "\u0512\u0514\u0005.\u0018\u0002\u0513\u0510\u0003\u0002\u0002\u0002", "\u0513\u0514\u0003\u0002\u0002\u0002\u0514?\u0003\u0002\u0002\u0002", "\u0515\u0516\u0005\u00dep\u0002\u0516\u0517\u0007\u0107\u0002\u0002", "\u0517A\u0003\u0002\u0002\u0002\u0518\u051a\u0005\u001c\u000f\u0002", "\u0519\u0518\u0003\u0002\u0002\u0002\u0519\u051a\u0003\u0002\u0002\u0002", "\u051a\u051b\u0003\u0002\u0002\u0002\u051b\u051c\u0005H%\u0002\u051c", "\u051d\u0005D#\u0002\u051d\u0525\u0003\u0002\u0002\u0002\u051e\u0520", "\u0005T+\u0002\u051f\u0521\u0005F$\u0002\u0520\u051f\u0003\u0002\u0002", "\u0002\u0521\u0522\u0003\u0002\u0002\u0002\u0522\u0520\u0003\u0002\u0002", "\u0002\u0522\u0523\u0003\u0002\u0002\u0002\u0523\u0525\u0003\u0002\u0002", "\u0002\u0524\u0519\u0003\u0002\u0002\u0002\u0524\u051e\u0003\u0002\u0002", "\u0002\u0525C\u0003\u0002\u0002\u0002\u0526\u0527\u0007#\u0002\u0002", "\u0527\u0528\u0007\u001e\u0002\u0002\u0528\u052d\u0005L\'\u0002\u0529", "\u052a\u0007\u0006\u0002\u0002\u052a\u052c\u0005L\'\u0002\u052b\u0529", "\u0003\u0002\u0002\u0002\u052c\u052f\u0003\u0002\u0002\u0002\u052d\u052b", "\u0003\u0002\u0002\u0002\u052d\u052e\u0003\u0002\u0002\u0002\u052e\u0531", "\u0003\u0002\u0002\u0002\u052f\u052d\u0003\u0002\u0002\u0002\u0530\u0526", "\u0003\u0002\u0002\u0002\u0530\u0531\u0003\u0002\u0002\u0002\u0531\u053c", "\u0003\u0002\u0002\u0002\u0532\u0533\u0007\u00a4\u0002\u0002\u0533\u0534", "\u0007\u001e\u0002\u0002\u0534\u0539\u0005\u00a4S\u0002\u0535\u0536", "\u0007\u0006\u0002\u0002\u0536\u0538\u0005\u00a4S\u0002\u0537\u0535", "\u0003\u0002\u0002\u0002\u0538\u053b\u0003\u0002\u0002\u0002\u0539\u0537", "\u0003\u0002\u0002\u0002\u0539\u053a\u0003\u0002\u0002\u0002\u053a\u053d", "\u0003\u0002\u0002\u0002\u053b\u0539\u0003\u0002\u0002\u0002\u053c\u0532", "\u0003\u0002\u0002\u0002\u053c\u053d\u0003\u0002\u0002\u0002\u053d\u0548", "\u0003\u0002\u0002\u0002\u053e\u053f\u0007\u00a5\u0002\u0002\u053f\u0540", "\u0007\u001e\u0002\u0002\u0540\u0545\u0005\u00a4S\u0002\u0541\u0542", "\u0007\u0006\u0002\u0002\u0542\u0544\u0005\u00a4S\u0002\u0543\u0541", "\u0003\u0002\u0002\u0002\u0544\u0547\u0003\u0002\u0002\u0002\u0545\u0543", "\u0003\u0002\u0002\u0002\u0545\u0546\u0003\u0002\u0002\u0002\u0546\u0549", "\u0003\u0002\u0002\u0002\u0547\u0545\u0003\u0002\u0002\u0002\u0548\u053e", "\u0003\u0002\u0002\u0002\u0548\u0549\u0003\u0002\u0002\u0002\u0549\u0554", "\u0003\u0002\u0002\u0002\u054a\u054b\u0007\u00a3\u0002\u0002\u054b\u054c", "\u0007\u001e\u0002\u0002\u054c\u0551\u0005L\'\u0002\u054d\u054e\u0007", "\u0006\u0002\u0002\u054e\u0550\u0005L\'\u0002\u054f\u054d\u0003\u0002", "\u0002\u0002\u0550\u0553\u0003\u0002\u0002\u0002\u0551\u054f\u0003\u0002", "\u0002\u0002\u0551\u0552\u0003\u0002\u0002\u0002\u0552\u0555\u0003\u0002", "\u0002\u0002\u0553\u0551\u0003\u0002\u0002\u0002\u0554\u054a\u0003\u0002", "\u0002\u0002\u0554\u0555\u0003\u0002\u0002\u0002\u0555\u0557\u0003\u0002", "\u0002\u0002\u0556\u0558\u0005\u00d2j\u0002\u0557\u0556\u0003\u0002", "\u0002\u0002\u0557\u0558\u0003\u0002\u0002\u0002\u0558\u055e\u0003\u0002", "\u0002\u0002\u0559\u055c\u0007%\u0002\u0002\u055a\u055d\u0007\u0019", "\u0002\u0002\u055b\u055d\u0005\u00a4S\u0002\u055c\u055a\u0003\u0002", "\u0002\u0002\u055c\u055b\u0003\u0002\u0002\u0002\u055d\u055f\u0003\u0002", "\u0002\u0002\u055e\u0559\u0003\u0002\u0002\u0002\u055e\u055f\u0003\u0002", "\u0002\u0002\u055fE\u0003\u0002\u0002\u0002\u0560\u0562\u0005\u001c", "\u000f\u0002\u0561\u0560\u0003\u0002\u0002\u0002\u0561\u0562\u0003\u0002", "\u0002\u0002\u0562\u0563\u0003\u0002\u0002\u0002\u0563\u0564\u0005N", "(\u0002\u0564\u0565\u0005D#\u0002\u0565G\u0003\u0002\u0002\u0002\u0566", "\u0567\b%\u0001\u0002\u0567\u0568\u0005J&\u0002\u0568\u0580\u0003\u0002", "\u0002\u0002\u0569\u056a\f\u0005\u0002\u0002\u056a\u056b\u0006%\u0003", "\u0002\u056b\u056d\t\t\u0002\u0002\u056c\u056e\u0005b2\u0002\u056d\u056c", "\u0003\u0002\u0002\u0002\u056d\u056e\u0003\u0002\u0002\u0002\u056e\u056f", "\u0003\u0002\u0002\u0002\u056f\u057f\u0005H%\u0006\u0570\u0571\f\u0004", "\u0002\u0002\u0571\u0572\u0006%\u0005\u0002\u0572\u0574\u0007s\u0002", "\u0002\u0573\u0575\u0005b2\u0002\u0574\u0573\u0003\u0002\u0002\u0002", "\u0574\u0575\u0003\u0002\u0002\u0002\u0575\u0576\u0003\u0002\u0002\u0002", "\u0576\u057f\u0005H%\u0005\u0577\u0578\f\u0003\u0002\u0002\u0578\u0579", "\u0006%\u0007\u0002\u0579\u057b\t\n\u0002\u0002\u057a\u057c\u0005b2", "\u0002\u057b\u057a\u0003\u0002\u0002\u0002\u057b\u057c\u0003\u0002\u0002", "\u0002\u057c\u057d\u0003\u0002\u0002\u0002\u057d\u057f\u0005H%\u0004", "\u057e\u0569\u0003\u0002\u0002\u0002\u057e\u0570\u0003\u0002\u0002\u0002", "\u057e\u0577\u0003\u0002\u0002\u0002\u057f\u0582\u0003\u0002\u0002\u0002", "\u0580\u057e\u0003\u0002\u0002\u0002\u0580\u0581\u0003\u0002\u0002\u0002", "\u0581I\u0003\u0002\u0002\u0002\u0582\u0580\u0003\u0002\u0002\u0002", "\u0583\u058c\u0005N(\u0002\u0584\u0585\u0007Z\u0002\u0002\u0585\u058c", "\u0005\u009cO\u0002\u0586\u058c\u0005\u0094K\u0002\u0587\u0588\u0007", "\u0003\u0002\u0002\u0588\u0589\u0005B\"\u0002\u0589\u058a\u0007\u0004", "\u0002\u0002\u058a\u058c\u0003\u0002\u0002\u0002\u058b\u0583\u0003\u0002", "\u0002\u0002\u058b\u0584\u0003\u0002\u0002\u0002\u058b\u0586\u0003\u0002", "\u0002\u0002\u058b\u0587\u0003\u0002\u0002\u0002\u058cK\u0003\u0002", "\u0002\u0002\u058d\u058f\u0005\u00a4S\u0002\u058e\u0590\t\u000b\u0002", "\u0002\u058f\u058e\u0003\u0002\u0002\u0002\u058f\u0590\u0003\u0002\u0002", "\u0002\u0590\u0593\u0003\u0002\u0002\u0002\u0591\u0592\u00074\u0002", "\u0002\u0592\u0594\t\f\u0002\u0002\u0593\u0591\u0003\u0002\u0002\u0002", "\u0593\u0594\u0003\u0002\u0002\u0002\u0594M\u0003\u0002\u0002\u0002", "\u0595\u0596\u0007\u0015\u0002\u0002\u0596\u0597\u0007\u00a7\u0002\u0002", "\u0597\u0598\u0007\u0003\u0002\u0002\u0598\u0599\u0005\u00a2R\u0002", "\u0599\u059a\u0007\u0004\u0002\u0002\u059a\u05a0\u0003\u0002\u0002\u0002", "\u059b\u059c\u0007z\u0002\u0002\u059c\u05a0\u0005\u00a2R\u0002\u059d", "\u059e\u0007\u00a8\u0002\u0002\u059e\u05a0\u0005\u00a2R\u0002\u059f", "\u0595\u0003\u0002\u0002\u0002\u059f\u059b\u0003\u0002\u0002\u0002\u059f", "\u059d\u0003\u0002\u0002\u0002\u05a0\u05a2\u0003\u0002\u0002\u0002\u05a1", "\u05a3\u0005\u009aN\u0002\u05a2\u05a1\u0003\u0002\u0002\u0002\u05a2", "\u05a3\u0003\u0002\u0002\u0002\u05a3\u05a6\u0003\u0002\u0002\u0002\u05a4", "\u05a5\u0007\u00ad\u0002\u0002\u05a5\u05a7\u0007\u0107\u0002\u0002\u05a6", "\u05a4\u0003\u0002\u0002\u0002\u05a6\u05a7\u0003\u0002\u0002\u0002\u05a7", "\u05a8\u0003\u0002\u0002\u0002\u05a8\u05a9\u0007\u00a9\u0002\u0002\u05a9", "\u05b6\u0007\u0107\u0002\u0002\u05aa\u05b4\u0007\u0018\u0002\u0002\u05ab", "\u05b5\u0005r:\u0002\u05ac\u05b5\u0005\u00c2b\u0002\u05ad\u05b0\u0007", "\u0003\u0002\u0002\u05ae\u05b1\u0005r:\u0002\u05af\u05b1\u0005\u00c2", "b\u0002\u05b0\u05ae\u0003\u0002\u0002\u0002\u05b0\u05af\u0003\u0002", "\u0002\u0002\u05b1\u05b2\u0003\u0002\u0002\u0002\u05b2\u05b3\u0007\u0004", "\u0002\u0002\u05b3\u05b5\u0003\u0002\u0002\u0002\u05b4\u05ab\u0003\u0002", "\u0002\u0002\u05b4\u05ac\u0003\u0002\u0002\u0002\u05b4\u05ad\u0003\u0002", "\u0002\u0002\u05b5\u05b7\u0003\u0002\u0002\u0002\u05b6\u05aa\u0003\u0002", "\u0002\u0002\u05b6\u05b7\u0003\u0002\u0002\u0002\u05b7\u05b9\u0003\u0002", "\u0002\u0002\u05b8\u05ba\u0005\u009aN\u0002\u05b9\u05b8\u0003\u0002", "\u0002\u0002\u05b9\u05ba\u0003\u0002\u0002\u0002\u05ba\u05bd\u0003\u0002", "\u0002\u0002\u05bb\u05bc\u0007\u00ac\u0002\u0002\u05bc\u05be\u0007\u0107", "\u0002\u0002\u05bd\u05bb\u0003\u0002\u0002\u0002\u05bd\u05be\u0003\u0002", "\u0002\u0002\u05be\u05c0\u0003\u0002\u0002\u0002\u05bf\u05c1\u0005T", "+\u0002\u05c0\u05bf\u0003\u0002\u0002\u0002\u05c0\u05c1\u0003\u0002", "\u0002\u0002\u05c1\u05c4\u0003\u0002\u0002\u0002\u05c2\u05c3\u0007\u001c", "\u0002\u0002\u05c3\u05c5\u0005\u00a6T\u0002\u05c4\u05c2\u0003\u0002", "\u0002\u0002\u05c4\u05c5\u0003\u0002\u0002\u0002\u05c5\u05f3\u0003\u0002", "\u0002\u0002\u05c6\u05ca\u0007\u0015\u0002\u0002\u05c7\u05c9\u0005P", ")\u0002\u05c8\u05c7\u0003\u0002\u0002\u0002\u05c9\u05cc\u0003\u0002", "\u0002\u0002\u05ca\u05c8\u0003\u0002\u0002\u0002\u05ca\u05cb\u0003\u0002", "\u0002\u0002\u05cb\u05ce\u0003\u0002\u0002\u0002\u05cc\u05ca\u0003\u0002", "\u0002\u0002\u05cd\u05cf\u0005b2\u0002\u05ce\u05cd\u0003\u0002\u0002", "\u0002\u05ce\u05cf\u0003\u0002\u0002\u0002\u05cf\u05d0\u0003\u0002\u0002", "\u0002\u05d0\u05d2\u0005\u00a2R\u0002\u05d1\u05d3\u0005T+\u0002\u05d2", "\u05d1\u0003\u0002\u0002\u0002\u05d2\u05d3\u0003\u0002\u0002\u0002\u05d3", "\u05dd\u0003\u0002\u0002\u0002\u05d4\u05da\u0005T+\u0002\u05d5\u05d7", "\u0007\u0015\u0002\u0002\u05d6\u05d8\u0005b2\u0002\u05d7\u05d6\u0003", "\u0002\u0002\u0002\u05d7\u05d8\u0003\u0002\u0002\u0002\u05d8\u05d9\u0003", "\u0002\u0002\u0002\u05d9\u05db\u0005\u00a2R\u0002\u05da\u05d5\u0003", "\u0002\u0002\u0002\u05da\u05db\u0003\u0002\u0002\u0002\u05db\u05dd\u0003", "\u0002\u0002\u0002\u05dc\u05c6\u0003\u0002\u0002\u0002\u05dc\u05d4\u0003", "\u0002\u0002\u0002\u05dd\u05e1\u0003\u0002\u0002\u0002\u05de\u05e0\u0005", "`1\u0002\u05df\u05de\u0003\u0002\u0002\u0002\u05e0\u05e3\u0003\u0002", "\u0002\u0002\u05e1\u05df\u0003\u0002\u0002\u0002\u05e1\u05e2\u0003\u0002", "\u0002\u0002\u05e2\u05e6\u0003\u0002\u0002\u0002\u05e3\u05e1\u0003\u0002", "\u0002\u0002\u05e4\u05e5\u0007\u001c\u0002\u0002\u05e5\u05e7\u0005\u00a6", "T\u0002\u05e6\u05e4\u0003\u0002\u0002\u0002\u05e6\u05e7\u0003\u0002", "\u0002\u0002\u05e7\u05e9\u0003\u0002\u0002\u0002\u05e8\u05ea\u0005V", ",\u0002\u05e9\u05e8\u0003\u0002\u0002\u0002\u05e9\u05ea\u0003\u0002", "\u0002\u0002\u05ea\u05ed\u0003\u0002\u0002\u0002\u05eb\u05ec\u0007$", "\u0002\u0002\u05ec\u05ee\u0005\u00a6T\u0002\u05ed\u05eb\u0003\u0002", "\u0002\u0002\u05ed\u05ee\u0003\u0002\u0002\u0002\u05ee\u05f0\u0003\u0002", "\u0002\u0002\u05ef\u05f1\u0005\u00d2j\u0002\u05f0\u05ef\u0003\u0002", "\u0002\u0002\u05f0\u05f1\u0003\u0002\u0002\u0002\u05f1\u05f3\u0003\u0002", "\u0002\u0002\u05f2\u059f\u0003\u0002\u0002\u0002\u05f2\u05dc\u0003\u0002", "\u0002\u0002\u05f3O\u0003\u0002\u0002\u0002\u05f4\u05f5\u0007\u0007", "\u0002\u0002\u05f5\u05fc\u0005R*\u0002\u05f6\u05f8\u0007\u0006\u0002", "\u0002\u05f7\u05f6\u0003\u0002\u0002\u0002\u05f7\u05f8\u0003\u0002\u0002", "\u0002\u05f8\u05f9\u0003\u0002\u0002\u0002\u05f9\u05fb\u0005R*\u0002", "\u05fa\u05f7\u0003\u0002\u0002\u0002\u05fb\u05fe\u0003\u0002\u0002\u0002", "\u05fc\u05fa\u0003\u0002\u0002\u0002\u05fc\u05fd\u0003\u0002\u0002\u0002", "\u05fd\u05ff\u0003\u0002\u0002\u0002\u05fe\u05fc\u0003\u0002\u0002\u0002", "\u05ff\u0600\u0007\b\u0002\u0002\u0600Q\u0003\u0002\u0002\u0002\u0601", "\u060f\u0005\u00dep\u0002\u0602\u0603\u0005\u00dep\u0002\u0603\u0604", "\u0007\u0003\u0002\u0002\u0604\u0609\u0005\u00acW\u0002\u0605\u0606", "\u0007\u0006\u0002\u0002\u0606\u0608\u0005\u00acW\u0002\u0607\u0605", "\u0003\u0002\u0002\u0002\u0608\u060b\u0003\u0002\u0002\u0002\u0609\u0607", "\u0003\u0002\u0002\u0002\u0609\u060a\u0003\u0002\u0002\u0002\u060a\u060c", "\u0003\u0002\u0002\u0002\u060b\u0609\u0003\u0002\u0002\u0002\u060c\u060d", "\u0007\u0004\u0002\u0002\u060d\u060f\u0003\u0002\u0002\u0002\u060e\u0601", "\u0003\u0002\u0002\u0002\u060e\u0602\u0003\u0002\u0002\u0002\u060fS", "\u0003\u0002\u0002\u0002\u0610\u0611\u0007\u0016\u0002\u0002\u0611\u0616", "\u0005d3\u0002\u0612\u0613\u0007\u0006\u0002\u0002\u0613\u0615\u0005", "d3\u0002\u0614\u0612\u0003\u0002\u0002\u0002\u0615\u0618\u0003\u0002", "\u0002\u0002\u0616\u0614\u0003\u0002\u0002\u0002\u0616\u0617\u0003\u0002", "\u0002\u0002\u0617\u061c\u0003\u0002\u0002\u0002\u0618\u0616\u0003\u0002", "\u0002\u0002\u0619\u061b\u0005`1\u0002\u061a\u0619\u0003\u0002\u0002", "\u0002\u061b\u061e\u0003\u0002\u0002\u0002\u061c\u061a\u0003\u0002\u0002", "\u0002\u061c\u061d\u0003\u0002\u0002\u0002\u061d\u0620\u0003\u0002\u0002", "\u0002\u061e\u061c\u0003\u0002\u0002\u0002\u061f\u0621\u0005Z.\u0002", "\u0620\u061f\u0003\u0002\u0002\u0002\u0620\u0621\u0003\u0002\u0002\u0002", "\u0621U\u0003\u0002\u0002\u0002\u0622\u0623\u0007\u001d\u0002\u0002", "\u0623\u0624\u0007\u001e\u0002\u0002\u0624\u0629\u0005\u00a4S\u0002", "\u0625\u0626\u0007\u0006\u0002\u0002\u0626\u0628\u0005\u00a4S\u0002", "\u0627\u0625\u0003\u0002\u0002\u0002\u0628\u062b\u0003\u0002\u0002\u0002", "\u0629\u0627\u0003\u0002\u0002\u0002\u0629\u062a\u0003\u0002\u0002\u0002", "\u062a\u063d\u0003\u0002\u0002\u0002\u062b\u0629\u0003\u0002\u0002\u0002", "\u062c\u062d\u0007W\u0002\u0002\u062d\u063e\u0007\"\u0002\u0002\u062e", "\u062f\u0007W\u0002\u0002\u062f\u063e\u0007!\u0002\u0002\u0630\u0631", "\u0007\u001f\u0002\u0002\u0631\u0632\u0007 \u0002\u0002\u0632\u0633", "\u0007\u0003\u0002\u0002\u0633\u0638\u0005X-\u0002\u0634\u0635\u0007", "\u0006\u0002\u0002\u0635\u0637\u0005X-\u0002\u0636\u0634\u0003\u0002", "\u0002\u0002\u0637\u063a\u0003\u0002\u0002\u0002\u0638\u0636\u0003\u0002", "\u0002\u0002\u0638\u0639\u0003\u0002\u0002\u0002\u0639\u063b\u0003\u0002", "\u0002\u0002\u063a\u0638\u0003\u0002\u0002\u0002\u063b\u063c\u0007\u0004", "\u0002\u0002\u063c\u063e\u0003\u0002\u0002\u0002\u063d\u062c\u0003\u0002", "\u0002\u0002\u063d\u062e\u0003\u0002\u0002\u0002\u063d\u0630\u0003\u0002", "\u0002\u0002\u063d\u063e\u0003\u0002\u0002\u0002\u063e\u064f\u0003\u0002", "\u0002\u0002\u063f\u0640\u0007\u001d\u0002\u0002\u0640\u0641\u0007\u001e", "\u0002\u0002\u0641\u0642\u0007\u001f\u0002\u0002\u0642\u0643\u0007 ", "\u0002\u0002\u0643\u0644\u0007\u0003\u0002\u0002\u0644\u0649\u0005X", "-\u0002\u0645\u0646\u0007\u0006\u0002\u0002\u0646\u0648\u0005X-\u0002", "\u0647\u0645\u0003\u0002\u0002\u0002\u0648\u064b\u0003\u0002\u0002\u0002", "\u0649\u0647\u0003\u0002\u0002\u0002\u0649\u064a\u0003\u0002\u0002\u0002", "\u064a\u064c\u0003\u0002\u0002\u0002\u064b\u0649\u0003\u0002\u0002\u0002", "\u064c\u064d\u0007\u0004\u0002\u0002\u064d\u064f\u0003\u0002\u0002\u0002", "\u064e\u0622\u0003\u0002\u0002\u0002\u064e\u063f\u0003\u0002\u0002\u0002", "\u064fW\u0003\u0002\u0002\u0002\u0650\u0659\u0007\u0003\u0002\u0002", "\u0651\u0656\u0005\u00a4S\u0002\u0652\u0653\u0007\u0006\u0002\u0002", "\u0653\u0655\u0005\u00a4S\u0002\u0654\u0652\u0003\u0002\u0002\u0002", "\u0655\u0658\u0003\u0002\u0002\u0002\u0656\u0654\u0003\u0002\u0002\u0002", "\u0656\u0657\u0003\u0002\u0002\u0002\u0657\u065a\u0003\u0002\u0002\u0002", "\u0658\u0656\u0003\u0002\u0002\u0002\u0659\u0651\u0003\u0002\u0002\u0002", "\u0659\u065a\u0003\u0002\u0002\u0002\u065a\u065b\u0003\u0002\u0002\u0002", "\u065b\u065e\u0007\u0004\u0002\u0002\u065c\u065e\u0005\u00a4S\u0002", "\u065d\u0650\u0003\u0002\u0002\u0002\u065d\u065c\u0003\u0002\u0002\u0002", "\u065eY\u0003\u0002\u0002\u0002\u065f\u0660\u0007H\u0002\u0002\u0660", "\u0661\u0007\u0003\u0002\u0002\u0661\u0662\u0005\u00a2R\u0002\u0662", "\u0663\u00077\u0002\u0002\u0663\u0664\u0005\\/\u0002\u0664\u0665\u0007", ")\u0002\u0002\u0665\u0666\u0007\u0003\u0002\u0002\u0666\u066b\u0005", "^0\u0002\u0667\u0668\u0007\u0006\u0002\u0002\u0668\u066a\u0005^0\u0002", "\u0669\u0667\u0003\u0002\u0002\u0002\u066a\u066d\u0003\u0002\u0002\u0002", "\u066b\u0669\u0003\u0002\u0002\u0002\u066b\u066c\u0003\u0002\u0002\u0002", "\u066c\u066e\u0003\u0002\u0002\u0002\u066d\u066b\u0003\u0002\u0002\u0002", "\u066e\u066f\u0007\u0004\u0002\u0002\u066f\u0670\u0007\u0004\u0002\u0002", "\u0670[\u0003\u0002\u0002\u0002\u0671\u067e\u0005\u00dep\u0002\u0672", "\u0673\u0007\u0003\u0002\u0002\u0673\u0678\u0005\u00dep\u0002\u0674", "\u0675\u0007\u0006\u0002\u0002\u0675\u0677\u0005\u00dep\u0002\u0676", "\u0674\u0003\u0002\u0002\u0002\u0677\u067a\u0003\u0002\u0002\u0002\u0678", "\u0676\u0003\u0002\u0002\u0002\u0678\u0679\u0003\u0002\u0002\u0002\u0679", "\u067b\u0003\u0002\u0002\u0002\u067a\u0678\u0003\u0002\u0002\u0002\u067b", "\u067c\u0007\u0004\u0002\u0002\u067c\u067e\u0003\u0002\u0002\u0002\u067d", "\u0671\u0003\u0002\u0002\u0002\u067d\u0672\u0003\u0002\u0002\u0002\u067e", "]\u0003\u0002\u0002\u0002\u067f\u0684\u0005\u00a4S\u0002\u0680\u0682", "\u0007\u0018\u0002\u0002\u0681\u0680\u0003\u0002\u0002\u0002\u0681\u0682", "\u0003\u0002\u0002\u0002\u0682\u0683\u0003\u0002\u0002\u0002\u0683\u0685", "\u0005\u00dep\u0002\u0684\u0681\u0003\u0002\u0002\u0002\u0684\u0685", "\u0003\u0002\u0002\u0002\u0685_\u0003\u0002\u0002\u0002\u0686\u0687", "\u0007I\u0002\u0002\u0687\u0689\u0007\\\u0002\u0002\u0688\u068a\u0007", "@\u0002\u0002\u0689\u0688\u0003\u0002\u0002\u0002\u0689\u068a\u0003", "\u0002\u0002\u0002\u068a\u068b\u0003\u0002\u0002\u0002\u068b\u068c\u0005", "\u00dco\u0002\u068c\u0695\u0007\u0003\u0002\u0002\u068d\u0692\u0005", "\u00a4S\u0002\u068e\u068f\u0007\u0006\u0002\u0002\u068f\u0691\u0005", "\u00a4S\u0002\u0690\u068e\u0003\u0002\u0002\u0002\u0691\u0694\u0003", "\u0002\u0002\u0002\u0692\u0690\u0003\u0002\u0002\u0002\u0692\u0693\u0003", "\u0002\u0002\u0002\u0693\u0696\u0003\u0002\u0002\u0002\u0694\u0692\u0003", "\u0002\u0002\u0002\u0695\u068d\u0003\u0002\u0002\u0002\u0695\u0696\u0003", "\u0002\u0002\u0002\u0696\u0697\u0003\u0002\u0002\u0002\u0697\u0698\u0007", "\u0004\u0002\u0002\u0698\u06a4\u0005\u00dep\u0002\u0699\u069b\u0007", "\u0018\u0002\u0002\u069a\u0699\u0003\u0002\u0002\u0002\u069a\u069b\u0003", "\u0002\u0002\u0002\u069b\u069c\u0003\u0002\u0002\u0002\u069c\u06a1\u0005", "\u00dep\u0002\u069d\u069e\u0007\u0006\u0002\u0002\u069e\u06a0\u0005", "\u00dep\u0002\u069f\u069d\u0003\u0002\u0002\u0002\u06a0\u06a3\u0003", "\u0002\u0002\u0002\u06a1\u069f\u0003\u0002\u0002\u0002\u06a1\u06a2\u0003", "\u0002\u0002\u0002\u06a2\u06a5\u0003\u0002\u0002\u0002\u06a3\u06a1\u0003", "\u0002\u0002\u0002\u06a4\u069a\u0003\u0002\u0002\u0002\u06a4\u06a5\u0003", "\u0002\u0002\u0002\u06a5a\u0003\u0002\u0002\u0002\u06a6\u06a7\t\r\u0002", "\u0002\u06a7c\u0003\u0002\u0002\u0002\u06a8\u06ac\u0005|?\u0002\u06a9", "\u06ab\u0005f4\u0002\u06aa\u06a9\u0003\u0002\u0002\u0002\u06ab\u06ae", "\u0003\u0002\u0002\u0002\u06ac\u06aa\u0003\u0002\u0002\u0002\u06ac\u06ad", "\u0003\u0002\u0002\u0002\u06ade\u0003\u0002\u0002\u0002\u06ae\u06ac", "\u0003\u0002\u0002\u0002\u06af\u06b0\u0005h5\u0002\u06b0\u06b1\u0007", ">\u0002\u0002\u06b1\u06b3\u0005|?\u0002\u06b2\u06b4\u0005j6\u0002\u06b3", "\u06b2\u0003\u0002\u0002\u0002\u06b3\u06b4\u0003\u0002\u0002\u0002\u06b4", "\u06bb\u0003\u0002\u0002\u0002\u06b5\u06b6\u0007F\u0002\u0002\u06b6", "\u06b7\u0005h5\u0002\u06b7\u06b8\u0007>\u0002\u0002\u06b8\u06b9\u0005", "|?\u0002\u06b9\u06bb\u0003\u0002\u0002\u0002\u06ba\u06af\u0003\u0002", "\u0002\u0002\u06ba\u06b5\u0003\u0002\u0002\u0002\u06bbg\u0003\u0002", "\u0002\u0002\u06bc\u06be\u0007A\u0002\u0002\u06bd\u06bc\u0003\u0002", "\u0002\u0002\u06bd\u06be\u0003\u0002\u0002\u0002\u06be\u06d3\u0003\u0002", "\u0002\u0002\u06bf\u06d3\u0007?\u0002\u0002\u06c0\u06c2\u0007B\u0002", "\u0002\u06c1\u06c3\u0007@\u0002\u0002\u06c2\u06c1\u0003\u0002\u0002", "\u0002\u06c2\u06c3\u0003\u0002\u0002\u0002\u06c3\u06d3\u0003\u0002\u0002", "\u0002\u06c4\u06c5\u0007B\u0002\u0002\u06c5\u06d3\u0007C\u0002\u0002", "\u06c6\u06c8\u0007D\u0002\u0002\u06c7\u06c9\u0007@\u0002\u0002\u06c8", "\u06c7\u0003\u0002\u0002\u0002\u06c8\u06c9\u0003\u0002\u0002\u0002\u06c9", "\u06d3\u0003\u0002\u0002\u0002\u06ca\u06cc\u0007E\u0002\u0002\u06cb", "\u06cd\u0007@\u0002\u0002\u06cc\u06cb\u0003\u0002\u0002\u0002\u06cc", "\u06cd\u0003\u0002\u0002\u0002\u06cd\u06d3\u0003\u0002\u0002\u0002\u06ce", "\u06d0\u0007B\u0002\u0002\u06cf\u06ce\u0003\u0002\u0002\u0002\u06cf", "\u06d0\u0003\u0002\u0002\u0002\u06d0\u06d1\u0003\u0002\u0002\u0002\u06d1", "\u06d3\u0007\u00f7\u0002\u0002\u06d2\u06bd\u0003\u0002\u0002\u0002\u06d2", "\u06bf\u0003\u0002\u0002\u0002\u06d2\u06c0\u0003\u0002\u0002\u0002\u06d2", "\u06c4\u0003\u0002\u0002\u0002\u06d2\u06c6\u0003\u0002\u0002\u0002\u06d2", "\u06ca\u0003\u0002\u0002\u0002\u06d2\u06cf\u0003\u0002\u0002\u0002\u06d3", "i\u0003\u0002\u0002\u0002\u06d4\u06d5\u0007G\u0002\u0002\u06d5\u06d9", "\u0005\u00a6T\u0002\u06d6\u06d7\u0007\u00a9\u0002\u0002\u06d7\u06d9", "\u0005p9\u0002\u06d8\u06d4\u0003\u0002\u0002\u0002\u06d8\u06d6\u0003", "\u0002\u0002\u0002\u06d9k\u0003\u0002\u0002\u0002\u06da\u06db\u0007", "u\u0002\u0002\u06db\u06dd\u0007\u0003\u0002\u0002\u06dc\u06de\u0005", "n8\u0002\u06dd\u06dc\u0003\u0002\u0002\u0002\u06dd\u06de\u0003\u0002", "\u0002\u0002\u06de\u06df\u0003\u0002\u0002\u0002\u06df\u06e0\u0007\u0004", "\u0002\u0002\u06e0m\u0003\u0002\u0002\u0002\u06e1\u06e3\u0007\u0095", "\u0002\u0002\u06e2\u06e1\u0003\u0002\u0002\u0002\u06e2\u06e3\u0003\u0002", "\u0002\u0002\u06e3\u06e4\u0003\u0002\u0002\u0002\u06e4\u06e5\t\u000e", "\u0002\u0002\u06e5\u06fa\u0007\u009f\u0002\u0002\u06e6\u06e7\u0005\u00a4", "S\u0002\u06e7\u06e8\u0007N\u0002\u0002\u06e8\u06fa\u0003\u0002\u0002", "\u0002\u06e9\u06ea\u0007\u00a0\u0002\u0002\u06ea\u06eb\u0007\u010b\u0002", "\u0002\u06eb\u06ec\u0007\u00a1\u0002\u0002\u06ec\u06ed\u0007\u00a2\u0002", "\u0002\u06ed\u06f6\u0007\u010b\u0002\u0002\u06ee\u06f4\u0007G\u0002", "\u0002\u06ef\u06f5\u0005\u00dep\u0002\u06f0\u06f1\u0005\u00dco\u0002", "\u06f1\u06f2\u0007\u0003\u0002\u0002\u06f2\u06f3\u0007\u0004\u0002\u0002", "\u06f3\u06f5\u0003\u0002\u0002\u0002\u06f4\u06ef\u0003\u0002\u0002\u0002", "\u06f4\u06f0\u0003\u0002\u0002\u0002\u06f5\u06f7\u0003\u0002\u0002\u0002", "\u06f6\u06ee\u0003\u0002\u0002\u0002\u06f6\u06f7\u0003\u0002\u0002\u0002", "\u06f7\u06fa\u0003\u0002\u0002\u0002\u06f8\u06fa\u0005\u00a4S\u0002", "\u06f9\u06e2\u0003\u0002\u0002\u0002\u06f9\u06e6\u0003\u0002\u0002\u0002", "\u06f9\u06e9\u0003\u0002\u0002\u0002\u06f9\u06f8\u0003\u0002\u0002\u0002", "\u06fao\u0003\u0002\u0002\u0002\u06fb\u06fc\u0007\u0003\u0002\u0002", "\u06fc\u06fd\u0005r:\u0002\u06fd\u06fe\u0007\u0004\u0002\u0002\u06fe", "q\u0003\u0002\u0002\u0002\u06ff\u0704\u0005\u00dep\u0002\u0700\u0701", "\u0007\u0006\u0002\u0002\u0701\u0703\u0005\u00dep\u0002\u0702\u0700", "\u0003\u0002\u0002\u0002\u0703\u0706\u0003\u0002\u0002\u0002\u0704\u0702", "\u0003\u0002\u0002\u0002\u0704\u0705\u0003\u0002\u0002\u0002\u0705s", "\u0003\u0002\u0002\u0002\u0706\u0704\u0003\u0002\u0002\u0002\u0707\u0708", "\u0007\u0003\u0002\u0002\u0708\u070d\u0005v<\u0002\u0709\u070a\u0007", "\u0006\u0002\u0002\u070a\u070c\u0005v<\u0002\u070b\u0709\u0003\u0002", "\u0002\u0002\u070c\u070f\u0003\u0002\u0002\u0002\u070d\u070b\u0003\u0002", "\u0002\u0002\u070d\u070e\u0003\u0002\u0002\u0002\u070e\u0710\u0003\u0002", "\u0002\u0002\u070f\u070d\u0003\u0002\u0002\u0002\u0710\u0711\u0007\u0004", "\u0002\u0002\u0711u\u0003\u0002\u0002\u0002\u0712\u0714\u0005\u00de", "p\u0002\u0713\u0715\t\u000b\u0002\u0002\u0714\u0713\u0003\u0002\u0002", "\u0002\u0714\u0715\u0003\u0002\u0002\u0002\u0715w\u0003\u0002\u0002", "\u0002\u0716\u0717\u0007\u0003\u0002\u0002\u0717\u071c\u0005z>\u0002", "\u0718\u0719\u0007\u0006\u0002\u0002\u0719\u071b\u0005z>\u0002\u071a", "\u0718\u0003\u0002\u0002\u0002\u071b\u071e\u0003\u0002\u0002\u0002\u071c", "\u071a\u0003\u0002\u0002\u0002\u071c\u071d\u0003\u0002\u0002\u0002\u071d", "\u071f\u0003\u0002\u0002\u0002\u071e\u071c\u0003\u0002\u0002\u0002\u071f", "\u0720\u0007\u0004\u0002\u0002\u0720y\u0003\u0002\u0002\u0002\u0721", "\u0724\u0005\u00dep\u0002\u0722\u0723\u0007|\u0002\u0002\u0723\u0725", "\u0007\u0107\u0002\u0002\u0724\u0722\u0003\u0002\u0002\u0002\u0724\u0725", "\u0003\u0002\u0002\u0002\u0725{\u0003\u0002\u0002\u0002\u0726\u0729", "\u0005\u009cO\u0002\u0727\u072a\u0005l7\u0002\u0728\u072a\u0005~@\u0002", "\u0729\u0727\u0003\u0002\u0002\u0002\u0729\u0728\u0003\u0002\u0002\u0002", "\u0729\u072a\u0003\u0002\u0002\u0002\u072a\u072b\u0003\u0002\u0002\u0002", "\u072b\u072c\u0005\u0098M\u0002\u072c\u0740\u0003\u0002\u0002\u0002", "\u072d\u072e\u0007\u0003\u0002\u0002\u072e\u072f\u0005B\"\u0002\u072f", "\u0731\u0007\u0004\u0002\u0002\u0730\u0732\u0005l7\u0002\u0731\u0730", "\u0003\u0002\u0002\u0002\u0731\u0732\u0003\u0002\u0002\u0002\u0732\u0733", "\u0003\u0002\u0002\u0002\u0733\u0734\u0005\u0098M\u0002\u0734\u0740", "\u0003\u0002\u0002\u0002\u0735\u0736\u0007\u0003\u0002\u0002\u0736\u0737", "\u0005d3\u0002\u0737\u0739\u0007\u0004\u0002\u0002\u0738\u073a\u0005", "l7\u0002\u0739\u0738\u0003\u0002\u0002\u0002\u0739\u073a\u0003\u0002", "\u0002\u0002\u073a\u073b\u0003\u0002\u0002\u0002\u073b\u073c\u0005\u0098", "M\u0002\u073c\u0740\u0003\u0002\u0002\u0002\u073d\u0740\u0005\u0094", "K\u0002\u073e\u0740\u0005\u0096L\u0002\u073f\u0726\u0003\u0002\u0002", "\u0002\u073f\u072d\u0003\u0002\u0002\u0002\u073f\u0735\u0003\u0002\u0002", "\u0002\u073f\u073d\u0003\u0002\u0002\u0002\u073f\u073e\u0003\u0002\u0002", "\u0002\u0740}\u0003\u0002\u0002\u0002\u0741\u0742\u0007\u00fc\u0002", "\u0002\u0742\u074d\u0007\u0003\u0002\u0002\u0743\u0744\u0007L\u0002", "\u0002\u0744\u0745\u0007\u001e\u0002\u0002\u0745\u074a\u0005\u00a4S", "\u0002\u0746\u0747\u0007\u0006\u0002\u0002\u0747\u0749\u0005\u00a4S", "\u0002\u0748\u0746\u0003\u0002\u0002\u0002\u0749\u074c\u0003\u0002\u0002", "\u0002\u074a\u0748\u0003\u0002\u0002\u0002\u074a\u074b\u0003\u0002\u0002", "\u0002\u074b\u074e\u0003\u0002\u0002\u0002\u074c\u074a\u0003\u0002\u0002", "\u0002\u074d\u0743\u0003\u0002\u0002\u0002\u074d\u074e\u0003\u0002\u0002", "\u0002\u074e\u0759\u0003\u0002\u0002\u0002\u074f\u0750\u0007#\u0002", "\u0002\u0750\u0751\u0007\u001e\u0002\u0002\u0751\u0756\u0005L\'\u0002", "\u0752\u0753\u0007\u0006\u0002\u0002\u0753\u0755\u0005L\'\u0002\u0754", "\u0752\u0003\u0002\u0002\u0002\u0755\u0758\u0003\u0002\u0002\u0002\u0756", "\u0754\u0003\u0002\u0002\u0002\u0756\u0757\u0003\u0002\u0002\u0002\u0757", "\u075a\u0003\u0002\u0002\u0002\u0758\u0756\u0003\u0002\u0002\u0002\u0759", "\u074f\u0003\u0002\u0002\u0002\u0759\u075a\u0003\u0002\u0002\u0002\u075a", "\u0764\u0003\u0002\u0002\u0002\u075b\u075c\u0007\u00fd\u0002\u0002\u075c", "\u0761\u0005\u0080A\u0002\u075d\u075e\u0007\u0006\u0002\u0002\u075e", "\u0760\u0005\u0080A\u0002\u075f\u075d\u0003\u0002\u0002\u0002\u0760", "\u0763\u0003\u0002\u0002\u0002\u0761\u075f\u0003\u0002\u0002\u0002\u0761", "\u0762\u0003\u0002\u0002\u0002\u0762\u0765\u0003\u0002\u0002\u0002\u0763", "\u0761\u0003\u0002\u0002\u0002\u0764\u075b\u0003\u0002\u0002\u0002\u0764", "\u0765\u0003\u0002\u0002\u0002\u0765\u076a\u0003\u0002\u0002\u0002\u0766", "\u0767\u0007\u00fe\u0002\u0002\u0767\u0768\u0007V\u0002\u0002\u0768", "\u0769\u0007\u00ff\u0002\u0002\u0769\u076b\u0007\u0100\u0002\u0002\u076a", "\u0766\u0003\u0002\u0002\u0002\u076a\u076b\u0003\u0002\u0002\u0002\u076b", "\u0783\u0003\u0002\u0002\u0002\u076c\u076d\u0007T\u0002\u0002\u076d", "\u0781\u0007\u0100\u0002\u0002\u076e\u076f\u0007\u0101\u0002\u0002\u076f", "\u0770\u0007t\u0002\u0002\u0770\u0771\u0007\u0102\u0002\u0002\u0771", "\u0782\u0007V\u0002\u0002\u0772\u0773\u0007\u0101\u0002\u0002\u0773", "\u0774\u0007\u0103\u0002\u0002\u0774\u0775\u0007U\u0002\u0002\u0775", "\u0782\u0007V\u0002\u0002\u0776\u0777\u0007\u0101\u0002\u0002\u0777", "\u0778\u0007t\u0002\u0002\u0778\u0779\u0007S\u0002\u0002\u0779\u0782", "\u0005\u0084C\u0002\u077a\u077b\u0007\u0101\u0002\u0002\u077b\u077c", "\u0007t\u0002\u0002\u077c\u077d\u0007U\u0002\u0002\u077d\u0782\u0005", "\u0084C\u0002\u077e\u077f\u0007\u0101\u0002\u0002\u077f\u0780\u0007", "t\u0002\u0002\u0780\u0782\u0005\u0084C\u0002\u0781\u076e\u0003\u0002", "\u0002\u0002\u0781\u0772\u0003\u0002\u0002\u0002\u0781\u0776\u0003\u0002", "\u0002\u0002\u0781\u077a\u0003\u0002\u0002\u0002\u0781\u077e\u0003\u0002", "\u0002\u0002\u0782\u0784\u0003\u0002\u0002\u0002\u0783\u076c\u0003\u0002", "\u0002\u0002\u0783\u0784\u0003\u0002\u0002\u0002\u0784\u0785\u0003\u0002", "\u0002\u0002\u0785\u0786\u0007\u0104\u0002\u0002\u0786\u0787\u0007\u0003", "\u0002\u0002\u0787\u0788\u0005\u0086D\u0002\u0788\u078b\u0007\u0004", "\u0002\u0002\u0789\u078a\u0007\u0105\u0002\u0002\u078a\u078c\u0005\u00b8", "]\u0002\u078b\u0789\u0003\u0002\u0002\u0002\u078b\u078c\u0003\u0002", "\u0002\u0002\u078c\u078d\u0003\u0002\u0002\u0002\u078d\u078e\u0007\u0106", "\u0002\u0002\u078e\u078f\u0005\u0084C\u0002\u078f\u0790\u0007\u0018", "\u0002\u0002\u0790\u0798\u0005\u0082B\u0002\u0791\u0792\u0007\u0006", "\u0002\u0002\u0792\u0793\u0005\u0084C\u0002\u0793\u0794\u0007\u0018", "\u0002\u0002\u0794\u0795\u0005\u0082B\u0002\u0795\u0797\u0003\u0002", "\u0002\u0002\u0796\u0791\u0003\u0002\u0002\u0002\u0797\u079a\u0003\u0002", "\u0002\u0002\u0798\u0796\u0003\u0002\u0002\u0002\u0798\u0799\u0003\u0002", "\u0002\u0002\u0799\u079b\u0003\u0002\u0002\u0002\u079a\u0798\u0003\u0002", "\u0002\u0002\u079b\u079c\u0007\u0004\u0002\u0002\u079c\u007f\u0003\u0002", "\u0002\u0002\u079d\u079e\u0005\u00a4S\u0002\u079e\u079f\u0007\u0018", "\u0002\u0002\u079f\u07a0\u0005\u00e0q\u0002\u07a0\u0081\u0003\u0002", "\u0002\u0002\u07a1\u07a2\u0005\u00a4S\u0002\u07a2\u0083\u0003\u0002", "\u0002\u0002\u07a3\u07a4\u0005\u00dep\u0002\u07a4\u0085\u0003\u0002", "\u0002\u0002\u07a5\u07aa\u0005\u0088E\u0002\u07a6\u07a7\u0007\u009c", "\u0002\u0002\u07a7\u07a9\u0005\u0088E\u0002\u07a8\u07a6\u0003\u0002", "\u0002\u0002\u07a9\u07ac\u0003\u0002\u0002\u0002\u07aa\u07a8\u0003\u0002", "\u0002\u0002\u07aa\u07ab\u0003\u0002\u0002\u0002\u07ab\u0087\u0003\u0002", "\u0002\u0002\u07ac\u07aa\u0003\u0002\u0002\u0002\u07ad\u07b1\u0005\u008a", "F\u0002\u07ae\u07b0\u0005\u008aF\u0002\u07af\u07ae\u0003\u0002\u0002", "\u0002\u07b0\u07b3\u0003\u0002\u0002\u0002\u07b1\u07af\u0003\u0002\u0002", "\u0002\u07b1\u07b2\u0003\u0002\u0002\u0002\u07b2\u0089\u0003\u0002\u0002", "\u0002\u07b3\u07b1\u0003\u0002\u0002\u0002\u07b4\u07b6\u0005\u0084C", "\u0002\u07b5\u07b7\u0005\u008cG\u0002\u07b6\u07b5\u0003\u0002\u0002", "\u0002\u07b6\u07b7\u0003\u0002\u0002\u0002\u07b7\u008b\u0003\u0002\u0002", "\u0002\u07b8\u07cf\u0007\u0096\u0002\u0002\u07b9\u07cf\u0007\t\u0002", "\u0002\u07ba\u07cf\u0007\u0094\u0002\u0002\u07bb\u07cf\u0007\n\u0002", "\u0002\u07bc\u07cf\u0007\u000b\u0002\u0002\u07bd\u07cf\u0007\f\u0002", "\u0002\u07be\u07c0\u0007\r\u0002\u0002\u07bf\u07c1\u0005\u008eH\u0002", "\u07c0\u07bf\u0003\u0002\u0002\u0002\u07c0\u07c1\u0003\u0002\u0002\u0002", "\u07c1\u07c2\u0003\u0002\u0002\u0002\u07c2\u07c4\u0007\u0006\u0002\u0002", "\u07c3\u07c5\u0005\u0090I\u0002\u07c4\u07c3\u0003\u0002\u0002\u0002", "\u07c4\u07c5\u0003\u0002\u0002\u0002\u07c5\u07c6\u0003\u0002\u0002\u0002", "\u07c6\u07c8\u0007\u000e\u0002\u0002\u07c7\u07c9\u0007\u000b\u0002\u0002", "\u07c8\u07c7\u0003\u0002\u0002\u0002\u07c8\u07c9\u0003\u0002\u0002\u0002", "\u07c9\u07cf\u0003\u0002\u0002\u0002\u07ca\u07cb\u0007\r\u0002\u0002", "\u07cb\u07cc\u0005\u0092J\u0002\u07cc\u07cd\u0007\u000e\u0002\u0002", "\u07cd\u07cf\u0003\u0002\u0002\u0002\u07ce\u07b8\u0003\u0002\u0002\u0002", "\u07ce\u07b9\u0003\u0002\u0002\u0002\u07ce\u07ba\u0003\u0002\u0002\u0002", "\u07ce\u07bb\u0003\u0002\u0002\u0002\u07ce\u07bc\u0003\u0002\u0002\u0002", "\u07ce\u07bd\u0003\u0002\u0002\u0002\u07ce\u07be\u0003\u0002\u0002\u0002", "\u07ce\u07ca\u0003\u0002\u0002\u0002\u07cf\u008d\u0003\u0002\u0002\u0002", "\u07d0\u07d1\u0007\u010b\u0002\u0002\u07d1\u008f\u0003\u0002\u0002\u0002", "\u07d2\u07d3\u0007\u010b\u0002\u0002\u07d3\u0091\u0003\u0002\u0002\u0002", "\u07d4\u07d5\u0007\u010b\u0002\u0002\u07d5\u0093\u0003\u0002\u0002\u0002", "\u07d6\u07d7\u0007X\u0002\u0002\u07d7\u07dc\u0005\u00a4S\u0002\u07d8", "\u07d9\u0007\u0006\u0002\u0002\u07d9\u07db\u0005\u00a4S\u0002\u07da", "\u07d8\u0003\u0002\u0002\u0002\u07db\u07de\u0003\u0002\u0002\u0002\u07dc", "\u07da\u0003\u0002\u0002\u0002\u07dc\u07dd\u0003\u0002\u0002\u0002\u07dd", "\u07df\u0003\u0002\u0002\u0002\u07de\u07dc\u0003\u0002\u0002\u0002\u07df", "\u07e0\u0005\u0098M\u0002\u07e0\u0095\u0003\u0002\u0002\u0002\u07e1", "\u07e2\u0005\u00dep\u0002\u07e2\u07eb\u0007\u0003\u0002\u0002\u07e3", "\u07e8\u0005\u00a4S\u0002\u07e4\u07e5\u0007\u0006\u0002\u0002\u07e5", "\u07e7\u0005\u00a4S\u0002\u07e6\u07e4\u0003\u0002\u0002\u0002\u07e7", "\u07ea\u0003\u0002\u0002\u0002\u07e8\u07e6\u0003\u0002\u0002\u0002\u07e8", "\u07e9\u0003\u0002\u0002\u0002\u07e9\u07ec\u0003\u0002\u0002\u0002\u07ea", "\u07e8\u0003\u0002\u0002\u0002\u07eb\u07e3\u0003\u0002\u0002\u0002\u07eb", "\u07ec\u0003\u0002\u0002\u0002\u07ec\u07ed\u0003\u0002\u0002\u0002\u07ed", "\u07ee\u0007\u0004\u0002\u0002\u07ee\u07ef\u0005\u0098M\u0002\u07ef", "\u0097\u0003\u0002\u0002\u0002\u07f0\u07f2\u0007\u0018\u0002\u0002\u07f1", "\u07f0\u0003\u0002\u0002\u0002\u07f1\u07f2\u0003\u0002\u0002\u0002\u07f2", "\u07f3\u0003\u0002\u0002\u0002\u07f3\u07f5\u0005\u00e0q\u0002\u07f4", "\u07f6\u0005p9\u0002\u07f5\u07f4\u0003\u0002\u0002\u0002\u07f5\u07f6", "\u0003\u0002\u0002\u0002\u07f6\u07f8\u0003\u0002\u0002\u0002\u07f7\u07f1", "\u0003\u0002\u0002\u0002\u07f7\u07f8\u0003\u0002\u0002\u0002\u07f8\u0099", "\u0003\u0002\u0002\u0002\u07f9\u07fa\u0007V\u0002\u0002\u07fa\u07fb", "\u0007c\u0002\u0002\u07fb\u07fc\u0007\u00aa\u0002\u0002\u07fc\u0800", "\u0007\u0107\u0002\u0002\u07fd\u07fe\u0007W\u0002\u0002\u07fe\u07ff", "\u0007\u00ab\u0002\u0002\u07ff\u0801\u0005.\u0018\u0002\u0800\u07fd", "\u0003\u0002\u0002\u0002\u0800\u0801\u0003\u0002\u0002\u0002\u0801\u082b", "\u0003\u0002\u0002\u0002\u0802\u0803\u0007V\u0002\u0002\u0803\u0804", "\u0007c\u0002\u0002\u0804\u080e\u0007\u00ae\u0002\u0002\u0805\u0806", "\u0007\u00af\u0002\u0002\u0806\u0807\u0007\u00b0\u0002\u0002\u0807\u0808", "\u0007\u001e\u0002\u0002\u0808\u080c\u0007\u0107\u0002\u0002\u0809\u080a", "\u0007\u00b4\u0002\u0002\u080a\u080b\u0007\u001e\u0002\u0002\u080b\u080d", "\u0007\u0107\u0002\u0002\u080c\u0809\u0003\u0002\u0002\u0002\u080c\u080d", "\u0003\u0002\u0002\u0002\u080d\u080f\u0003\u0002\u0002\u0002\u080e\u0805", "\u0003\u0002\u0002\u0002\u080e\u080f\u0003\u0002\u0002\u0002\u080f\u0815", "\u0003\u0002\u0002\u0002\u0810\u0811\u0007\u00b1\u0002\u0002\u0811\u0812", "\u0007\u00b2\u0002\u0002\u0812\u0813\u0007\u00b0\u0002\u0002\u0813\u0814", "\u0007\u001e\u0002\u0002\u0814\u0816\u0007\u0107\u0002\u0002\u0815\u0810", "\u0003\u0002\u0002\u0002\u0815\u0816\u0003\u0002\u0002\u0002\u0816\u081c", "\u0003\u0002\u0002\u0002\u0817\u0818\u0007z\u0002\u0002\u0818\u0819", "\u0007\u00b3\u0002\u0002\u0819\u081a\u0007\u00b0\u0002\u0002\u081a\u081b", "\u0007\u001e\u0002\u0002\u081b\u081d\u0007\u0107\u0002\u0002\u081c\u0817", "\u0003\u0002\u0002\u0002\u081c\u081d\u0003\u0002\u0002\u0002\u081d\u0822", "\u0003\u0002\u0002\u0002\u081e\u081f\u0007\u00b5\u0002\u0002\u081f\u0820", "\u0007\u00b0\u0002\u0002\u0820\u0821\u0007\u001e\u0002\u0002\u0821\u0823", "\u0007\u0107\u0002\u0002\u0822\u081e\u0003\u0002\u0002\u0002\u0822\u0823", "\u0003\u0002\u0002\u0002\u0823\u0828\u0003\u0002\u0002\u0002\u0824\u0825", "\u00071\u0002\u0002\u0825\u0826\u0007\u00e3\u0002\u0002\u0826\u0827", "\u0007\u0018\u0002\u0002\u0827\u0829\u0007\u0107\u0002\u0002\u0828\u0824", "\u0003\u0002\u0002\u0002\u0828\u0829\u0003\u0002\u0002\u0002\u0829\u082b", "\u0003\u0002\u0002\u0002\u082a\u07f9\u0003\u0002\u0002\u0002\u082a\u0802", "\u0003\u0002\u0002\u0002\u082b\u009b\u0003\u0002\u0002\u0002\u082c\u082d", "\u0005\u00dep\u0002\u082d\u082e\u0007\u0005\u0002\u0002\u082e\u0830", "\u0003\u0002\u0002\u0002\u082f\u082c\u0003\u0002\u0002\u0002\u082f\u0830", "\u0003\u0002\u0002\u0002\u0830\u0831\u0003\u0002\u0002\u0002\u0831\u0848", "\u0005\u00dep\u0002\u0832\u0833\u0007I\u0002\u0002\u0833\u0834\u0007", "Z\u0002\u0002\u0834\u0835\u0007\u0003\u0002\u0002\u0835\u0836\u0005", "\u009eP\u0002\u0836\u0837\u0007\u0003\u0002\u0002\u0837\u083c\u0005", "\u00a4S\u0002\u0838\u0839\u0007\u0006\u0002\u0002\u0839\u083b\u0005", "\u00a4S\u0002\u083a\u0838\u0003\u0002\u0002\u0002\u083b\u083e\u0003", "\u0002\u0002\u0002\u083c\u083a\u0003\u0002\u0002\u0002\u083c\u083d\u0003", "\u0002\u0002\u0002\u083d\u083f\u0003\u0002\u0002\u0002\u083e\u083c\u0003", "\u0002\u0002\u0002\u083f\u0840\u0007\u0004\u0002\u0002\u0840\u0841\u0007", "\u0004\u0002\u0002\u0841\u0848\u0003\u0002\u0002\u0002\u0842\u0843\u0007", "\u00fb\u0002\u0002\u0843\u0844\u0007\u0003\u0002\u0002\u0844\u0845\u0005", "\u00a4S\u0002\u0845\u0846\u0007\u0004\u0002\u0002\u0846\u0848\u0003", "\u0002\u0002\u0002\u0847\u082f\u0003\u0002\u0002\u0002\u0847\u0832\u0003", "\u0002\u0002\u0002\u0847\u0842\u0003\u0002\u0002\u0002\u0848\u009d\u0003", "\u0002\u0002\u0002\u0849\u084a\u0005\u00dep\u0002\u084a\u084b\u0007", "\u0005\u0002\u0002\u084b\u084d\u0003\u0002\u0002\u0002\u084c\u0849\u0003", "\u0002\u0002\u0002\u084c\u084d\u0003\u0002\u0002\u0002\u084d\u084e\u0003", "\u0002\u0002\u0002\u084e\u084f\u0005\u00dep\u0002\u084f\u009f\u0003", "\u0002\u0002\u0002\u0850\u0858\u0005\u00a4S\u0002\u0851\u0853\u0007", "\u0018\u0002\u0002\u0852\u0851\u0003\u0002\u0002\u0002\u0852\u0853\u0003", "\u0002\u0002\u0002\u0853\u0856\u0003\u0002\u0002\u0002\u0854\u0857\u0005", "\u00dep\u0002\u0855\u0857\u0005p9\u0002\u0856\u0854\u0003\u0002\u0002", "\u0002\u0856\u0855\u0003\u0002\u0002\u0002\u0857\u0859\u0003\u0002\u0002", "\u0002\u0858\u0852\u0003\u0002\u0002\u0002\u0858\u0859\u0003\u0002\u0002", "\u0002\u0859\u00a1\u0003\u0002\u0002\u0002\u085a\u085f\u0005\u00a0Q", "\u0002\u085b\u085c\u0007\u0006\u0002\u0002\u085c\u085e\u0005\u00a0Q", "\u0002\u085d\u085b\u0003\u0002\u0002\u0002\u085e\u0861\u0003\u0002\u0002", "\u0002\u085f\u085d\u0003\u0002\u0002\u0002\u085f\u0860\u0003\u0002\u0002", "\u0002\u0860\u00a3\u0003\u0002\u0002\u0002\u0861\u085f\u0003\u0002\u0002", "\u0002\u0862\u0863\u0005\u00a6T\u0002\u0863\u00a5\u0003\u0002\u0002", "\u0002\u0864\u0865\bT\u0001\u0002\u0865\u0866\u0007*\u0002\u0002\u0866", "\u0871\u0005\u00a6T\u0007\u0867\u0868\u0007,\u0002\u0002\u0868\u0869", "\u0007\u0003\u0002\u0002\u0869\u086a\u0005\u001a\u000e\u0002\u086a\u086b", "\u0007\u0004\u0002\u0002\u086b\u0871\u0003\u0002\u0002\u0002\u086c\u086e", "\u0005\u00aaV\u0002\u086d\u086f\u0005\u00a8U\u0002\u086e\u086d\u0003", "\u0002\u0002\u0002\u086e\u086f\u0003\u0002\u0002\u0002\u086f\u0871\u0003", "\u0002\u0002\u0002\u0870\u0864\u0003\u0002\u0002\u0002\u0870\u0867\u0003", "\u0002\u0002\u0002\u0870\u086c\u0003\u0002\u0002\u0002\u0871\u087a\u0003", "\u0002\u0002\u0002\u0872\u0873\f\u0004\u0002\u0002\u0873\u0874\u0007", "(\u0002\u0002\u0874\u0879\u0005\u00a6T\u0005\u0875\u0876\f\u0003\u0002", "\u0002\u0876\u0877\u0007\'\u0002\u0002\u0877\u0879\u0005\u00a6T\u0004", "\u0878\u0872\u0003\u0002\u0002\u0002\u0878\u0875\u0003\u0002\u0002\u0002", "\u0879\u087c\u0003\u0002\u0002\u0002\u087a\u0878\u0003\u0002\u0002\u0002", "\u087a\u087b\u0003\u0002\u0002\u0002\u087b\u00a7\u0003\u0002\u0002\u0002", "\u087c\u087a\u0003\u0002\u0002\u0002\u087d\u087f\u0007*\u0002\u0002", "\u087e\u087d\u0003\u0002\u0002\u0002\u087e\u087f\u0003\u0002\u0002\u0002", "\u087f\u0880\u0003\u0002\u0002\u0002\u0880\u0881\u0007-\u0002\u0002", "\u0881\u0882\u0005\u00aaV\u0002\u0882\u0883\u0007(\u0002\u0002\u0883", "\u0884\u0005\u00aaV\u0002\u0884\u08ae\u0003\u0002\u0002\u0002\u0885", "\u0887\u0007*\u0002\u0002\u0886\u0885\u0003\u0002\u0002\u0002\u0886", "\u0887\u0003\u0002\u0002\u0002\u0887\u0888\u0003\u0002\u0002\u0002\u0888", "\u0889\u0007)\u0002\u0002\u0889\u088a\u0007\u0003\u0002\u0002\u088a", "\u088f\u0005\u00a4S\u0002\u088b\u088c\u0007\u0006\u0002\u0002\u088c", "\u088e\u0005\u00a4S\u0002\u088d\u088b\u0003\u0002\u0002\u0002\u088e", "\u0891\u0003\u0002\u0002\u0002\u088f\u088d\u0003\u0002\u0002\u0002\u088f", "\u0890\u0003\u0002\u0002\u0002\u0890\u0892\u0003\u0002\u0002\u0002\u0891", "\u088f\u0003\u0002\u0002\u0002\u0892\u0893\u0007\u0004\u0002\u0002\u0893", "\u08ae\u0003\u0002\u0002\u0002\u0894\u0896\u0007*\u0002\u0002\u0895", "\u0894\u0003\u0002\u0002\u0002\u0895\u0896\u0003\u0002\u0002\u0002\u0896", "\u0897\u0003\u0002\u0002\u0002\u0897\u0898\u0007)\u0002\u0002\u0898", "\u0899\u0007\u0003\u0002\u0002\u0899\u089a\u0005\u001a\u000e\u0002\u089a", "\u089b\u0007\u0004\u0002\u0002\u089b\u08ae\u0003\u0002\u0002\u0002\u089c", "\u089e\u0007*\u0002\u0002\u089d\u089c\u0003\u0002\u0002\u0002\u089d", "\u089e\u0003\u0002\u0002\u0002\u089e\u089f\u0003\u0002\u0002\u0002\u089f", "\u08a0\t\u000f\u0002\u0002\u08a0\u08ae\u0005\u00aaV\u0002\u08a1\u08a3", "\u00070\u0002\u0002\u08a2\u08a4\u0007*\u0002\u0002\u08a3\u08a2\u0003", "\u0002\u0002\u0002\u08a3\u08a4\u0003\u0002\u0002\u0002\u08a4\u08a5\u0003", "\u0002\u0002\u0002\u08a5\u08ae\u00071\u0002\u0002\u08a6\u08a8\u0007", "0\u0002\u0002\u08a7\u08a9\u0007*\u0002\u0002\u08a8\u08a7\u0003\u0002", "\u0002\u0002\u08a8\u08a9\u0003\u0002\u0002\u0002\u08a9\u08aa\u0003\u0002", "\u0002\u0002\u08aa\u08ab\u0007\u001b\u0002\u0002\u08ab\u08ac\u0007\u0016", "\u0002\u0002\u08ac\u08ae\u0005\u00aaV\u0002\u08ad\u087e\u0003\u0002", "\u0002\u0002\u08ad\u0886\u0003\u0002\u0002\u0002\u08ad\u0895\u0003\u0002", "\u0002\u0002\u08ad\u089d\u0003\u0002\u0002\u0002\u08ad\u08a1\u0003\u0002", "\u0002\u0002\u08ad\u08a6\u0003\u0002\u0002\u0002\u08ae\u00a9\u0003\u0002", "\u0002\u0002\u08af\u08b0\bV\u0001\u0002\u08b0\u08b4\u0005\u00acW\u0002", "\u08b1\u08b2\t\u0010\u0002\u0002\u08b2\u08b4\u0005\u00aaV\t\u08b3\u08af", "\u0003\u0002\u0002\u0002\u08b3\u08b1\u0003\u0002\u0002\u0002\u08b4\u08ca", "\u0003\u0002\u0002\u0002\u08b5\u08b6\f\b\u0002\u0002\u08b6\u08b7\t\u0011", "\u0002\u0002\u08b7\u08c9\u0005\u00aaV\t\u08b8\u08b9\f\u0007\u0002\u0002", "\u08b9\u08ba\t\u0012\u0002\u0002\u08ba\u08c9\u0005\u00aaV\b\u08bb\u08bc", "\f\u0006\u0002\u0002\u08bc\u08bd\u0007\u009b\u0002\u0002\u08bd\u08c9", "\u0005\u00aaV\u0007\u08be\u08bf\f\u0005\u0002\u0002\u08bf\u08c0\u0007", "\u009e\u0002\u0002\u08c0\u08c9\u0005\u00aaV\u0006\u08c1\u08c2\f\u0004", "\u0002\u0002\u08c2\u08c3\u0007\u009c\u0002\u0002\u08c3\u08c9\u0005\u00aa", "V\u0005\u08c4\u08c5\f\u0003\u0002\u0002\u08c5\u08c6\u0005\u00b0Y\u0002", "\u08c6\u08c7\u0005\u00aaV\u0004\u08c7\u08c9\u0003\u0002\u0002\u0002", "\u08c8\u08b5\u0003\u0002\u0002\u0002\u08c8\u08b8\u0003\u0002\u0002\u0002", "\u08c8\u08bb\u0003\u0002\u0002\u0002\u08c8\u08be\u0003\u0002\u0002\u0002", "\u08c8\u08c1\u0003\u0002\u0002\u0002\u08c8\u08c4\u0003\u0002\u0002\u0002", "\u08c9\u08cc\u0003\u0002\u0002\u0002\u08ca\u08c8\u0003\u0002\u0002\u0002", "\u08ca\u08cb\u0003\u0002\u0002\u0002\u08cb\u00ab\u0003\u0002\u0002\u0002", "\u08cc\u08ca\u0003\u0002\u0002\u0002\u08cd\u08ce\bW\u0001\u0002\u08ce", "\u08d0\u00079\u0002\u0002\u08cf\u08d1\u0005\u00d0i\u0002\u08d0\u08cf", "\u0003\u0002\u0002\u0002\u08d1\u08d2\u0003\u0002\u0002\u0002\u08d2\u08d0", "\u0003\u0002\u0002\u0002\u08d2\u08d3\u0003\u0002\u0002\u0002\u08d3\u08d6", "\u0003\u0002\u0002\u0002\u08d4\u08d5\u0007<\u0002\u0002\u08d5\u08d7", "\u0005\u00a4S\u0002\u08d6\u08d4\u0003\u0002\u0002\u0002\u08d6\u08d7", "\u0003\u0002\u0002\u0002\u08d7\u08d8\u0003\u0002\u0002\u0002\u08d8\u08d9", "\u0007=\u0002\u0002\u08d9\u095f\u0003\u0002\u0002\u0002\u08da\u08db", "\u00079\u0002\u0002\u08db\u08dd\u0005\u00a4S\u0002\u08dc\u08de\u0005", "\u00d0i\u0002\u08dd\u08dc\u0003\u0002\u0002\u0002\u08de\u08df\u0003", "\u0002\u0002\u0002\u08df\u08dd\u0003\u0002\u0002\u0002\u08df\u08e0\u0003", "\u0002\u0002\u0002\u08e0\u08e3\u0003\u0002\u0002\u0002\u08e1\u08e2\u0007", "<\u0002\u0002\u08e2\u08e4\u0005\u00a4S\u0002\u08e3\u08e1\u0003\u0002", "\u0002\u0002\u08e3\u08e4\u0003\u0002\u0002\u0002\u08e4\u08e5\u0003\u0002", "\u0002\u0002\u08e5\u08e6\u0007=\u0002\u0002\u08e6\u095f\u0003\u0002", "\u0002\u0002\u08e7\u08e8\u0007g\u0002\u0002\u08e8\u08e9\u0007\u0003", "\u0002\u0002\u08e9\u08ea\u0005\u00a4S\u0002\u08ea\u08eb\u0007\u0018", "\u0002\u0002\u08eb\u08ec\u0005\u00c0a\u0002\u08ec\u08ed\u0007\u0004", "\u0002\u0002\u08ed\u095f\u0003\u0002\u0002\u0002\u08ee\u08ef\u0007{", "\u0002\u0002\u08ef\u08f8\u0007\u0003\u0002\u0002\u08f0\u08f5\u0005\u00a0", "Q\u0002\u08f1\u08f2\u0007\u0006\u0002\u0002\u08f2\u08f4\u0005\u00a0", "Q\u0002\u08f3\u08f1\u0003\u0002\u0002\u0002\u08f4\u08f7\u0003\u0002", "\u0002\u0002\u08f5\u08f3\u0003\u0002\u0002\u0002\u08f5\u08f6\u0003\u0002", "\u0002\u0002\u08f6\u08f9\u0003\u0002\u0002\u0002\u08f7\u08f5\u0003\u0002", "\u0002\u0002\u08f8\u08f0\u0003\u0002\u0002\u0002\u08f8\u08f9\u0003\u0002", "\u0002\u0002\u08f9\u08fa\u0003\u0002\u0002\u0002\u08fa\u095f\u0007\u0004", "\u0002\u0002\u08fb\u08fc\u0007S\u0002\u0002\u08fc\u08fd\u0007\u0003", "\u0002\u0002\u08fd\u0900\u0005\u00a4S\u0002\u08fe\u08ff\u0007\u0085", "\u0002\u0002\u08ff\u0901\u00074\u0002\u0002\u0900\u08fe\u0003\u0002", "\u0002\u0002\u0900\u0901\u0003\u0002\u0002\u0002\u0901\u0902\u0003\u0002", "\u0002\u0002\u0902\u0903\u0007\u0004\u0002\u0002\u0903\u095f\u0003\u0002", "\u0002\u0002\u0904\u0905\u0007U\u0002\u0002\u0905\u0906\u0007\u0003", "\u0002\u0002\u0906\u0909\u0005\u00a4S\u0002\u0907\u0908\u0007\u0085", "\u0002\u0002\u0908\u090a\u00074\u0002\u0002\u0909\u0907\u0003\u0002", "\u0002\u0002\u0909\u090a\u0003\u0002\u0002\u0002\u090a\u090b\u0003\u0002", "\u0002\u0002\u090b\u090c\u0007\u0004\u0002\u0002\u090c\u095f\u0003\u0002", "\u0002\u0002\u090d\u090e\u0007\u008a\u0002\u0002\u090e\u090f\u0007\u0003", "\u0002\u0002\u090f\u0910\u0005\u00aaV\u0002\u0910\u0911\u0007)\u0002", "\u0002\u0911\u0912\u0005\u00aaV\u0002\u0912\u0913\u0007\u0004\u0002", "\u0002\u0913\u095f\u0003\u0002\u0002\u0002\u0914\u095f\u0005\u00aeX", "\u0002\u0915\u095f\u0007\u0096\u0002\u0002\u0916\u0917\u0005\u00dco", "\u0002\u0917\u0918\u0007\u0005\u0002\u0002\u0918\u0919\u0007\u0096\u0002", "\u0002\u0919\u095f\u0003\u0002\u0002\u0002\u091a\u091b\u0007\u0003\u0002", "\u0002\u091b\u091e\u0005\u00a0Q\u0002\u091c\u091d\u0007\u0006\u0002", "\u0002\u091d\u091f\u0005\u00a0Q\u0002\u091e\u091c\u0003\u0002\u0002", "\u0002\u091f\u0920\u0003\u0002\u0002\u0002\u0920\u091e\u0003\u0002\u0002", "\u0002\u0920\u0921\u0003\u0002\u0002\u0002\u0921\u0922\u0003\u0002\u0002", "\u0002\u0922\u0923\u0007\u0004\u0002\u0002\u0923\u095f\u0003\u0002\u0002", "\u0002\u0924\u0925\u0007\u0003\u0002\u0002\u0925\u0926\u0005\u001a\u000e", "\u0002\u0926\u0927\u0007\u0004\u0002\u0002\u0927\u095f\u0003\u0002\u0002", "\u0002\u0928\u0929\u0005\u00dco\u0002\u0929\u0935\u0007\u0003\u0002", "\u0002\u092a\u092c\u0005b2\u0002\u092b\u092a\u0003\u0002\u0002\u0002", "\u092b\u092c\u0003\u0002\u0002\u0002\u092c\u092d\u0003\u0002\u0002\u0002", "\u092d\u0932\u0005\u00a4S\u0002\u092e\u092f\u0007\u0006\u0002\u0002", "\u092f\u0931\u0005\u00a4S\u0002\u0930\u092e\u0003\u0002\u0002\u0002", "\u0931\u0934\u0003\u0002\u0002\u0002\u0932\u0930\u0003\u0002\u0002\u0002", "\u0932\u0933\u0003\u0002\u0002\u0002\u0933\u0936\u0003\u0002\u0002\u0002", "\u0934\u0932\u0003\u0002\u0002\u0002\u0935\u092b\u0003\u0002\u0002\u0002", "\u0935\u0936\u0003\u0002\u0002\u0002\u0936\u0937\u0003\u0002\u0002\u0002", "\u0937\u093a\u0007\u0004\u0002\u0002\u0938\u0939\u0007K\u0002\u0002", "\u0939\u093b\u0005\u00d6l\u0002\u093a\u0938\u0003\u0002\u0002\u0002", "\u093a\u093b\u0003\u0002\u0002\u0002\u093b\u095f\u0003\u0002\u0002\u0002", "\u093c\u093d\u0005\u00dco\u0002\u093d\u093e\u0007\u0003\u0002\u0002", "\u093e\u093f\t\u0013\u0002\u0002\u093f\u0940\u0005\u00a4S\u0002\u0940", "\u0941\u0007\u0016\u0002\u0002\u0941\u0942\u0005\u00a4S\u0002\u0942", "\u0943\u0007\u0004\u0002\u0002\u0943\u095f\u0003\u0002\u0002\u0002\u0944", "\u0945\u0007\u010f\u0002\u0002\u0945\u0946\u0007\u000f\u0002\u0002\u0946", "\u095f\u0005\u00a4S\u0002\u0947\u0948\u0007\u0003\u0002\u0002\u0948", "\u094b\u0007\u010f\u0002\u0002\u0949\u094a\u0007\u0006\u0002\u0002\u094a", "\u094c\u0007\u010f\u0002\u0002\u094b\u0949\u0003\u0002\u0002\u0002\u094c", "\u094d\u0003\u0002\u0002\u0002\u094d\u094b\u0003\u0002\u0002\u0002\u094d", "\u094e\u0003\u0002\u0002\u0002\u094e\u094f\u0003\u0002\u0002\u0002\u094f", "\u0950\u0007\u0004\u0002\u0002\u0950\u0951\u0007\u000f\u0002\u0002\u0951", "\u095f\u0005\u00a4S\u0002\u0952\u095f\u0005\u00dep\u0002\u0953\u0954", "\u0007\u0003\u0002\u0002\u0954\u0955\u0005\u00a4S\u0002\u0955\u0956", "\u0007\u0004\u0002\u0002\u0956\u095f\u0003\u0002\u0002\u0002\u0957\u0958", "\u0007\u008b\u0002\u0002\u0958\u0959\u0007\u0003\u0002\u0002\u0959\u095a", "\u0005\u00dep\u0002\u095a\u095b\u0007\u0016\u0002\u0002\u095b\u095c", "\u0005\u00aaV\u0002\u095c\u095d\u0007\u0004\u0002\u0002\u095d\u095f", "\u0003\u0002\u0002\u0002\u095e\u08cd\u0003\u0002\u0002\u0002\u095e\u08da", "\u0003\u0002\u0002\u0002\u095e\u08e7\u0003\u0002\u0002\u0002\u095e\u08ee", "\u0003\u0002\u0002\u0002\u095e\u08fb\u0003\u0002\u0002\u0002\u095e\u0904", "\u0003\u0002\u0002\u0002\u095e\u090d\u0003\u0002\u0002\u0002\u095e\u0914", "\u0003\u0002\u0002\u0002\u095e\u0915\u0003\u0002\u0002\u0002\u095e\u0916", "\u0003\u0002\u0002\u0002\u095e\u091a\u0003\u0002\u0002\u0002\u095e\u0924", "\u0003\u0002\u0002\u0002\u095e\u0928\u0003\u0002\u0002\u0002\u095e\u093c", "\u0003\u0002\u0002\u0002\u095e\u0944\u0003\u0002\u0002\u0002\u095e\u0947", "\u0003\u0002\u0002\u0002\u095e\u0952\u0003\u0002\u0002\u0002\u095e\u0953", "\u0003\u0002\u0002\u0002\u095e\u0957\u0003\u0002\u0002\u0002\u095f\u096a", "\u0003\u0002\u0002\u0002\u0960\u0961\f\u0007\u0002\u0002\u0961\u0962", "\u0007\u0010\u0002\u0002\u0962\u0963\u0005\u00aaV\u0002\u0963\u0964", "\u0007\u0011\u0002\u0002\u0964\u0969\u0003\u0002\u0002\u0002\u0965\u0966", "\f\u0005\u0002\u0002\u0966\u0967\u0007\u0005\u0002\u0002\u0967\u0969", "\u0005\u00dep\u0002\u0968\u0960\u0003\u0002\u0002\u0002\u0968\u0965", "\u0003\u0002\u0002\u0002\u0969\u096c\u0003\u0002\u0002\u0002\u096a\u0968", "\u0003\u0002\u0002\u0002\u096a\u096b\u0003\u0002\u0002\u0002\u096b\u00ad", "\u0003\u0002\u0002\u0002\u096c\u096a\u0003\u0002\u0002\u0002\u096d\u097a", "\u00071\u0002\u0002\u096e\u097a\u0005\u00b8]\u0002\u096f\u0970\u0005", "\u00dep\u0002\u0970\u0971\u0007\u0107\u0002\u0002\u0971\u097a\u0003", "\u0002\u0002\u0002\u0972\u097a\u0005\u00e4s\u0002\u0973\u097a\u0005", "\u00b6\\\u0002\u0974\u0976\u0007\u0107\u0002\u0002\u0975\u0974\u0003", "\u0002\u0002\u0002\u0976\u0977\u0003\u0002\u0002\u0002\u0977\u0975\u0003", "\u0002\u0002\u0002\u0977\u0978\u0003\u0002\u0002\u0002\u0978\u097a\u0003", "\u0002\u0002\u0002\u0979\u096d\u0003\u0002\u0002\u0002\u0979\u096e\u0003", "\u0002\u0002\u0002\u0979\u096f\u0003\u0002\u0002\u0002\u0979\u0972\u0003", "\u0002\u0002\u0002\u0979\u0973\u0003\u0002\u0002\u0002\u0979\u0975\u0003", "\u0002\u0002\u0002\u097a\u00af\u0003\u0002\u0002\u0002\u097b\u097c\t", "\u0014\u0002\u0002\u097c\u00b1\u0003\u0002\u0002\u0002\u097d\u097e\t", "\u0015\u0002\u0002\u097e\u00b3\u0003\u0002\u0002\u0002\u097f\u0980\t", "\u0016\u0002\u0002\u0980\u00b5\u0003\u0002\u0002\u0002\u0981\u0982\t", "\u0017\u0002\u0002\u0982\u00b7\u0003\u0002\u0002\u0002\u0983\u0987\u0007", "8\u0002\u0002\u0984\u0986\u0005\u00ba^\u0002\u0985\u0984\u0003\u0002", "\u0002\u0002\u0986\u0989\u0003\u0002\u0002\u0002\u0987\u0985\u0003\u0002", "\u0002\u0002\u0987\u0988\u0003\u0002\u0002\u0002\u0988\u00b9\u0003\u0002", "\u0002\u0002\u0989\u0987\u0003\u0002\u0002\u0002\u098a\u098b\u0005\u00bc", "_\u0002\u098b\u098e\u0005\u00dep\u0002\u098c\u098d\u0007t\u0002\u0002", "\u098d\u098f\u0005\u00dep\u0002\u098e\u098c\u0003\u0002\u0002\u0002", "\u098e\u098f\u0003\u0002\u0002\u0002\u098f\u00bb\u0003\u0002\u0002\u0002", "\u0990\u0992\t\u0018\u0002\u0002\u0991\u0990\u0003\u0002\u0002\u0002", "\u0991\u0992\u0003\u0002\u0002\u0002\u0992\u0993\u0003\u0002\u0002\u0002", "\u0993\u0996\t\u000e\u0002\u0002\u0994\u0996\u0007\u0107\u0002\u0002", "\u0995\u0991\u0003\u0002\u0002\u0002\u0995\u0994\u0003\u0002\u0002\u0002", "\u0996\u00bd\u0003\u0002\u0002\u0002\u0997\u099b\u0007S\u0002\u0002", "\u0998\u0999\u0007T\u0002\u0002\u0999\u099b\u0005\u00dep\u0002\u099a", "\u0997\u0003\u0002\u0002\u0002\u099a\u0998\u0003\u0002\u0002\u0002\u099b", "\u00bf\u0003\u0002\u0002\u0002\u099c\u099d\u0007y\u0002\u0002\u099d", "\u099e\u0007\u0090\u0002\u0002\u099e\u099f\u0005\u00c0a\u0002\u099f", "\u09a0\u0007\u0092\u0002\u0002\u09a0\u09bf\u0003\u0002\u0002\u0002\u09a1", "\u09a2\u0007z\u0002\u0002\u09a2\u09a3\u0007\u0090\u0002\u0002\u09a3", "\u09a4\u0005\u00c0a\u0002\u09a4\u09a5\u0007\u0006\u0002\u0002\u09a5", "\u09a6\u0005\u00c0a\u0002\u09a6\u09a7\u0007\u0092\u0002\u0002\u09a7", "\u09bf\u0003\u0002\u0002\u0002\u09a8\u09af\u0007{\u0002\u0002\u09a9", "\u09ab\u0007\u0090\u0002\u0002\u09aa\u09ac\u0005\u00ccg\u0002\u09ab", "\u09aa\u0003\u0002\u0002\u0002\u09ab\u09ac\u0003\u0002\u0002\u0002\u09ac", "\u09ad\u0003\u0002\u0002\u0002\u09ad\u09b0\u0007\u0092\u0002\u0002\u09ae", "\u09b0\u0007\u008e\u0002\u0002\u09af\u09a9\u0003\u0002\u0002\u0002\u09af", "\u09ae\u0003\u0002\u0002\u0002\u09b0\u09bf\u0003\u0002\u0002\u0002\u09b1", "\u09bc\u0005\u00dep\u0002\u09b2\u09b3\u0007\u0003\u0002\u0002\u09b3", "\u09b8\u0007\u010b\u0002\u0002\u09b4\u09b5\u0007\u0006\u0002\u0002\u09b5", "\u09b7\u0007\u010b\u0002\u0002\u09b6\u09b4\u0003\u0002\u0002\u0002\u09b7", "\u09ba\u0003\u0002\u0002\u0002\u09b8\u09b6\u0003\u0002\u0002\u0002\u09b8", "\u09b9\u0003\u0002\u0002\u0002\u09b9\u09bb\u0003\u0002\u0002\u0002\u09ba", "\u09b8\u0003\u0002\u0002\u0002\u09bb\u09bd\u0007\u0004\u0002\u0002\u09bc", "\u09b2\u0003\u0002\u0002\u0002\u09bc\u09bd\u0003\u0002\u0002\u0002\u09bd", "\u09bf\u0003\u0002\u0002\u0002\u09be\u099c\u0003\u0002\u0002\u0002\u09be", "\u09a1\u0003\u0002\u0002\u0002\u09be\u09a8\u0003\u0002\u0002\u0002\u09be", "\u09b1\u0003\u0002\u0002\u0002\u09bf\u00c1\u0003\u0002\u0002\u0002\u09c0", "\u09c5\u0005\u00c4c\u0002\u09c1\u09c2\u0007\u0006\u0002\u0002\u09c2", "\u09c4\u0005\u00c4c\u0002\u09c3\u09c1\u0003\u0002\u0002\u0002\u09c4", "\u09c7\u0003\u0002\u0002\u0002\u09c5\u09c3\u0003\u0002\u0002\u0002\u09c5", "\u09c6\u0003\u0002\u0002\u0002\u09c6\u00c3\u0003\u0002\u0002\u0002\u09c7", "\u09c5\u0003\u0002\u0002\u0002\u09c8\u09c9\u0005\u00dep\u0002\u09c9", "\u09cc\u0005\u00c0a\u0002\u09ca\u09cb\u0007|\u0002\u0002\u09cb\u09cd", "\u0007\u0107\u0002\u0002\u09cc\u09ca\u0003\u0002\u0002\u0002\u09cc\u09cd", "\u0003\u0002\u0002\u0002\u09cd\u00c5\u0003\u0002\u0002\u0002\u09ce\u09d3", "\u0005\u00c8e\u0002\u09cf\u09d0\u0007\u0006\u0002\u0002\u09d0\u09d2", "\u0005\u00c8e\u0002\u09d1\u09cf\u0003\u0002\u0002\u0002\u09d2\u09d5", "\u0003\u0002\u0002\u0002\u09d3\u09d1\u0003\u0002\u0002\u0002\u09d3\u09d4", "\u0003\u0002\u0002\u0002\u09d4\u00c7\u0003\u0002\u0002\u0002\u09d5\u09d3", "\u0003\u0002\u0002\u0002\u09d6\u09db\u0005\u00caf\u0002\u09d7\u09d8", "\u0007\u0005\u0002\u0002\u09d8\u09da\u0005\u00caf\u0002\u09d9\u09d7", "\u0003\u0002\u0002\u0002\u09da\u09dd\u0003\u0002\u0002\u0002\u09db\u09d9", "\u0003\u0002\u0002\u0002\u09db\u09dc\u0003\u0002\u0002\u0002\u09dc\u09de", "\u0003\u0002\u0002\u0002\u09dd\u09db\u0003\u0002\u0002\u0002\u09de\u09e1", "\u0005\u00c0a\u0002\u09df\u09e0\u0007\u0018\u0002\u0002\u09e0\u09e2", "\u0005\u00dep\u0002\u09e1\u09df\u0003\u0002\u0002\u0002\u09e1\u09e2", "\u0003\u0002\u0002\u0002\u09e2\u09e5\u0003\u0002\u0002\u0002\u09e3\u09e4", "\u0007|\u0002\u0002\u09e4\u09e6\u0007\u0107\u0002\u0002\u09e5\u09e3", "\u0003\u0002\u0002\u0002\u09e5\u09e6\u0003\u0002\u0002\u0002\u09e6\u09fb", "\u0003\u0002\u0002\u0002\u09e7\u09e8\u0007\u00fa\u0002\u0002\u09e8\u09e9", "\u00077\u0002\u0002\u09e9\u09ea\u0005\u00dep\u0002\u09ea\u09eb\u0007", "\u0018\u0002\u0002\u09eb\u09ec\u0005\u00acW\u0002\u09ec\u09fb\u0003", "\u0002\u0002\u0002\u09ed\u09ee\u0007\u0012\u0002\u0002\u09ee\u09ef\u0007", "\u0013\u0002\u0002\u09ef\u09f0\u0007\u0003\u0002\u0002\u09f0\u09f5\u0005", "\u00caf\u0002\u09f1\u09f2\u0007\u0006\u0002\u0002\u09f2\u09f4\u0005", "\u00caf\u0002\u09f3\u09f1\u0003\u0002\u0002\u0002\u09f4\u09f7\u0003", "\u0002\u0002\u0002\u09f5\u09f3\u0003\u0002\u0002\u0002\u09f5\u09f6\u0003", "\u0002\u0002\u0002\u09f6\u09f8\u0003\u0002\u0002\u0002\u09f7\u09f5\u0003", "\u0002\u0002\u0002\u09f8\u09f9\u0007\u0004\u0002\u0002\u09f9\u09fb\u0003", "\u0002\u0002\u0002\u09fa\u09d6\u0003\u0002\u0002\u0002\u09fa\u09e7\u0003", "\u0002\u0002\u0002\u09fa\u09ed\u0003\u0002\u0002\u0002\u09fb\u00c9\u0003", "\u0002\u0002\u0002\u09fc\u0a03\u0005\u00dep\u0002\u09fd\u09fe\u0005", "\u00dep\u0002\u09fe\u09ff\u0007\u0010\u0002\u0002\u09ff\u0a00\u0005", "\u00aaV\u0002\u0a00\u0a01\u0007\u0011\u0002\u0002\u0a01\u0a03\u0003", "\u0002\u0002\u0002\u0a02\u09fc\u0003\u0002\u0002\u0002\u0a02\u09fd\u0003", "\u0002\u0002\u0002\u0a03\u00cb\u0003\u0002\u0002\u0002\u0a04\u0a09\u0005", "\u00ceh\u0002\u0a05\u0a06\u0007\u0006\u0002\u0002\u0a06\u0a08\u0005", "\u00ceh\u0002\u0a07\u0a05\u0003\u0002\u0002\u0002\u0a08\u0a0b\u0003", "\u0002\u0002\u0002\u0a09\u0a07\u0003\u0002\u0002\u0002\u0a09\u0a0a\u0003", "\u0002\u0002\u0002\u0a0a\u00cd\u0003\u0002\u0002\u0002\u0a0b\u0a09\u0003", "\u0002\u0002\u0002\u0a0c\u0a0d\u0005\u00dep\u0002\u0a0d\u0a0e\u0007", "\u0014\u0002\u0002\u0a0e\u0a11\u0005\u00c0a\u0002\u0a0f\u0a10\u0007", "|\u0002\u0002\u0a10\u0a12\u0007\u0107\u0002\u0002\u0a11\u0a0f\u0003", "\u0002\u0002\u0002\u0a11\u0a12\u0003\u0002\u0002\u0002\u0a12\u00cf\u0003", "\u0002\u0002\u0002\u0a13\u0a14\u0007:\u0002\u0002\u0a14\u0a15\u0005", "\u00a4S\u0002\u0a15\u0a16\u0007;\u0002\u0002\u0a16\u0a17\u0005\u00a4", "S\u0002\u0a17\u00d1\u0003\u0002\u0002\u0002\u0a18\u0a19\u0007J\u0002", "\u0002\u0a19\u0a1e\u0005\u00d4k\u0002\u0a1a\u0a1b\u0007\u0006\u0002", "\u0002\u0a1b\u0a1d\u0005\u00d4k\u0002\u0a1c\u0a1a\u0003\u0002\u0002", "\u0002\u0a1d\u0a20\u0003\u0002\u0002\u0002\u0a1e\u0a1c\u0003\u0002\u0002", "\u0002\u0a1e\u0a1f\u0003\u0002\u0002\u0002\u0a1f\u00d3\u0003\u0002\u0002", "\u0002\u0a20\u0a1e\u0003\u0002\u0002\u0002\u0a21\u0a22\u0005\u00dep", "\u0002\u0a22\u0a23\u0007\u0018\u0002\u0002\u0a23\u0a24\u0005\u00d6l", "\u0002\u0a24\u00d5\u0003\u0002\u0002\u0002\u0a25\u0a50\u0005\u00dep", "\u0002\u0a26\u0a49\u0007\u0003\u0002\u0002\u0a27\u0a28\u0007\u00a4\u0002", "\u0002\u0a28\u0a29\u0007\u001e\u0002\u0002\u0a29\u0a2e\u0005\u00a4S", "\u0002\u0a2a\u0a2b\u0007\u0006\u0002\u0002\u0a2b\u0a2d\u0005\u00a4S", "\u0002\u0a2c\u0a2a\u0003\u0002\u0002\u0002\u0a2d\u0a30\u0003\u0002\u0002", "\u0002\u0a2e\u0a2c\u0003\u0002\u0002\u0002\u0a2e\u0a2f\u0003\u0002\u0002", "\u0002\u0a2f\u0a4a\u0003\u0002\u0002\u0002\u0a30\u0a2e\u0003\u0002\u0002", "\u0002\u0a31\u0a32\t\u0019\u0002\u0002\u0a32\u0a33\u0007\u001e\u0002", "\u0002\u0a33\u0a38\u0005\u00a4S\u0002\u0a34\u0a35\u0007\u0006\u0002", "\u0002\u0a35\u0a37\u0005\u00a4S\u0002\u0a36\u0a34\u0003\u0002\u0002", "\u0002\u0a37\u0a3a\u0003\u0002\u0002\u0002\u0a38\u0a36\u0003\u0002\u0002", "\u0002\u0a38\u0a39\u0003\u0002\u0002\u0002\u0a39\u0a3c\u0003\u0002\u0002", "\u0002\u0a3a\u0a38\u0003\u0002\u0002\u0002\u0a3b\u0a31\u0003\u0002\u0002", "\u0002\u0a3b\u0a3c\u0003\u0002\u0002\u0002\u0a3c\u0a47\u0003\u0002\u0002", "\u0002\u0a3d\u0a3e\t\u001a\u0002\u0002\u0a3e\u0a3f\u0007\u001e\u0002", "\u0002\u0a3f\u0a44\u0005L\'\u0002\u0a40\u0a41\u0007\u0006\u0002\u0002", "\u0a41\u0a43\u0005L\'\u0002\u0a42\u0a40\u0003\u0002\u0002\u0002\u0a43", "\u0a46\u0003\u0002\u0002\u0002\u0a44\u0a42\u0003\u0002\u0002\u0002\u0a44", "\u0a45\u0003\u0002\u0002\u0002\u0a45\u0a48\u0003\u0002\u0002\u0002\u0a46", "\u0a44\u0003\u0002\u0002\u0002\u0a47\u0a3d\u0003\u0002\u0002\u0002\u0a47", "\u0a48\u0003\u0002\u0002\u0002\u0a48\u0a4a\u0003\u0002\u0002\u0002\u0a49", "\u0a27\u0003\u0002\u0002\u0002\u0a49\u0a3b\u0003\u0002\u0002\u0002\u0a4a", "\u0a4c\u0003\u0002\u0002\u0002\u0a4b\u0a4d\u0005\u00d8m\u0002\u0a4c", "\u0a4b\u0003\u0002\u0002\u0002\u0a4c\u0a4d\u0003\u0002\u0002\u0002\u0a4d", "\u0a4e\u0003\u0002\u0002\u0002\u0a4e\u0a50\u0007\u0004\u0002\u0002\u0a4f", "\u0a25\u0003\u0002\u0002\u0002\u0a4f\u0a26\u0003\u0002\u0002\u0002\u0a50", "\u00d7\u0003\u0002\u0002\u0002\u0a51\u0a52\u0007M\u0002\u0002\u0a52", "\u0a62\u0005\u00dan\u0002\u0a53\u0a54\u0007N\u0002\u0002\u0a54\u0a62", "\u0005\u00dan\u0002\u0a55\u0a56\u0007M\u0002\u0002\u0a56\u0a57\u0007", "-\u0002\u0002\u0a57\u0a58\u0005\u00dan\u0002\u0a58\u0a59\u0007(\u0002", "\u0002\u0a59\u0a5a\u0005\u00dan\u0002\u0a5a\u0a62\u0003\u0002\u0002", "\u0002\u0a5b\u0a5c\u0007N\u0002\u0002\u0a5c\u0a5d\u0007-\u0002\u0002", "\u0a5d\u0a5e\u0005\u00dan\u0002\u0a5e\u0a5f\u0007(\u0002\u0002\u0a5f", "\u0a60\u0005\u00dan\u0002\u0a60\u0a62\u0003\u0002\u0002\u0002\u0a61", "\u0a51\u0003\u0002\u0002\u0002\u0a61\u0a53\u0003\u0002\u0002\u0002\u0a61", "\u0a55\u0003\u0002\u0002\u0002\u0a61\u0a5b\u0003\u0002\u0002\u0002\u0a62", "\u00d9\u0003\u0002\u0002\u0002\u0a63\u0a64\u0007O\u0002\u0002\u0a64", "\u0a6b\t\u001b\u0002\u0002\u0a65\u0a66\u0007R\u0002\u0002\u0a66\u0a6b", "\u0007V\u0002\u0002\u0a67\u0a68\u0005\u00a4S\u0002\u0a68\u0a69\t\u001b", "\u0002\u0002\u0a69\u0a6b\u0003\u0002\u0002\u0002\u0a6a\u0a63\u0003\u0002", "\u0002\u0002\u0a6a\u0a65\u0003\u0002\u0002\u0002\u0a6a\u0a67\u0003\u0002", "\u0002\u0002\u0a6b\u00db\u0003\u0002\u0002\u0002\u0a6c\u0a71\u0005\u00de", "p\u0002\u0a6d\u0a6e\u0007\u0005\u0002\u0002\u0a6e\u0a70\u0005\u00de", "p\u0002\u0a6f\u0a6d\u0003\u0002\u0002\u0002\u0a70\u0a73\u0003\u0002", "\u0002\u0002\u0a71\u0a6f\u0003\u0002\u0002\u0002\u0a71\u0a72\u0003\u0002", "\u0002\u0002\u0a72\u00dd\u0003\u0002\u0002\u0002\u0a73\u0a71\u0003\u0002", "\u0002\u0002\u0a74\u0a84\u0005\u00e0q\u0002\u0a75\u0a84\u0007\u00f7", "\u0002\u0002\u0a76\u0a84\u0007E\u0002\u0002\u0a77\u0a84\u0007A\u0002", "\u0002\u0a78\u0a84\u0007B\u0002\u0002\u0a79\u0a84\u0007C\u0002\u0002", "\u0a7a\u0a84\u0007D\u0002\u0002\u0a7b\u0a84\u0007F\u0002\u0002\u0a7c", "\u0a84\u0007>\u0002\u0002\u0a7d\u0a84\u0007?\u0002\u0002\u0a7e\u0a84", "\u0007G\u0002\u0002\u0a7f\u0a84\u0007p\u0002\u0002\u0a80\u0a84\u0007", "s\u0002\u0002\u0a81\u0a84\u0007q\u0002\u0002\u0a82\u0a84\u0007r\u0002", "\u0002\u0a83\u0a74\u0003\u0002\u0002\u0002\u0a83\u0a75\u0003\u0002\u0002", "\u0002\u0a83\u0a76\u0003\u0002\u0002\u0002\u0a83\u0a77\u0003\u0002\u0002", "\u0002\u0a83\u0a78\u0003\u0002\u0002\u0002\u0a83\u0a79\u0003\u0002\u0002", "\u0002\u0a83\u0a7a\u0003\u0002\u0002\u0002\u0a83\u0a7b\u0003\u0002\u0002", "\u0002\u0a83\u0a7c\u0003\u0002\u0002\u0002\u0a83\u0a7d\u0003\u0002\u0002", "\u0002\u0a83\u0a7e\u0003\u0002\u0002\u0002\u0a83\u0a7f\u0003\u0002\u0002", "\u0002\u0a83\u0a80\u0003\u0002\u0002\u0002\u0a83\u0a81\u0003\u0002\u0002", "\u0002\u0a83\u0a82\u0003\u0002\u0002\u0002\u0a84\u00df\u0003\u0002\u0002", "\u0002\u0a85\u0a89\u0007\u010f\u0002\u0002\u0a86\u0a89\u0005\u00e2r", "\u0002\u0a87\u0a89\u0005\u00e6t\u0002\u0a88\u0a85\u0003\u0002\u0002", "\u0002\u0a88\u0a86\u0003\u0002\u0002\u0002\u0a88\u0a87\u0003\u0002\u0002", "\u0002\u0a89\u00e1\u0003\u0002\u0002\u0002\u0a8a\u0a8b\u0007\u0110\u0002", "\u0002\u0a8b\u00e3\u0003\u0002\u0002\u0002\u0a8c\u0a8e\u0007\u0095\u0002", "\u0002\u0a8d\u0a8c\u0003\u0002\u0002\u0002\u0a8d\u0a8e\u0003\u0002\u0002", "\u0002\u0a8e\u0a8f\u0003\u0002\u0002\u0002\u0a8f\u0aa9\u0007\u010c\u0002", "\u0002\u0a90\u0a92\u0007\u0095\u0002\u0002\u0a91\u0a90\u0003\u0002\u0002", "\u0002\u0a91\u0a92\u0003\u0002\u0002\u0002\u0a92\u0a93\u0003\u0002\u0002", "\u0002\u0a93\u0aa9\u0007\u010b\u0002\u0002\u0a94\u0a96\u0007\u0095\u0002", "\u0002\u0a95\u0a94\u0003\u0002\u0002\u0002\u0a95\u0a96\u0003\u0002\u0002", "\u0002\u0a96\u0a97\u0003\u0002\u0002\u0002\u0a97\u0aa9\u0007\u0108\u0002", "\u0002\u0a98\u0a9a\u0007\u0095\u0002\u0002\u0a99\u0a98\u0003\u0002\u0002", "\u0002\u0a99\u0a9a\u0003\u0002\u0002\u0002\u0a9a\u0a9b\u0003\u0002\u0002", "\u0002\u0a9b\u0aa9\u0007\u0109\u0002\u0002\u0a9c\u0a9e\u0007\u0095\u0002", "\u0002\u0a9d\u0a9c\u0003\u0002\u0002\u0002\u0a9d\u0a9e\u0003\u0002\u0002", "\u0002\u0a9e\u0a9f\u0003\u0002\u0002\u0002\u0a9f\u0aa9\u0007\u010a\u0002", "\u0002\u0aa0\u0aa2\u0007\u0095\u0002\u0002\u0aa1\u0aa0\u0003\u0002\u0002", "\u0002\u0aa1\u0aa2\u0003\u0002\u0002\u0002\u0aa2\u0aa3\u0003\u0002\u0002", "\u0002\u0aa3\u0aa9\u0007\u010d\u0002\u0002\u0aa4\u0aa6\u0007\u0095\u0002", "\u0002\u0aa5\u0aa4\u0003\u0002\u0002\u0002\u0aa5\u0aa6\u0003\u0002\u0002", "\u0002\u0aa6\u0aa7\u0003\u0002\u0002\u0002\u0aa7\u0aa9\u0007\u010e\u0002", "\u0002\u0aa8\u0a8d\u0003\u0002\u0002\u0002\u0aa8\u0a91\u0003\u0002\u0002", "\u0002\u0aa8\u0a95\u0003\u0002\u0002\u0002\u0aa8\u0a99\u0003\u0002\u0002", "\u0002\u0aa8\u0a9d\u0003\u0002\u0002\u0002\u0aa8\u0aa1\u0003\u0002\u0002", "\u0002\u0aa8\u0aa5\u0003\u0002\u0002\u0002\u0aa9\u00e5\u0003\u0002\u0002", "\u0002\u0aaa\u0aab\t\u001c\u0002\u0002\u0aab\u00e7\u0003\u0002\u0002", "\u0002\u0168\u00ec\u0105\u010a\u010d\u0112\u011f\u0123\u012a\u0138\u013a", "\u013e\u0141\u0148\u0159\u015b\u015f\u0162\u0169\u0170\u0174\u017c\u0186", "\u018c\u0192\u019d\u01bd\u01c5\u01c9\u01ce\u01d4\u01dc\u01e2\u01ef\u01f4", "\u01fd\u0202\u0212\u0219\u021d\u0225\u022c\u0233\u0242\u0246\u024c\u0252", "\u0255\u0258\u025e\u0262\u0266\u026b\u026f\u0277\u027a\u0283\u0288\u028e", "\u0295\u0298\u029e\u02a9\u02ac\u02b0\u02b5\u02ba\u02c1\u02c4\u02c7\u02ce", "\u02d3\u02d8\u02db\u02e4\u02ec\u02f2\u02f6\u02fa\u02fe\u0300\u0309\u030f", "\u0314\u0317\u031b\u031e\u0328\u032b\u032f\u0335\u0338\u033b\u0341\u0349", "\u034e\u0354\u035a\u0365\u036d\u0374\u037c\u037f\u0387\u038b\u0392\u0406", "\u040e\u0416\u041f\u042b\u042f\u0432\u0438\u0442\u044e\u0453\u0459\u0465", "\u0467\u046c\u0470\u0475\u047a\u047d\u0482\u0486\u048b\u048d\u0491\u049a", "\u04a2\u04a9\u04b0\u04b9\u04be\u04cd\u04d4\u04d7\u04de\u04e2\u04e8\u04f0", "\u04fb\u0506\u050d\u0513\u0519\u0522\u0524\u052d\u0530\u0539\u053c\u0545", "\u0548\u0551\u0554\u0557\u055c\u055e\u0561\u056d\u0574\u057b\u057e\u0580", "\u058b\u058f\u0593\u059f\u05a2\u05a6\u05b0\u05b4\u05b6\u05b9\u05bd\u05c0", "\u05c4\u05ca\u05ce\u05d2\u05d7\u05da\u05dc\u05e1\u05e6\u05e9\u05ed\u05f0", "\u05f2\u05f7\u05fc\u0609\u060e\u0616\u061c\u0620\u0629\u0638\u063d\u0649", "\u064e\u0656\u0659\u065d\u066b\u0678\u067d\u0681\u0684\u0689\u0692\u0695", "\u069a\u06a1\u06a4\u06ac\u06b3\u06ba\u06bd\u06c2\u06c8\u06cc\u06cf\u06d2", "\u06d8\u06dd\u06e2\u06f4\u06f6\u06f9\u0704\u070d\u0714\u071c\u0724\u0729", "\u0731\u0739\u073f\u074a\u074d\u0756\u0759\u0761\u0764\u076a\u0781\u0783", "\u078b\u0798\u07aa\u07b1\u07b6\u07c0\u07c4\u07c8\u07ce\u07dc\u07e8\u07eb", "\u07f1\u07f5\u07f7\u0800\u080c\u080e\u0815\u081c\u0822\u0828\u082a\u082f", "\u083c\u0847\u084c\u0852\u0856\u0858\u085f\u086e\u0870\u0878\u087a\u087e", "\u0886\u088f\u0895\u089d\u08a3\u08a8\u08ad\u08b3\u08c8\u08ca\u08d2\u08d6", "\u08df\u08e3\u08f5\u08f8\u0900\u0909\u0920\u092b\u0932\u0935\u093a\u094d", "\u095e\u0968\u096a\u0977\u0979\u0987\u098e\u0991\u0995\u099a\u09ab\u09af", "\u09b8\u09bc\u09be\u09c5\u09cc\u09d3\u09db\u09e1\u09e5\u09f5\u09fa\u0a02", "\u0a09\u0a11\u0a1e\u0a2e\u0a38\u0a3b\u0a44\u0a47\u0a49\u0a4c\u0a4f\u0a61", "\u0a6a\u0a71\u0a83\u0a88\u0a8d\u0a91\u0a95\u0a99\u0a9d\u0aa1\u0aa5\u0aa8"].join(""); var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); var decisionsToDFA = atn.decisionToState.map(function (ds, index) { return new antlr4.dfa.DFA(ds, index); }); var sharedContextCache = new antlr4.PredictionContextCache(); var literalNames = [null, "'('", "')'", "'.'", "','", "'/*+'", "'*/'", "'*?'", "'+?'", "'?'", "'??'", "'{'", "'}'", "'->'", "'['", "']'", "'PRIMARY'", "'KEY'", "':'", "'SELECT'", "'FROM'", "'ADD'", "'AS'", "'ALL'", "'ANY'", "'DISTINCT'", "'WHERE'", "'GROUP'", "'BY'", "'GROUPING'", "'SETS'", "'CUBE'", "'ROLLUP'", "'ORDER'", "'HAVING'", "'LIMIT'", "'AT'", "'OR'", "'AND'", "'IN'", null, "'NO'", "'EXISTS'", "'BETWEEN'", "'LIKE'", null, "'IS'", "'NULL'", "'TRUE'", "'FALSE'", "'NULLS'", "'ASC'", "'DESC'", "'FOR'", "'INTERVAL'", "'CASE'", "'WHEN'", "'THEN'", "'ELSE'", "'END'", "'JOIN'", "'CROSS'", "'OUTER'", "'INNER'", "'LEFT'", "'SEMI'", "'RIGHT'", "'FULL'", "'NATURAL'", "'ON'", "'PIVOT'", "'LATERAL'", "'WINDOW'", "'OVER'", "'PARTITION'", "'RANGE'", "'ROWS'", "'UNBOUNDED'", "'PRECEDING'", "'FOLLOWING'", "'CURRENT'", "'FIRST'", "'AFTER'", "'LAST'", "'ROW'", "'WITH'", "'VALUES'", "'CREATE'", "'TABLE'", "'DIRECTORY'", "'VIEW'", "'REPLACE'", "'INSERT'", "'DELETE'", "'INTO'", "'DESCRIBE'", "'EXPLAIN'", "'FORMAT'", "'LOGICAL'", "'CODEGEN'", "'COST'", "'CAST'", "'SHOW'", "'TABLES'", "'COLUMNS'", "'COLUMN'", "'USE'", "'PARTITIONS'", "'FUNCTIONS'", "'DROP'", "'UNION'", "'EXCEPT'", "'MINUS'", "'INTERSECT'", "'TO'", "'TABLESAMPLE'", "'STRATIFY'", "'ALTER'", "'RENAME'", "'ARRAY'", "'MAP'", "'STRUCT'", "'COMMENT'", "'SET'", "'RESET'", "'DATA'", "'START'", "'TRANSACTION'", "'COMMIT'", "'ROLLBACK'", "'MACRO'", "'IGNORE'", "'BOTH'", "'LEADING'", "'TRAILING'", "'IF'", "'POSITION'", "'EXTRACT'", null, "'<=>'", "'<>'", "'!='", "'<'", null, "'>'", null, "'+'", "'-'", "'*'", "'/'", "'%'", "'DIV'", "'~'", "'&'", "'|'", "'||'", "'^'", "'PERCENT'", "'BUCKET'", "'OUT'", "'OF'", "'SORT'", "'CLUSTER'", "'DISTRIBUTE'", "'OVERWRITE'", "'TRANSFORM'", "'REDUCE'", "'USING'", "'SERDE'", "'SERDEPROPERTIES'", "'RECORDREADER'", "'RECORDWRITER'", "'DELIMITED'", "'FIELDS'", "'TERMINATED'", "'COLLECTION'", "'ITEMS'", "'KEYS'", "'ESCAPED'", "'LINES'", "'SEPARATED'", "'FUNCTION'", "'EXTENDED'", "'REFRESH'", "'CLEAR'", "'CACHE'", "'UNCACHE'", "'LAZY'", "'FORMATTED'", "'GLOBAL'", null, "'OPTIONS'", "'UNSET'", "'TBLPROPERTIES'", "'DBPROPERTIES'", "'BUCKETS'", "'SKEWED'", "'STORED'", "'DIRECTORIES'", "'LOCATION'", "'EXCHANGE'", "'ARCHIVE'", "'UNARCHIVE'", "'FILEFORMAT'", "'TOUCH'", "'COMPACT'", "'CONCATENATE'", "'CHANGE'", "'CASCADE'", "'RESTRICT'", "'CLUSTERED'", "'SORTED'", "'PURGE'", "'INPUTFORMAT'", "'OUTPUTFORMAT'", null, null, "'DFS'", "'TRUNCATE'", "'ANALYZE'", "'COMPUTE'", "'LIST'", "'STATISTICS'", "'PARTITIONED'", "'EXTERNAL'", "'DEFINED'", "'REVOKE'", "'GRANT'", "'LOCK'", "'UNLOCK'", "'MSCK'", "'REPAIR'", "'RECOVER'", "'EXPORT'", "'IMPORT'", "'LOAD'", "'ROLE'", "'ROLES'", "'COMPACTIONS'", "'PRINCIPALS'", "'TRANSACTIONS'", "'INDEX'", "'INDEXES'", "'LOCKS'", "'OPTION'", "'ANTI'", "'LOCAL'", "'INPATH'", "'WATERMARK'", "'UNNEST'", "'MATCH_RECOGNIZE'", "'MEASURES'", "'ONE'", "'PER'", "'MATCH'", "'SKIP'", "'NEXT'", "'PAST'", "'PATTERN'", "'WITHIN'", "'DEFINE'", null, null, null, null, null, null, null, null, null, null, null, "'/**/'"]; var symbolicNames = [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "SELECT", "FROM", "ADD", "AS", "ALL", "ANY", "DISTINCT", "WHERE", "GROUP", "BY", "GROUPING", "SETS", "CUBE", "ROLLUP", "ORDER", "HAVING", "LIMIT", "AT", "OR", "AND", "IN", "NOT", "NO", "EXISTS", "BETWEEN", "LIKE", "RLIKE", "IS", "NULL", "TRUE", "FALSE", "NULLS", "ASC", "DESC", "FOR", "INTERVAL", "CASE", "WHEN", "THEN", "ELSE", "END", "JOIN", "CROSS", "OUTER", "INNER", "LEFT", "SEMI", "RIGHT", "FULL", "NATURAL", "ON", "PIVOT", "LATERAL", "WINDOW", "OVER", "PARTITION", "RANGE", "ROWS", "UNBOUNDED", "PRECEDING", "FOLLOWING", "CURRENT", "FIRST", "AFTER", "LAST", "ROW", "WITH", "VALUES", "CREATE", "TABLE", "DIRECTORY", "VIEW", "REPLACE", "INSERT", "DELETE", "INTO", "DESCRIBE", "EXPLAIN", "FORMAT", "LOGICAL", "CODEGEN", "COST", "CAST", "SHOW", "TABLES", "COLUMNS", "COLUMN", "USE", "PARTITIONS", "FUNCTIONS", "DROP", "UNION", "EXCEPT", "SETMINUS", "INTERSECT", "TO", "TABLESAMPLE", "STRATIFY", "ALTER", "RENAME", "ARRAY", "MAP", "STRUCT", "COMMENT", "SET", "RESET", "DATA", "START", "TRANSACTION", "COMMIT", "ROLLBACK", "MACRO", "IGNORE", "BOTH", "LEADING", "TRAILING", "IF", "POSITION", "EXTRACT", "EQ", "NSEQ", "NEQ", "NEQJ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "DIV", "TILDE", "AMPERSAND", "PIPE", "CONCAT_PIPE", "HAT", "PERCENTLIT", "BUCKET", "OUT", "OF", "SORT", "CLUSTER", "DISTRIBUTE", "OVERWRITE", "TRANSFORM", "REDUCE", "USING", "SERDE", "SERDEPROPERTIES", "RECORDREADER", "RECORDWRITER", "DELIMITED", "FIELDS", "TERMINATED", "COLLECTION", "ITEMS", "KEYS", "ESCAPED", "LINES", "SEPARATED", "FUNCTION", "EXTENDED", "REFRESH", "CLEAR", "CACHE", "UNCACHE", "LAZY", "FORMATTED", "GLOBAL", "TEMPORARY", "OPTIONS", "UNSET", "TBLPROPERTIES", "DBPROPERTIES", "BUCKETS", "SKEWED", "STORED", "DIRECTORIES", "LOCATION", "EXCHANGE", "ARCHIVE", "UNARCHIVE", "FILEFORMAT", "TOUCH", "COMPACT", "CONCATENATE", "CHANGE", "CASCADE", "RESTRICT", "CLUSTERED", "SORTED", "PURGE", "INPUTFORMAT", "OUTPUTFORMAT", "DATABASE", "DATABASES", "DFS", "TRUNCATE", "ANALYZE", "COMPUTE", "LIST", "STATISTICS", "PARTITIONED", "EXTERNAL", "DEFINED", "REVOKE", "GRANT", "LOCK", "UNLOCK", "MSCK", "REPAIR", "RECOVER", "EXPORT", "IMPORT", "LOAD", "ROLE", "ROLES", "COMPACTIONS", "PRINCIPALS", "TRANSACTIONS", "INDEX", "INDEXES", "LOCKS", "OPTION", "ANTI", "LOCAL", "INPATH", "WATERMARK", "UNNEST", "MATCH_RECOGNIZE", "MEASURES", "ONE", "PER", "MATCH", "SKIP1", "NEXT", "PAST", "PATTERN", "WITHIN", "DEFINE", "STRING", "BIGINT_LITERAL", "SMALLINT_LITERAL", "TINYINT_LITERAL", "INTEGER_VALUE", "DECIMAL_VALUE", "DOUBLE_LITERAL", "BIGDECIMAL_LITERAL", "IDENTIFIER", "BACKQUOTED_IDENTIFIER", "SIMPLE_COMMENT", "BRACKETED_EMPTY_COMMENT", "BRACKETED_COMMENT", "WS", "UNRECOGNIZED"]; var ruleNames = ["singleStatement", "singleExpression", "singleTableIdentifier", "singleFunctionIdentifier", "singleDataType", "singleTableSchema", "statement", "unsupportedHiveNativeCommands", "createTableHeader", "bucketSpec", "skewSpec", "locationSpec", "query", "insertInto", "partitionSpecLocation", "partitionSpec", "partitionVal", "describeFuncName", "describeColName", "ctes", "namedQuery", "tableProvider", "tablePropertyList", "tableProperty", "tablePropertyKey", "tablePropertyValue", "constantList", "nestedConstantList", "createFileFormat", "fileFormat", "storageHandler", "resource", "queryNoWith", "queryOrganization", "multiInsertQueryBody", "queryTerm", "queryPrimary", "sortItem", "querySpecification", "hint", "hintStatement", "fromClause", "aggregation", "groupingSet", "pivotClause", "pivotColumn", "pivotValue", "lateralView", "setQuantifier", "relation", "joinRelation", "joinType", "joinCriteria", "sample", "sampleMethod", "identifierList", "identifierSeq", "orderedIdentifierList", "orderedIdentifier", "identifierCommentList", "identifierComment", "relationPrimary", "matchRecognize", "measureColumn", "condition1", "variable", "pattern1", "patternTerm", "patternFactor", "patternQuantifier", "minRepeat", "maxRepeat", "repeat", "inlineTable", "functionTable", "tableAlias", "rowFormat", "tableIdentifier", "functionIdentifier", "namedExpression", "namedExpressionSeq", "expression", "booleanExpression", "predicate", "valueExpression", "primaryExpression", "constant", "comparisonOperator", "arithmeticOperator", "predicateOperator", "booleanValue", "interval", "intervalField", "intervalValue", "colPosition", "dataType", "colTypeList", "colType", "dtColTypeList", "dtColType", "dtColIdentifier", "complexColTypeList", "complexColType", "whenClause", "windows", "namedWindow", "windowSpec", "windowFrame", "frameBound", "qualifiedName", "identifier", "strictIdentifier", "quotedIdentifier", "number", "nonReserved"]; function sqlParser(input) { antlr4.Parser.call(this, input); this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache); this.ruleNames = ruleNames; this.literalNames = literalNames; this.symbolicNames = symbolicNames; return this; } sqlParser.prototype = Object.create(antlr4.Parser.prototype); sqlParser.prototype.constructor = sqlParser; Object.defineProperty(sqlParser.prototype, "atn", { get: function () { return atn; } }); sqlParser.EOF = antlr4.Token.EOF; sqlParser.T__0 = 1; sqlParser.T__1 = 2; sqlParser.T__2 = 3; sqlParser.T__3 = 4; sqlParser.T__4 = 5; sqlParser.T__5 = 6; sqlParser.T__6 = 7; sqlParser.T__7 = 8; sqlParser.T__8 = 9; sqlParser.T__9 = 10; sqlParser.T__10 = 11; sqlParser.T__11 = 12; sqlParser.T__12 = 13; sqlParser.T__13 = 14; sqlParser.T__14 = 15; sqlParser.T__15 = 16; sqlParser.T__16 = 17; sqlParser.T__17 = 18; sqlParser.SELECT = 19; sqlParser.FROM = 20; sqlParser.ADD = 21; sqlParser.AS = 22; sqlParser.ALL = 23; sqlParser.ANY = 24; sqlParser.DISTINCT = 25; sqlParser.WHERE = 26; sqlParser.GROUP = 27; sqlParser.BY = 28; sqlParser.GROUPING = 29; sqlParser.SETS = 30; sqlParser.CUBE = 31; sqlParser.ROLLUP = 32; sqlParser.ORDER = 33; sqlParser.HAVING = 34; sqlParser.LIMIT = 35; sqlParser.AT = 36; sqlParser.OR = 37; sqlParser.AND = 38; sqlParser.IN = 39; sqlParser.NOT = 40; sqlParser.NO = 41; sqlParser.EXISTS = 42; sqlParser.BETWEEN = 43; sqlParser.LIKE = 44; sqlParser.RLIKE = 45; sqlParser.IS = 46; sqlParser.NULL = 47; sqlParser.TRUE = 48; sqlParser.FALSE = 49; sqlParser.NULLS = 50; sqlParser.ASC = 51; sqlParser.DESC = 52; sqlParser.FOR = 53; sqlParser.INTERVAL = 54; sqlParser.CASE = 55; sqlParser.WHEN = 56; sqlParser.THEN = 57; sqlParser.ELSE = 58; sqlParser.END = 59; sqlParser.JOIN = 60; sqlParser.CROSS = 61; sqlParser.OUTER = 62; sqlParser.INNER = 63; sqlParser.LEFT = 64; sqlParser.SEMI = 65; sqlParser.RIGHT = 66; sqlParser.FULL = 67; sqlParser.NATURAL = 68; sqlParser.ON = 69; sqlParser.PIVOT = 70; sqlParser.LATERAL = 71; sqlParser.WINDOW = 72; sqlParser.OVER = 73; sqlParser.PARTITION = 74; sqlParser.RANGE = 75; sqlParser.ROWS = 76; sqlParser.UNBOUNDED = 77; sqlParser.PRECEDING = 78; sqlParser.FOLLOWING = 79; sqlParser.CURRENT = 80; sqlParser.FIRST = 81; sqlParser.AFTER = 82; sqlParser.LAST = 83; sqlParser.ROW = 84; sqlParser.WITH = 85; sqlParser.VALUES = 86; sqlParser.CREATE = 87; sqlParser.TABLE = 88; sqlParser.DIRECTORY = 89; sqlParser.VIEW = 90; sqlParser.REPLACE = 91; sqlParser.INSERT = 92; sqlParser.DELETE = 93; sqlParser.INTO = 94; sqlParser.DESCRIBE = 95; sqlParser.EXPLAIN = 96; sqlParser.FORMAT = 97; sqlParser.LOGICAL = 98; sqlParser.CODEGEN = 99; sqlParser.COST = 100; sqlParser.CAST = 101; sqlParser.SHOW = 102; sqlParser.TABLES = 103; sqlParser.COLUMNS = 104; sqlParser.COLUMN = 105; sqlParser.USE = 106; sqlParser.PARTITIONS = 107; sqlParser.FUNCTIONS = 108; sqlParser.DROP = 109; sqlParser.UNION = 110; sqlParser.EXCEPT = 111; sqlParser.SETMINUS = 112; sqlParser.INTERSECT = 113; sqlParser.TO = 114; sqlParser.TABLESAMPLE = 115; sqlParser.STRATIFY = 116; sqlParser.ALTER = 117; sqlParser.RENAME = 118; sqlParser.ARRAY = 119; sqlParser.MAP = 120; sqlParser.STRUCT = 121; sqlParser.COMMENT = 122; sqlParser.SET = 123; sqlParser.RESET = 124; sqlParser.DATA = 125; sqlParser.START = 126; sqlParser.TRANSACTION = 127; sqlParser.COMMIT = 128; sqlParser.ROLLBACK = 129; sqlParser.MACRO = 130; sqlParser.IGNORE = 131; sqlParser.BOTH = 132; sqlParser.LEADING = 133; sqlParser.TRAILING = 134; sqlParser.IF = 135; sqlParser.POSITION = 136; sqlParser.EXTRACT = 137; sqlParser.EQ = 138; sqlParser.NSEQ = 139; sqlParser.NEQ = 140; sqlParser.NEQJ = 141; sqlParser.LT = 142; sqlParser.LTE = 143; sqlParser.GT = 144; sqlParser.GTE = 145; sqlParser.PLUS = 146; sqlParser.MINUS = 147; sqlParser.ASTERISK = 148; sqlParser.SLASH = 149; sqlParser.PERCENT = 150; sqlParser.DIV = 151; sqlParser.TILDE = 152; sqlParser.AMPERSAND = 153; sqlParser.PIPE = 154; sqlParser.CONCAT_PIPE = 155; sqlParser.HAT = 156; sqlParser.PERCENTLIT = 157; sqlParser.BUCKET = 158; sqlParser.OUT = 159; sqlParser.OF = 160; sqlParser.SORT = 161; sqlParser.CLUSTER = 162; sqlParser.DISTRIBUTE = 163; sqlParser.OVERWRITE = 164; sqlParser.TRANSFORM = 165; sqlParser.REDUCE = 166; sqlParser.USING = 167; sqlParser.SERDE = 168; sqlParser.SERDEPROPERTIES = 169; sqlParser.RECORDREADER = 170; sqlParser.RECORDWRITER = 171; sqlParser.DELIMITED = 172; sqlParser.FIELDS = 173; sqlParser.TERMINATED = 174; sqlParser.COLLECTION = 175; sqlParser.ITEMS = 176; sqlParser.KEYS = 177; sqlParser.ESCAPED = 178; sqlParser.LINES = 179; sqlParser.SEPARATED = 180; sqlParser.FUNCTION = 181; sqlParser.EXTENDED = 182; sqlParser.REFRESH = 183; sqlParser.CLEAR = 184; sqlParser.CACHE = 185; sqlParser.UNCACHE = 186; sqlParser.LAZY = 187; sqlParser.FORMATTED = 188; sqlParser.GLOBAL = 189; sqlParser.TEMPORARY = 190; sqlParser.OPTIONS = 191; sqlParser.UNSET = 192; sqlParser.TBLPROPERTIES = 193; sqlParser.DBPROPERTIES = 194; sqlParser.BUCKETS = 195; sqlParser.SKEWED = 196; sqlParser.STORED = 197; sqlParser.DIRECTORIES = 198; sqlParser.LOCATION = 199; sqlParser.EXCHANGE = 200; sqlParser.ARCHIVE = 201; sqlParser.UNARCHIVE = 202; sqlParser.FILEFORMAT = 203; sqlParser.TOUCH = 204; sqlParser.COMPACT = 205; sqlParser.CONCATENATE = 206; sqlParser.CHANGE = 207; sqlParser.CASCADE = 208; sqlParser.RESTRICT = 209; sqlParser.CLUSTERED = 210; sqlParser.SORTED = 211; sqlParser.PURGE = 212; sqlParser.INPUTFORMAT = 213; sqlParser.OUTPUTFORMAT = 214; sqlParser.DATABASE = 215; sqlParser.DATABASES = 216; sqlParser.DFS = 217; sqlParser.TRUNCATE = 218; sqlParser.ANALYZE = 219; sqlParser.COMPUTE = 220; sqlParser.LIST = 221; sqlParser.STATISTICS = 222; sqlParser.PARTITIONED = 223; sqlParser.EXTERNAL = 224; sqlParser.DEFINED = 225; sqlParser.REVOKE = 226; sqlParser.GRANT = 227; sqlParser.LOCK = 228; sqlParser.UNLOCK = 229; sqlParser.MSCK = 230; sqlParser.REPAIR = 231; sqlParser.RECOVER = 232; sqlParser.EXPORT = 233; sqlParser.IMPORT = 234; sqlParser.LOAD = 235; sqlParser.ROLE = 236; sqlParser.ROLES = 237; sqlParser.COMPACTIONS = 238; sqlParser.PRINCIPALS = 239; sqlParser.TRANSACTIONS = 240; sqlParser.INDEX = 241; sqlParser.INDEXES = 242; sqlParser.LOCKS = 243; sqlParser.OPTION = 244; sqlParser.ANTI = 245; sqlParser.LOCAL = 246; sqlParser.INPATH = 247; sqlParser.WATERMARK = 248; sqlParser.UNNEST = 249; sqlParser.MATCH_RECOGNIZE = 250; sqlParser.MEASURES = 251; sqlParser.ONE = 252; sqlParser.PER = 253; sqlParser.MATCH = 254; sqlParser.SKIP1 = 255; sqlParser.NEXT = 256; sqlParser.PAST = 257; sqlParser.PATTERN = 258; sqlParser.WITHIN = 259; sqlParser.DEFINE = 260; sqlParser.STRING = 261; sqlParser.BIGINT_LITERAL = 262; sqlParser.SMALLINT_LITERAL = 263; sqlParser.TINYINT_LITERAL = 264; sqlParser.INTEGER_VALUE = 265; sqlParser.DECIMAL_VALUE = 266; sqlParser.DOUBLE_LITERAL = 267; sqlParser.BIGDECIMAL_LITERAL = 268; sqlParser.IDENTIFIER = 269; sqlParser.BACKQUOTED_IDENTIFIER = 270; sqlParser.SIMPLE_COMMENT = 271; sqlParser.BRACKETED_EMPTY_COMMENT = 272; sqlParser.BRACKETED_COMMENT = 273; sqlParser.WS = 274; sqlParser.UNRECOGNIZED = 275; sqlParser.RULE_singleStatement = 0; sqlParser.RULE_singleExpression = 1; sqlParser.RULE_singleTableIdentifier = 2; sqlParser.RULE_singleFunctionIdentifier = 3; sqlParser.RULE_singleDataType = 4; sqlParser.RULE_singleTableSchema = 5; sqlParser.RULE_statement = 6; sqlParser.RULE_unsupportedHiveNativeCommands = 7; sqlParser.RULE_createTableHeader = 8; sqlParser.RULE_bucketSpec = 9; sqlParser.RULE_skewSpec = 10; sqlParser.RULE_locationSpec = 11; sqlParser.RULE_query = 12; sqlParser.RULE_insertInto = 13; sqlParser.RULE_partitionSpecLocation = 14; sqlParser.RULE_partitionSpec = 15; sqlParser.RULE_partitionVal = 16; sqlParser.RULE_describeFuncName = 17; sqlParser.RULE_describeColName = 18; sqlParser.RULE_ctes = 19; sqlParser.RULE_namedQuery = 20; sqlParser.RULE_tableProvider = 21; sqlParser.RULE_tablePropertyList = 22; sqlParser.RULE_tableProperty = 23; sqlParser.RULE_tablePropertyKey = 24; sqlParser.RULE_tablePropertyValue = 25; sqlParser.RULE_constantList = 26; sqlParser.RULE_nestedConstantList = 27; sqlParser.RULE_createFileFormat = 28; sqlParser.RULE_fileFormat = 29; sqlParser.RULE_storageHandler = 30; sqlParser.RULE_resource = 31; sqlParser.RULE_queryNoWith = 32; sqlParser.RULE_queryOrganization = 33; sqlParser.RULE_multiInsertQueryBody = 34; sqlParser.RULE_queryTerm = 35; sqlParser.RULE_queryPrimary = 36; sqlParser.RULE_sortItem = 37; sqlParser.RULE_querySpecification = 38; sqlParser.RULE_hint = 39; sqlParser.RULE_hintStatement = 40; sqlParser.RULE_fromClause = 41; sqlParser.RULE_aggregation = 42; sqlParser.RULE_groupingSet = 43; sqlParser.RULE_pivotClause = 44; sqlParser.RULE_pivotColumn = 45; sqlParser.RULE_pivotValue = 46; sqlParser.RULE_lateralView = 47; sqlParser.RULE_setQuantifier = 48; sqlParser.RULE_relation = 49; sqlParser.RULE_joinRelation = 50; sqlParser.RULE_joinType = 51; sqlParser.RULE_joinCriteria = 52; sqlParser.RULE_sample = 53; sqlParser.RULE_sampleMethod = 54; sqlParser.RULE_identifierList = 55; sqlParser.RULE_identifierSeq = 56; sqlParser.RULE_orderedIdentifierList = 57; sqlParser.RULE_orderedIdentifier = 58; sqlParser.RULE_identifierCommentList = 59; sqlParser.RULE_identifierComment = 60; sqlParser.RULE_relationPrimary = 61; sqlParser.RULE_matchRecognize = 62; sqlParser.RULE_measureColumn = 63; sqlParser.RULE_condition1 = 64; sqlParser.RULE_variable = 65; sqlParser.RULE_pattern1 = 66; sqlParser.RULE_patternTerm = 67; sqlParser.RULE_patternFactor = 68; sqlParser.RULE_patternQuantifier = 69; sqlParser.RULE_minRepeat = 70; sqlParser.RULE_maxRepeat = 71; sqlParser.RULE_repeat = 72; sqlParser.RULE_inlineTable = 73; sqlParser.RULE_functionTable = 74; sqlParser.RULE_tableAlias = 75; sqlParser.RULE_rowFormat = 76; sqlParser.RULE_tableIdentifier = 77; sqlParser.RULE_functionIdentifier = 78; sqlParser.RULE_namedExpression = 79; sqlParser.RULE_namedExpressionSeq = 80; sqlParser.RULE_expression = 81; sqlParser.RULE_booleanExpression = 82; sqlParser.RULE_predicate = 83; sqlParser.RULE_valueExpression = 84; sqlParser.RULE_primaryExpression = 85; sqlParser.RULE_constant = 86; sqlParser.RULE_comparisonOperator = 87; sqlParser.RULE_arithmeticOperator = 88; sqlParser.RULE_predicateOperator = 89; sqlParser.RULE_booleanValue = 90; sqlParser.RULE_interval = 91; sqlParser.RULE_intervalField = 92; sqlParser.RULE_intervalValue = 93; sqlParser.RULE_colPosition = 94; sqlParser.RULE_dataType = 95; sqlParser.RULE_colTypeList = 96; sqlParser.RULE_colType = 97; sqlParser.RULE_dtColTypeList = 98; sqlParser.RULE_dtColType = 99; sqlParser.RULE_dtColIdentifier = 100; sqlParser.RULE_complexColTypeList = 101; sqlParser.RULE_complexColType = 102; sqlParser.RULE_whenClause = 103; sqlParser.RULE_windows = 104; sqlParser.RULE_namedWindow = 105; sqlParser.RULE_windowSpec = 106; sqlParser.RULE_windowFrame = 107; sqlParser.RULE_frameBound = 108; sqlParser.RULE_qualifiedName = 109; sqlParser.RULE_identifier = 110; sqlParser.RULE_strictIdentifier = 111; sqlParser.RULE_quotedIdentifier = 112; sqlParser.RULE_number = 113; sqlParser.RULE_nonReserved = 114; function SingleStatementContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_singleStatement; return this; } SingleStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SingleStatementContext.prototype.constructor = SingleStatementContext; SingleStatementContext.prototype.statement = function () { return this.getTypedRuleContext(StatementContext, 0); }; SingleStatementContext.prototype.EOF = function () { return this.getToken(sqlParser.EOF, 0); }; SingleStatementContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSingleStatement(this); } }; SingleStatementContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSingleStatement(this); } }; SingleStatementContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSingleStatement(this); } else { return visitor.visitChildren(this); } }; sqlParser.SingleStatementContext = SingleStatementContext; sqlParser.prototype.singleStatement = function () { var localctx = new SingleStatementContext(this, this._ctx, this.state); this.enterRule(localctx, 0, sqlParser.RULE_singleStatement); try { this.state = 234; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.T__0: case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.DESC: case sqlParser.WITH: case sqlParser.VALUES: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.SHOW: case sqlParser.USE: case sqlParser.DROP: case sqlParser.ALTER: case sqlParser.MAP: case sqlParser.SET: case sqlParser.RESET: case sqlParser.START: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.REDUCE: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.LIST: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: this.enterOuterAlt(localctx, 1); this.state = 230; this.statement(); this.state = 231; this.match(sqlParser.EOF); break; case sqlParser.EOF: this.enterOuterAlt(localctx, 2); this.state = 233; this.match(sqlParser.EOF); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SingleExpressionContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_singleExpression; return this; } SingleExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SingleExpressionContext.prototype.constructor = SingleExpressionContext; SingleExpressionContext.prototype.namedExpression = function () { return this.getTypedRuleContext(NamedExpressionContext, 0); }; SingleExpressionContext.prototype.EOF = function () { return this.getToken(sqlParser.EOF, 0); }; SingleExpressionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSingleExpression(this); } }; SingleExpressionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSingleExpression(this); } }; SingleExpressionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSingleExpression(this); } else { return visitor.visitChildren(this); } }; sqlParser.SingleExpressionContext = SingleExpressionContext; sqlParser.prototype.singleExpression = function () { var localctx = new SingleExpressionContext(this, this._ctx, this.state); this.enterRule(localctx, 2, sqlParser.RULE_singleExpression); try { this.enterOuterAlt(localctx, 1); this.state = 236; this.namedExpression(); this.state = 237; this.match(sqlParser.EOF); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SingleTableIdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_singleTableIdentifier; return this; } SingleTableIdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SingleTableIdentifierContext.prototype.constructor = SingleTableIdentifierContext; SingleTableIdentifierContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; SingleTableIdentifierContext.prototype.EOF = function () { return this.getToken(sqlParser.EOF, 0); }; SingleTableIdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSingleTableIdentifier(this); } }; SingleTableIdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSingleTableIdentifier(this); } }; SingleTableIdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSingleTableIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.SingleTableIdentifierContext = SingleTableIdentifierContext; sqlParser.prototype.singleTableIdentifier = function () { var localctx = new SingleTableIdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 4, sqlParser.RULE_singleTableIdentifier); try { this.enterOuterAlt(localctx, 1); this.state = 239; this.tableIdentifier(); this.state = 240; this.match(sqlParser.EOF); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SingleFunctionIdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_singleFunctionIdentifier; return this; } SingleFunctionIdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SingleFunctionIdentifierContext.prototype.constructor = SingleFunctionIdentifierContext; SingleFunctionIdentifierContext.prototype.functionIdentifier = function () { return this.getTypedRuleContext(FunctionIdentifierContext, 0); }; SingleFunctionIdentifierContext.prototype.EOF = function () { return this.getToken(sqlParser.EOF, 0); }; SingleFunctionIdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSingleFunctionIdentifier(this); } }; SingleFunctionIdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSingleFunctionIdentifier(this); } }; SingleFunctionIdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSingleFunctionIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.SingleFunctionIdentifierContext = SingleFunctionIdentifierContext; sqlParser.prototype.singleFunctionIdentifier = function () { var localctx = new SingleFunctionIdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 6, sqlParser.RULE_singleFunctionIdentifier); try { this.enterOuterAlt(localctx, 1); this.state = 242; this.functionIdentifier(); this.state = 243; this.match(sqlParser.EOF); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SingleDataTypeContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_singleDataType; return this; } SingleDataTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SingleDataTypeContext.prototype.constructor = SingleDataTypeContext; SingleDataTypeContext.prototype.dataType = function () { return this.getTypedRuleContext(DataTypeContext, 0); }; SingleDataTypeContext.prototype.EOF = function () { return this.getToken(sqlParser.EOF, 0); }; SingleDataTypeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSingleDataType(this); } }; SingleDataTypeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSingleDataType(this); } }; SingleDataTypeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSingleDataType(this); } else { return visitor.visitChildren(this); } }; sqlParser.SingleDataTypeContext = SingleDataTypeContext; sqlParser.prototype.singleDataType = function () { var localctx = new SingleDataTypeContext(this, this._ctx, this.state); this.enterRule(localctx, 8, sqlParser.RULE_singleDataType); try { this.enterOuterAlt(localctx, 1); this.state = 245; this.dataType(); this.state = 246; this.match(sqlParser.EOF); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SingleTableSchemaContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_singleTableSchema; return this; } SingleTableSchemaContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SingleTableSchemaContext.prototype.constructor = SingleTableSchemaContext; SingleTableSchemaContext.prototype.colTypeList = function () { return this.getTypedRuleContext(ColTypeListContext, 0); }; SingleTableSchemaContext.prototype.EOF = function () { return this.getToken(sqlParser.EOF, 0); }; SingleTableSchemaContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSingleTableSchema(this); } }; SingleTableSchemaContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSingleTableSchema(this); } }; SingleTableSchemaContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSingleTableSchema(this); } else { return visitor.visitChildren(this); } }; sqlParser.SingleTableSchemaContext = SingleTableSchemaContext; sqlParser.prototype.singleTableSchema = function () { var localctx = new SingleTableSchemaContext(this, this._ctx, this.state); this.enterRule(localctx, 10, sqlParser.RULE_singleTableSchema); try { this.enterOuterAlt(localctx, 1); this.state = 248; this.colTypeList(); this.state = 249; this.match(sqlParser.EOF); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function StatementContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_statement; return this; } StatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); StatementContext.prototype.constructor = StatementContext; StatementContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function ExplainContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } ExplainContext.prototype = Object.create(StatementContext.prototype); ExplainContext.prototype.constructor = ExplainContext; sqlParser.ExplainContext = ExplainContext; ExplainContext.prototype.EXPLAIN = function () { return this.getToken(sqlParser.EXPLAIN, 0); }; ExplainContext.prototype.statement = function () { return this.getTypedRuleContext(StatementContext, 0); }; ExplainContext.prototype.LOGICAL = function () { return this.getToken(sqlParser.LOGICAL, 0); }; ExplainContext.prototype.FORMATTED = function () { return this.getToken(sqlParser.FORMATTED, 0); }; ExplainContext.prototype.EXTENDED = function () { return this.getToken(sqlParser.EXTENDED, 0); }; ExplainContext.prototype.CODEGEN = function () { return this.getToken(sqlParser.CODEGEN, 0); }; ExplainContext.prototype.COST = function () { return this.getToken(sqlParser.COST, 0); }; ExplainContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterExplain(this); } }; ExplainContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitExplain(this); } }; ExplainContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitExplain(this); } else { return visitor.visitChildren(this); } }; function DropDatabaseContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } DropDatabaseContext.prototype = Object.create(StatementContext.prototype); DropDatabaseContext.prototype.constructor = DropDatabaseContext; sqlParser.DropDatabaseContext = DropDatabaseContext; DropDatabaseContext.prototype.DROP = function () { return this.getToken(sqlParser.DROP, 0); }; DropDatabaseContext.prototype.DATABASE = function () { return this.getToken(sqlParser.DATABASE, 0); }; DropDatabaseContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; DropDatabaseContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; DropDatabaseContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; DropDatabaseContext.prototype.RESTRICT = function () { return this.getToken(sqlParser.RESTRICT, 0); }; DropDatabaseContext.prototype.CASCADE = function () { return this.getToken(sqlParser.CASCADE, 0); }; DropDatabaseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDropDatabase(this); } }; DropDatabaseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDropDatabase(this); } }; DropDatabaseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDropDatabase(this); } else { return visitor.visitChildren(this); } }; function ResetConfigurationContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } ResetConfigurationContext.prototype = Object.create(StatementContext.prototype); ResetConfigurationContext.prototype.constructor = ResetConfigurationContext; sqlParser.ResetConfigurationContext = ResetConfigurationContext; ResetConfigurationContext.prototype.RESET = function () { return this.getToken(sqlParser.RESET, 0); }; ResetConfigurationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterResetConfiguration(this); } }; ResetConfigurationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitResetConfiguration(this); } }; ResetConfigurationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitResetConfiguration(this); } else { return visitor.visitChildren(this); } }; function DescribeDatabaseContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } DescribeDatabaseContext.prototype = Object.create(StatementContext.prototype); DescribeDatabaseContext.prototype.constructor = DescribeDatabaseContext; sqlParser.DescribeDatabaseContext = DescribeDatabaseContext; DescribeDatabaseContext.prototype.DATABASE = function () { return this.getToken(sqlParser.DATABASE, 0); }; DescribeDatabaseContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; DescribeDatabaseContext.prototype.DESC = function () { return this.getToken(sqlParser.DESC, 0); }; DescribeDatabaseContext.prototype.DESCRIBE = function () { return this.getToken(sqlParser.DESCRIBE, 0); }; DescribeDatabaseContext.prototype.EXTENDED = function () { return this.getToken(sqlParser.EXTENDED, 0); }; DescribeDatabaseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDescribeDatabase(this); } }; DescribeDatabaseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDescribeDatabase(this); } }; DescribeDatabaseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDescribeDatabase(this); } else { return visitor.visitChildren(this); } }; function AlterViewQueryContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } AlterViewQueryContext.prototype = Object.create(StatementContext.prototype); AlterViewQueryContext.prototype.constructor = AlterViewQueryContext; sqlParser.AlterViewQueryContext = AlterViewQueryContext; AlterViewQueryContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; AlterViewQueryContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; AlterViewQueryContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; AlterViewQueryContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; AlterViewQueryContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; AlterViewQueryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterAlterViewQuery(this); } }; AlterViewQueryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitAlterViewQuery(this); } }; AlterViewQueryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitAlterViewQuery(this); } else { return visitor.visitChildren(this); } }; function UseContext(parser, ctx) { StatementContext.call(this, parser); this.db = null; // IdentifierContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } UseContext.prototype = Object.create(StatementContext.prototype); UseContext.prototype.constructor = UseContext; sqlParser.UseContext = UseContext; UseContext.prototype.USE = function () { return this.getToken(sqlParser.USE, 0); }; UseContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; UseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterUse(this); } }; UseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitUse(this); } }; UseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitUse(this); } else { return visitor.visitChildren(this); } }; function CreateTempViewUsingContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } CreateTempViewUsingContext.prototype = Object.create(StatementContext.prototype); CreateTempViewUsingContext.prototype.constructor = CreateTempViewUsingContext; sqlParser.CreateTempViewUsingContext = CreateTempViewUsingContext; CreateTempViewUsingContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; CreateTempViewUsingContext.prototype.TEMPORARY = function () { return this.getToken(sqlParser.TEMPORARY, 0); }; CreateTempViewUsingContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; CreateTempViewUsingContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; CreateTempViewUsingContext.prototype.tableProvider = function () { return this.getTypedRuleContext(TableProviderContext, 0); }; CreateTempViewUsingContext.prototype.OR = function () { return this.getToken(sqlParser.OR, 0); }; CreateTempViewUsingContext.prototype.REPLACE = function () { return this.getToken(sqlParser.REPLACE, 0); }; CreateTempViewUsingContext.prototype.GLOBAL = function () { return this.getToken(sqlParser.GLOBAL, 0); }; CreateTempViewUsingContext.prototype.colTypeList = function () { return this.getTypedRuleContext(ColTypeListContext, 0); }; CreateTempViewUsingContext.prototype.OPTIONS = function () { return this.getToken(sqlParser.OPTIONS, 0); }; CreateTempViewUsingContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; CreateTempViewUsingContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateTempViewUsing(this); } }; CreateTempViewUsingContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateTempViewUsing(this); } }; CreateTempViewUsingContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateTempViewUsing(this); } else { return visitor.visitChildren(this); } }; function RenameTableContext(parser, ctx) { StatementContext.call(this, parser); this.from = null; // TableIdentifierContext; this.to = null; // TableIdentifierContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } RenameTableContext.prototype = Object.create(StatementContext.prototype); RenameTableContext.prototype.constructor = RenameTableContext; sqlParser.RenameTableContext = RenameTableContext; RenameTableContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; RenameTableContext.prototype.RENAME = function () { return this.getToken(sqlParser.RENAME, 0); }; RenameTableContext.prototype.TO = function () { return this.getToken(sqlParser.TO, 0); }; RenameTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; RenameTableContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; RenameTableContext.prototype.tableIdentifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(TableIdentifierContext); } else { return this.getTypedRuleContext(TableIdentifierContext, i); } }; RenameTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRenameTable(this); } }; RenameTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRenameTable(this); } }; RenameTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRenameTable(this); } else { return visitor.visitChildren(this); } }; function FailNativeCommandContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } FailNativeCommandContext.prototype = Object.create(StatementContext.prototype); FailNativeCommandContext.prototype.constructor = FailNativeCommandContext; sqlParser.FailNativeCommandContext = FailNativeCommandContext; FailNativeCommandContext.prototype.SET = function () { return this.getToken(sqlParser.SET, 0); }; FailNativeCommandContext.prototype.ROLE = function () { return this.getToken(sqlParser.ROLE, 0); }; FailNativeCommandContext.prototype.unsupportedHiveNativeCommands = function () { return this.getTypedRuleContext(UnsupportedHiveNativeCommandsContext, 0); }; FailNativeCommandContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterFailNativeCommand(this); } }; FailNativeCommandContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitFailNativeCommand(this); } }; FailNativeCommandContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitFailNativeCommand(this); } else { return visitor.visitChildren(this); } }; function ClearCacheContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } ClearCacheContext.prototype = Object.create(StatementContext.prototype); ClearCacheContext.prototype.constructor = ClearCacheContext; sqlParser.ClearCacheContext = ClearCacheContext; ClearCacheContext.prototype.CLEAR = function () { return this.getToken(sqlParser.CLEAR, 0); }; ClearCacheContext.prototype.CACHE = function () { return this.getToken(sqlParser.CACHE, 0); }; ClearCacheContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterClearCache(this); } }; ClearCacheContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitClearCache(this); } }; ClearCacheContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitClearCache(this); } else { return visitor.visitChildren(this); } }; function ShowTablesContext(parser, ctx) { StatementContext.call(this, parser); this.db = null; // IdentifierContext; this.pattern = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } ShowTablesContext.prototype = Object.create(StatementContext.prototype); ShowTablesContext.prototype.constructor = ShowTablesContext; sqlParser.ShowTablesContext = ShowTablesContext; ShowTablesContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; ShowTablesContext.prototype.TABLES = function () { return this.getToken(sqlParser.TABLES, 0); }; ShowTablesContext.prototype.FROM = function () { return this.getToken(sqlParser.FROM, 0); }; ShowTablesContext.prototype.IN = function () { return this.getToken(sqlParser.IN, 0); }; ShowTablesContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ShowTablesContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; ShowTablesContext.prototype.LIKE = function () { return this.getToken(sqlParser.LIKE, 0); }; ShowTablesContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterShowTables(this); } }; ShowTablesContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitShowTables(this); } }; ShowTablesContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitShowTables(this); } else { return visitor.visitChildren(this); } }; function RecoverPartitionsContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } RecoverPartitionsContext.prototype = Object.create(StatementContext.prototype); RecoverPartitionsContext.prototype.constructor = RecoverPartitionsContext; sqlParser.RecoverPartitionsContext = RecoverPartitionsContext; RecoverPartitionsContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; RecoverPartitionsContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; RecoverPartitionsContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; RecoverPartitionsContext.prototype.RECOVER = function () { return this.getToken(sqlParser.RECOVER, 0); }; RecoverPartitionsContext.prototype.PARTITIONS = function () { return this.getToken(sqlParser.PARTITIONS, 0); }; RecoverPartitionsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRecoverPartitions(this); } }; RecoverPartitionsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRecoverPartitions(this); } }; RecoverPartitionsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRecoverPartitions(this); } else { return visitor.visitChildren(this); } }; function RenameTablePartitionContext(parser, ctx) { StatementContext.call(this, parser); this.from = null; // PartitionSpecContext; this.to = null; // PartitionSpecContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } RenameTablePartitionContext.prototype = Object.create(StatementContext.prototype); RenameTablePartitionContext.prototype.constructor = RenameTablePartitionContext; sqlParser.RenameTablePartitionContext = RenameTablePartitionContext; RenameTablePartitionContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; RenameTablePartitionContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; RenameTablePartitionContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; RenameTablePartitionContext.prototype.RENAME = function () { return this.getToken(sqlParser.RENAME, 0); }; RenameTablePartitionContext.prototype.TO = function () { return this.getToken(sqlParser.TO, 0); }; RenameTablePartitionContext.prototype.partitionSpec = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PartitionSpecContext); } else { return this.getTypedRuleContext(PartitionSpecContext, i); } }; RenameTablePartitionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRenameTablePartition(this); } }; RenameTablePartitionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRenameTablePartition(this); } }; RenameTablePartitionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRenameTablePartition(this); } else { return visitor.visitChildren(this); } }; function RepairTableContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } RepairTableContext.prototype = Object.create(StatementContext.prototype); RepairTableContext.prototype.constructor = RepairTableContext; sqlParser.RepairTableContext = RepairTableContext; RepairTableContext.prototype.MSCK = function () { return this.getToken(sqlParser.MSCK, 0); }; RepairTableContext.prototype.REPAIR = function () { return this.getToken(sqlParser.REPAIR, 0); }; RepairTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; RepairTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; RepairTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRepairTable(this); } }; RepairTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRepairTable(this); } }; RepairTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRepairTable(this); } else { return visitor.visitChildren(this); } }; function RefreshResourceContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } RefreshResourceContext.prototype = Object.create(StatementContext.prototype); RefreshResourceContext.prototype.constructor = RefreshResourceContext; sqlParser.RefreshResourceContext = RefreshResourceContext; RefreshResourceContext.prototype.REFRESH = function () { return this.getToken(sqlParser.REFRESH, 0); }; RefreshResourceContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; RefreshResourceContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRefreshResource(this); } }; RefreshResourceContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRefreshResource(this); } }; RefreshResourceContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRefreshResource(this); } else { return visitor.visitChildren(this); } }; function ShowCreateTableContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } ShowCreateTableContext.prototype = Object.create(StatementContext.prototype); ShowCreateTableContext.prototype.constructor = ShowCreateTableContext; sqlParser.ShowCreateTableContext = ShowCreateTableContext; ShowCreateTableContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; ShowCreateTableContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; ShowCreateTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; ShowCreateTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; ShowCreateTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterShowCreateTable(this); } }; ShowCreateTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitShowCreateTable(this); } }; ShowCreateTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitShowCreateTable(this); } else { return visitor.visitChildren(this); } }; function ShowColumnsContext(parser, ctx) { StatementContext.call(this, parser); this.db = null; // IdentifierContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } ShowColumnsContext.prototype = Object.create(StatementContext.prototype); ShowColumnsContext.prototype.constructor = ShowColumnsContext; sqlParser.ShowColumnsContext = ShowColumnsContext; ShowColumnsContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; ShowColumnsContext.prototype.COLUMNS = function () { return this.getToken(sqlParser.COLUMNS, 0); }; ShowColumnsContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; ShowColumnsContext.prototype.FROM = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.FROM); } else { return this.getToken(sqlParser.FROM, i); } }; ShowColumnsContext.prototype.IN = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.IN); } else { return this.getToken(sqlParser.IN, i); } }; ShowColumnsContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ShowColumnsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterShowColumns(this); } }; ShowColumnsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitShowColumns(this); } }; ShowColumnsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitShowColumns(this); } else { return visitor.visitChildren(this); } }; function AddTablePartitionContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } AddTablePartitionContext.prototype = Object.create(StatementContext.prototype); AddTablePartitionContext.prototype.constructor = AddTablePartitionContext; sqlParser.AddTablePartitionContext = AddTablePartitionContext; AddTablePartitionContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; AddTablePartitionContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; AddTablePartitionContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; AddTablePartitionContext.prototype.ADD = function () { return this.getToken(sqlParser.ADD, 0); }; AddTablePartitionContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; AddTablePartitionContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; AddTablePartitionContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; AddTablePartitionContext.prototype.partitionSpecLocation = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PartitionSpecLocationContext); } else { return this.getTypedRuleContext(PartitionSpecLocationContext, i); } }; AddTablePartitionContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; AddTablePartitionContext.prototype.partitionSpec = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PartitionSpecContext); } else { return this.getTypedRuleContext(PartitionSpecContext, i); } }; AddTablePartitionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterAddTablePartition(this); } }; AddTablePartitionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitAddTablePartition(this); } }; AddTablePartitionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitAddTablePartition(this); } else { return visitor.visitChildren(this); } }; function RefreshTableContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } RefreshTableContext.prototype = Object.create(StatementContext.prototype); RefreshTableContext.prototype.constructor = RefreshTableContext; sqlParser.RefreshTableContext = RefreshTableContext; RefreshTableContext.prototype.REFRESH = function () { return this.getToken(sqlParser.REFRESH, 0); }; RefreshTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; RefreshTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; RefreshTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRefreshTable(this); } }; RefreshTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRefreshTable(this); } }; RefreshTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRefreshTable(this); } else { return visitor.visitChildren(this); } }; function ManageResourceContext(parser, ctx) { StatementContext.call(this, parser); this.op = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } ManageResourceContext.prototype = Object.create(StatementContext.prototype); ManageResourceContext.prototype.constructor = ManageResourceContext; sqlParser.ManageResourceContext = ManageResourceContext; ManageResourceContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ManageResourceContext.prototype.ADD = function () { return this.getToken(sqlParser.ADD, 0); }; ManageResourceContext.prototype.LIST = function () { return this.getToken(sqlParser.LIST, 0); }; ManageResourceContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterManageResource(this); } }; ManageResourceContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitManageResource(this); } }; ManageResourceContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitManageResource(this); } else { return visitor.visitChildren(this); } }; function CreateDatabaseContext(parser, ctx) { StatementContext.call(this, parser); this.comment = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } CreateDatabaseContext.prototype = Object.create(StatementContext.prototype); CreateDatabaseContext.prototype.constructor = CreateDatabaseContext; sqlParser.CreateDatabaseContext = CreateDatabaseContext; CreateDatabaseContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; CreateDatabaseContext.prototype.DATABASE = function () { return this.getToken(sqlParser.DATABASE, 0); }; CreateDatabaseContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; CreateDatabaseContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; CreateDatabaseContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; CreateDatabaseContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; CreateDatabaseContext.prototype.COMMENT = function () { return this.getToken(sqlParser.COMMENT, 0); }; CreateDatabaseContext.prototype.locationSpec = function () { return this.getTypedRuleContext(LocationSpecContext, 0); }; CreateDatabaseContext.prototype.WITH = function () { return this.getToken(sqlParser.WITH, 0); }; CreateDatabaseContext.prototype.DBPROPERTIES = function () { return this.getToken(sqlParser.DBPROPERTIES, 0); }; CreateDatabaseContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; CreateDatabaseContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; CreateDatabaseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateDatabase(this); } }; CreateDatabaseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateDatabase(this); } }; CreateDatabaseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateDatabase(this); } else { return visitor.visitChildren(this); } }; function AnalyzeContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } AnalyzeContext.prototype = Object.create(StatementContext.prototype); AnalyzeContext.prototype.constructor = AnalyzeContext; sqlParser.AnalyzeContext = AnalyzeContext; AnalyzeContext.prototype.ANALYZE = function () { return this.getToken(sqlParser.ANALYZE, 0); }; AnalyzeContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; AnalyzeContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; AnalyzeContext.prototype.COMPUTE = function () { return this.getToken(sqlParser.COMPUTE, 0); }; AnalyzeContext.prototype.STATISTICS = function () { return this.getToken(sqlParser.STATISTICS, 0); }; AnalyzeContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; AnalyzeContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; AnalyzeContext.prototype.FOR = function () { return this.getToken(sqlParser.FOR, 0); }; AnalyzeContext.prototype.COLUMNS = function () { return this.getToken(sqlParser.COLUMNS, 0); }; AnalyzeContext.prototype.identifierSeq = function () { return this.getTypedRuleContext(IdentifierSeqContext, 0); }; AnalyzeContext.prototype.ALL = function () { return this.getToken(sqlParser.ALL, 0); }; AnalyzeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterAnalyze(this); } }; AnalyzeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitAnalyze(this); } }; AnalyzeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitAnalyze(this); } else { return visitor.visitChildren(this); } }; function CreateHiveTableContext(parser, ctx) { StatementContext.call(this, parser); this.columns = null; // ColTypeListContext; this.comment = null; // Token; this.partitionColumns = null; // ColTypeListContext; this.tableProps = null; // TablePropertyListContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } CreateHiveTableContext.prototype = Object.create(StatementContext.prototype); CreateHiveTableContext.prototype.constructor = CreateHiveTableContext; sqlParser.CreateHiveTableContext = CreateHiveTableContext; CreateHiveTableContext.prototype.createTableHeader = function () { return this.getTypedRuleContext(CreateTableHeaderContext, 0); }; CreateHiveTableContext.prototype.bucketSpec = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(BucketSpecContext); } else { return this.getTypedRuleContext(BucketSpecContext, i); } }; CreateHiveTableContext.prototype.skewSpec = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(SkewSpecContext); } else { return this.getTypedRuleContext(SkewSpecContext, i); } }; CreateHiveTableContext.prototype.rowFormat = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(RowFormatContext); } else { return this.getTypedRuleContext(RowFormatContext, i); } }; CreateHiveTableContext.prototype.createFileFormat = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(CreateFileFormatContext); } else { return this.getTypedRuleContext(CreateFileFormatContext, i); } }; CreateHiveTableContext.prototype.locationSpec = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(LocationSpecContext); } else { return this.getTypedRuleContext(LocationSpecContext, i); } }; CreateHiveTableContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; CreateHiveTableContext.prototype.colTypeList = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ColTypeListContext); } else { return this.getTypedRuleContext(ColTypeListContext, i); } }; CreateHiveTableContext.prototype.COMMENT = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.COMMENT); } else { return this.getToken(sqlParser.COMMENT, i); } }; CreateHiveTableContext.prototype.PARTITIONED = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.PARTITIONED); } else { return this.getToken(sqlParser.PARTITIONED, i); } }; CreateHiveTableContext.prototype.BY = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.BY); } else { return this.getToken(sqlParser.BY, i); } }; CreateHiveTableContext.prototype.TBLPROPERTIES = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.TBLPROPERTIES); } else { return this.getToken(sqlParser.TBLPROPERTIES, i); } }; CreateHiveTableContext.prototype.STRING = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.STRING); } else { return this.getToken(sqlParser.STRING, i); } }; CreateHiveTableContext.prototype.tablePropertyList = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(TablePropertyListContext); } else { return this.getTypedRuleContext(TablePropertyListContext, i); } }; CreateHiveTableContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; CreateHiveTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateHiveTable(this); } }; CreateHiveTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateHiveTable(this); } }; CreateHiveTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateHiveTable(this); } else { return visitor.visitChildren(this); } }; function CreateFunctionContext(parser, ctx) { StatementContext.call(this, parser); this.className = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } CreateFunctionContext.prototype = Object.create(StatementContext.prototype); CreateFunctionContext.prototype.constructor = CreateFunctionContext; sqlParser.CreateFunctionContext = CreateFunctionContext; CreateFunctionContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; CreateFunctionContext.prototype.FUNCTION = function () { return this.getToken(sqlParser.FUNCTION, 0); }; CreateFunctionContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; CreateFunctionContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; CreateFunctionContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; CreateFunctionContext.prototype.OR = function () { return this.getToken(sqlParser.OR, 0); }; CreateFunctionContext.prototype.REPLACE = function () { return this.getToken(sqlParser.REPLACE, 0); }; CreateFunctionContext.prototype.TEMPORARY = function () { return this.getToken(sqlParser.TEMPORARY, 0); }; CreateFunctionContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; CreateFunctionContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; CreateFunctionContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; CreateFunctionContext.prototype.USING = function () { return this.getToken(sqlParser.USING, 0); }; CreateFunctionContext.prototype.resource = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ResourceContext); } else { return this.getTypedRuleContext(ResourceContext, i); } }; CreateFunctionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateFunction(this); } }; CreateFunctionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateFunction(this); } }; CreateFunctionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateFunction(this); } else { return visitor.visitChildren(this); } }; function ShowTableContext(parser, ctx) { StatementContext.call(this, parser); this.db = null; // IdentifierContext; this.pattern = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } ShowTableContext.prototype = Object.create(StatementContext.prototype); ShowTableContext.prototype.constructor = ShowTableContext; sqlParser.ShowTableContext = ShowTableContext; ShowTableContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; ShowTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; ShowTableContext.prototype.EXTENDED = function () { return this.getToken(sqlParser.EXTENDED, 0); }; ShowTableContext.prototype.LIKE = function () { return this.getToken(sqlParser.LIKE, 0); }; ShowTableContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; ShowTableContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; ShowTableContext.prototype.FROM = function () { return this.getToken(sqlParser.FROM, 0); }; ShowTableContext.prototype.IN = function () { return this.getToken(sqlParser.IN, 0); }; ShowTableContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ShowTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterShowTable(this); } }; ShowTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitShowTable(this); } }; ShowTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitShowTable(this); } else { return visitor.visitChildren(this); } }; function SetDatabasePropertiesContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } SetDatabasePropertiesContext.prototype = Object.create(StatementContext.prototype); SetDatabasePropertiesContext.prototype.constructor = SetDatabasePropertiesContext; sqlParser.SetDatabasePropertiesContext = SetDatabasePropertiesContext; SetDatabasePropertiesContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; SetDatabasePropertiesContext.prototype.DATABASE = function () { return this.getToken(sqlParser.DATABASE, 0); }; SetDatabasePropertiesContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; SetDatabasePropertiesContext.prototype.SET = function () { return this.getToken(sqlParser.SET, 0); }; SetDatabasePropertiesContext.prototype.DBPROPERTIES = function () { return this.getToken(sqlParser.DBPROPERTIES, 0); }; SetDatabasePropertiesContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; SetDatabasePropertiesContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSetDatabaseProperties(this); } }; SetDatabasePropertiesContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSetDatabaseProperties(this); } }; SetDatabasePropertiesContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSetDatabaseProperties(this); } else { return visitor.visitChildren(this); } }; function CreateTableContext(parser, ctx) { StatementContext.call(this, parser); this.options = null; // TablePropertyListContext; this.partitionColumnNames = null; // IdentifierListContext; this.comment = null; // Token; this.tableProps = null; // TablePropertyListContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } CreateTableContext.prototype = Object.create(StatementContext.prototype); CreateTableContext.prototype.constructor = CreateTableContext; sqlParser.CreateTableContext = CreateTableContext; CreateTableContext.prototype.createTableHeader = function () { return this.getTypedRuleContext(CreateTableHeaderContext, 0); }; CreateTableContext.prototype.tableProvider = function () { return this.getTypedRuleContext(TableProviderContext, 0); }; CreateTableContext.prototype.colTypeList = function () { return this.getTypedRuleContext(ColTypeListContext, 0); }; CreateTableContext.prototype.bucketSpec = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(BucketSpecContext); } else { return this.getTypedRuleContext(BucketSpecContext, i); } }; CreateTableContext.prototype.locationSpec = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(LocationSpecContext); } else { return this.getTypedRuleContext(LocationSpecContext, i); } }; CreateTableContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; CreateTableContext.prototype.OPTIONS = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.OPTIONS); } else { return this.getToken(sqlParser.OPTIONS, i); } }; CreateTableContext.prototype.PARTITIONED = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.PARTITIONED); } else { return this.getToken(sqlParser.PARTITIONED, i); } }; CreateTableContext.prototype.BY = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.BY); } else { return this.getToken(sqlParser.BY, i); } }; CreateTableContext.prototype.COMMENT = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.COMMENT); } else { return this.getToken(sqlParser.COMMENT, i); } }; CreateTableContext.prototype.TBLPROPERTIES = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.TBLPROPERTIES); } else { return this.getToken(sqlParser.TBLPROPERTIES, i); } }; CreateTableContext.prototype.tablePropertyList = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(TablePropertyListContext); } else { return this.getTypedRuleContext(TablePropertyListContext, i); } }; CreateTableContext.prototype.identifierList = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierListContext); } else { return this.getTypedRuleContext(IdentifierListContext, i); } }; CreateTableContext.prototype.STRING = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.STRING); } else { return this.getToken(sqlParser.STRING, i); } }; CreateTableContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; CreateTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateTable(this); } }; CreateTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateTable(this); } }; CreateTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateTable(this); } else { return visitor.visitChildren(this); } }; function DescribeTableContext(parser, ctx) { StatementContext.call(this, parser); this.option = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } DescribeTableContext.prototype = Object.create(StatementContext.prototype); DescribeTableContext.prototype.constructor = DescribeTableContext; sqlParser.DescribeTableContext = DescribeTableContext; DescribeTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; DescribeTableContext.prototype.DESC = function () { return this.getToken(sqlParser.DESC, 0); }; DescribeTableContext.prototype.DESCRIBE = function () { return this.getToken(sqlParser.DESCRIBE, 0); }; DescribeTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; DescribeTableContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; DescribeTableContext.prototype.describeColName = function () { return this.getTypedRuleContext(DescribeColNameContext, 0); }; DescribeTableContext.prototype.EXTENDED = function () { return this.getToken(sqlParser.EXTENDED, 0); }; DescribeTableContext.prototype.FORMATTED = function () { return this.getToken(sqlParser.FORMATTED, 0); }; DescribeTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDescribeTable(this); } }; DescribeTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDescribeTable(this); } }; DescribeTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDescribeTable(this); } else { return visitor.visitChildren(this); } }; function CreateTableLikeContext(parser, ctx) { StatementContext.call(this, parser); this.target = null; // TableIdentifierContext; this.source = null; // TableIdentifierContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } CreateTableLikeContext.prototype = Object.create(StatementContext.prototype); CreateTableLikeContext.prototype.constructor = CreateTableLikeContext; sqlParser.CreateTableLikeContext = CreateTableLikeContext; CreateTableLikeContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; CreateTableLikeContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; CreateTableLikeContext.prototype.LIKE = function () { return this.getToken(sqlParser.LIKE, 0); }; CreateTableLikeContext.prototype.tableIdentifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(TableIdentifierContext); } else { return this.getTypedRuleContext(TableIdentifierContext, i); } }; CreateTableLikeContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; CreateTableLikeContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; CreateTableLikeContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; CreateTableLikeContext.prototype.locationSpec = function () { return this.getTypedRuleContext(LocationSpecContext, 0); }; CreateTableLikeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateTableLike(this); } }; CreateTableLikeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateTableLike(this); } }; CreateTableLikeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateTableLike(this); } else { return visitor.visitChildren(this); } }; function UncacheTableContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } UncacheTableContext.prototype = Object.create(StatementContext.prototype); UncacheTableContext.prototype.constructor = UncacheTableContext; sqlParser.UncacheTableContext = UncacheTableContext; UncacheTableContext.prototype.UNCACHE = function () { return this.getToken(sqlParser.UNCACHE, 0); }; UncacheTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; UncacheTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; UncacheTableContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; UncacheTableContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; UncacheTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterUncacheTable(this); } }; UncacheTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitUncacheTable(this); } }; UncacheTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitUncacheTable(this); } else { return visitor.visitChildren(this); } }; function DropFunctionContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } DropFunctionContext.prototype = Object.create(StatementContext.prototype); DropFunctionContext.prototype.constructor = DropFunctionContext; sqlParser.DropFunctionContext = DropFunctionContext; DropFunctionContext.prototype.DROP = function () { return this.getToken(sqlParser.DROP, 0); }; DropFunctionContext.prototype.FUNCTION = function () { return this.getToken(sqlParser.FUNCTION, 0); }; DropFunctionContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; DropFunctionContext.prototype.TEMPORARY = function () { return this.getToken(sqlParser.TEMPORARY, 0); }; DropFunctionContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; DropFunctionContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; DropFunctionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDropFunction(this); } }; DropFunctionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDropFunction(this); } }; DropFunctionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDropFunction(this); } else { return visitor.visitChildren(this); } }; function LoadDataContext(parser, ctx) { StatementContext.call(this, parser); this.path = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } LoadDataContext.prototype = Object.create(StatementContext.prototype); LoadDataContext.prototype.constructor = LoadDataContext; sqlParser.LoadDataContext = LoadDataContext; LoadDataContext.prototype.LOAD = function () { return this.getToken(sqlParser.LOAD, 0); }; LoadDataContext.prototype.DATA = function () { return this.getToken(sqlParser.DATA, 0); }; LoadDataContext.prototype.INPATH = function () { return this.getToken(sqlParser.INPATH, 0); }; LoadDataContext.prototype.INTO = function () { return this.getToken(sqlParser.INTO, 0); }; LoadDataContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; LoadDataContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; LoadDataContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; LoadDataContext.prototype.LOCAL = function () { return this.getToken(sqlParser.LOCAL, 0); }; LoadDataContext.prototype.OVERWRITE = function () { return this.getToken(sqlParser.OVERWRITE, 0); }; LoadDataContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; LoadDataContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterLoadData(this); } }; LoadDataContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitLoadData(this); } }; LoadDataContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitLoadData(this); } else { return visitor.visitChildren(this); } }; function ShowPartitionsContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } ShowPartitionsContext.prototype = Object.create(StatementContext.prototype); ShowPartitionsContext.prototype.constructor = ShowPartitionsContext; sqlParser.ShowPartitionsContext = ShowPartitionsContext; ShowPartitionsContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; ShowPartitionsContext.prototype.PARTITIONS = function () { return this.getToken(sqlParser.PARTITIONS, 0); }; ShowPartitionsContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; ShowPartitionsContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; ShowPartitionsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterShowPartitions(this); } }; ShowPartitionsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitShowPartitions(this); } }; ShowPartitionsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitShowPartitions(this); } else { return visitor.visitChildren(this); } }; function DescribeFunctionContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } DescribeFunctionContext.prototype = Object.create(StatementContext.prototype); DescribeFunctionContext.prototype.constructor = DescribeFunctionContext; sqlParser.DescribeFunctionContext = DescribeFunctionContext; DescribeFunctionContext.prototype.FUNCTION = function () { return this.getToken(sqlParser.FUNCTION, 0); }; DescribeFunctionContext.prototype.describeFuncName = function () { return this.getTypedRuleContext(DescribeFuncNameContext, 0); }; DescribeFunctionContext.prototype.DESC = function () { return this.getToken(sqlParser.DESC, 0); }; DescribeFunctionContext.prototype.DESCRIBE = function () { return this.getToken(sqlParser.DESCRIBE, 0); }; DescribeFunctionContext.prototype.EXTENDED = function () { return this.getToken(sqlParser.EXTENDED, 0); }; DescribeFunctionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDescribeFunction(this); } }; DescribeFunctionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDescribeFunction(this); } }; DescribeFunctionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDescribeFunction(this); } else { return visitor.visitChildren(this); } }; function ChangeColumnContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } ChangeColumnContext.prototype = Object.create(StatementContext.prototype); ChangeColumnContext.prototype.constructor = ChangeColumnContext; sqlParser.ChangeColumnContext = ChangeColumnContext; ChangeColumnContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; ChangeColumnContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; ChangeColumnContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; ChangeColumnContext.prototype.CHANGE = function () { return this.getToken(sqlParser.CHANGE, 0); }; ChangeColumnContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ChangeColumnContext.prototype.colType = function () { return this.getTypedRuleContext(ColTypeContext, 0); }; ChangeColumnContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; ChangeColumnContext.prototype.COLUMN = function () { return this.getToken(sqlParser.COLUMN, 0); }; ChangeColumnContext.prototype.colPosition = function () { return this.getTypedRuleContext(ColPositionContext, 0); }; ChangeColumnContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterChangeColumn(this); } }; ChangeColumnContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitChangeColumn(this); } }; ChangeColumnContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitChangeColumn(this); } else { return visitor.visitChildren(this); } }; function StatementDefaultContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } StatementDefaultContext.prototype = Object.create(StatementContext.prototype); StatementDefaultContext.prototype.constructor = StatementDefaultContext; sqlParser.StatementDefaultContext = StatementDefaultContext; StatementDefaultContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; StatementDefaultContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterStatementDefault(this); } }; StatementDefaultContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitStatementDefault(this); } }; StatementDefaultContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitStatementDefault(this); } else { return visitor.visitChildren(this); } }; function TruncateTableContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } TruncateTableContext.prototype = Object.create(StatementContext.prototype); TruncateTableContext.prototype.constructor = TruncateTableContext; sqlParser.TruncateTableContext = TruncateTableContext; TruncateTableContext.prototype.TRUNCATE = function () { return this.getToken(sqlParser.TRUNCATE, 0); }; TruncateTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; TruncateTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; TruncateTableContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; TruncateTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTruncateTable(this); } }; TruncateTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTruncateTable(this); } }; TruncateTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTruncateTable(this); } else { return visitor.visitChildren(this); } }; function SetTableSerDeContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } SetTableSerDeContext.prototype = Object.create(StatementContext.prototype); SetTableSerDeContext.prototype.constructor = SetTableSerDeContext; sqlParser.SetTableSerDeContext = SetTableSerDeContext; SetTableSerDeContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; SetTableSerDeContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; SetTableSerDeContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; SetTableSerDeContext.prototype.SET = function () { return this.getToken(sqlParser.SET, 0); }; SetTableSerDeContext.prototype.SERDE = function () { return this.getToken(sqlParser.SERDE, 0); }; SetTableSerDeContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; SetTableSerDeContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; SetTableSerDeContext.prototype.WITH = function () { return this.getToken(sqlParser.WITH, 0); }; SetTableSerDeContext.prototype.SERDEPROPERTIES = function () { return this.getToken(sqlParser.SERDEPROPERTIES, 0); }; SetTableSerDeContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; SetTableSerDeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSetTableSerDe(this); } }; SetTableSerDeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSetTableSerDe(this); } }; SetTableSerDeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSetTableSerDe(this); } else { return visitor.visitChildren(this); } }; function CreateViewContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } CreateViewContext.prototype = Object.create(StatementContext.prototype); CreateViewContext.prototype.constructor = CreateViewContext; sqlParser.CreateViewContext = CreateViewContext; CreateViewContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; CreateViewContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; CreateViewContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; CreateViewContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; CreateViewContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; CreateViewContext.prototype.OR = function () { return this.getToken(sqlParser.OR, 0); }; CreateViewContext.prototype.REPLACE = function () { return this.getToken(sqlParser.REPLACE, 0); }; CreateViewContext.prototype.TEMPORARY = function () { return this.getToken(sqlParser.TEMPORARY, 0); }; CreateViewContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; CreateViewContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; CreateViewContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; CreateViewContext.prototype.identifierCommentList = function () { return this.getTypedRuleContext(IdentifierCommentListContext, 0); }; CreateViewContext.prototype.COMMENT = function () { return this.getToken(sqlParser.COMMENT, 0); }; CreateViewContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; CreateViewContext.prototype.PARTITIONED = function () { return this.getToken(sqlParser.PARTITIONED, 0); }; CreateViewContext.prototype.ON = function () { return this.getToken(sqlParser.ON, 0); }; CreateViewContext.prototype.identifierList = function () { return this.getTypedRuleContext(IdentifierListContext, 0); }; CreateViewContext.prototype.TBLPROPERTIES = function () { return this.getToken(sqlParser.TBLPROPERTIES, 0); }; CreateViewContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; CreateViewContext.prototype.GLOBAL = function () { return this.getToken(sqlParser.GLOBAL, 0); }; CreateViewContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateView(this); } }; CreateViewContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateView(this); } }; CreateViewContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateView(this); } else { return visitor.visitChildren(this); } }; function DropTablePartitionsContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } DropTablePartitionsContext.prototype = Object.create(StatementContext.prototype); DropTablePartitionsContext.prototype.constructor = DropTablePartitionsContext; sqlParser.DropTablePartitionsContext = DropTablePartitionsContext; DropTablePartitionsContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; DropTablePartitionsContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; DropTablePartitionsContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; DropTablePartitionsContext.prototype.DROP = function () { return this.getToken(sqlParser.DROP, 0); }; DropTablePartitionsContext.prototype.partitionSpec = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PartitionSpecContext); } else { return this.getTypedRuleContext(PartitionSpecContext, i); } }; DropTablePartitionsContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; DropTablePartitionsContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; DropTablePartitionsContext.prototype.PURGE = function () { return this.getToken(sqlParser.PURGE, 0); }; DropTablePartitionsContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; DropTablePartitionsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDropTablePartitions(this); } }; DropTablePartitionsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDropTablePartitions(this); } }; DropTablePartitionsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDropTablePartitions(this); } else { return visitor.visitChildren(this); } }; function SetConfigurationContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } SetConfigurationContext.prototype = Object.create(StatementContext.prototype); SetConfigurationContext.prototype.constructor = SetConfigurationContext; sqlParser.SetConfigurationContext = SetConfigurationContext; SetConfigurationContext.prototype.SET = function () { return this.getToken(sqlParser.SET, 0); }; SetConfigurationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSetConfiguration(this); } }; SetConfigurationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSetConfiguration(this); } }; SetConfigurationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSetConfiguration(this); } else { return visitor.visitChildren(this); } }; function DropTableContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } DropTableContext.prototype = Object.create(StatementContext.prototype); DropTableContext.prototype.constructor = DropTableContext; sqlParser.DropTableContext = DropTableContext; DropTableContext.prototype.DROP = function () { return this.getToken(sqlParser.DROP, 0); }; DropTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; DropTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; DropTableContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; DropTableContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; DropTableContext.prototype.PURGE = function () { return this.getToken(sqlParser.PURGE, 0); }; DropTableContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; DropTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDropTable(this); } }; DropTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDropTable(this); } }; DropTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDropTable(this); } else { return visitor.visitChildren(this); } }; function ShowDatabasesContext(parser, ctx) { StatementContext.call(this, parser); this.pattern = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } ShowDatabasesContext.prototype = Object.create(StatementContext.prototype); ShowDatabasesContext.prototype.constructor = ShowDatabasesContext; sqlParser.ShowDatabasesContext = ShowDatabasesContext; ShowDatabasesContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; ShowDatabasesContext.prototype.DATABASES = function () { return this.getToken(sqlParser.DATABASES, 0); }; ShowDatabasesContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; ShowDatabasesContext.prototype.LIKE = function () { return this.getToken(sqlParser.LIKE, 0); }; ShowDatabasesContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterShowDatabases(this); } }; ShowDatabasesContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitShowDatabases(this); } }; ShowDatabasesContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitShowDatabases(this); } else { return visitor.visitChildren(this); } }; function ShowTblPropertiesContext(parser, ctx) { StatementContext.call(this, parser); this.table = null; // TableIdentifierContext; this.key = null; // TablePropertyKeyContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } ShowTblPropertiesContext.prototype = Object.create(StatementContext.prototype); ShowTblPropertiesContext.prototype.constructor = ShowTblPropertiesContext; sqlParser.ShowTblPropertiesContext = ShowTblPropertiesContext; ShowTblPropertiesContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; ShowTblPropertiesContext.prototype.TBLPROPERTIES = function () { return this.getToken(sqlParser.TBLPROPERTIES, 0); }; ShowTblPropertiesContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; ShowTblPropertiesContext.prototype.tablePropertyKey = function () { return this.getTypedRuleContext(TablePropertyKeyContext, 0); }; ShowTblPropertiesContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterShowTblProperties(this); } }; ShowTblPropertiesContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitShowTblProperties(this); } }; ShowTblPropertiesContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitShowTblProperties(this); } else { return visitor.visitChildren(this); } }; function CreateFlinkTableContext(parser, ctx) { StatementContext.call(this, parser); this.catcatalogName = null; // IdentifierContext; this.columns = null; // DtColTypeListContext; this.comment = null; // Token; this.partitionColumnNames = null; // IdentifierListContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } CreateFlinkTableContext.prototype = Object.create(StatementContext.prototype); CreateFlinkTableContext.prototype.constructor = CreateFlinkTableContext; sqlParser.CreateFlinkTableContext = CreateFlinkTableContext; CreateFlinkTableContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; CreateFlinkTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; CreateFlinkTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; CreateFlinkTableContext.prototype.WITH = function () { return this.getToken(sqlParser.WITH, 0); }; CreateFlinkTableContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; CreateFlinkTableContext.prototype.COMMENT = function () { return this.getToken(sqlParser.COMMENT, 0); }; CreateFlinkTableContext.prototype.PARTITIONED = function () { return this.getToken(sqlParser.PARTITIONED, 0); }; CreateFlinkTableContext.prototype.BY = function () { return this.getToken(sqlParser.BY, 0); }; CreateFlinkTableContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; CreateFlinkTableContext.prototype.dtColTypeList = function () { return this.getTypedRuleContext(DtColTypeListContext, 0); }; CreateFlinkTableContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; CreateFlinkTableContext.prototype.identifierList = function () { return this.getTypedRuleContext(IdentifierListContext, 0); }; CreateFlinkTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateFlinkTable(this); } }; CreateFlinkTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateFlinkTable(this); } }; CreateFlinkTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateFlinkTable(this); } else { return visitor.visitChildren(this); } }; function UnsetTablePropertiesContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } UnsetTablePropertiesContext.prototype = Object.create(StatementContext.prototype); UnsetTablePropertiesContext.prototype.constructor = UnsetTablePropertiesContext; sqlParser.UnsetTablePropertiesContext = UnsetTablePropertiesContext; UnsetTablePropertiesContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; UnsetTablePropertiesContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; UnsetTablePropertiesContext.prototype.UNSET = function () { return this.getToken(sqlParser.UNSET, 0); }; UnsetTablePropertiesContext.prototype.TBLPROPERTIES = function () { return this.getToken(sqlParser.TBLPROPERTIES, 0); }; UnsetTablePropertiesContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; UnsetTablePropertiesContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; UnsetTablePropertiesContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; UnsetTablePropertiesContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; UnsetTablePropertiesContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; UnsetTablePropertiesContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterUnsetTableProperties(this); } }; UnsetTablePropertiesContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitUnsetTableProperties(this); } }; UnsetTablePropertiesContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitUnsetTableProperties(this); } else { return visitor.visitChildren(this); } }; function SetTableLocationContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } SetTableLocationContext.prototype = Object.create(StatementContext.prototype); SetTableLocationContext.prototype.constructor = SetTableLocationContext; sqlParser.SetTableLocationContext = SetTableLocationContext; SetTableLocationContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; SetTableLocationContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; SetTableLocationContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; SetTableLocationContext.prototype.SET = function () { return this.getToken(sqlParser.SET, 0); }; SetTableLocationContext.prototype.locationSpec = function () { return this.getTypedRuleContext(LocationSpecContext, 0); }; SetTableLocationContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; SetTableLocationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSetTableLocation(this); } }; SetTableLocationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSetTableLocation(this); } }; SetTableLocationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSetTableLocation(this); } else { return visitor.visitChildren(this); } }; function ShowFunctionsContext(parser, ctx) { StatementContext.call(this, parser); this.pattern = null; // Token; StatementContext.prototype.copyFrom.call(this, ctx); return this; } ShowFunctionsContext.prototype = Object.create(StatementContext.prototype); ShowFunctionsContext.prototype.constructor = ShowFunctionsContext; sqlParser.ShowFunctionsContext = ShowFunctionsContext; ShowFunctionsContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; ShowFunctionsContext.prototype.FUNCTIONS = function () { return this.getToken(sqlParser.FUNCTIONS, 0); }; ShowFunctionsContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ShowFunctionsContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; ShowFunctionsContext.prototype.LIKE = function () { return this.getToken(sqlParser.LIKE, 0); }; ShowFunctionsContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; ShowFunctionsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterShowFunctions(this); } }; ShowFunctionsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitShowFunctions(this); } }; ShowFunctionsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitShowFunctions(this); } else { return visitor.visitChildren(this); } }; function CacheTableContext(parser, ctx) { StatementContext.call(this, parser); this.options = null; // TablePropertyListContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } CacheTableContext.prototype = Object.create(StatementContext.prototype); CacheTableContext.prototype.constructor = CacheTableContext; sqlParser.CacheTableContext = CacheTableContext; CacheTableContext.prototype.CACHE = function () { return this.getToken(sqlParser.CACHE, 0); }; CacheTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; CacheTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; CacheTableContext.prototype.LAZY = function () { return this.getToken(sqlParser.LAZY, 0); }; CacheTableContext.prototype.OPTIONS = function () { return this.getToken(sqlParser.OPTIONS, 0); }; CacheTableContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; CacheTableContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; CacheTableContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; CacheTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCacheTable(this); } }; CacheTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCacheTable(this); } }; CacheTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCacheTable(this); } else { return visitor.visitChildren(this); } }; function AddTableColumnsContext(parser, ctx) { StatementContext.call(this, parser); this.columns = null; // ColTypeListContext; StatementContext.prototype.copyFrom.call(this, ctx); return this; } AddTableColumnsContext.prototype = Object.create(StatementContext.prototype); AddTableColumnsContext.prototype.constructor = AddTableColumnsContext; sqlParser.AddTableColumnsContext = AddTableColumnsContext; AddTableColumnsContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; AddTableColumnsContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; AddTableColumnsContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; AddTableColumnsContext.prototype.ADD = function () { return this.getToken(sqlParser.ADD, 0); }; AddTableColumnsContext.prototype.COLUMNS = function () { return this.getToken(sqlParser.COLUMNS, 0); }; AddTableColumnsContext.prototype.colTypeList = function () { return this.getTypedRuleContext(ColTypeListContext, 0); }; AddTableColumnsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterAddTableColumns(this); } }; AddTableColumnsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitAddTableColumns(this); } }; AddTableColumnsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitAddTableColumns(this); } else { return visitor.visitChildren(this); } }; function SetTablePropertiesContext(parser, ctx) { StatementContext.call(this, parser); StatementContext.prototype.copyFrom.call(this, ctx); return this; } SetTablePropertiesContext.prototype = Object.create(StatementContext.prototype); SetTablePropertiesContext.prototype.constructor = SetTablePropertiesContext; sqlParser.SetTablePropertiesContext = SetTablePropertiesContext; SetTablePropertiesContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; SetTablePropertiesContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; SetTablePropertiesContext.prototype.SET = function () { return this.getToken(sqlParser.SET, 0); }; SetTablePropertiesContext.prototype.TBLPROPERTIES = function () { return this.getToken(sqlParser.TBLPROPERTIES, 0); }; SetTablePropertiesContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; SetTablePropertiesContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; SetTablePropertiesContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; SetTablePropertiesContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSetTableProperties(this); } }; SetTablePropertiesContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSetTableProperties(this); } }; SetTablePropertiesContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSetTableProperties(this); } else { return visitor.visitChildren(this); } }; sqlParser.StatementContext = StatementContext; sqlParser.prototype.statement = function () { var localctx = new StatementContext(this, this._ctx, this.state); this.enterRule(localctx, 12, sqlParser.RULE_statement); var _la = 0; // Token type try { this.state = 893; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 101, this._ctx); switch (la_) { case 1: localctx = new StatementDefaultContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 251; this.query(); break; case 2: localctx = new UseContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 252; this.match(sqlParser.USE); this.state = 253; localctx.db = this.identifier(); break; case 3: localctx = new CreateDatabaseContext(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 254; this.match(sqlParser.CREATE); this.state = 255; this.match(sqlParser.DATABASE); this.state = 259; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 1, this._ctx); if (la_ === 1) { this.state = 256; this.match(sqlParser.IF); this.state = 257; this.match(sqlParser.NOT); this.state = 258; this.match(sqlParser.EXISTS); } this.state = 261; this.identifier(); this.state = 264; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.COMMENT) { this.state = 262; this.match(sqlParser.COMMENT); this.state = 263; localctx.comment = this.match(sqlParser.STRING); } this.state = 267; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LOCATION) { this.state = 266; this.locationSpec(); } this.state = 272; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.WITH) { this.state = 269; this.match(sqlParser.WITH); this.state = 270; this.match(sqlParser.DBPROPERTIES); this.state = 271; this.tablePropertyList(); } break; case 4: localctx = new SetDatabasePropertiesContext(this, localctx); this.enterOuterAlt(localctx, 4); this.state = 274; this.match(sqlParser.ALTER); this.state = 275; this.match(sqlParser.DATABASE); this.state = 276; this.identifier(); this.state = 277; this.match(sqlParser.SET); this.state = 278; this.match(sqlParser.DBPROPERTIES); this.state = 279; this.tablePropertyList(); break; case 5: localctx = new DropDatabaseContext(this, localctx); this.enterOuterAlt(localctx, 5); this.state = 281; this.match(sqlParser.DROP); this.state = 282; this.match(sqlParser.DATABASE); this.state = 285; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 5, this._ctx); if (la_ === 1) { this.state = 283; this.match(sqlParser.IF); this.state = 284; this.match(sqlParser.EXISTS); } this.state = 287; this.identifier(); this.state = 289; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.CASCADE || _la === sqlParser.RESTRICT) { this.state = 288; _la = this._input.LA(1); if (!(_la === sqlParser.CASCADE || _la === sqlParser.RESTRICT)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } break; case 6: localctx = new CreateTableContext(this, localctx); this.enterOuterAlt(localctx, 6); this.state = 291; this.createTableHeader(); this.state = 296; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.T__0) { this.state = 292; this.match(sqlParser.T__0); this.state = 293; this.colTypeList(); this.state = 294; this.match(sqlParser.T__1); } this.state = 298; this.tableProvider(); this.state = 312; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.COMMENT || ((((_la - 191)) & ~0x1f) == 0 && ((1 << (_la - 191)) & ((1 << (sqlParser.OPTIONS - 191)) | (1 << (sqlParser.TBLPROPERTIES - 191)) | (1 << (sqlParser.LOCATION - 191)) | (1 << (sqlParser.CLUSTERED - 191)))) !== 0) || _la === sqlParser.PARTITIONED) { this.state = 310; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.OPTIONS: this.state = 299; this.match(sqlParser.OPTIONS); this.state = 300; localctx.options = this.tablePropertyList(); break; case sqlParser.PARTITIONED: this.state = 301; this.match(sqlParser.PARTITIONED); this.state = 302; this.match(sqlParser.BY); this.state = 303; localctx.partitionColumnNames = this.identifierList(); break; case sqlParser.CLUSTERED: this.state = 304; this.bucketSpec(); break; case sqlParser.LOCATION: this.state = 305; this.locationSpec(); break; case sqlParser.COMMENT: this.state = 306; this.match(sqlParser.COMMENT); this.state = 307; localctx.comment = this.match(sqlParser.STRING); break; case sqlParser.TBLPROPERTIES: this.state = 308; this.match(sqlParser.TBLPROPERTIES); this.state = 309; localctx.tableProps = this.tablePropertyList(); break; default: throw new antlr4.error.NoViableAltException(this); } this.state = 314; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 319; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.AS))) !== 0) || ((((_la - 85)) & ~0x1f) == 0 && ((1 << (_la - 85)) & ((1 << (sqlParser.WITH - 85)) | (1 << (sqlParser.VALUES - 85)) | (1 << (sqlParser.TABLE - 85)) | (1 << (sqlParser.INSERT - 85)))) !== 0) || _la === sqlParser.MAP || _la === sqlParser.REDUCE) { this.state = 316; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.AS) { this.state = 315; this.match(sqlParser.AS); } this.state = 318; this.query(); } break; case 7: localctx = new CreateHiveTableContext(this, localctx); this.enterOuterAlt(localctx, 7); this.state = 321; this.createTableHeader(); this.state = 326; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 12, this._ctx); if (la_ === 1) { this.state = 322; this.match(sqlParser.T__0); this.state = 323; localctx.columns = this.colTypeList(); this.state = 324; this.match(sqlParser.T__1); } this.state = 345; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.ROW || _la === sqlParser.COMMENT || ((((_la - 193)) & ~0x1f) == 0 && ((1 << (_la - 193)) & ((1 << (sqlParser.TBLPROPERTIES - 193)) | (1 << (sqlParser.SKEWED - 193)) | (1 << (sqlParser.STORED - 193)) | (1 << (sqlParser.LOCATION - 193)) | (1 << (sqlParser.CLUSTERED - 193)) | (1 << (sqlParser.PARTITIONED - 193)))) !== 0)) { this.state = 343; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.COMMENT: this.state = 328; this.match(sqlParser.COMMENT); this.state = 329; localctx.comment = this.match(sqlParser.STRING); break; case sqlParser.PARTITIONED: this.state = 330; this.match(sqlParser.PARTITIONED); this.state = 331; this.match(sqlParser.BY); this.state = 332; this.match(sqlParser.T__0); this.state = 333; localctx.partitionColumns = this.colTypeList(); this.state = 334; this.match(sqlParser.T__1); break; case sqlParser.CLUSTERED: this.state = 336; this.bucketSpec(); break; case sqlParser.SKEWED: this.state = 337; this.skewSpec(); break; case sqlParser.ROW: this.state = 338; this.rowFormat(); break; case sqlParser.STORED: this.state = 339; this.createFileFormat(); break; case sqlParser.LOCATION: this.state = 340; this.locationSpec(); break; case sqlParser.TBLPROPERTIES: this.state = 341; this.match(sqlParser.TBLPROPERTIES); this.state = 342; localctx.tableProps = this.tablePropertyList(); break; default: throw new antlr4.error.NoViableAltException(this); } this.state = 347; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 352; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.AS))) !== 0) || ((((_la - 85)) & ~0x1f) == 0 && ((1 << (_la - 85)) & ((1 << (sqlParser.WITH - 85)) | (1 << (sqlParser.VALUES - 85)) | (1 << (sqlParser.TABLE - 85)) | (1 << (sqlParser.INSERT - 85)))) !== 0) || _la === sqlParser.MAP || _la === sqlParser.REDUCE) { this.state = 349; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.AS) { this.state = 348; this.match(sqlParser.AS); } this.state = 351; this.query(); } break; case 8: localctx = new CreateFlinkTableContext(this, localctx); this.enterOuterAlt(localctx, 8); this.state = 354; this.match(sqlParser.CREATE); this.state = 355; this.match(sqlParser.TABLE); this.state = 359; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 17, this._ctx); if (la_ === 1) { this.state = 356; localctx.catcatalogName = this.identifier(); this.state = 357; this.match(sqlParser.T__2); } this.state = 361; this.tableIdentifier(); this.state = 366; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.T__0) { this.state = 362; this.match(sqlParser.T__0); this.state = 363; localctx.columns = this.dtColTypeList(); this.state = 364; this.match(sqlParser.T__1); } this.state = 370; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.COMMENT) { this.state = 368; this.match(sqlParser.COMMENT); this.state = 369; localctx.comment = this.match(sqlParser.STRING); } this.state = 378; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITIONED) { this.state = 372; this.match(sqlParser.PARTITIONED); this.state = 373; this.match(sqlParser.BY); this.state = 374; this.match(sqlParser.T__0); this.state = 375; localctx.partitionColumnNames = this.identifierList(); this.state = 376; this.match(sqlParser.T__1); } this.state = 380; this.match(sqlParser.WITH); this.state = 381; this.tablePropertyList(); break; case 9: localctx = new CreateTableLikeContext(this, localctx); this.enterOuterAlt(localctx, 9); this.state = 383; this.match(sqlParser.CREATE); this.state = 384; this.match(sqlParser.TABLE); this.state = 388; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 21, this._ctx); if (la_ === 1) { this.state = 385; this.match(sqlParser.IF); this.state = 386; this.match(sqlParser.NOT); this.state = 387; this.match(sqlParser.EXISTS); } this.state = 390; localctx.target = this.tableIdentifier(); this.state = 391; this.match(sqlParser.LIKE); this.state = 392; localctx.source = this.tableIdentifier(); this.state = 394; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LOCATION) { this.state = 393; this.locationSpec(); } break; case 10: localctx = new AnalyzeContext(this, localctx); this.enterOuterAlt(localctx, 10); this.state = 396; this.match(sqlParser.ANALYZE); this.state = 397; this.match(sqlParser.TABLE); this.state = 398; this.tableIdentifier(); this.state = 400; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 399; this.partitionSpec(); } this.state = 402; this.match(sqlParser.COMPUTE); this.state = 403; this.match(sqlParser.STATISTICS); this.state = 411; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 24, this._ctx); if (la_ === 1) { this.state = 404; this.identifier(); } else if (la_ === 2) { this.state = 405; this.match(sqlParser.FOR); this.state = 406; this.match(sqlParser.COLUMNS); this.state = 407; this.identifierSeq(); } else if (la_ === 3) { this.state = 408; this.match(sqlParser.FOR); this.state = 409; this.match(sqlParser.ALL); this.state = 410; this.match(sqlParser.COLUMNS); } break; case 11: localctx = new AddTableColumnsContext(this, localctx); this.enterOuterAlt(localctx, 11); this.state = 413; this.match(sqlParser.ALTER); this.state = 414; this.match(sqlParser.TABLE); this.state = 415; this.tableIdentifier(); this.state = 416; this.match(sqlParser.ADD); this.state = 417; this.match(sqlParser.COLUMNS); this.state = 418; this.match(sqlParser.T__0); this.state = 419; localctx.columns = this.colTypeList(); this.state = 420; this.match(sqlParser.T__1); break; case 12: localctx = new RenameTableContext(this, localctx); this.enterOuterAlt(localctx, 12); this.state = 422; this.match(sqlParser.ALTER); this.state = 423; _la = this._input.LA(1); if (!(_la === sqlParser.TABLE || _la === sqlParser.VIEW)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 424; localctx.from = this.tableIdentifier(); this.state = 425; this.match(sqlParser.RENAME); this.state = 426; this.match(sqlParser.TO); this.state = 427; localctx.to = this.tableIdentifier(); break; case 13: localctx = new SetTablePropertiesContext(this, localctx); this.enterOuterAlt(localctx, 13); this.state = 429; this.match(sqlParser.ALTER); this.state = 430; _la = this._input.LA(1); if (!(_la === sqlParser.TABLE || _la === sqlParser.VIEW)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 431; this.tableIdentifier(); this.state = 432; this.match(sqlParser.SET); this.state = 433; this.match(sqlParser.TBLPROPERTIES); this.state = 434; this.tablePropertyList(); break; case 14: localctx = new UnsetTablePropertiesContext(this, localctx); this.enterOuterAlt(localctx, 14); this.state = 436; this.match(sqlParser.ALTER); this.state = 437; _la = this._input.LA(1); if (!(_la === sqlParser.TABLE || _la === sqlParser.VIEW)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 438; this.tableIdentifier(); this.state = 439; this.match(sqlParser.UNSET); this.state = 440; this.match(sqlParser.TBLPROPERTIES); this.state = 443; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.IF) { this.state = 441; this.match(sqlParser.IF); this.state = 442; this.match(sqlParser.EXISTS); } this.state = 445; this.tablePropertyList(); break; case 15: localctx = new ChangeColumnContext(this, localctx); this.enterOuterAlt(localctx, 15); this.state = 447; this.match(sqlParser.ALTER); this.state = 448; this.match(sqlParser.TABLE); this.state = 449; this.tableIdentifier(); this.state = 451; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 450; this.partitionSpec(); } this.state = 453; this.match(sqlParser.CHANGE); this.state = 455; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 27, this._ctx); if (la_ === 1) { this.state = 454; this.match(sqlParser.COLUMN); } this.state = 457; this.identifier(); this.state = 458; this.colType(); this.state = 460; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.FIRST || _la === sqlParser.AFTER) { this.state = 459; this.colPosition(); } break; case 16: localctx = new SetTableSerDeContext(this, localctx); this.enterOuterAlt(localctx, 16); this.state = 462; this.match(sqlParser.ALTER); this.state = 463; this.match(sqlParser.TABLE); this.state = 464; this.tableIdentifier(); this.state = 466; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 465; this.partitionSpec(); } this.state = 468; this.match(sqlParser.SET); this.state = 469; this.match(sqlParser.SERDE); this.state = 470; this.match(sqlParser.STRING); this.state = 474; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.WITH) { this.state = 471; this.match(sqlParser.WITH); this.state = 472; this.match(sqlParser.SERDEPROPERTIES); this.state = 473; this.tablePropertyList(); } break; case 17: localctx = new SetTableSerDeContext(this, localctx); this.enterOuterAlt(localctx, 17); this.state = 476; this.match(sqlParser.ALTER); this.state = 477; this.match(sqlParser.TABLE); this.state = 478; this.tableIdentifier(); this.state = 480; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 479; this.partitionSpec(); } this.state = 482; this.match(sqlParser.SET); this.state = 483; this.match(sqlParser.SERDEPROPERTIES); this.state = 484; this.tablePropertyList(); break; case 18: localctx = new AddTablePartitionContext(this, localctx); this.enterOuterAlt(localctx, 18); this.state = 486; this.match(sqlParser.ALTER); this.state = 487; this.match(sqlParser.TABLE); this.state = 488; this.tableIdentifier(); this.state = 489; this.match(sqlParser.ADD); this.state = 493; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.IF) { this.state = 490; this.match(sqlParser.IF); this.state = 491; this.match(sqlParser.NOT); this.state = 492; this.match(sqlParser.EXISTS); } this.state = 496; this._errHandler.sync(this); _la = this._input.LA(1); do { this.state = 495; this.partitionSpecLocation(); this.state = 498; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === sqlParser.PARTITION); break; case 19: localctx = new AddTablePartitionContext(this, localctx); this.enterOuterAlt(localctx, 19); this.state = 500; this.match(sqlParser.ALTER); this.state = 501; this.match(sqlParser.VIEW); this.state = 502; this.tableIdentifier(); this.state = 503; this.match(sqlParser.ADD); this.state = 507; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.IF) { this.state = 504; this.match(sqlParser.IF); this.state = 505; this.match(sqlParser.NOT); this.state = 506; this.match(sqlParser.EXISTS); } this.state = 510; this._errHandler.sync(this); _la = this._input.LA(1); do { this.state = 509; this.partitionSpec(); this.state = 512; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === sqlParser.PARTITION); break; case 20: localctx = new RenameTablePartitionContext(this, localctx); this.enterOuterAlt(localctx, 20); this.state = 514; this.match(sqlParser.ALTER); this.state = 515; this.match(sqlParser.TABLE); this.state = 516; this.tableIdentifier(); this.state = 517; localctx.from = this.partitionSpec(); this.state = 518; this.match(sqlParser.RENAME); this.state = 519; this.match(sqlParser.TO); this.state = 520; localctx.to = this.partitionSpec(); break; case 21: localctx = new DropTablePartitionsContext(this, localctx); this.enterOuterAlt(localctx, 21); this.state = 522; this.match(sqlParser.ALTER); this.state = 523; this.match(sqlParser.TABLE); this.state = 524; this.tableIdentifier(); this.state = 525; this.match(sqlParser.DROP); this.state = 528; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.IF) { this.state = 526; this.match(sqlParser.IF); this.state = 527; this.match(sqlParser.EXISTS); } this.state = 530; this.partitionSpec(); this.state = 535; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 531; this.match(sqlParser.T__3); this.state = 532; this.partitionSpec(); this.state = 537; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 539; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PURGE) { this.state = 538; this.match(sqlParser.PURGE); } break; case 22: localctx = new DropTablePartitionsContext(this, localctx); this.enterOuterAlt(localctx, 22); this.state = 541; this.match(sqlParser.ALTER); this.state = 542; this.match(sqlParser.VIEW); this.state = 543; this.tableIdentifier(); this.state = 544; this.match(sqlParser.DROP); this.state = 547; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.IF) { this.state = 545; this.match(sqlParser.IF); this.state = 546; this.match(sqlParser.EXISTS); } this.state = 549; this.partitionSpec(); this.state = 554; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 550; this.match(sqlParser.T__3); this.state = 551; this.partitionSpec(); this.state = 556; this._errHandler.sync(this); _la = this._input.LA(1); } break; case 23: localctx = new SetTableLocationContext(this, localctx); this.enterOuterAlt(localctx, 23); this.state = 557; this.match(sqlParser.ALTER); this.state = 558; this.match(sqlParser.TABLE); this.state = 559; this.tableIdentifier(); this.state = 561; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 560; this.partitionSpec(); } this.state = 563; this.match(sqlParser.SET); this.state = 564; this.locationSpec(); break; case 24: localctx = new RecoverPartitionsContext(this, localctx); this.enterOuterAlt(localctx, 24); this.state = 566; this.match(sqlParser.ALTER); this.state = 567; this.match(sqlParser.TABLE); this.state = 568; this.tableIdentifier(); this.state = 569; this.match(sqlParser.RECOVER); this.state = 570; this.match(sqlParser.PARTITIONS); break; case 25: localctx = new DropTableContext(this, localctx); this.enterOuterAlt(localctx, 25); this.state = 572; this.match(sqlParser.DROP); this.state = 573; this.match(sqlParser.TABLE); this.state = 576; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 42, this._ctx); if (la_ === 1) { this.state = 574; this.match(sqlParser.IF); this.state = 575; this.match(sqlParser.EXISTS); } this.state = 578; this.tableIdentifier(); this.state = 580; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PURGE) { this.state = 579; this.match(sqlParser.PURGE); } break; case 26: localctx = new DropTableContext(this, localctx); this.enterOuterAlt(localctx, 26); this.state = 582; this.match(sqlParser.DROP); this.state = 583; this.match(sqlParser.VIEW); this.state = 586; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 44, this._ctx); if (la_ === 1) { this.state = 584; this.match(sqlParser.IF); this.state = 585; this.match(sqlParser.EXISTS); } this.state = 588; this.tableIdentifier(); break; case 27: localctx = new CreateViewContext(this, localctx); this.enterOuterAlt(localctx, 27); this.state = 589; this.match(sqlParser.CREATE); this.state = 592; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OR) { this.state = 590; this.match(sqlParser.OR); this.state = 591; this.match(sqlParser.REPLACE); } this.state = 598; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.GLOBAL || _la === sqlParser.TEMPORARY) { this.state = 595; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.GLOBAL) { this.state = 594; this.match(sqlParser.GLOBAL); } this.state = 597; this.match(sqlParser.TEMPORARY); } this.state = 600; this.match(sqlParser.VIEW); this.state = 604; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 48, this._ctx); if (la_ === 1) { this.state = 601; this.match(sqlParser.IF); this.state = 602; this.match(sqlParser.NOT); this.state = 603; this.match(sqlParser.EXISTS); } this.state = 606; this.tableIdentifier(); this.state = 608; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.T__0) { this.state = 607; this.identifierCommentList(); } this.state = 612; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.COMMENT) { this.state = 610; this.match(sqlParser.COMMENT); this.state = 611; this.match(sqlParser.STRING); } this.state = 617; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITIONED) { this.state = 614; this.match(sqlParser.PARTITIONED); this.state = 615; this.match(sqlParser.ON); this.state = 616; this.identifierList(); } this.state = 621; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.TBLPROPERTIES) { this.state = 619; this.match(sqlParser.TBLPROPERTIES); this.state = 620; this.tablePropertyList(); } this.state = 623; this.match(sqlParser.AS); this.state = 624; this.query(); break; case 28: localctx = new CreateTempViewUsingContext(this, localctx); this.enterOuterAlt(localctx, 28); this.state = 626; this.match(sqlParser.CREATE); this.state = 629; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OR) { this.state = 627; this.match(sqlParser.OR); this.state = 628; this.match(sqlParser.REPLACE); } this.state = 632; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.GLOBAL) { this.state = 631; this.match(sqlParser.GLOBAL); } this.state = 634; this.match(sqlParser.TEMPORARY); this.state = 635; this.match(sqlParser.VIEW); this.state = 636; this.tableIdentifier(); this.state = 641; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.T__0) { this.state = 637; this.match(sqlParser.T__0); this.state = 638; this.colTypeList(); this.state = 639; this.match(sqlParser.T__1); } this.state = 643; this.tableProvider(); this.state = 646; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OPTIONS) { this.state = 644; this.match(sqlParser.OPTIONS); this.state = 645; this.tablePropertyList(); } break; case 29: localctx = new AlterViewQueryContext(this, localctx); this.enterOuterAlt(localctx, 29); this.state = 648; this.match(sqlParser.ALTER); this.state = 649; this.match(sqlParser.VIEW); this.state = 650; this.tableIdentifier(); this.state = 652; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.AS) { this.state = 651; this.match(sqlParser.AS); } this.state = 654; this.query(); break; case 30: localctx = new CreateFunctionContext(this, localctx); this.enterOuterAlt(localctx, 30); this.state = 656; this.match(sqlParser.CREATE); this.state = 659; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OR) { this.state = 657; this.match(sqlParser.OR); this.state = 658; this.match(sqlParser.REPLACE); } this.state = 662; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.TEMPORARY) { this.state = 661; this.match(sqlParser.TEMPORARY); } this.state = 664; this.match(sqlParser.FUNCTION); this.state = 668; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 60, this._ctx); if (la_ === 1) { this.state = 665; this.match(sqlParser.IF); this.state = 666; this.match(sqlParser.NOT); this.state = 667; this.match(sqlParser.EXISTS); } this.state = 670; this.qualifiedName(); this.state = 671; this.match(sqlParser.AS); this.state = 672; localctx.className = this.match(sqlParser.STRING); this.state = 682; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.USING) { this.state = 673; this.match(sqlParser.USING); this.state = 674; this.resource(); this.state = 679; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 675; this.match(sqlParser.T__3); this.state = 676; this.resource(); this.state = 681; this._errHandler.sync(this); _la = this._input.LA(1); } } break; case 31: localctx = new DropFunctionContext(this, localctx); this.enterOuterAlt(localctx, 31); this.state = 684; this.match(sqlParser.DROP); this.state = 686; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.TEMPORARY) { this.state = 685; this.match(sqlParser.TEMPORARY); } this.state = 688; this.match(sqlParser.FUNCTION); this.state = 691; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 64, this._ctx); if (la_ === 1) { this.state = 689; this.match(sqlParser.IF); this.state = 690; this.match(sqlParser.EXISTS); } this.state = 693; this.qualifiedName(); break; case 32: localctx = new ExplainContext(this, localctx); this.enterOuterAlt(localctx, 32); this.state = 694; this.match(sqlParser.EXPLAIN); this.state = 696; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 98)) & ~0x1f) == 0 && ((1 << (_la - 98)) & ((1 << (sqlParser.LOGICAL - 98)) | (1 << (sqlParser.CODEGEN - 98)) | (1 << (sqlParser.COST - 98)))) !== 0) || _la === sqlParser.EXTENDED || _la === sqlParser.FORMATTED) { this.state = 695; _la = this._input.LA(1); if (!(((((_la - 98)) & ~0x1f) == 0 && ((1 << (_la - 98)) & ((1 << (sqlParser.LOGICAL - 98)) | (1 << (sqlParser.CODEGEN - 98)) | (1 << (sqlParser.COST - 98)))) !== 0) || _la === sqlParser.EXTENDED || _la === sqlParser.FORMATTED)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } this.state = 698; this.statement(); break; case 33: localctx = new ShowTablesContext(this, localctx); this.enterOuterAlt(localctx, 33); this.state = 699; this.match(sqlParser.SHOW); this.state = 700; this.match(sqlParser.TABLES); this.state = 703; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.FROM || _la === sqlParser.IN) { this.state = 701; _la = this._input.LA(1); if (!(_la === sqlParser.FROM || _la === sqlParser.IN)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 702; localctx.db = this.identifier(); } this.state = 709; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LIKE || _la === sqlParser.STRING) { this.state = 706; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LIKE) { this.state = 705; this.match(sqlParser.LIKE); } this.state = 708; localctx.pattern = this.match(sqlParser.STRING); } break; case 34: localctx = new ShowTableContext(this, localctx); this.enterOuterAlt(localctx, 34); this.state = 711; this.match(sqlParser.SHOW); this.state = 712; this.match(sqlParser.TABLE); this.state = 713; this.match(sqlParser.EXTENDED); this.state = 716; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.FROM || _la === sqlParser.IN) { this.state = 714; _la = this._input.LA(1); if (!(_la === sqlParser.FROM || _la === sqlParser.IN)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 715; localctx.db = this.identifier(); } this.state = 718; this.match(sqlParser.LIKE); this.state = 719; localctx.pattern = this.match(sqlParser.STRING); this.state = 721; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 720; this.partitionSpec(); } break; case 35: localctx = new ShowDatabasesContext(this, localctx); this.enterOuterAlt(localctx, 35); this.state = 723; this.match(sqlParser.SHOW); this.state = 724; this.match(sqlParser.DATABASES); this.state = 729; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LIKE || _la === sqlParser.STRING) { this.state = 726; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LIKE) { this.state = 725; this.match(sqlParser.LIKE); } this.state = 728; localctx.pattern = this.match(sqlParser.STRING); } break; case 36: localctx = new ShowTblPropertiesContext(this, localctx); this.enterOuterAlt(localctx, 36); this.state = 731; this.match(sqlParser.SHOW); this.state = 732; this.match(sqlParser.TBLPROPERTIES); this.state = 733; localctx.table = this.tableIdentifier(); this.state = 738; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.T__0) { this.state = 734; this.match(sqlParser.T__0); this.state = 735; localctx.key = this.tablePropertyKey(); this.state = 736; this.match(sqlParser.T__1); } break; case 37: localctx = new ShowColumnsContext(this, localctx); this.enterOuterAlt(localctx, 37); this.state = 740; this.match(sqlParser.SHOW); this.state = 741; this.match(sqlParser.COLUMNS); this.state = 742; _la = this._input.LA(1); if (!(_la === sqlParser.FROM || _la === sqlParser.IN)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 743; this.tableIdentifier(); this.state = 746; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.FROM || _la === sqlParser.IN) { this.state = 744; _la = this._input.LA(1); if (!(_la === sqlParser.FROM || _la === sqlParser.IN)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 745; localctx.db = this.identifier(); } break; case 38: localctx = new ShowPartitionsContext(this, localctx); this.enterOuterAlt(localctx, 38); this.state = 748; this.match(sqlParser.SHOW); this.state = 749; this.match(sqlParser.PARTITIONS); this.state = 750; this.tableIdentifier(); this.state = 752; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 751; this.partitionSpec(); } break; case 39: localctx = new ShowFunctionsContext(this, localctx); this.enterOuterAlt(localctx, 39); this.state = 754; this.match(sqlParser.SHOW); this.state = 756; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 76, this._ctx); if (la_ === 1) { this.state = 755; this.identifier(); } this.state = 758; this.match(sqlParser.FUNCTIONS); this.state = 766; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 19)) & ~0x1f) == 0 && ((1 << (_la - 19)) & ((1 << (sqlParser.SELECT - 19)) | (1 << (sqlParser.FROM - 19)) | (1 << (sqlParser.ADD - 19)) | (1 << (sqlParser.AS - 19)) | (1 << (sqlParser.ALL - 19)) | (1 << (sqlParser.ANY - 19)) | (1 << (sqlParser.DISTINCT - 19)) | (1 << (sqlParser.WHERE - 19)) | (1 << (sqlParser.GROUP - 19)) | (1 << (sqlParser.BY - 19)) | (1 << (sqlParser.GROUPING - 19)) | (1 << (sqlParser.SETS - 19)) | (1 << (sqlParser.CUBE - 19)) | (1 << (sqlParser.ROLLUP - 19)) | (1 << (sqlParser.ORDER - 19)) | (1 << (sqlParser.HAVING - 19)) | (1 << (sqlParser.LIMIT - 19)) | (1 << (sqlParser.AT - 19)) | (1 << (sqlParser.OR - 19)) | (1 << (sqlParser.AND - 19)) | (1 << (sqlParser.IN - 19)) | (1 << (sqlParser.NOT - 19)) | (1 << (sqlParser.NO - 19)) | (1 << (sqlParser.EXISTS - 19)) | (1 << (sqlParser.BETWEEN - 19)) | (1 << (sqlParser.LIKE - 19)) | (1 << (sqlParser.RLIKE - 19)) | (1 << (sqlParser.IS - 19)) | (1 << (sqlParser.NULL - 19)) | (1 << (sqlParser.TRUE - 19)) | (1 << (sqlParser.FALSE - 19)) | (1 << (sqlParser.NULLS - 19)))) !== 0) || ((((_la - 51)) & ~0x1f) == 0 && ((1 << (_la - 51)) & ((1 << (sqlParser.ASC - 51)) | (1 << (sqlParser.DESC - 51)) | (1 << (sqlParser.FOR - 51)) | (1 << (sqlParser.INTERVAL - 51)) | (1 << (sqlParser.CASE - 51)) | (1 << (sqlParser.WHEN - 51)) | (1 << (sqlParser.THEN - 51)) | (1 << (sqlParser.ELSE - 51)) | (1 << (sqlParser.END - 51)) | (1 << (sqlParser.JOIN - 51)) | (1 << (sqlParser.CROSS - 51)) | (1 << (sqlParser.OUTER - 51)) | (1 << (sqlParser.INNER - 51)) | (1 << (sqlParser.LEFT - 51)) | (1 << (sqlParser.SEMI - 51)) | (1 << (sqlParser.RIGHT - 51)) | (1 << (sqlParser.FULL - 51)) | (1 << (sqlParser.NATURAL - 51)) | (1 << (sqlParser.ON - 51)) | (1 << (sqlParser.PIVOT - 51)) | (1 << (sqlParser.LATERAL - 51)) | (1 << (sqlParser.WINDOW - 51)) | (1 << (sqlParser.OVER - 51)) | (1 << (sqlParser.PARTITION - 51)) | (1 << (sqlParser.RANGE - 51)) | (1 << (sqlParser.ROWS - 51)) | (1 << (sqlParser.UNBOUNDED - 51)) | (1 << (sqlParser.PRECEDING - 51)) | (1 << (sqlParser.FOLLOWING - 51)) | (1 << (sqlParser.CURRENT - 51)) | (1 << (sqlParser.FIRST - 51)) | (1 << (sqlParser.AFTER - 51)))) !== 0) || ((((_la - 83)) & ~0x1f) == 0 && ((1 << (_la - 83)) & ((1 << (sqlParser.LAST - 83)) | (1 << (sqlParser.ROW - 83)) | (1 << (sqlParser.WITH - 83)) | (1 << (sqlParser.CREATE - 83)) | (1 << (sqlParser.TABLE - 83)) | (1 << (sqlParser.DIRECTORY - 83)) | (1 << (sqlParser.VIEW - 83)) | (1 << (sqlParser.REPLACE - 83)) | (1 << (sqlParser.INSERT - 83)) | (1 << (sqlParser.DELETE - 83)) | (1 << (sqlParser.INTO - 83)) | (1 << (sqlParser.DESCRIBE - 83)) | (1 << (sqlParser.EXPLAIN - 83)) | (1 << (sqlParser.FORMAT - 83)) | (1 << (sqlParser.LOGICAL - 83)) | (1 << (sqlParser.CODEGEN - 83)) | (1 << (sqlParser.COST - 83)) | (1 << (sqlParser.CAST - 83)) | (1 << (sqlParser.SHOW - 83)) | (1 << (sqlParser.TABLES - 83)) | (1 << (sqlParser.COLUMNS - 83)) | (1 << (sqlParser.COLUMN - 83)) | (1 << (sqlParser.USE - 83)) | (1 << (sqlParser.PARTITIONS - 83)) | (1 << (sqlParser.FUNCTIONS - 83)) | (1 << (sqlParser.DROP - 83)) | (1 << (sqlParser.UNION - 83)) | (1 << (sqlParser.EXCEPT - 83)) | (1 << (sqlParser.SETMINUS - 83)) | (1 << (sqlParser.INTERSECT - 83)) | (1 << (sqlParser.TO - 83)))) !== 0) || ((((_la - 115)) & ~0x1f) == 0 && ((1 << (_la - 115)) & ((1 << (sqlParser.TABLESAMPLE - 115)) | (1 << (sqlParser.STRATIFY - 115)) | (1 << (sqlParser.ALTER - 115)) | (1 << (sqlParser.RENAME - 115)) | (1 << (sqlParser.ARRAY - 115)) | (1 << (sqlParser.MAP - 115)) | (1 << (sqlParser.STRUCT - 115)) | (1 << (sqlParser.COMMENT - 115)) | (1 << (sqlParser.SET - 115)) | (1 << (sqlParser.RESET - 115)) | (1 << (sqlParser.DATA - 115)) | (1 << (sqlParser.START - 115)) | (1 << (sqlParser.TRANSACTION - 115)) | (1 << (sqlParser.COMMIT - 115)) | (1 << (sqlParser.ROLLBACK - 115)) | (1 << (sqlParser.MACRO - 115)) | (1 << (sqlParser.IGNORE - 115)) | (1 << (sqlParser.BOTH - 115)) | (1 << (sqlParser.LEADING - 115)) | (1 << (sqlParser.TRAILING - 115)) | (1 << (sqlParser.IF - 115)) | (1 << (sqlParser.POSITION - 115)) | (1 << (sqlParser.EXTRACT - 115)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (sqlParser.DIV - 151)) | (1 << (sqlParser.PERCENTLIT - 151)) | (1 << (sqlParser.BUCKET - 151)) | (1 << (sqlParser.OUT - 151)) | (1 << (sqlParser.OF - 151)) | (1 << (sqlParser.SORT - 151)) | (1 << (sqlParser.CLUSTER - 151)) | (1 << (sqlParser.DISTRIBUTE - 151)) | (1 << (sqlParser.OVERWRITE - 151)) | (1 << (sqlParser.TRANSFORM - 151)) | (1 << (sqlParser.REDUCE - 151)) | (1 << (sqlParser.SERDE - 151)) | (1 << (sqlParser.SERDEPROPERTIES - 151)) | (1 << (sqlParser.RECORDREADER - 151)) | (1 << (sqlParser.RECORDWRITER - 151)) | (1 << (sqlParser.DELIMITED - 151)) | (1 << (sqlParser.FIELDS - 151)) | (1 << (sqlParser.TERMINATED - 151)) | (1 << (sqlParser.COLLECTION - 151)) | (1 << (sqlParser.ITEMS - 151)) | (1 << (sqlParser.KEYS - 151)) | (1 << (sqlParser.ESCAPED - 151)) | (1 << (sqlParser.LINES - 151)) | (1 << (sqlParser.SEPARATED - 151)) | (1 << (sqlParser.FUNCTION - 151)) | (1 << (sqlParser.EXTENDED - 151)))) !== 0) || ((((_la - 183)) & ~0x1f) == 0 && ((1 << (_la - 183)) & ((1 << (sqlParser.REFRESH - 183)) | (1 << (sqlParser.CLEAR - 183)) | (1 << (sqlParser.CACHE - 183)) | (1 << (sqlParser.UNCACHE - 183)) | (1 << (sqlParser.LAZY - 183)) | (1 << (sqlParser.FORMATTED - 183)) | (1 << (sqlParser.GLOBAL - 183)) | (1 << (sqlParser.TEMPORARY - 183)) | (1 << (sqlParser.OPTIONS - 183)) | (1 << (sqlParser.UNSET - 183)) | (1 << (sqlParser.TBLPROPERTIES - 183)) | (1 << (sqlParser.DBPROPERTIES - 183)) | (1 << (sqlParser.BUCKETS - 183)) | (1 << (sqlParser.SKEWED - 183)) | (1 << (sqlParser.STORED - 183)) | (1 << (sqlParser.DIRECTORIES - 183)) | (1 << (sqlParser.LOCATION - 183)) | (1 << (sqlParser.EXCHANGE - 183)) | (1 << (sqlParser.ARCHIVE - 183)) | (1 << (sqlParser.UNARCHIVE - 183)) | (1 << (sqlParser.FILEFORMAT - 183)) | (1 << (sqlParser.TOUCH - 183)) | (1 << (sqlParser.COMPACT - 183)) | (1 << (sqlParser.CONCATENATE - 183)) | (1 << (sqlParser.CHANGE - 183)) | (1 << (sqlParser.CASCADE - 183)) | (1 << (sqlParser.RESTRICT - 183)) | (1 << (sqlParser.CLUSTERED - 183)) | (1 << (sqlParser.SORTED - 183)) | (1 << (sqlParser.PURGE - 183)) | (1 << (sqlParser.INPUTFORMAT - 183)) | (1 << (sqlParser.OUTPUTFORMAT - 183)))) !== 0) || ((((_la - 215)) & ~0x1f) == 0 && ((1 << (_la - 215)) & ((1 << (sqlParser.DATABASE - 215)) | (1 << (sqlParser.DATABASES - 215)) | (1 << (sqlParser.DFS - 215)) | (1 << (sqlParser.TRUNCATE - 215)) | (1 << (sqlParser.ANALYZE - 215)) | (1 << (sqlParser.COMPUTE - 215)) | (1 << (sqlParser.LIST - 215)) | (1 << (sqlParser.STATISTICS - 215)) | (1 << (sqlParser.PARTITIONED - 215)) | (1 << (sqlParser.EXTERNAL - 215)) | (1 << (sqlParser.DEFINED - 215)) | (1 << (sqlParser.REVOKE - 215)) | (1 << (sqlParser.GRANT - 215)) | (1 << (sqlParser.LOCK - 215)) | (1 << (sqlParser.UNLOCK - 215)) | (1 << (sqlParser.MSCK - 215)) | (1 << (sqlParser.REPAIR - 215)) | (1 << (sqlParser.RECOVER - 215)) | (1 << (sqlParser.EXPORT - 215)) | (1 << (sqlParser.IMPORT - 215)) | (1 << (sqlParser.LOAD - 215)) | (1 << (sqlParser.ROLE - 215)) | (1 << (sqlParser.ROLES - 215)) | (1 << (sqlParser.COMPACTIONS - 215)) | (1 << (sqlParser.PRINCIPALS - 215)) | (1 << (sqlParser.TRANSACTIONS - 215)) | (1 << (sqlParser.INDEX - 215)) | (1 << (sqlParser.INDEXES - 215)) | (1 << (sqlParser.LOCKS - 215)) | (1 << (sqlParser.OPTION - 215)) | (1 << (sqlParser.ANTI - 215)) | (1 << (sqlParser.LOCAL - 215)))) !== 0) || ((((_la - 247)) & ~0x1f) == 0 && ((1 << (_la - 247)) & ((1 << (sqlParser.INPATH - 247)) | (1 << (sqlParser.STRING - 247)) | (1 << (sqlParser.IDENTIFIER - 247)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 247)))) !== 0)) { this.state = 760; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 77, this._ctx); if (la_ === 1) { this.state = 759; this.match(sqlParser.LIKE); } this.state = 764; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.AS: case sqlParser.ALL: case sqlParser.ANY: case sqlParser.DISTINCT: case sqlParser.WHERE: case sqlParser.GROUP: case sqlParser.BY: case sqlParser.GROUPING: case sqlParser.SETS: case sqlParser.CUBE: case sqlParser.ROLLUP: case sqlParser.ORDER: case sqlParser.HAVING: case sqlParser.LIMIT: case sqlParser.AT: case sqlParser.OR: case sqlParser.AND: case sqlParser.IN: case sqlParser.NOT: case sqlParser.NO: case sqlParser.EXISTS: case sqlParser.BETWEEN: case sqlParser.LIKE: case sqlParser.RLIKE: case sqlParser.IS: case sqlParser.NULL: case sqlParser.TRUE: case sqlParser.FALSE: case sqlParser.NULLS: case sqlParser.ASC: case sqlParser.DESC: case sqlParser.FOR: case sqlParser.INTERVAL: case sqlParser.CASE: case sqlParser.WHEN: case sqlParser.THEN: case sqlParser.ELSE: case sqlParser.END: case sqlParser.JOIN: case sqlParser.CROSS: case sqlParser.OUTER: case sqlParser.INNER: case sqlParser.LEFT: case sqlParser.SEMI: case sqlParser.RIGHT: case sqlParser.FULL: case sqlParser.NATURAL: case sqlParser.ON: case sqlParser.PIVOT: case sqlParser.LATERAL: case sqlParser.WINDOW: case sqlParser.OVER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.UNBOUNDED: case sqlParser.PRECEDING: case sqlParser.FOLLOWING: case sqlParser.CURRENT: case sqlParser.FIRST: case sqlParser.AFTER: case sqlParser.LAST: case sqlParser.ROW: case sqlParser.WITH: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.DIRECTORY: case sqlParser.VIEW: case sqlParser.REPLACE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.INTO: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.FORMAT: case sqlParser.LOGICAL: case sqlParser.CODEGEN: case sqlParser.COST: case sqlParser.CAST: case sqlParser.SHOW: case sqlParser.TABLES: case sqlParser.COLUMNS: case sqlParser.COLUMN: case sqlParser.USE: case sqlParser.PARTITIONS: case sqlParser.FUNCTIONS: case sqlParser.DROP: case sqlParser.UNION: case sqlParser.EXCEPT: case sqlParser.SETMINUS: case sqlParser.INTERSECT: case sqlParser.TO: case sqlParser.TABLESAMPLE: case sqlParser.STRATIFY: case sqlParser.ALTER: case sqlParser.RENAME: case sqlParser.ARRAY: case sqlParser.MAP: case sqlParser.STRUCT: case sqlParser.COMMENT: case sqlParser.SET: case sqlParser.RESET: case sqlParser.DATA: case sqlParser.START: case sqlParser.TRANSACTION: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.MACRO: case sqlParser.IGNORE: case sqlParser.BOTH: case sqlParser.LEADING: case sqlParser.TRAILING: case sqlParser.IF: case sqlParser.POSITION: case sqlParser.EXTRACT: case sqlParser.DIV: case sqlParser.PERCENTLIT: case sqlParser.BUCKET: case sqlParser.OUT: case sqlParser.OF: case sqlParser.SORT: case sqlParser.CLUSTER: case sqlParser.DISTRIBUTE: case sqlParser.OVERWRITE: case sqlParser.TRANSFORM: case sqlParser.REDUCE: case sqlParser.SERDE: case sqlParser.SERDEPROPERTIES: case sqlParser.RECORDREADER: case sqlParser.RECORDWRITER: case sqlParser.DELIMITED: case sqlParser.FIELDS: case sqlParser.TERMINATED: case sqlParser.COLLECTION: case sqlParser.ITEMS: case sqlParser.KEYS: case sqlParser.ESCAPED: case sqlParser.LINES: case sqlParser.SEPARATED: case sqlParser.FUNCTION: case sqlParser.EXTENDED: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.LAZY: case sqlParser.FORMATTED: case sqlParser.GLOBAL: case sqlParser.TEMPORARY: case sqlParser.OPTIONS: case sqlParser.UNSET: case sqlParser.TBLPROPERTIES: case sqlParser.DBPROPERTIES: case sqlParser.BUCKETS: case sqlParser.SKEWED: case sqlParser.STORED: case sqlParser.DIRECTORIES: case sqlParser.LOCATION: case sqlParser.EXCHANGE: case sqlParser.ARCHIVE: case sqlParser.UNARCHIVE: case sqlParser.FILEFORMAT: case sqlParser.TOUCH: case sqlParser.COMPACT: case sqlParser.CONCATENATE: case sqlParser.CHANGE: case sqlParser.CASCADE: case sqlParser.RESTRICT: case sqlParser.CLUSTERED: case sqlParser.SORTED: case sqlParser.PURGE: case sqlParser.INPUTFORMAT: case sqlParser.OUTPUTFORMAT: case sqlParser.DATABASE: case sqlParser.DATABASES: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.COMPUTE: case sqlParser.LIST: case sqlParser.STATISTICS: case sqlParser.PARTITIONED: case sqlParser.EXTERNAL: case sqlParser.DEFINED: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.REPAIR: case sqlParser.RECOVER: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: case sqlParser.ROLE: case sqlParser.ROLES: case sqlParser.COMPACTIONS: case sqlParser.PRINCIPALS: case sqlParser.TRANSACTIONS: case sqlParser.INDEX: case sqlParser.INDEXES: case sqlParser.LOCKS: case sqlParser.OPTION: case sqlParser.ANTI: case sqlParser.LOCAL: case sqlParser.INPATH: case sqlParser.IDENTIFIER: case sqlParser.BACKQUOTED_IDENTIFIER: this.state = 762; this.qualifiedName(); break; case sqlParser.STRING: this.state = 763; localctx.pattern = this.match(sqlParser.STRING); break; default: throw new antlr4.error.NoViableAltException(this); } } break; case 40: localctx = new ShowCreateTableContext(this, localctx); this.enterOuterAlt(localctx, 40); this.state = 768; this.match(sqlParser.SHOW); this.state = 769; this.match(sqlParser.CREATE); this.state = 770; this.match(sqlParser.TABLE); this.state = 771; this.tableIdentifier(); break; case 41: localctx = new DescribeFunctionContext(this, localctx); this.enterOuterAlt(localctx, 41); this.state = 772; _la = this._input.LA(1); if (!(_la === sqlParser.DESC || _la === sqlParser.DESCRIBE)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 773; this.match(sqlParser.FUNCTION); this.state = 775; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 80, this._ctx); if (la_ === 1) { this.state = 774; this.match(sqlParser.EXTENDED); } this.state = 777; this.describeFuncName(); break; case 42: localctx = new DescribeDatabaseContext(this, localctx); this.enterOuterAlt(localctx, 42); this.state = 778; _la = this._input.LA(1); if (!(_la === sqlParser.DESC || _la === sqlParser.DESCRIBE)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 779; this.match(sqlParser.DATABASE); this.state = 781; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 81, this._ctx); if (la_ === 1) { this.state = 780; this.match(sqlParser.EXTENDED); } this.state = 783; this.identifier(); break; case 43: localctx = new DescribeTableContext(this, localctx); this.enterOuterAlt(localctx, 43); this.state = 784; _la = this._input.LA(1); if (!(_la === sqlParser.DESC || _la === sqlParser.DESCRIBE)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 786; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 82, this._ctx); if (la_ === 1) { this.state = 785; this.match(sqlParser.TABLE); } this.state = 789; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 83, this._ctx); if (la_ === 1) { this.state = 788; localctx.option = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.EXTENDED || _la === sqlParser.FORMATTED)) { localctx.option = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } this.state = 791; this.tableIdentifier(); this.state = 793; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 84, this._ctx); if (la_ === 1) { this.state = 792; this.partitionSpec(); } this.state = 796; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 19)) & ~0x1f) == 0 && ((1 << (_la - 19)) & ((1 << (sqlParser.SELECT - 19)) | (1 << (sqlParser.FROM - 19)) | (1 << (sqlParser.ADD - 19)) | (1 << (sqlParser.AS - 19)) | (1 << (sqlParser.ALL - 19)) | (1 << (sqlParser.ANY - 19)) | (1 << (sqlParser.DISTINCT - 19)) | (1 << (sqlParser.WHERE - 19)) | (1 << (sqlParser.GROUP - 19)) | (1 << (sqlParser.BY - 19)) | (1 << (sqlParser.GROUPING - 19)) | (1 << (sqlParser.SETS - 19)) | (1 << (sqlParser.CUBE - 19)) | (1 << (sqlParser.ROLLUP - 19)) | (1 << (sqlParser.ORDER - 19)) | (1 << (sqlParser.HAVING - 19)) | (1 << (sqlParser.LIMIT - 19)) | (1 << (sqlParser.AT - 19)) | (1 << (sqlParser.OR - 19)) | (1 << (sqlParser.AND - 19)) | (1 << (sqlParser.IN - 19)) | (1 << (sqlParser.NOT - 19)) | (1 << (sqlParser.NO - 19)) | (1 << (sqlParser.EXISTS - 19)) | (1 << (sqlParser.BETWEEN - 19)) | (1 << (sqlParser.LIKE - 19)) | (1 << (sqlParser.RLIKE - 19)) | (1 << (sqlParser.IS - 19)) | (1 << (sqlParser.NULL - 19)) | (1 << (sqlParser.TRUE - 19)) | (1 << (sqlParser.FALSE - 19)) | (1 << (sqlParser.NULLS - 19)))) !== 0) || ((((_la - 51)) & ~0x1f) == 0 && ((1 << (_la - 51)) & ((1 << (sqlParser.ASC - 51)) | (1 << (sqlParser.DESC - 51)) | (1 << (sqlParser.FOR - 51)) | (1 << (sqlParser.INTERVAL - 51)) | (1 << (sqlParser.CASE - 51)) | (1 << (sqlParser.WHEN - 51)) | (1 << (sqlParser.THEN - 51)) | (1 << (sqlParser.ELSE - 51)) | (1 << (sqlParser.END - 51)) | (1 << (sqlParser.JOIN - 51)) | (1 << (sqlParser.CROSS - 51)) | (1 << (sqlParser.OUTER - 51)) | (1 << (sqlParser.INNER - 51)) | (1 << (sqlParser.LEFT - 51)) | (1 << (sqlParser.SEMI - 51)) | (1 << (sqlParser.RIGHT - 51)) | (1 << (sqlParser.FULL - 51)) | (1 << (sqlParser.NATURAL - 51)) | (1 << (sqlParser.ON - 51)) | (1 << (sqlParser.PIVOT - 51)) | (1 << (sqlParser.LATERAL - 51)) | (1 << (sqlParser.WINDOW - 51)) | (1 << (sqlParser.OVER - 51)) | (1 << (sqlParser.PARTITION - 51)) | (1 << (sqlParser.RANGE - 51)) | (1 << (sqlParser.ROWS - 51)) | (1 << (sqlParser.UNBOUNDED - 51)) | (1 << (sqlParser.PRECEDING - 51)) | (1 << (sqlParser.FOLLOWING - 51)) | (1 << (sqlParser.CURRENT - 51)) | (1 << (sqlParser.FIRST - 51)) | (1 << (sqlParser.AFTER - 51)))) !== 0) || ((((_la - 83)) & ~0x1f) == 0 && ((1 << (_la - 83)) & ((1 << (sqlParser.LAST - 83)) | (1 << (sqlParser.ROW - 83)) | (1 << (sqlParser.WITH - 83)) | (1 << (sqlParser.CREATE - 83)) | (1 << (sqlParser.TABLE - 83)) | (1 << (sqlParser.DIRECTORY - 83)) | (1 << (sqlParser.VIEW - 83)) | (1 << (sqlParser.REPLACE - 83)) | (1 << (sqlParser.INSERT - 83)) | (1 << (sqlParser.DELETE - 83)) | (1 << (sqlParser.INTO - 83)) | (1 << (sqlParser.DESCRIBE - 83)) | (1 << (sqlParser.EXPLAIN - 83)) | (1 << (sqlParser.FORMAT - 83)) | (1 << (sqlParser.LOGICAL - 83)) | (1 << (sqlParser.CODEGEN - 83)) | (1 << (sqlParser.COST - 83)) | (1 << (sqlParser.CAST - 83)) | (1 << (sqlParser.SHOW - 83)) | (1 << (sqlParser.TABLES - 83)) | (1 << (sqlParser.COLUMNS - 83)) | (1 << (sqlParser.COLUMN - 83)) | (1 << (sqlParser.USE - 83)) | (1 << (sqlParser.PARTITIONS - 83)) | (1 << (sqlParser.FUNCTIONS - 83)) | (1 << (sqlParser.DROP - 83)) | (1 << (sqlParser.UNION - 83)) | (1 << (sqlParser.EXCEPT - 83)) | (1 << (sqlParser.SETMINUS - 83)) | (1 << (sqlParser.INTERSECT - 83)) | (1 << (sqlParser.TO - 83)))) !== 0) || ((((_la - 115)) & ~0x1f) == 0 && ((1 << (_la - 115)) & ((1 << (sqlParser.TABLESAMPLE - 115)) | (1 << (sqlParser.STRATIFY - 115)) | (1 << (sqlParser.ALTER - 115)) | (1 << (sqlParser.RENAME - 115)) | (1 << (sqlParser.ARRAY - 115)) | (1 << (sqlParser.MAP - 115)) | (1 << (sqlParser.STRUCT - 115)) | (1 << (sqlParser.COMMENT - 115)) | (1 << (sqlParser.SET - 115)) | (1 << (sqlParser.RESET - 115)) | (1 << (sqlParser.DATA - 115)) | (1 << (sqlParser.START - 115)) | (1 << (sqlParser.TRANSACTION - 115)) | (1 << (sqlParser.COMMIT - 115)) | (1 << (sqlParser.ROLLBACK - 115)) | (1 << (sqlParser.MACRO - 115)) | (1 << (sqlParser.IGNORE - 115)) | (1 << (sqlParser.BOTH - 115)) | (1 << (sqlParser.LEADING - 115)) | (1 << (sqlParser.TRAILING - 115)) | (1 << (sqlParser.IF - 115)) | (1 << (sqlParser.POSITION - 115)) | (1 << (sqlParser.EXTRACT - 115)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (sqlParser.DIV - 151)) | (1 << (sqlParser.PERCENTLIT - 151)) | (1 << (sqlParser.BUCKET - 151)) | (1 << (sqlParser.OUT - 151)) | (1 << (sqlParser.OF - 151)) | (1 << (sqlParser.SORT - 151)) | (1 << (sqlParser.CLUSTER - 151)) | (1 << (sqlParser.DISTRIBUTE - 151)) | (1 << (sqlParser.OVERWRITE - 151)) | (1 << (sqlParser.TRANSFORM - 151)) | (1 << (sqlParser.REDUCE - 151)) | (1 << (sqlParser.SERDE - 151)) | (1 << (sqlParser.SERDEPROPERTIES - 151)) | (1 << (sqlParser.RECORDREADER - 151)) | (1 << (sqlParser.RECORDWRITER - 151)) | (1 << (sqlParser.DELIMITED - 151)) | (1 << (sqlParser.FIELDS - 151)) | (1 << (sqlParser.TERMINATED - 151)) | (1 << (sqlParser.COLLECTION - 151)) | (1 << (sqlParser.ITEMS - 151)) | (1 << (sqlParser.KEYS - 151)) | (1 << (sqlParser.ESCAPED - 151)) | (1 << (sqlParser.LINES - 151)) | (1 << (sqlParser.SEPARATED - 151)) | (1 << (sqlParser.FUNCTION - 151)) | (1 << (sqlParser.EXTENDED - 151)))) !== 0) || ((((_la - 183)) & ~0x1f) == 0 && ((1 << (_la - 183)) & ((1 << (sqlParser.REFRESH - 183)) | (1 << (sqlParser.CLEAR - 183)) | (1 << (sqlParser.CACHE - 183)) | (1 << (sqlParser.UNCACHE - 183)) | (1 << (sqlParser.LAZY - 183)) | (1 << (sqlParser.FORMATTED - 183)) | (1 << (sqlParser.GLOBAL - 183)) | (1 << (sqlParser.TEMPORARY - 183)) | (1 << (sqlParser.OPTIONS - 183)) | (1 << (sqlParser.UNSET - 183)) | (1 << (sqlParser.TBLPROPERTIES - 183)) | (1 << (sqlParser.DBPROPERTIES - 183)) | (1 << (sqlParser.BUCKETS - 183)) | (1 << (sqlParser.SKEWED - 183)) | (1 << (sqlParser.STORED - 183)) | (1 << (sqlParser.DIRECTORIES - 183)) | (1 << (sqlParser.LOCATION - 183)) | (1 << (sqlParser.EXCHANGE - 183)) | (1 << (sqlParser.ARCHIVE - 183)) | (1 << (sqlParser.UNARCHIVE - 183)) | (1 << (sqlParser.FILEFORMAT - 183)) | (1 << (sqlParser.TOUCH - 183)) | (1 << (sqlParser.COMPACT - 183)) | (1 << (sqlParser.CONCATENATE - 183)) | (1 << (sqlParser.CHANGE - 183)) | (1 << (sqlParser.CASCADE - 183)) | (1 << (sqlParser.RESTRICT - 183)) | (1 << (sqlParser.CLUSTERED - 183)) | (1 << (sqlParser.SORTED - 183)) | (1 << (sqlParser.PURGE - 183)) | (1 << (sqlParser.INPUTFORMAT - 183)) | (1 << (sqlParser.OUTPUTFORMAT - 183)))) !== 0) || ((((_la - 215)) & ~0x1f) == 0 && ((1 << (_la - 215)) & ((1 << (sqlParser.DATABASE - 215)) | (1 << (sqlParser.DATABASES - 215)) | (1 << (sqlParser.DFS - 215)) | (1 << (sqlParser.TRUNCATE - 215)) | (1 << (sqlParser.ANALYZE - 215)) | (1 << (sqlParser.COMPUTE - 215)) | (1 << (sqlParser.LIST - 215)) | (1 << (sqlParser.STATISTICS - 215)) | (1 << (sqlParser.PARTITIONED - 215)) | (1 << (sqlParser.EXTERNAL - 215)) | (1 << (sqlParser.DEFINED - 215)) | (1 << (sqlParser.REVOKE - 215)) | (1 << (sqlParser.GRANT - 215)) | (1 << (sqlParser.LOCK - 215)) | (1 << (sqlParser.UNLOCK - 215)) | (1 << (sqlParser.MSCK - 215)) | (1 << (sqlParser.REPAIR - 215)) | (1 << (sqlParser.RECOVER - 215)) | (1 << (sqlParser.EXPORT - 215)) | (1 << (sqlParser.IMPORT - 215)) | (1 << (sqlParser.LOAD - 215)) | (1 << (sqlParser.ROLE - 215)) | (1 << (sqlParser.ROLES - 215)) | (1 << (sqlParser.COMPACTIONS - 215)) | (1 << (sqlParser.PRINCIPALS - 215)) | (1 << (sqlParser.TRANSACTIONS - 215)) | (1 << (sqlParser.INDEX - 215)) | (1 << (sqlParser.INDEXES - 215)) | (1 << (sqlParser.LOCKS - 215)) | (1 << (sqlParser.OPTION - 215)) | (1 << (sqlParser.ANTI - 215)) | (1 << (sqlParser.LOCAL - 215)))) !== 0) || ((((_la - 247)) & ~0x1f) == 0 && ((1 << (_la - 247)) & ((1 << (sqlParser.INPATH - 247)) | (1 << (sqlParser.IDENTIFIER - 247)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 247)))) !== 0)) { this.state = 795; this.describeColName(); } break; case 44: localctx = new RefreshTableContext(this, localctx); this.enterOuterAlt(localctx, 44); this.state = 798; this.match(sqlParser.REFRESH); this.state = 799; this.match(sqlParser.TABLE); this.state = 800; this.tableIdentifier(); break; case 45: localctx = new RefreshResourceContext(this, localctx); this.enterOuterAlt(localctx, 45); this.state = 801; this.match(sqlParser.REFRESH); this.state = 809; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 87, this._ctx); switch (la_) { case 1: this.state = 802; this.match(sqlParser.STRING); break; case 2: this.state = 806; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 86, this._ctx); while (_alt != 1 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1 + 1) { this.state = 803; this.matchWildcard(); } this.state = 808; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 86, this._ctx); } break; } break; case 46: localctx = new CacheTableContext(this, localctx); this.enterOuterAlt(localctx, 46); this.state = 811; this.match(sqlParser.CACHE); this.state = 813; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LAZY) { this.state = 812; this.match(sqlParser.LAZY); } this.state = 815; this.match(sqlParser.TABLE); this.state = 816; this.tableIdentifier(); this.state = 819; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OPTIONS) { this.state = 817; this.match(sqlParser.OPTIONS); this.state = 818; localctx.options = this.tablePropertyList(); } this.state = 825; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.AS))) !== 0) || ((((_la - 85)) & ~0x1f) == 0 && ((1 << (_la - 85)) & ((1 << (sqlParser.WITH - 85)) | (1 << (sqlParser.VALUES - 85)) | (1 << (sqlParser.TABLE - 85)) | (1 << (sqlParser.INSERT - 85)))) !== 0) || _la === sqlParser.MAP || _la === sqlParser.REDUCE) { this.state = 822; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.AS) { this.state = 821; this.match(sqlParser.AS); } this.state = 824; this.query(); } break; case 47: localctx = new UncacheTableContext(this, localctx); this.enterOuterAlt(localctx, 47); this.state = 827; this.match(sqlParser.UNCACHE); this.state = 828; this.match(sqlParser.TABLE); this.state = 831; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 92, this._ctx); if (la_ === 1) { this.state = 829; this.match(sqlParser.IF); this.state = 830; this.match(sqlParser.EXISTS); } this.state = 833; this.tableIdentifier(); break; case 48: localctx = new ClearCacheContext(this, localctx); this.enterOuterAlt(localctx, 48); this.state = 834; this.match(sqlParser.CLEAR); this.state = 835; this.match(sqlParser.CACHE); break; case 49: localctx = new LoadDataContext(this, localctx); this.enterOuterAlt(localctx, 49); this.state = 836; this.match(sqlParser.LOAD); this.state = 837; this.match(sqlParser.DATA); this.state = 839; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LOCAL) { this.state = 838; this.match(sqlParser.LOCAL); } this.state = 841; this.match(sqlParser.INPATH); this.state = 842; localctx.path = this.match(sqlParser.STRING); this.state = 844; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OVERWRITE) { this.state = 843; this.match(sqlParser.OVERWRITE); } this.state = 846; this.match(sqlParser.INTO); this.state = 847; this.match(sqlParser.TABLE); this.state = 848; this.tableIdentifier(); this.state = 850; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 849; this.partitionSpec(); } break; case 50: localctx = new TruncateTableContext(this, localctx); this.enterOuterAlt(localctx, 50); this.state = 852; this.match(sqlParser.TRUNCATE); this.state = 853; this.match(sqlParser.TABLE); this.state = 854; this.tableIdentifier(); this.state = 856; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 855; this.partitionSpec(); } break; case 51: localctx = new RepairTableContext(this, localctx); this.enterOuterAlt(localctx, 51); this.state = 858; this.match(sqlParser.MSCK); this.state = 859; this.match(sqlParser.REPAIR); this.state = 860; this.match(sqlParser.TABLE); this.state = 861; this.tableIdentifier(); break; case 52: localctx = new ManageResourceContext(this, localctx); this.enterOuterAlt(localctx, 52); this.state = 862; localctx.op = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.ADD || _la === sqlParser.LIST)) { localctx.op = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 863; this.identifier(); this.state = 867; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 97, this._ctx); while (_alt != 1 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1 + 1) { this.state = 864; this.matchWildcard(); } this.state = 869; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 97, this._ctx); } break; case 53: localctx = new FailNativeCommandContext(this, localctx); this.enterOuterAlt(localctx, 53); this.state = 870; this.match(sqlParser.SET); this.state = 871; this.match(sqlParser.ROLE); this.state = 875; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 98, this._ctx); while (_alt != 1 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1 + 1) { this.state = 872; this.matchWildcard(); } this.state = 877; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 98, this._ctx); } break; case 54: localctx = new SetConfigurationContext(this, localctx); this.enterOuterAlt(localctx, 54); this.state = 878; this.match(sqlParser.SET); this.state = 882; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 99, this._ctx); while (_alt != 1 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1 + 1) { this.state = 879; this.matchWildcard(); } this.state = 884; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 99, this._ctx); } break; case 55: localctx = new ResetConfigurationContext(this, localctx); this.enterOuterAlt(localctx, 55); this.state = 885; this.match(sqlParser.RESET); break; case 56: localctx = new FailNativeCommandContext(this, localctx); this.enterOuterAlt(localctx, 56); this.state = 886; this.unsupportedHiveNativeCommands(); this.state = 890; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 100, this._ctx); while (_alt != 1 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1 + 1) { this.state = 887; this.matchWildcard(); } this.state = 892; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 100, this._ctx); } break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function UnsupportedHiveNativeCommandsContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_unsupportedHiveNativeCommands; this.kw1 = null; // Token this.kw2 = null; // Token this.kw3 = null; // Token this.kw4 = null; // Token this.kw5 = null; // Token this.kw6 = null; // Token return this; } UnsupportedHiveNativeCommandsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); UnsupportedHiveNativeCommandsContext.prototype.constructor = UnsupportedHiveNativeCommandsContext; UnsupportedHiveNativeCommandsContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.ROLE = function () { return this.getToken(sqlParser.ROLE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.DROP = function () { return this.getToken(sqlParser.DROP, 0); }; UnsupportedHiveNativeCommandsContext.prototype.GRANT = function () { return this.getToken(sqlParser.GRANT, 0); }; UnsupportedHiveNativeCommandsContext.prototype.REVOKE = function () { return this.getToken(sqlParser.REVOKE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; UnsupportedHiveNativeCommandsContext.prototype.PRINCIPALS = function () { return this.getToken(sqlParser.PRINCIPALS, 0); }; UnsupportedHiveNativeCommandsContext.prototype.ROLES = function () { return this.getToken(sqlParser.ROLES, 0); }; UnsupportedHiveNativeCommandsContext.prototype.CURRENT = function () { return this.getToken(sqlParser.CURRENT, 0); }; UnsupportedHiveNativeCommandsContext.prototype.EXPORT = function () { return this.getToken(sqlParser.EXPORT, 0); }; UnsupportedHiveNativeCommandsContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.IMPORT = function () { return this.getToken(sqlParser.IMPORT, 0); }; UnsupportedHiveNativeCommandsContext.prototype.COMPACTIONS = function () { return this.getToken(sqlParser.COMPACTIONS, 0); }; UnsupportedHiveNativeCommandsContext.prototype.TRANSACTIONS = function () { return this.getToken(sqlParser.TRANSACTIONS, 0); }; UnsupportedHiveNativeCommandsContext.prototype.INDEXES = function () { return this.getToken(sqlParser.INDEXES, 0); }; UnsupportedHiveNativeCommandsContext.prototype.LOCKS = function () { return this.getToken(sqlParser.LOCKS, 0); }; UnsupportedHiveNativeCommandsContext.prototype.INDEX = function () { return this.getToken(sqlParser.INDEX, 0); }; UnsupportedHiveNativeCommandsContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; UnsupportedHiveNativeCommandsContext.prototype.LOCK = function () { return this.getToken(sqlParser.LOCK, 0); }; UnsupportedHiveNativeCommandsContext.prototype.DATABASE = function () { return this.getToken(sqlParser.DATABASE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.UNLOCK = function () { return this.getToken(sqlParser.UNLOCK, 0); }; UnsupportedHiveNativeCommandsContext.prototype.TEMPORARY = function () { return this.getToken(sqlParser.TEMPORARY, 0); }; UnsupportedHiveNativeCommandsContext.prototype.MACRO = function () { return this.getToken(sqlParser.MACRO, 0); }; UnsupportedHiveNativeCommandsContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; UnsupportedHiveNativeCommandsContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; UnsupportedHiveNativeCommandsContext.prototype.CLUSTERED = function () { return this.getToken(sqlParser.CLUSTERED, 0); }; UnsupportedHiveNativeCommandsContext.prototype.BY = function () { return this.getToken(sqlParser.BY, 0); }; UnsupportedHiveNativeCommandsContext.prototype.SORTED = function () { return this.getToken(sqlParser.SORTED, 0); }; UnsupportedHiveNativeCommandsContext.prototype.SKEWED = function () { return this.getToken(sqlParser.SKEWED, 0); }; UnsupportedHiveNativeCommandsContext.prototype.STORED = function () { return this.getToken(sqlParser.STORED, 0); }; UnsupportedHiveNativeCommandsContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; UnsupportedHiveNativeCommandsContext.prototype.DIRECTORIES = function () { return this.getToken(sqlParser.DIRECTORIES, 0); }; UnsupportedHiveNativeCommandsContext.prototype.SET = function () { return this.getToken(sqlParser.SET, 0); }; UnsupportedHiveNativeCommandsContext.prototype.LOCATION = function () { return this.getToken(sqlParser.LOCATION, 0); }; UnsupportedHiveNativeCommandsContext.prototype.EXCHANGE = function () { return this.getToken(sqlParser.EXCHANGE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.PARTITION = function () { return this.getToken(sqlParser.PARTITION, 0); }; UnsupportedHiveNativeCommandsContext.prototype.ARCHIVE = function () { return this.getToken(sqlParser.ARCHIVE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.UNARCHIVE = function () { return this.getToken(sqlParser.UNARCHIVE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.TOUCH = function () { return this.getToken(sqlParser.TOUCH, 0); }; UnsupportedHiveNativeCommandsContext.prototype.COMPACT = function () { return this.getToken(sqlParser.COMPACT, 0); }; UnsupportedHiveNativeCommandsContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; UnsupportedHiveNativeCommandsContext.prototype.CONCATENATE = function () { return this.getToken(sqlParser.CONCATENATE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.FILEFORMAT = function () { return this.getToken(sqlParser.FILEFORMAT, 0); }; UnsupportedHiveNativeCommandsContext.prototype.REPLACE = function () { return this.getToken(sqlParser.REPLACE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.COLUMNS = function () { return this.getToken(sqlParser.COLUMNS, 0); }; UnsupportedHiveNativeCommandsContext.prototype.START = function () { return this.getToken(sqlParser.START, 0); }; UnsupportedHiveNativeCommandsContext.prototype.TRANSACTION = function () { return this.getToken(sqlParser.TRANSACTION, 0); }; UnsupportedHiveNativeCommandsContext.prototype.COMMIT = function () { return this.getToken(sqlParser.COMMIT, 0); }; UnsupportedHiveNativeCommandsContext.prototype.ROLLBACK = function () { return this.getToken(sqlParser.ROLLBACK, 0); }; UnsupportedHiveNativeCommandsContext.prototype.DFS = function () { return this.getToken(sqlParser.DFS, 0); }; UnsupportedHiveNativeCommandsContext.prototype.DELETE = function () { return this.getToken(sqlParser.DELETE, 0); }; UnsupportedHiveNativeCommandsContext.prototype.FROM = function () { return this.getToken(sqlParser.FROM, 0); }; UnsupportedHiveNativeCommandsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterUnsupportedHiveNativeCommands(this); } }; UnsupportedHiveNativeCommandsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitUnsupportedHiveNativeCommands(this); } }; UnsupportedHiveNativeCommandsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitUnsupportedHiveNativeCommands(this); } else { return visitor.visitChildren(this); } }; sqlParser.UnsupportedHiveNativeCommandsContext = UnsupportedHiveNativeCommandsContext; sqlParser.prototype.unsupportedHiveNativeCommands = function () { var localctx = new UnsupportedHiveNativeCommandsContext(this, this._ctx, this.state); this.enterRule(localctx, 14, sqlParser.RULE_unsupportedHiveNativeCommands); var _la = 0; // Token type try { this.state = 1065; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 109, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 895; localctx.kw1 = this.match(sqlParser.CREATE); this.state = 896; localctx.kw2 = this.match(sqlParser.ROLE); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 897; localctx.kw1 = this.match(sqlParser.DROP); this.state = 898; localctx.kw2 = this.match(sqlParser.ROLE); break; case 3: this.enterOuterAlt(localctx, 3); this.state = 899; localctx.kw1 = this.match(sqlParser.GRANT); this.state = 901; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 102, this._ctx); if (la_ === 1) { this.state = 900; localctx.kw2 = this.match(sqlParser.ROLE); } break; case 4: this.enterOuterAlt(localctx, 4); this.state = 903; localctx.kw1 = this.match(sqlParser.REVOKE); this.state = 905; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 103, this._ctx); if (la_ === 1) { this.state = 904; localctx.kw2 = this.match(sqlParser.ROLE); } break; case 5: this.enterOuterAlt(localctx, 5); this.state = 907; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 908; localctx.kw2 = this.match(sqlParser.GRANT); break; case 6: this.enterOuterAlt(localctx, 6); this.state = 909; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 910; localctx.kw2 = this.match(sqlParser.ROLE); this.state = 912; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 104, this._ctx); if (la_ === 1) { this.state = 911; localctx.kw3 = this.match(sqlParser.GRANT); } break; case 7: this.enterOuterAlt(localctx, 7); this.state = 914; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 915; localctx.kw2 = this.match(sqlParser.PRINCIPALS); break; case 8: this.enterOuterAlt(localctx, 8); this.state = 916; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 917; localctx.kw2 = this.match(sqlParser.ROLES); break; case 9: this.enterOuterAlt(localctx, 9); this.state = 918; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 919; localctx.kw2 = this.match(sqlParser.CURRENT); this.state = 920; localctx.kw3 = this.match(sqlParser.ROLES); break; case 10: this.enterOuterAlt(localctx, 10); this.state = 921; localctx.kw1 = this.match(sqlParser.EXPORT); this.state = 922; localctx.kw2 = this.match(sqlParser.TABLE); break; case 11: this.enterOuterAlt(localctx, 11); this.state = 923; localctx.kw1 = this.match(sqlParser.IMPORT); this.state = 924; localctx.kw2 = this.match(sqlParser.TABLE); break; case 12: this.enterOuterAlt(localctx, 12); this.state = 925; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 926; localctx.kw2 = this.match(sqlParser.COMPACTIONS); break; case 13: this.enterOuterAlt(localctx, 13); this.state = 927; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 928; localctx.kw2 = this.match(sqlParser.CREATE); this.state = 929; localctx.kw3 = this.match(sqlParser.TABLE); break; case 14: this.enterOuterAlt(localctx, 14); this.state = 930; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 931; localctx.kw2 = this.match(sqlParser.TRANSACTIONS); break; case 15: this.enterOuterAlt(localctx, 15); this.state = 932; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 933; localctx.kw2 = this.match(sqlParser.INDEXES); break; case 16: this.enterOuterAlt(localctx, 16); this.state = 934; localctx.kw1 = this.match(sqlParser.SHOW); this.state = 935; localctx.kw2 = this.match(sqlParser.LOCKS); break; case 17: this.enterOuterAlt(localctx, 17); this.state = 936; localctx.kw1 = this.match(sqlParser.CREATE); this.state = 937; localctx.kw2 = this.match(sqlParser.INDEX); break; case 18: this.enterOuterAlt(localctx, 18); this.state = 938; localctx.kw1 = this.match(sqlParser.DROP); this.state = 939; localctx.kw2 = this.match(sqlParser.INDEX); break; case 19: this.enterOuterAlt(localctx, 19); this.state = 940; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 941; localctx.kw2 = this.match(sqlParser.INDEX); break; case 20: this.enterOuterAlt(localctx, 20); this.state = 942; localctx.kw1 = this.match(sqlParser.LOCK); this.state = 943; localctx.kw2 = this.match(sqlParser.TABLE); break; case 21: this.enterOuterAlt(localctx, 21); this.state = 944; localctx.kw1 = this.match(sqlParser.LOCK); this.state = 945; localctx.kw2 = this.match(sqlParser.DATABASE); break; case 22: this.enterOuterAlt(localctx, 22); this.state = 946; localctx.kw1 = this.match(sqlParser.UNLOCK); this.state = 947; localctx.kw2 = this.match(sqlParser.TABLE); break; case 23: this.enterOuterAlt(localctx, 23); this.state = 948; localctx.kw1 = this.match(sqlParser.UNLOCK); this.state = 949; localctx.kw2 = this.match(sqlParser.DATABASE); break; case 24: this.enterOuterAlt(localctx, 24); this.state = 950; localctx.kw1 = this.match(sqlParser.CREATE); this.state = 951; localctx.kw2 = this.match(sqlParser.TEMPORARY); this.state = 952; localctx.kw3 = this.match(sqlParser.MACRO); break; case 25: this.enterOuterAlt(localctx, 25); this.state = 953; localctx.kw1 = this.match(sqlParser.DROP); this.state = 954; localctx.kw2 = this.match(sqlParser.TEMPORARY); this.state = 955; localctx.kw3 = this.match(sqlParser.MACRO); break; case 26: this.enterOuterAlt(localctx, 26); this.state = 956; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 957; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 958; this.tableIdentifier(); this.state = 959; localctx.kw3 = this.match(sqlParser.NOT); this.state = 960; localctx.kw4 = this.match(sqlParser.CLUSTERED); break; case 27: this.enterOuterAlt(localctx, 27); this.state = 962; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 963; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 964; this.tableIdentifier(); this.state = 965; localctx.kw3 = this.match(sqlParser.CLUSTERED); this.state = 966; localctx.kw4 = this.match(sqlParser.BY); break; case 28: this.enterOuterAlt(localctx, 28); this.state = 968; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 969; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 970; this.tableIdentifier(); this.state = 971; localctx.kw3 = this.match(sqlParser.NOT); this.state = 972; localctx.kw4 = this.match(sqlParser.SORTED); break; case 29: this.enterOuterAlt(localctx, 29); this.state = 974; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 975; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 976; this.tableIdentifier(); this.state = 977; localctx.kw3 = this.match(sqlParser.SKEWED); this.state = 978; localctx.kw4 = this.match(sqlParser.BY); break; case 30: this.enterOuterAlt(localctx, 30); this.state = 980; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 981; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 982; this.tableIdentifier(); this.state = 983; localctx.kw3 = this.match(sqlParser.NOT); this.state = 984; localctx.kw4 = this.match(sqlParser.SKEWED); break; case 31: this.enterOuterAlt(localctx, 31); this.state = 986; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 987; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 988; this.tableIdentifier(); this.state = 989; localctx.kw3 = this.match(sqlParser.NOT); this.state = 990; localctx.kw4 = this.match(sqlParser.STORED); this.state = 991; localctx.kw5 = this.match(sqlParser.AS); this.state = 992; localctx.kw6 = this.match(sqlParser.DIRECTORIES); break; case 32: this.enterOuterAlt(localctx, 32); this.state = 994; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 995; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 996; this.tableIdentifier(); this.state = 997; localctx.kw3 = this.match(sqlParser.SET); this.state = 998; localctx.kw4 = this.match(sqlParser.SKEWED); this.state = 999; localctx.kw5 = this.match(sqlParser.LOCATION); break; case 33: this.enterOuterAlt(localctx, 33); this.state = 1001; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 1002; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 1003; this.tableIdentifier(); this.state = 1004; localctx.kw3 = this.match(sqlParser.EXCHANGE); this.state = 1005; localctx.kw4 = this.match(sqlParser.PARTITION); break; case 34: this.enterOuterAlt(localctx, 34); this.state = 1007; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 1008; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 1009; this.tableIdentifier(); this.state = 1010; localctx.kw3 = this.match(sqlParser.ARCHIVE); this.state = 1011; localctx.kw4 = this.match(sqlParser.PARTITION); break; case 35: this.enterOuterAlt(localctx, 35); this.state = 1013; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 1014; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 1015; this.tableIdentifier(); this.state = 1016; localctx.kw3 = this.match(sqlParser.UNARCHIVE); this.state = 1017; localctx.kw4 = this.match(sqlParser.PARTITION); break; case 36: this.enterOuterAlt(localctx, 36); this.state = 1019; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 1020; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 1021; this.tableIdentifier(); this.state = 1022; localctx.kw3 = this.match(sqlParser.TOUCH); break; case 37: this.enterOuterAlt(localctx, 37); this.state = 1024; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 1025; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 1026; this.tableIdentifier(); this.state = 1028; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 1027; this.partitionSpec(); } this.state = 1030; localctx.kw3 = this.match(sqlParser.COMPACT); break; case 38: this.enterOuterAlt(localctx, 38); this.state = 1032; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 1033; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 1034; this.tableIdentifier(); this.state = 1036; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 1035; this.partitionSpec(); } this.state = 1038; localctx.kw3 = this.match(sqlParser.CONCATENATE); break; case 39: this.enterOuterAlt(localctx, 39); this.state = 1040; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 1041; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 1042; this.tableIdentifier(); this.state = 1044; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 1043; this.partitionSpec(); } this.state = 1046; localctx.kw3 = this.match(sqlParser.SET); this.state = 1047; localctx.kw4 = this.match(sqlParser.FILEFORMAT); break; case 40: this.enterOuterAlt(localctx, 40); this.state = 1049; localctx.kw1 = this.match(sqlParser.ALTER); this.state = 1050; localctx.kw2 = this.match(sqlParser.TABLE); this.state = 1051; this.tableIdentifier(); this.state = 1053; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 1052; this.partitionSpec(); } this.state = 1055; localctx.kw3 = this.match(sqlParser.REPLACE); this.state = 1056; localctx.kw4 = this.match(sqlParser.COLUMNS); break; case 41: this.enterOuterAlt(localctx, 41); this.state = 1058; localctx.kw1 = this.match(sqlParser.START); this.state = 1059; localctx.kw2 = this.match(sqlParser.TRANSACTION); break; case 42: this.enterOuterAlt(localctx, 42); this.state = 1060; localctx.kw1 = this.match(sqlParser.COMMIT); break; case 43: this.enterOuterAlt(localctx, 43); this.state = 1061; localctx.kw1 = this.match(sqlParser.ROLLBACK); break; case 44: this.enterOuterAlt(localctx, 44); this.state = 1062; localctx.kw1 = this.match(sqlParser.DFS); break; case 45: this.enterOuterAlt(localctx, 45); this.state = 1063; localctx.kw1 = this.match(sqlParser.DELETE); this.state = 1064; localctx.kw2 = this.match(sqlParser.FROM); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function CreateTableHeaderContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_createTableHeader; return this; } CreateTableHeaderContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); CreateTableHeaderContext.prototype.constructor = CreateTableHeaderContext; CreateTableHeaderContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; CreateTableHeaderContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; CreateTableHeaderContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; CreateTableHeaderContext.prototype.TEMPORARY = function () { return this.getToken(sqlParser.TEMPORARY, 0); }; CreateTableHeaderContext.prototype.EXTERNAL = function () { return this.getToken(sqlParser.EXTERNAL, 0); }; CreateTableHeaderContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; CreateTableHeaderContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; CreateTableHeaderContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; CreateTableHeaderContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateTableHeader(this); } }; CreateTableHeaderContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateTableHeader(this); } }; CreateTableHeaderContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateTableHeader(this); } else { return visitor.visitChildren(this); } }; sqlParser.CreateTableHeaderContext = CreateTableHeaderContext; sqlParser.prototype.createTableHeader = function () { var localctx = new CreateTableHeaderContext(this, this._ctx, this.state); this.enterRule(localctx, 16, sqlParser.RULE_createTableHeader); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1067; this.match(sqlParser.CREATE); this.state = 1069; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.TEMPORARY) { this.state = 1068; this.match(sqlParser.TEMPORARY); } this.state = 1072; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.EXTERNAL) { this.state = 1071; this.match(sqlParser.EXTERNAL); } this.state = 1074; this.match(sqlParser.TABLE); this.state = 1078; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 112, this._ctx); if (la_ === 1) { this.state = 1075; this.match(sqlParser.IF); this.state = 1076; this.match(sqlParser.NOT); this.state = 1077; this.match(sqlParser.EXISTS); } this.state = 1080; this.tableIdentifier(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function BucketSpecContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_bucketSpec; return this; } BucketSpecContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); BucketSpecContext.prototype.constructor = BucketSpecContext; BucketSpecContext.prototype.CLUSTERED = function () { return this.getToken(sqlParser.CLUSTERED, 0); }; BucketSpecContext.prototype.BY = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.BY); } else { return this.getToken(sqlParser.BY, i); } }; BucketSpecContext.prototype.identifierList = function () { return this.getTypedRuleContext(IdentifierListContext, 0); }; BucketSpecContext.prototype.INTO = function () { return this.getToken(sqlParser.INTO, 0); }; BucketSpecContext.prototype.INTEGER_VALUE = function () { return this.getToken(sqlParser.INTEGER_VALUE, 0); }; BucketSpecContext.prototype.BUCKETS = function () { return this.getToken(sqlParser.BUCKETS, 0); }; BucketSpecContext.prototype.SORTED = function () { return this.getToken(sqlParser.SORTED, 0); }; BucketSpecContext.prototype.orderedIdentifierList = function () { return this.getTypedRuleContext(OrderedIdentifierListContext, 0); }; BucketSpecContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterBucketSpec(this); } }; BucketSpecContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitBucketSpec(this); } }; BucketSpecContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitBucketSpec(this); } else { return visitor.visitChildren(this); } }; sqlParser.BucketSpecContext = BucketSpecContext; sqlParser.prototype.bucketSpec = function () { var localctx = new BucketSpecContext(this, this._ctx, this.state); this.enterRule(localctx, 18, sqlParser.RULE_bucketSpec); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1082; this.match(sqlParser.CLUSTERED); this.state = 1083; this.match(sqlParser.BY); this.state = 1084; this.identifierList(); this.state = 1088; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.SORTED) { this.state = 1085; this.match(sqlParser.SORTED); this.state = 1086; this.match(sqlParser.BY); this.state = 1087; this.orderedIdentifierList(); } this.state = 1090; this.match(sqlParser.INTO); this.state = 1091; this.match(sqlParser.INTEGER_VALUE); this.state = 1092; this.match(sqlParser.BUCKETS); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SkewSpecContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_skewSpec; return this; } SkewSpecContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SkewSpecContext.prototype.constructor = SkewSpecContext; SkewSpecContext.prototype.SKEWED = function () { return this.getToken(sqlParser.SKEWED, 0); }; SkewSpecContext.prototype.BY = function () { return this.getToken(sqlParser.BY, 0); }; SkewSpecContext.prototype.identifierList = function () { return this.getTypedRuleContext(IdentifierListContext, 0); }; SkewSpecContext.prototype.ON = function () { return this.getToken(sqlParser.ON, 0); }; SkewSpecContext.prototype.constantList = function () { return this.getTypedRuleContext(ConstantListContext, 0); }; SkewSpecContext.prototype.nestedConstantList = function () { return this.getTypedRuleContext(NestedConstantListContext, 0); }; SkewSpecContext.prototype.STORED = function () { return this.getToken(sqlParser.STORED, 0); }; SkewSpecContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; SkewSpecContext.prototype.DIRECTORIES = function () { return this.getToken(sqlParser.DIRECTORIES, 0); }; SkewSpecContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSkewSpec(this); } }; SkewSpecContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSkewSpec(this); } }; SkewSpecContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSkewSpec(this); } else { return visitor.visitChildren(this); } }; sqlParser.SkewSpecContext = SkewSpecContext; sqlParser.prototype.skewSpec = function () { var localctx = new SkewSpecContext(this, this._ctx, this.state); this.enterRule(localctx, 20, sqlParser.RULE_skewSpec); try { this.enterOuterAlt(localctx, 1); this.state = 1094; this.match(sqlParser.SKEWED); this.state = 1095; this.match(sqlParser.BY); this.state = 1096; this.identifierList(); this.state = 1097; this.match(sqlParser.ON); this.state = 1100; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 114, this._ctx); switch (la_) { case 1: this.state = 1098; this.constantList(); break; case 2: this.state = 1099; this.nestedConstantList(); break; } this.state = 1105; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 115, this._ctx); if (la_ === 1) { this.state = 1102; this.match(sqlParser.STORED); this.state = 1103; this.match(sqlParser.AS); this.state = 1104; this.match(sqlParser.DIRECTORIES); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function LocationSpecContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_locationSpec; return this; } LocationSpecContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); LocationSpecContext.prototype.constructor = LocationSpecContext; LocationSpecContext.prototype.LOCATION = function () { return this.getToken(sqlParser.LOCATION, 0); }; LocationSpecContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; LocationSpecContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterLocationSpec(this); } }; LocationSpecContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitLocationSpec(this); } }; LocationSpecContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitLocationSpec(this); } else { return visitor.visitChildren(this); } }; sqlParser.LocationSpecContext = LocationSpecContext; sqlParser.prototype.locationSpec = function () { var localctx = new LocationSpecContext(this, this._ctx, this.state); this.enterRule(localctx, 22, sqlParser.RULE_locationSpec); try { this.enterOuterAlt(localctx, 1); this.state = 1107; this.match(sqlParser.LOCATION); this.state = 1108; this.match(sqlParser.STRING); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function QueryContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_query; return this; } QueryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); QueryContext.prototype.constructor = QueryContext; QueryContext.prototype.queryNoWith = function () { return this.getTypedRuleContext(QueryNoWithContext, 0); }; QueryContext.prototype.ctes = function () { return this.getTypedRuleContext(CtesContext, 0); }; QueryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterQuery(this); } }; QueryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitQuery(this); } }; QueryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitQuery(this); } else { return visitor.visitChildren(this); } }; sqlParser.QueryContext = QueryContext; sqlParser.prototype.query = function () { var localctx = new QueryContext(this, this._ctx, this.state); this.enterRule(localctx, 24, sqlParser.RULE_query); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1111; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.WITH) { this.state = 1110; this.ctes(); } this.state = 1113; this.queryNoWith(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function InsertIntoContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_insertInto; return this; } InsertIntoContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); InsertIntoContext.prototype.constructor = InsertIntoContext; InsertIntoContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function InsertOverwriteHiveDirContext(parser, ctx) { InsertIntoContext.call(this, parser); this.path = null; // Token; InsertIntoContext.prototype.copyFrom.call(this, ctx); return this; } InsertOverwriteHiveDirContext.prototype = Object.create(InsertIntoContext.prototype); InsertOverwriteHiveDirContext.prototype.constructor = InsertOverwriteHiveDirContext; sqlParser.InsertOverwriteHiveDirContext = InsertOverwriteHiveDirContext; InsertOverwriteHiveDirContext.prototype.INSERT = function () { return this.getToken(sqlParser.INSERT, 0); }; InsertOverwriteHiveDirContext.prototype.OVERWRITE = function () { return this.getToken(sqlParser.OVERWRITE, 0); }; InsertOverwriteHiveDirContext.prototype.DIRECTORY = function () { return this.getToken(sqlParser.DIRECTORY, 0); }; InsertOverwriteHiveDirContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; InsertOverwriteHiveDirContext.prototype.LOCAL = function () { return this.getToken(sqlParser.LOCAL, 0); }; InsertOverwriteHiveDirContext.prototype.rowFormat = function () { return this.getTypedRuleContext(RowFormatContext, 0); }; InsertOverwriteHiveDirContext.prototype.createFileFormat = function () { return this.getTypedRuleContext(CreateFileFormatContext, 0); }; InsertOverwriteHiveDirContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterInsertOverwriteHiveDir(this); } }; InsertOverwriteHiveDirContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitInsertOverwriteHiveDir(this); } }; InsertOverwriteHiveDirContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitInsertOverwriteHiveDir(this); } else { return visitor.visitChildren(this); } }; function InsertOverwriteDirContext(parser, ctx) { InsertIntoContext.call(this, parser); this.path = null; // Token; this.options = null; // TablePropertyListContext; InsertIntoContext.prototype.copyFrom.call(this, ctx); return this; } InsertOverwriteDirContext.prototype = Object.create(InsertIntoContext.prototype); InsertOverwriteDirContext.prototype.constructor = InsertOverwriteDirContext; sqlParser.InsertOverwriteDirContext = InsertOverwriteDirContext; InsertOverwriteDirContext.prototype.INSERT = function () { return this.getToken(sqlParser.INSERT, 0); }; InsertOverwriteDirContext.prototype.OVERWRITE = function () { return this.getToken(sqlParser.OVERWRITE, 0); }; InsertOverwriteDirContext.prototype.DIRECTORY = function () { return this.getToken(sqlParser.DIRECTORY, 0); }; InsertOverwriteDirContext.prototype.tableProvider = function () { return this.getTypedRuleContext(TableProviderContext, 0); }; InsertOverwriteDirContext.prototype.LOCAL = function () { return this.getToken(sqlParser.LOCAL, 0); }; InsertOverwriteDirContext.prototype.OPTIONS = function () { return this.getToken(sqlParser.OPTIONS, 0); }; InsertOverwriteDirContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; InsertOverwriteDirContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; InsertOverwriteDirContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterInsertOverwriteDir(this); } }; InsertOverwriteDirContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitInsertOverwriteDir(this); } }; InsertOverwriteDirContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitInsertOverwriteDir(this); } else { return visitor.visitChildren(this); } }; function InsertOverwriteTableContext(parser, ctx) { InsertIntoContext.call(this, parser); InsertIntoContext.prototype.copyFrom.call(this, ctx); return this; } InsertOverwriteTableContext.prototype = Object.create(InsertIntoContext.prototype); InsertOverwriteTableContext.prototype.constructor = InsertOverwriteTableContext; sqlParser.InsertOverwriteTableContext = InsertOverwriteTableContext; InsertOverwriteTableContext.prototype.INSERT = function () { return this.getToken(sqlParser.INSERT, 0); }; InsertOverwriteTableContext.prototype.OVERWRITE = function () { return this.getToken(sqlParser.OVERWRITE, 0); }; InsertOverwriteTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; InsertOverwriteTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; InsertOverwriteTableContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; InsertOverwriteTableContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; InsertOverwriteTableContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; InsertOverwriteTableContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; InsertOverwriteTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterInsertOverwriteTable(this); } }; InsertOverwriteTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitInsertOverwriteTable(this); } }; InsertOverwriteTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitInsertOverwriteTable(this); } else { return visitor.visitChildren(this); } }; function InsertIntoTableContext(parser, ctx) { InsertIntoContext.call(this, parser); InsertIntoContext.prototype.copyFrom.call(this, ctx); return this; } InsertIntoTableContext.prototype = Object.create(InsertIntoContext.prototype); InsertIntoTableContext.prototype.constructor = InsertIntoTableContext; sqlParser.InsertIntoTableContext = InsertIntoTableContext; InsertIntoTableContext.prototype.INSERT = function () { return this.getToken(sqlParser.INSERT, 0); }; InsertIntoTableContext.prototype.INTO = function () { return this.getToken(sqlParser.INTO, 0); }; InsertIntoTableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; InsertIntoTableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; InsertIntoTableContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; InsertIntoTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterInsertIntoTable(this); } }; InsertIntoTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitInsertIntoTable(this); } }; InsertIntoTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitInsertIntoTable(this); } else { return visitor.visitChildren(this); } }; sqlParser.InsertIntoContext = InsertIntoContext; sqlParser.prototype.insertInto = function () { var localctx = new InsertIntoContext(this, this._ctx, this.state); this.enterRule(localctx, 26, sqlParser.RULE_insertInto); var _la = 0; // Token type try { this.state = 1163; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 127, this._ctx); switch (la_) { case 1: localctx = new InsertOverwriteTableContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 1115; this.match(sqlParser.INSERT); this.state = 1116; this.match(sqlParser.OVERWRITE); this.state = 1117; this.match(sqlParser.TABLE); this.state = 1118; this.tableIdentifier(); this.state = 1125; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 1119; this.partitionSpec(); this.state = 1123; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.IF) { this.state = 1120; this.match(sqlParser.IF); this.state = 1121; this.match(sqlParser.NOT); this.state = 1122; this.match(sqlParser.EXISTS); } } break; case 2: localctx = new InsertIntoTableContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 1127; this.match(sqlParser.INSERT); this.state = 1128; this.match(sqlParser.INTO); this.state = 1130; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 119, this._ctx); if (la_ === 1) { this.state = 1129; this.match(sqlParser.TABLE); } this.state = 1132; this.tableIdentifier(); this.state = 1134; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 1133; this.partitionSpec(); } break; case 3: localctx = new InsertOverwriteHiveDirContext(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 1136; this.match(sqlParser.INSERT); this.state = 1137; this.match(sqlParser.OVERWRITE); this.state = 1139; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LOCAL) { this.state = 1138; this.match(sqlParser.LOCAL); } this.state = 1141; this.match(sqlParser.DIRECTORY); this.state = 1142; localctx.path = this.match(sqlParser.STRING); this.state = 1144; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ROW) { this.state = 1143; this.rowFormat(); } this.state = 1147; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.STORED) { this.state = 1146; this.createFileFormat(); } break; case 4: localctx = new InsertOverwriteDirContext(this, localctx); this.enterOuterAlt(localctx, 4); this.state = 1149; this.match(sqlParser.INSERT); this.state = 1150; this.match(sqlParser.OVERWRITE); this.state = 1152; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LOCAL) { this.state = 1151; this.match(sqlParser.LOCAL); } this.state = 1154; this.match(sqlParser.DIRECTORY); this.state = 1156; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.STRING) { this.state = 1155; localctx.path = this.match(sqlParser.STRING); } this.state = 1158; this.tableProvider(); this.state = 1161; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OPTIONS) { this.state = 1159; this.match(sqlParser.OPTIONS); this.state = 1160; localctx.options = this.tablePropertyList(); } break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PartitionSpecLocationContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_partitionSpecLocation; return this; } PartitionSpecLocationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PartitionSpecLocationContext.prototype.constructor = PartitionSpecLocationContext; PartitionSpecLocationContext.prototype.partitionSpec = function () { return this.getTypedRuleContext(PartitionSpecContext, 0); }; PartitionSpecLocationContext.prototype.locationSpec = function () { return this.getTypedRuleContext(LocationSpecContext, 0); }; PartitionSpecLocationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPartitionSpecLocation(this); } }; PartitionSpecLocationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPartitionSpecLocation(this); } }; PartitionSpecLocationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPartitionSpecLocation(this); } else { return visitor.visitChildren(this); } }; sqlParser.PartitionSpecLocationContext = PartitionSpecLocationContext; sqlParser.prototype.partitionSpecLocation = function () { var localctx = new PartitionSpecLocationContext(this, this._ctx, this.state); this.enterRule(localctx, 28, sqlParser.RULE_partitionSpecLocation); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1165; this.partitionSpec(); this.state = 1167; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LOCATION) { this.state = 1166; this.locationSpec(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PartitionSpecContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_partitionSpec; return this; } PartitionSpecContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PartitionSpecContext.prototype.constructor = PartitionSpecContext; PartitionSpecContext.prototype.PARTITION = function () { return this.getToken(sqlParser.PARTITION, 0); }; PartitionSpecContext.prototype.partitionVal = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PartitionValContext); } else { return this.getTypedRuleContext(PartitionValContext, i); } }; PartitionSpecContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPartitionSpec(this); } }; PartitionSpecContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPartitionSpec(this); } }; PartitionSpecContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPartitionSpec(this); } else { return visitor.visitChildren(this); } }; sqlParser.PartitionSpecContext = PartitionSpecContext; sqlParser.prototype.partitionSpec = function () { var localctx = new PartitionSpecContext(this, this._ctx, this.state); this.enterRule(localctx, 30, sqlParser.RULE_partitionSpec); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1169; this.match(sqlParser.PARTITION); this.state = 1170; this.match(sqlParser.T__0); this.state = 1171; this.partitionVal(); this.state = 1176; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1172; this.match(sqlParser.T__3); this.state = 1173; this.partitionVal(); this.state = 1178; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1179; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PartitionValContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_partitionVal; return this; } PartitionValContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PartitionValContext.prototype.constructor = PartitionValContext; PartitionValContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; PartitionValContext.prototype.EQ = function () { return this.getToken(sqlParser.EQ, 0); }; PartitionValContext.prototype.constant = function () { return this.getTypedRuleContext(ConstantContext, 0); }; PartitionValContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPartitionVal(this); } }; PartitionValContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPartitionVal(this); } }; PartitionValContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPartitionVal(this); } else { return visitor.visitChildren(this); } }; sqlParser.PartitionValContext = PartitionValContext; sqlParser.prototype.partitionVal = function () { var localctx = new PartitionValContext(this, this._ctx, this.state); this.enterRule(localctx, 32, sqlParser.RULE_partitionVal); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1181; this.identifier(); this.state = 1184; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.EQ) { this.state = 1182; this.match(sqlParser.EQ); this.state = 1183; this.constant(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function DescribeFuncNameContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_describeFuncName; return this; } DescribeFuncNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); DescribeFuncNameContext.prototype.constructor = DescribeFuncNameContext; DescribeFuncNameContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; DescribeFuncNameContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; DescribeFuncNameContext.prototype.comparisonOperator = function () { return this.getTypedRuleContext(ComparisonOperatorContext, 0); }; DescribeFuncNameContext.prototype.arithmeticOperator = function () { return this.getTypedRuleContext(ArithmeticOperatorContext, 0); }; DescribeFuncNameContext.prototype.predicateOperator = function () { return this.getTypedRuleContext(PredicateOperatorContext, 0); }; DescribeFuncNameContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDescribeFuncName(this); } }; DescribeFuncNameContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDescribeFuncName(this); } }; DescribeFuncNameContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDescribeFuncName(this); } else { return visitor.visitChildren(this); } }; sqlParser.DescribeFuncNameContext = DescribeFuncNameContext; sqlParser.prototype.describeFuncName = function () { var localctx = new DescribeFuncNameContext(this, this._ctx, this.state); this.enterRule(localctx, 34, sqlParser.RULE_describeFuncName); try { this.state = 1191; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 131, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 1186; this.qualifiedName(); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 1187; this.match(sqlParser.STRING); break; case 3: this.enterOuterAlt(localctx, 3); this.state = 1188; this.comparisonOperator(); break; case 4: this.enterOuterAlt(localctx, 4); this.state = 1189; this.arithmeticOperator(); break; case 5: this.enterOuterAlt(localctx, 5); this.state = 1190; this.predicateOperator(); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function DescribeColNameContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_describeColName; this._identifier = null; // IdentifierContext this.nameParts = []; // of IdentifierContexts return this; } DescribeColNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); DescribeColNameContext.prototype.constructor = DescribeColNameContext; DescribeColNameContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; DescribeColNameContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDescribeColName(this); } }; DescribeColNameContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDescribeColName(this); } }; DescribeColNameContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDescribeColName(this); } else { return visitor.visitChildren(this); } }; sqlParser.DescribeColNameContext = DescribeColNameContext; sqlParser.prototype.describeColName = function () { var localctx = new DescribeColNameContext(this, this._ctx, this.state); this.enterRule(localctx, 36, sqlParser.RULE_describeColName); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1193; localctx._identifier = this.identifier(); localctx.nameParts.push(localctx._identifier); this.state = 1198; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__2) { this.state = 1194; this.match(sqlParser.T__2); this.state = 1195; localctx._identifier = this.identifier(); localctx.nameParts.push(localctx._identifier); this.state = 1200; this._errHandler.sync(this); _la = this._input.LA(1); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function CtesContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_ctes; return this; } CtesContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); CtesContext.prototype.constructor = CtesContext; CtesContext.prototype.WITH = function () { return this.getToken(sqlParser.WITH, 0); }; CtesContext.prototype.namedQuery = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(NamedQueryContext); } else { return this.getTypedRuleContext(NamedQueryContext, i); } }; CtesContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCtes(this); } }; CtesContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCtes(this); } }; CtesContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCtes(this); } else { return visitor.visitChildren(this); } }; sqlParser.CtesContext = CtesContext; sqlParser.prototype.ctes = function () { var localctx = new CtesContext(this, this._ctx, this.state); this.enterRule(localctx, 38, sqlParser.RULE_ctes); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1201; this.match(sqlParser.WITH); this.state = 1202; this.namedQuery(); this.state = 1207; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1203; this.match(sqlParser.T__3); this.state = 1204; this.namedQuery(); this.state = 1209; this._errHandler.sync(this); _la = this._input.LA(1); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function NamedQueryContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_namedQuery; this.name = null; // IdentifierContext return this; } NamedQueryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); NamedQueryContext.prototype.constructor = NamedQueryContext; NamedQueryContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; NamedQueryContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; NamedQueryContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; NamedQueryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterNamedQuery(this); } }; NamedQueryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitNamedQuery(this); } }; NamedQueryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitNamedQuery(this); } else { return visitor.visitChildren(this); } }; sqlParser.NamedQueryContext = NamedQueryContext; sqlParser.prototype.namedQuery = function () { var localctx = new NamedQueryContext(this, this._ctx, this.state); this.enterRule(localctx, 40, sqlParser.RULE_namedQuery); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1210; localctx.name = this.identifier(); this.state = 1212; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.AS) { this.state = 1211; this.match(sqlParser.AS); } this.state = 1214; this.match(sqlParser.T__0); this.state = 1215; this.query(); this.state = 1216; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function TableProviderContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_tableProvider; return this; } TableProviderContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); TableProviderContext.prototype.constructor = TableProviderContext; TableProviderContext.prototype.USING = function () { return this.getToken(sqlParser.USING, 0); }; TableProviderContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; TableProviderContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTableProvider(this); } }; TableProviderContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTableProvider(this); } }; TableProviderContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTableProvider(this); } else { return visitor.visitChildren(this); } }; sqlParser.TableProviderContext = TableProviderContext; sqlParser.prototype.tableProvider = function () { var localctx = new TableProviderContext(this, this._ctx, this.state); this.enterRule(localctx, 42, sqlParser.RULE_tableProvider); try { this.enterOuterAlt(localctx, 1); this.state = 1218; this.match(sqlParser.USING); this.state = 1219; this.qualifiedName(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function TablePropertyListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_tablePropertyList; return this; } TablePropertyListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); TablePropertyListContext.prototype.constructor = TablePropertyListContext; TablePropertyListContext.prototype.tableProperty = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(TablePropertyContext); } else { return this.getTypedRuleContext(TablePropertyContext, i); } }; TablePropertyListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTablePropertyList(this); } }; TablePropertyListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTablePropertyList(this); } }; TablePropertyListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTablePropertyList(this); } else { return visitor.visitChildren(this); } }; sqlParser.TablePropertyListContext = TablePropertyListContext; sqlParser.prototype.tablePropertyList = function () { var localctx = new TablePropertyListContext(this, this._ctx, this.state); this.enterRule(localctx, 44, sqlParser.RULE_tablePropertyList); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1221; this.match(sqlParser.T__0); this.state = 1222; this.tableProperty(); this.state = 1227; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1223; this.match(sqlParser.T__3); this.state = 1224; this.tableProperty(); this.state = 1229; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1230; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function TablePropertyContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_tableProperty; this.key = null; // TablePropertyKeyContext this.value = null; // TablePropertyValueContext return this; } TablePropertyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); TablePropertyContext.prototype.constructor = TablePropertyContext; TablePropertyContext.prototype.tablePropertyKey = function () { return this.getTypedRuleContext(TablePropertyKeyContext, 0); }; TablePropertyContext.prototype.tablePropertyValue = function () { return this.getTypedRuleContext(TablePropertyValueContext, 0); }; TablePropertyContext.prototype.EQ = function () { return this.getToken(sqlParser.EQ, 0); }; TablePropertyContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTableProperty(this); } }; TablePropertyContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTableProperty(this); } }; TablePropertyContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTableProperty(this); } else { return visitor.visitChildren(this); } }; sqlParser.TablePropertyContext = TablePropertyContext; sqlParser.prototype.tableProperty = function () { var localctx = new TablePropertyContext(this, this._ctx, this.state); this.enterRule(localctx, 46, sqlParser.RULE_tableProperty); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1232; localctx.key = this.tablePropertyKey(); this.state = 1237; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.TRUE || _la === sqlParser.FALSE || _la === sqlParser.EQ || ((((_la - 261)) & ~0x1f) == 0 && ((1 << (_la - 261)) & ((1 << (sqlParser.STRING - 261)) | (1 << (sqlParser.INTEGER_VALUE - 261)) | (1 << (sqlParser.DECIMAL_VALUE - 261)))) !== 0)) { this.state = 1234; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.EQ) { this.state = 1233; this.match(sqlParser.EQ); } this.state = 1236; localctx.value = this.tablePropertyValue(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function TablePropertyKeyContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_tablePropertyKey; return this; } TablePropertyKeyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); TablePropertyKeyContext.prototype.constructor = TablePropertyKeyContext; TablePropertyKeyContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; TablePropertyKeyContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; TablePropertyKeyContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTablePropertyKey(this); } }; TablePropertyKeyContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTablePropertyKey(this); } }; TablePropertyKeyContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTablePropertyKey(this); } else { return visitor.visitChildren(this); } }; sqlParser.TablePropertyKeyContext = TablePropertyKeyContext; sqlParser.prototype.tablePropertyKey = function () { var localctx = new TablePropertyKeyContext(this, this._ctx, this.state); this.enterRule(localctx, 48, sqlParser.RULE_tablePropertyKey); var _la = 0; // Token type try { this.state = 1248; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.AS: case sqlParser.ALL: case sqlParser.ANY: case sqlParser.DISTINCT: case sqlParser.WHERE: case sqlParser.GROUP: case sqlParser.BY: case sqlParser.GROUPING: case sqlParser.SETS: case sqlParser.CUBE: case sqlParser.ROLLUP: case sqlParser.ORDER: case sqlParser.HAVING: case sqlParser.LIMIT: case sqlParser.AT: case sqlParser.OR: case sqlParser.AND: case sqlParser.IN: case sqlParser.NOT: case sqlParser.NO: case sqlParser.EXISTS: case sqlParser.BETWEEN: case sqlParser.LIKE: case sqlParser.RLIKE: case sqlParser.IS: case sqlParser.NULL: case sqlParser.TRUE: case sqlParser.FALSE: case sqlParser.NULLS: case sqlParser.ASC: case sqlParser.DESC: case sqlParser.FOR: case sqlParser.INTERVAL: case sqlParser.CASE: case sqlParser.WHEN: case sqlParser.THEN: case sqlParser.ELSE: case sqlParser.END: case sqlParser.JOIN: case sqlParser.CROSS: case sqlParser.OUTER: case sqlParser.INNER: case sqlParser.LEFT: case sqlParser.SEMI: case sqlParser.RIGHT: case sqlParser.FULL: case sqlParser.NATURAL: case sqlParser.ON: case sqlParser.PIVOT: case sqlParser.LATERAL: case sqlParser.WINDOW: case sqlParser.OVER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.UNBOUNDED: case sqlParser.PRECEDING: case sqlParser.FOLLOWING: case sqlParser.CURRENT: case sqlParser.FIRST: case sqlParser.AFTER: case sqlParser.LAST: case sqlParser.ROW: case sqlParser.WITH: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.DIRECTORY: case sqlParser.VIEW: case sqlParser.REPLACE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.INTO: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.FORMAT: case sqlParser.LOGICAL: case sqlParser.CODEGEN: case sqlParser.COST: case sqlParser.CAST: case sqlParser.SHOW: case sqlParser.TABLES: case sqlParser.COLUMNS: case sqlParser.COLUMN: case sqlParser.USE: case sqlParser.PARTITIONS: case sqlParser.FUNCTIONS: case sqlParser.DROP: case sqlParser.UNION: case sqlParser.EXCEPT: case sqlParser.SETMINUS: case sqlParser.INTERSECT: case sqlParser.TO: case sqlParser.TABLESAMPLE: case sqlParser.STRATIFY: case sqlParser.ALTER: case sqlParser.RENAME: case sqlParser.ARRAY: case sqlParser.MAP: case sqlParser.STRUCT: case sqlParser.COMMENT: case sqlParser.SET: case sqlParser.RESET: case sqlParser.DATA: case sqlParser.START: case sqlParser.TRANSACTION: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.MACRO: case sqlParser.IGNORE: case sqlParser.BOTH: case sqlParser.LEADING: case sqlParser.TRAILING: case sqlParser.IF: case sqlParser.POSITION: case sqlParser.EXTRACT: case sqlParser.DIV: case sqlParser.PERCENTLIT: case sqlParser.BUCKET: case sqlParser.OUT: case sqlParser.OF: case sqlParser.SORT: case sqlParser.CLUSTER: case sqlParser.DISTRIBUTE: case sqlParser.OVERWRITE: case sqlParser.TRANSFORM: case sqlParser.REDUCE: case sqlParser.SERDE: case sqlParser.SERDEPROPERTIES: case sqlParser.RECORDREADER: case sqlParser.RECORDWRITER: case sqlParser.DELIMITED: case sqlParser.FIELDS: case sqlParser.TERMINATED: case sqlParser.COLLECTION: case sqlParser.ITEMS: case sqlParser.KEYS: case sqlParser.ESCAPED: case sqlParser.LINES: case sqlParser.SEPARATED: case sqlParser.FUNCTION: case sqlParser.EXTENDED: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.LAZY: case sqlParser.FORMATTED: case sqlParser.GLOBAL: case sqlParser.TEMPORARY: case sqlParser.OPTIONS: case sqlParser.UNSET: case sqlParser.TBLPROPERTIES: case sqlParser.DBPROPERTIES: case sqlParser.BUCKETS: case sqlParser.SKEWED: case sqlParser.STORED: case sqlParser.DIRECTORIES: case sqlParser.LOCATION: case sqlParser.EXCHANGE: case sqlParser.ARCHIVE: case sqlParser.UNARCHIVE: case sqlParser.FILEFORMAT: case sqlParser.TOUCH: case sqlParser.COMPACT: case sqlParser.CONCATENATE: case sqlParser.CHANGE: case sqlParser.CASCADE: case sqlParser.RESTRICT: case sqlParser.CLUSTERED: case sqlParser.SORTED: case sqlParser.PURGE: case sqlParser.INPUTFORMAT: case sqlParser.OUTPUTFORMAT: case sqlParser.DATABASE: case sqlParser.DATABASES: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.COMPUTE: case sqlParser.LIST: case sqlParser.STATISTICS: case sqlParser.PARTITIONED: case sqlParser.EXTERNAL: case sqlParser.DEFINED: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.REPAIR: case sqlParser.RECOVER: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: case sqlParser.ROLE: case sqlParser.ROLES: case sqlParser.COMPACTIONS: case sqlParser.PRINCIPALS: case sqlParser.TRANSACTIONS: case sqlParser.INDEX: case sqlParser.INDEXES: case sqlParser.LOCKS: case sqlParser.OPTION: case sqlParser.ANTI: case sqlParser.LOCAL: case sqlParser.INPATH: case sqlParser.IDENTIFIER: case sqlParser.BACKQUOTED_IDENTIFIER: this.enterOuterAlt(localctx, 1); this.state = 1239; this.identifier(); this.state = 1244; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__2) { this.state = 1240; this.match(sqlParser.T__2); this.state = 1241; this.identifier(); this.state = 1246; this._errHandler.sync(this); _la = this._input.LA(1); } break; case sqlParser.STRING: this.enterOuterAlt(localctx, 2); this.state = 1247; this.match(sqlParser.STRING); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function TablePropertyValueContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_tablePropertyValue; return this; } TablePropertyValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); TablePropertyValueContext.prototype.constructor = TablePropertyValueContext; TablePropertyValueContext.prototype.INTEGER_VALUE = function () { return this.getToken(sqlParser.INTEGER_VALUE, 0); }; TablePropertyValueContext.prototype.DECIMAL_VALUE = function () { return this.getToken(sqlParser.DECIMAL_VALUE, 0); }; TablePropertyValueContext.prototype.booleanValue = function () { return this.getTypedRuleContext(BooleanValueContext, 0); }; TablePropertyValueContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; TablePropertyValueContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTablePropertyValue(this); } }; TablePropertyValueContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTablePropertyValue(this); } }; TablePropertyValueContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTablePropertyValue(this); } else { return visitor.visitChildren(this); } }; sqlParser.TablePropertyValueContext = TablePropertyValueContext; sqlParser.prototype.tablePropertyValue = function () { var localctx = new TablePropertyValueContext(this, this._ctx, this.state); this.enterRule(localctx, 50, sqlParser.RULE_tablePropertyValue); try { this.state = 1254; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.INTEGER_VALUE: this.enterOuterAlt(localctx, 1); this.state = 1250; this.match(sqlParser.INTEGER_VALUE); break; case sqlParser.DECIMAL_VALUE: this.enterOuterAlt(localctx, 2); this.state = 1251; this.match(sqlParser.DECIMAL_VALUE); break; case sqlParser.TRUE: case sqlParser.FALSE: this.enterOuterAlt(localctx, 3); this.state = 1252; this.booleanValue(); break; case sqlParser.STRING: this.enterOuterAlt(localctx, 4); this.state = 1253; this.match(sqlParser.STRING); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ConstantListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_constantList; return this; } ConstantListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ConstantListContext.prototype.constructor = ConstantListContext; ConstantListContext.prototype.constant = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ConstantContext); } else { return this.getTypedRuleContext(ConstantContext, i); } }; ConstantListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterConstantList(this); } }; ConstantListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitConstantList(this); } }; ConstantListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitConstantList(this); } else { return visitor.visitChildren(this); } }; sqlParser.ConstantListContext = ConstantListContext; sqlParser.prototype.constantList = function () { var localctx = new ConstantListContext(this, this._ctx, this.state); this.enterRule(localctx, 52, sqlParser.RULE_constantList); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1256; this.match(sqlParser.T__0); this.state = 1257; this.constant(); this.state = 1262; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1258; this.match(sqlParser.T__3); this.state = 1259; this.constant(); this.state = 1264; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1265; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function NestedConstantListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_nestedConstantList; return this; } NestedConstantListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); NestedConstantListContext.prototype.constructor = NestedConstantListContext; NestedConstantListContext.prototype.constantList = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ConstantListContext); } else { return this.getTypedRuleContext(ConstantListContext, i); } }; NestedConstantListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterNestedConstantList(this); } }; NestedConstantListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitNestedConstantList(this); } }; NestedConstantListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitNestedConstantList(this); } else { return visitor.visitChildren(this); } }; sqlParser.NestedConstantListContext = NestedConstantListContext; sqlParser.prototype.nestedConstantList = function () { var localctx = new NestedConstantListContext(this, this._ctx, this.state); this.enterRule(localctx, 54, sqlParser.RULE_nestedConstantList); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1267; this.match(sqlParser.T__0); this.state = 1268; this.constantList(); this.state = 1273; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1269; this.match(sqlParser.T__3); this.state = 1270; this.constantList(); this.state = 1275; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1276; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function CreateFileFormatContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_createFileFormat; return this; } CreateFileFormatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); CreateFileFormatContext.prototype.constructor = CreateFileFormatContext; CreateFileFormatContext.prototype.STORED = function () { return this.getToken(sqlParser.STORED, 0); }; CreateFileFormatContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; CreateFileFormatContext.prototype.fileFormat = function () { return this.getTypedRuleContext(FileFormatContext, 0); }; CreateFileFormatContext.prototype.BY = function () { return this.getToken(sqlParser.BY, 0); }; CreateFileFormatContext.prototype.storageHandler = function () { return this.getTypedRuleContext(StorageHandlerContext, 0); }; CreateFileFormatContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCreateFileFormat(this); } }; CreateFileFormatContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCreateFileFormat(this); } }; CreateFileFormatContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCreateFileFormat(this); } else { return visitor.visitChildren(this); } }; sqlParser.CreateFileFormatContext = CreateFileFormatContext; sqlParser.prototype.createFileFormat = function () { var localctx = new CreateFileFormatContext(this, this._ctx, this.state); this.enterRule(localctx, 56, sqlParser.RULE_createFileFormat); try { this.state = 1284; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 143, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 1278; this.match(sqlParser.STORED); this.state = 1279; this.match(sqlParser.AS); this.state = 1280; this.fileFormat(); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 1281; this.match(sqlParser.STORED); this.state = 1282; this.match(sqlParser.BY); this.state = 1283; this.storageHandler(); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function FileFormatContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_fileFormat; return this; } FileFormatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); FileFormatContext.prototype.constructor = FileFormatContext; FileFormatContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function TableFileFormatContext(parser, ctx) { FileFormatContext.call(this, parser); this.inFmt = null; // Token; this.outFmt = null; // Token; FileFormatContext.prototype.copyFrom.call(this, ctx); return this; } TableFileFormatContext.prototype = Object.create(FileFormatContext.prototype); TableFileFormatContext.prototype.constructor = TableFileFormatContext; sqlParser.TableFileFormatContext = TableFileFormatContext; TableFileFormatContext.prototype.INPUTFORMAT = function () { return this.getToken(sqlParser.INPUTFORMAT, 0); }; TableFileFormatContext.prototype.OUTPUTFORMAT = function () { return this.getToken(sqlParser.OUTPUTFORMAT, 0); }; TableFileFormatContext.prototype.STRING = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.STRING); } else { return this.getToken(sqlParser.STRING, i); } }; TableFileFormatContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTableFileFormat(this); } }; TableFileFormatContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTableFileFormat(this); } }; TableFileFormatContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTableFileFormat(this); } else { return visitor.visitChildren(this); } }; function GenericFileFormatContext(parser, ctx) { FileFormatContext.call(this, parser); FileFormatContext.prototype.copyFrom.call(this, ctx); return this; } GenericFileFormatContext.prototype = Object.create(FileFormatContext.prototype); GenericFileFormatContext.prototype.constructor = GenericFileFormatContext; sqlParser.GenericFileFormatContext = GenericFileFormatContext; GenericFileFormatContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; GenericFileFormatContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterGenericFileFormat(this); } }; GenericFileFormatContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitGenericFileFormat(this); } }; GenericFileFormatContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitGenericFileFormat(this); } else { return visitor.visitChildren(this); } }; sqlParser.FileFormatContext = FileFormatContext; sqlParser.prototype.fileFormat = function () { var localctx = new FileFormatContext(this, this._ctx, this.state); this.enterRule(localctx, 58, sqlParser.RULE_fileFormat); try { this.state = 1291; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 144, this._ctx); switch (la_) { case 1: localctx = new TableFileFormatContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 1286; this.match(sqlParser.INPUTFORMAT); this.state = 1287; localctx.inFmt = this.match(sqlParser.STRING); this.state = 1288; this.match(sqlParser.OUTPUTFORMAT); this.state = 1289; localctx.outFmt = this.match(sqlParser.STRING); break; case 2: localctx = new GenericFileFormatContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 1290; this.identifier(); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function StorageHandlerContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_storageHandler; return this; } StorageHandlerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); StorageHandlerContext.prototype.constructor = StorageHandlerContext; StorageHandlerContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; StorageHandlerContext.prototype.WITH = function () { return this.getToken(sqlParser.WITH, 0); }; StorageHandlerContext.prototype.SERDEPROPERTIES = function () { return this.getToken(sqlParser.SERDEPROPERTIES, 0); }; StorageHandlerContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; StorageHandlerContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterStorageHandler(this); } }; StorageHandlerContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitStorageHandler(this); } }; StorageHandlerContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitStorageHandler(this); } else { return visitor.visitChildren(this); } }; sqlParser.StorageHandlerContext = StorageHandlerContext; sqlParser.prototype.storageHandler = function () { var localctx = new StorageHandlerContext(this, this._ctx, this.state); this.enterRule(localctx, 60, sqlParser.RULE_storageHandler); try { this.enterOuterAlt(localctx, 1); this.state = 1293; this.match(sqlParser.STRING); this.state = 1297; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 145, this._ctx); if (la_ === 1) { this.state = 1294; this.match(sqlParser.WITH); this.state = 1295; this.match(sqlParser.SERDEPROPERTIES); this.state = 1296; this.tablePropertyList(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ResourceContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_resource; return this; } ResourceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ResourceContext.prototype.constructor = ResourceContext; ResourceContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ResourceContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; ResourceContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterResource(this); } }; ResourceContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitResource(this); } }; ResourceContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitResource(this); } else { return visitor.visitChildren(this); } }; sqlParser.ResourceContext = ResourceContext; sqlParser.prototype.resource = function () { var localctx = new ResourceContext(this, this._ctx, this.state); this.enterRule(localctx, 62, sqlParser.RULE_resource); try { this.enterOuterAlt(localctx, 1); this.state = 1299; this.identifier(); this.state = 1300; this.match(sqlParser.STRING); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function QueryNoWithContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_queryNoWith; return this; } QueryNoWithContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); QueryNoWithContext.prototype.constructor = QueryNoWithContext; QueryNoWithContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function SingleInsertQueryContext(parser, ctx) { QueryNoWithContext.call(this, parser); QueryNoWithContext.prototype.copyFrom.call(this, ctx); return this; } SingleInsertQueryContext.prototype = Object.create(QueryNoWithContext.prototype); SingleInsertQueryContext.prototype.constructor = SingleInsertQueryContext; sqlParser.SingleInsertQueryContext = SingleInsertQueryContext; SingleInsertQueryContext.prototype.queryTerm = function () { return this.getTypedRuleContext(QueryTermContext, 0); }; SingleInsertQueryContext.prototype.queryOrganization = function () { return this.getTypedRuleContext(QueryOrganizationContext, 0); }; SingleInsertQueryContext.prototype.insertInto = function () { return this.getTypedRuleContext(InsertIntoContext, 0); }; SingleInsertQueryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSingleInsertQuery(this); } }; SingleInsertQueryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSingleInsertQuery(this); } }; SingleInsertQueryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSingleInsertQuery(this); } else { return visitor.visitChildren(this); } }; function MultiInsertQueryContext(parser, ctx) { QueryNoWithContext.call(this, parser); QueryNoWithContext.prototype.copyFrom.call(this, ctx); return this; } MultiInsertQueryContext.prototype = Object.create(QueryNoWithContext.prototype); MultiInsertQueryContext.prototype.constructor = MultiInsertQueryContext; sqlParser.MultiInsertQueryContext = MultiInsertQueryContext; MultiInsertQueryContext.prototype.fromClause = function () { return this.getTypedRuleContext(FromClauseContext, 0); }; MultiInsertQueryContext.prototype.multiInsertQueryBody = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(MultiInsertQueryBodyContext); } else { return this.getTypedRuleContext(MultiInsertQueryBodyContext, i); } }; MultiInsertQueryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterMultiInsertQuery(this); } }; MultiInsertQueryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitMultiInsertQuery(this); } }; MultiInsertQueryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitMultiInsertQuery(this); } else { return visitor.visitChildren(this); } }; sqlParser.QueryNoWithContext = QueryNoWithContext; sqlParser.prototype.queryNoWith = function () { var localctx = new QueryNoWithContext(this, this._ctx, this.state); this.enterRule(localctx, 64, sqlParser.RULE_queryNoWith); var _la = 0; // Token type try { this.state = 1314; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 148, this._ctx); switch (la_) { case 1: localctx = new SingleInsertQueryContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 1303; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.INSERT) { this.state = 1302; this.insertInto(); } this.state = 1305; this.queryTerm(0); this.state = 1306; this.queryOrganization(); break; case 2: localctx = new MultiInsertQueryContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 1308; this.fromClause(); this.state = 1310; this._errHandler.sync(this); _la = this._input.LA(1); do { this.state = 1309; this.multiInsertQueryBody(); this.state = 1312; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === sqlParser.SELECT || _la === sqlParser.FROM || _la === sqlParser.INSERT || _la === sqlParser.MAP || _la === sqlParser.REDUCE); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function QueryOrganizationContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_queryOrganization; this._sortItem = null; // SortItemContext this.order = []; // of SortItemContexts this._expression = null; // ExpressionContext this.clusterBy = []; // of ExpressionContexts this.distributeBy = []; // of ExpressionContexts this.sort = []; // of SortItemContexts this.limit = null; // ExpressionContext return this; } QueryOrganizationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); QueryOrganizationContext.prototype.constructor = QueryOrganizationContext; QueryOrganizationContext.prototype.ORDER = function () { return this.getToken(sqlParser.ORDER, 0); }; QueryOrganizationContext.prototype.BY = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.BY); } else { return this.getToken(sqlParser.BY, i); } }; QueryOrganizationContext.prototype.CLUSTER = function () { return this.getToken(sqlParser.CLUSTER, 0); }; QueryOrganizationContext.prototype.DISTRIBUTE = function () { return this.getToken(sqlParser.DISTRIBUTE, 0); }; QueryOrganizationContext.prototype.SORT = function () { return this.getToken(sqlParser.SORT, 0); }; QueryOrganizationContext.prototype.windows = function () { return this.getTypedRuleContext(WindowsContext, 0); }; QueryOrganizationContext.prototype.LIMIT = function () { return this.getToken(sqlParser.LIMIT, 0); }; QueryOrganizationContext.prototype.sortItem = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(SortItemContext); } else { return this.getTypedRuleContext(SortItemContext, i); } }; QueryOrganizationContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; QueryOrganizationContext.prototype.ALL = function () { return this.getToken(sqlParser.ALL, 0); }; QueryOrganizationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterQueryOrganization(this); } }; QueryOrganizationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitQueryOrganization(this); } }; QueryOrganizationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitQueryOrganization(this); } else { return visitor.visitChildren(this); } }; sqlParser.QueryOrganizationContext = QueryOrganizationContext; sqlParser.prototype.queryOrganization = function () { var localctx = new QueryOrganizationContext(this, this._ctx, this.state); this.enterRule(localctx, 66, sqlParser.RULE_queryOrganization); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1326; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ORDER) { this.state = 1316; this.match(sqlParser.ORDER); this.state = 1317; this.match(sqlParser.BY); this.state = 1318; localctx._sortItem = this.sortItem(); localctx.order.push(localctx._sortItem); this.state = 1323; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1319; this.match(sqlParser.T__3); this.state = 1320; localctx._sortItem = this.sortItem(); localctx.order.push(localctx._sortItem); this.state = 1325; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1338; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.CLUSTER) { this.state = 1328; this.match(sqlParser.CLUSTER); this.state = 1329; this.match(sqlParser.BY); this.state = 1330; localctx._expression = this.expression(); localctx.clusterBy.push(localctx._expression); this.state = 1335; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1331; this.match(sqlParser.T__3); this.state = 1332; localctx._expression = this.expression(); localctx.clusterBy.push(localctx._expression); this.state = 1337; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1350; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.DISTRIBUTE) { this.state = 1340; this.match(sqlParser.DISTRIBUTE); this.state = 1341; this.match(sqlParser.BY); this.state = 1342; localctx._expression = this.expression(); localctx.distributeBy.push(localctx._expression); this.state = 1347; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1343; this.match(sqlParser.T__3); this.state = 1344; localctx._expression = this.expression(); localctx.distributeBy.push(localctx._expression); this.state = 1349; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1362; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.SORT) { this.state = 1352; this.match(sqlParser.SORT); this.state = 1353; this.match(sqlParser.BY); this.state = 1354; localctx._sortItem = this.sortItem(); localctx.sort.push(localctx._sortItem); this.state = 1359; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1355; this.match(sqlParser.T__3); this.state = 1356; localctx._sortItem = this.sortItem(); localctx.sort.push(localctx._sortItem); this.state = 1361; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1365; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.WINDOW) { this.state = 1364; this.windows(); } this.state = 1372; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LIMIT) { this.state = 1367; this.match(sqlParser.LIMIT); this.state = 1370; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 158, this._ctx); switch (la_) { case 1: this.state = 1368; this.match(sqlParser.ALL); break; case 2: this.state = 1369; localctx.limit = this.expression(); break; } } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function MultiInsertQueryBodyContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_multiInsertQueryBody; return this; } MultiInsertQueryBodyContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); MultiInsertQueryBodyContext.prototype.constructor = MultiInsertQueryBodyContext; MultiInsertQueryBodyContext.prototype.querySpecification = function () { return this.getTypedRuleContext(QuerySpecificationContext, 0); }; MultiInsertQueryBodyContext.prototype.queryOrganization = function () { return this.getTypedRuleContext(QueryOrganizationContext, 0); }; MultiInsertQueryBodyContext.prototype.insertInto = function () { return this.getTypedRuleContext(InsertIntoContext, 0); }; MultiInsertQueryBodyContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterMultiInsertQueryBody(this); } }; MultiInsertQueryBodyContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitMultiInsertQueryBody(this); } }; MultiInsertQueryBodyContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitMultiInsertQueryBody(this); } else { return visitor.visitChildren(this); } }; sqlParser.MultiInsertQueryBodyContext = MultiInsertQueryBodyContext; sqlParser.prototype.multiInsertQueryBody = function () { var localctx = new MultiInsertQueryBodyContext(this, this._ctx, this.state); this.enterRule(localctx, 68, sqlParser.RULE_multiInsertQueryBody); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1375; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.INSERT) { this.state = 1374; this.insertInto(); } this.state = 1377; this.querySpecification(); this.state = 1378; this.queryOrganization(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function QueryTermContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_queryTerm; return this; } QueryTermContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); QueryTermContext.prototype.constructor = QueryTermContext; QueryTermContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function QueryTermDefaultContext(parser, ctx) { QueryTermContext.call(this, parser); QueryTermContext.prototype.copyFrom.call(this, ctx); return this; } QueryTermDefaultContext.prototype = Object.create(QueryTermContext.prototype); QueryTermDefaultContext.prototype.constructor = QueryTermDefaultContext; sqlParser.QueryTermDefaultContext = QueryTermDefaultContext; QueryTermDefaultContext.prototype.queryPrimary = function () { return this.getTypedRuleContext(QueryPrimaryContext, 0); }; QueryTermDefaultContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterQueryTermDefault(this); } }; QueryTermDefaultContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitQueryTermDefault(this); } }; QueryTermDefaultContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitQueryTermDefault(this); } else { return visitor.visitChildren(this); } }; function SetOperationContext(parser, ctx) { QueryTermContext.call(this, parser); this.left = null; // QueryTermContext; this.operator = null; // Token; this.right = null; // QueryTermContext; QueryTermContext.prototype.copyFrom.call(this, ctx); return this; } SetOperationContext.prototype = Object.create(QueryTermContext.prototype); SetOperationContext.prototype.constructor = SetOperationContext; sqlParser.SetOperationContext = SetOperationContext; SetOperationContext.prototype.queryTerm = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(QueryTermContext); } else { return this.getTypedRuleContext(QueryTermContext, i); } }; SetOperationContext.prototype.INTERSECT = function () { return this.getToken(sqlParser.INTERSECT, 0); }; SetOperationContext.prototype.UNION = function () { return this.getToken(sqlParser.UNION, 0); }; SetOperationContext.prototype.EXCEPT = function () { return this.getToken(sqlParser.EXCEPT, 0); }; SetOperationContext.prototype.SETMINUS = function () { return this.getToken(sqlParser.SETMINUS, 0); }; SetOperationContext.prototype.setQuantifier = function () { return this.getTypedRuleContext(SetQuantifierContext, 0); }; SetOperationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSetOperation(this); } }; SetOperationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSetOperation(this); } }; SetOperationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSetOperation(this); } else { return visitor.visitChildren(this); } }; sqlParser.prototype.queryTerm = function (_p) { if (_p === undefined) { _p = 0; } var _parentctx = this._ctx; var _parentState = this.state; var localctx = new QueryTermContext(this, this._ctx, _parentState); var _prevctx = localctx; var _startState = 70; this.enterRecursionRule(localctx, 70, sqlParser.RULE_queryTerm, _p); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); localctx = new QueryTermDefaultContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 1381; this.queryPrimary(); this._ctx.stop = this._input.LT(-1); this.state = 1406; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 165, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners !== null) { this.triggerExitRuleEvent(); } _prevctx = localctx; this.state = 1404; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 164, this._ctx); switch (la_) { case 1: localctx = new SetOperationContext(this, new QueryTermContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_queryTerm); this.state = 1383; if (!(this.precpred(this._ctx, 3))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); } this.state = 1384; if (!(this.legacy_setops_precedence_enbled)) { throw new antlr4.error.FailedPredicateException(this, "this.legacy_setops_precedence_enbled"); } this.state = 1385; localctx.operator = this._input.LT(1); _la = this._input.LA(1); if (!(((((_la - 110)) & ~0x1f) == 0 && ((1 << (_la - 110)) & ((1 << (sqlParser.UNION - 110)) | (1 << (sqlParser.EXCEPT - 110)) | (1 << (sqlParser.SETMINUS - 110)) | (1 << (sqlParser.INTERSECT - 110)))) !== 0))) { localctx.operator = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 1387; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ALL || _la === sqlParser.DISTINCT) { this.state = 1386; this.setQuantifier(); } this.state = 1389; localctx.right = this.queryTerm(4); break; case 2: localctx = new SetOperationContext(this, new QueryTermContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_queryTerm); this.state = 1390; if (!(this.precpred(this._ctx, 2))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); } this.state = 1391; if (!(!this.legacy_setops_precedence_enbled)) { throw new antlr4.error.FailedPredicateException(this, "!this.legacy_setops_precedence_enbled"); } this.state = 1392; localctx.operator = this.match(sqlParser.INTERSECT); this.state = 1394; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ALL || _la === sqlParser.DISTINCT) { this.state = 1393; this.setQuantifier(); } this.state = 1396; localctx.right = this.queryTerm(3); break; case 3: localctx = new SetOperationContext(this, new QueryTermContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_queryTerm); this.state = 1397; if (!(this.precpred(this._ctx, 1))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)"); } this.state = 1398; if (!(!this.legacy_setops_precedence_enbled)) { throw new antlr4.error.FailedPredicateException(this, "!this.legacy_setops_precedence_enbled"); } this.state = 1399; localctx.operator = this._input.LT(1); _la = this._input.LA(1); if (!(((((_la - 110)) & ~0x1f) == 0 && ((1 << (_la - 110)) & ((1 << (sqlParser.UNION - 110)) | (1 << (sqlParser.EXCEPT - 110)) | (1 << (sqlParser.SETMINUS - 110)))) !== 0))) { localctx.operator = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 1401; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ALL || _la === sqlParser.DISTINCT) { this.state = 1400; this.setQuantifier(); } this.state = 1403; localctx.right = this.queryTerm(2); break; } } this.state = 1408; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 165, this._ctx); } } catch (error) { if (error instanceof antlr4.error.RecognitionException) { localctx.exception = error; this._errHandler.reportError(this, error); this._errHandler.recover(this, error); } else { throw error; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; }; function QueryPrimaryContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_queryPrimary; return this; } QueryPrimaryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); QueryPrimaryContext.prototype.constructor = QueryPrimaryContext; QueryPrimaryContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function SubqueryContext(parser, ctx) { QueryPrimaryContext.call(this, parser); QueryPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } SubqueryContext.prototype = Object.create(QueryPrimaryContext.prototype); SubqueryContext.prototype.constructor = SubqueryContext; sqlParser.SubqueryContext = SubqueryContext; SubqueryContext.prototype.queryNoWith = function () { return this.getTypedRuleContext(QueryNoWithContext, 0); }; SubqueryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSubquery(this); } }; SubqueryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSubquery(this); } }; SubqueryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSubquery(this); } else { return visitor.visitChildren(this); } }; function QueryPrimaryDefaultContext(parser, ctx) { QueryPrimaryContext.call(this, parser); QueryPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } QueryPrimaryDefaultContext.prototype = Object.create(QueryPrimaryContext.prototype); QueryPrimaryDefaultContext.prototype.constructor = QueryPrimaryDefaultContext; sqlParser.QueryPrimaryDefaultContext = QueryPrimaryDefaultContext; QueryPrimaryDefaultContext.prototype.querySpecification = function () { return this.getTypedRuleContext(QuerySpecificationContext, 0); }; QueryPrimaryDefaultContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterQueryPrimaryDefault(this); } }; QueryPrimaryDefaultContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitQueryPrimaryDefault(this); } }; QueryPrimaryDefaultContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitQueryPrimaryDefault(this); } else { return visitor.visitChildren(this); } }; function InlineTableDefault1Context(parser, ctx) { QueryPrimaryContext.call(this, parser); QueryPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } InlineTableDefault1Context.prototype = Object.create(QueryPrimaryContext.prototype); InlineTableDefault1Context.prototype.constructor = InlineTableDefault1Context; sqlParser.InlineTableDefault1Context = InlineTableDefault1Context; InlineTableDefault1Context.prototype.inlineTable = function () { return this.getTypedRuleContext(InlineTableContext, 0); }; InlineTableDefault1Context.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterInlineTableDefault1(this); } }; InlineTableDefault1Context.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitInlineTableDefault1(this); } }; InlineTableDefault1Context.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitInlineTableDefault1(this); } else { return visitor.visitChildren(this); } }; function TableContext(parser, ctx) { QueryPrimaryContext.call(this, parser); QueryPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } TableContext.prototype = Object.create(QueryPrimaryContext.prototype); TableContext.prototype.constructor = TableContext; sqlParser.TableContext = TableContext; TableContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; TableContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; TableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTable(this); } }; TableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTable(this); } }; TableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTable(this); } else { return visitor.visitChildren(this); } }; sqlParser.QueryPrimaryContext = QueryPrimaryContext; sqlParser.prototype.queryPrimary = function () { var localctx = new QueryPrimaryContext(this, this._ctx, this.state); this.enterRule(localctx, 72, sqlParser.RULE_queryPrimary); try { this.state = 1417; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.MAP: case sqlParser.REDUCE: localctx = new QueryPrimaryDefaultContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 1409; this.querySpecification(); break; case sqlParser.TABLE: localctx = new TableContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 1410; this.match(sqlParser.TABLE); this.state = 1411; this.tableIdentifier(); break; case sqlParser.VALUES: localctx = new InlineTableDefault1Context(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 1412; this.inlineTable(); break; case sqlParser.T__0: localctx = new SubqueryContext(this, localctx); this.enterOuterAlt(localctx, 4); this.state = 1413; this.match(sqlParser.T__0); this.state = 1414; this.queryNoWith(); this.state = 1415; this.match(sqlParser.T__1); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SortItemContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_sortItem; this.ordering = null; // Token this.nullOrder = null; // Token return this; } SortItemContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SortItemContext.prototype.constructor = SortItemContext; SortItemContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; SortItemContext.prototype.NULLS = function () { return this.getToken(sqlParser.NULLS, 0); }; SortItemContext.prototype.ASC = function () { return this.getToken(sqlParser.ASC, 0); }; SortItemContext.prototype.DESC = function () { return this.getToken(sqlParser.DESC, 0); }; SortItemContext.prototype.LAST = function () { return this.getToken(sqlParser.LAST, 0); }; SortItemContext.prototype.FIRST = function () { return this.getToken(sqlParser.FIRST, 0); }; SortItemContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSortItem(this); } }; SortItemContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSortItem(this); } }; SortItemContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSortItem(this); } else { return visitor.visitChildren(this); } }; sqlParser.SortItemContext = SortItemContext; sqlParser.prototype.sortItem = function () { var localctx = new SortItemContext(this, this._ctx, this.state); this.enterRule(localctx, 74, sqlParser.RULE_sortItem); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1419; this.expression(); this.state = 1421; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ASC || _la === sqlParser.DESC) { this.state = 1420; localctx.ordering = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.ASC || _la === sqlParser.DESC)) { localctx.ordering = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } this.state = 1425; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.NULLS) { this.state = 1423; this.match(sqlParser.NULLS); this.state = 1424; localctx.nullOrder = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.FIRST || _la === sqlParser.LAST)) { localctx.nullOrder = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function QuerySpecificationContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_querySpecification; this.kind = null; // Token this.inRowFormat = null; // RowFormatContext this.recordWriter = null; // Token this.script = null; // Token this.outRowFormat = null; // RowFormatContext this.recordReader = null; // Token this.where = null; // BooleanExpressionContext this._hint = null; // HintContext this.hints = []; // of HintContexts this.having = null; // BooleanExpressionContext return this; } QuerySpecificationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); QuerySpecificationContext.prototype.constructor = QuerySpecificationContext; QuerySpecificationContext.prototype.USING = function () { return this.getToken(sqlParser.USING, 0); }; QuerySpecificationContext.prototype.STRING = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.STRING); } else { return this.getToken(sqlParser.STRING, i); } }; QuerySpecificationContext.prototype.RECORDWRITER = function () { return this.getToken(sqlParser.RECORDWRITER, 0); }; QuerySpecificationContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; QuerySpecificationContext.prototype.RECORDREADER = function () { return this.getToken(sqlParser.RECORDREADER, 0); }; QuerySpecificationContext.prototype.fromClause = function () { return this.getTypedRuleContext(FromClauseContext, 0); }; QuerySpecificationContext.prototype.WHERE = function () { return this.getToken(sqlParser.WHERE, 0); }; QuerySpecificationContext.prototype.SELECT = function () { return this.getToken(sqlParser.SELECT, 0); }; QuerySpecificationContext.prototype.namedExpressionSeq = function () { return this.getTypedRuleContext(NamedExpressionSeqContext, 0); }; QuerySpecificationContext.prototype.rowFormat = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(RowFormatContext); } else { return this.getTypedRuleContext(RowFormatContext, i); } }; QuerySpecificationContext.prototype.booleanExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(BooleanExpressionContext); } else { return this.getTypedRuleContext(BooleanExpressionContext, i); } }; QuerySpecificationContext.prototype.TRANSFORM = function () { return this.getToken(sqlParser.TRANSFORM, 0); }; QuerySpecificationContext.prototype.MAP = function () { return this.getToken(sqlParser.MAP, 0); }; QuerySpecificationContext.prototype.REDUCE = function () { return this.getToken(sqlParser.REDUCE, 0); }; QuerySpecificationContext.prototype.identifierSeq = function () { return this.getTypedRuleContext(IdentifierSeqContext, 0); }; QuerySpecificationContext.prototype.colTypeList = function () { return this.getTypedRuleContext(ColTypeListContext, 0); }; QuerySpecificationContext.prototype.lateralView = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(LateralViewContext); } else { return this.getTypedRuleContext(LateralViewContext, i); } }; QuerySpecificationContext.prototype.aggregation = function () { return this.getTypedRuleContext(AggregationContext, 0); }; QuerySpecificationContext.prototype.HAVING = function () { return this.getToken(sqlParser.HAVING, 0); }; QuerySpecificationContext.prototype.windows = function () { return this.getTypedRuleContext(WindowsContext, 0); }; QuerySpecificationContext.prototype.setQuantifier = function () { return this.getTypedRuleContext(SetQuantifierContext, 0); }; QuerySpecificationContext.prototype.hint = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(HintContext); } else { return this.getTypedRuleContext(HintContext, i); } }; QuerySpecificationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterQuerySpecification(this); } }; QuerySpecificationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitQuerySpecification(this); } }; QuerySpecificationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitQuerySpecification(this); } else { return visitor.visitChildren(this); } }; sqlParser.QuerySpecificationContext = QuerySpecificationContext; sqlParser.prototype.querySpecification = function () { var localctx = new QuerySpecificationContext(this, this._ctx, this.state); this.enterRule(localctx, 76, sqlParser.RULE_querySpecification); var _la = 0; // Token type try { this.state = 1520; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 190, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 1437; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: this.state = 1427; this.match(sqlParser.SELECT); this.state = 1428; localctx.kind = this.match(sqlParser.TRANSFORM); this.state = 1429; this.match(sqlParser.T__0); this.state = 1430; this.namedExpressionSeq(); this.state = 1431; this.match(sqlParser.T__1); break; case sqlParser.MAP: this.state = 1433; localctx.kind = this.match(sqlParser.MAP); this.state = 1434; this.namedExpressionSeq(); break; case sqlParser.REDUCE: this.state = 1435; localctx.kind = this.match(sqlParser.REDUCE); this.state = 1436; this.namedExpressionSeq(); break; default: throw new antlr4.error.NoViableAltException(this); } this.state = 1440; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ROW) { this.state = 1439; localctx.inRowFormat = this.rowFormat(); } this.state = 1444; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.RECORDWRITER) { this.state = 1442; this.match(sqlParser.RECORDWRITER); this.state = 1443; localctx.recordWriter = this.match(sqlParser.STRING); } this.state = 1446; this.match(sqlParser.USING); this.state = 1447; localctx.script = this.match(sqlParser.STRING); this.state = 1460; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 174, this._ctx); if (la_ === 1) { this.state = 1448; this.match(sqlParser.AS); this.state = 1458; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 173, this._ctx); switch (la_) { case 1: this.state = 1449; this.identifierSeq(); break; case 2: this.state = 1450; this.colTypeList(); break; case 3: this.state = 1451; this.match(sqlParser.T__0); this.state = 1454; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 172, this._ctx); switch (la_) { case 1: this.state = 1452; this.identifierSeq(); break; case 2: this.state = 1453; this.colTypeList(); break; } this.state = 1456; this.match(sqlParser.T__1); break; } } this.state = 1463; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 175, this._ctx); if (la_ === 1) { this.state = 1462; localctx.outRowFormat = this.rowFormat(); } this.state = 1467; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 176, this._ctx); if (la_ === 1) { this.state = 1465; this.match(sqlParser.RECORDREADER); this.state = 1466; localctx.recordReader = this.match(sqlParser.STRING); } this.state = 1470; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 177, this._ctx); if (la_ === 1) { this.state = 1469; this.fromClause(); } this.state = 1474; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 178, this._ctx); if (la_ === 1) { this.state = 1472; this.match(sqlParser.WHERE); this.state = 1473; localctx.where = this.booleanExpression(0); } break; case 2: this.enterOuterAlt(localctx, 2); this.state = 1498; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: this.state = 1476; localctx.kind = this.match(sqlParser.SELECT); this.state = 1480; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__4) { this.state = 1477; localctx._hint = this.hint(); localctx.hints.push(localctx._hint); this.state = 1482; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1484; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 180, this._ctx); if (la_ === 1) { this.state = 1483; this.setQuantifier(); } this.state = 1486; this.namedExpressionSeq(); this.state = 1488; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 181, this._ctx); if (la_ === 1) { this.state = 1487; this.fromClause(); } break; case sqlParser.FROM: this.state = 1490; this.fromClause(); this.state = 1496; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 183, this._ctx); if (la_ === 1) { this.state = 1491; localctx.kind = this.match(sqlParser.SELECT); this.state = 1493; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 182, this._ctx); if (la_ === 1) { this.state = 1492; this.setQuantifier(); } this.state = 1495; this.namedExpressionSeq(); } break; default: throw new antlr4.error.NoViableAltException(this); } this.state = 1503; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 185, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 1500; this.lateralView(); } this.state = 1505; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 185, this._ctx); } this.state = 1508; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 186, this._ctx); if (la_ === 1) { this.state = 1506; this.match(sqlParser.WHERE); this.state = 1507; localctx.where = this.booleanExpression(0); } this.state = 1511; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 187, this._ctx); if (la_ === 1) { this.state = 1510; this.aggregation(); } this.state = 1515; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 188, this._ctx); if (la_ === 1) { this.state = 1513; this.match(sqlParser.HAVING); this.state = 1514; localctx.having = this.booleanExpression(0); } this.state = 1518; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 189, this._ctx); if (la_ === 1) { this.state = 1517; this.windows(); } break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function HintContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_hint; this._hintStatement = null; // HintStatementContext this.hintStatements = []; // of HintStatementContexts return this; } HintContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); HintContext.prototype.constructor = HintContext; HintContext.prototype.hintStatement = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(HintStatementContext); } else { return this.getTypedRuleContext(HintStatementContext, i); } }; HintContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterHint(this); } }; HintContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitHint(this); } }; HintContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitHint(this); } else { return visitor.visitChildren(this); } }; sqlParser.HintContext = HintContext; sqlParser.prototype.hint = function () { var localctx = new HintContext(this, this._ctx, this.state); this.enterRule(localctx, 78, sqlParser.RULE_hint); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1522; this.match(sqlParser.T__4); this.state = 1523; localctx._hintStatement = this.hintStatement(); localctx.hintStatements.push(localctx._hintStatement); this.state = 1530; this._errHandler.sync(this); _la = this._input.LA(1); while ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__3) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.ADD) | (1 << sqlParser.AS) | (1 << sqlParser.ALL) | (1 << sqlParser.ANY) | (1 << sqlParser.DISTINCT) | (1 << sqlParser.WHERE) | (1 << sqlParser.GROUP) | (1 << sqlParser.BY) | (1 << sqlParser.GROUPING) | (1 << sqlParser.SETS) | (1 << sqlParser.CUBE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (sqlParser.ROLLUP - 32)) | (1 << (sqlParser.ORDER - 32)) | (1 << (sqlParser.HAVING - 32)) | (1 << (sqlParser.LIMIT - 32)) | (1 << (sqlParser.AT - 32)) | (1 << (sqlParser.OR - 32)) | (1 << (sqlParser.AND - 32)) | (1 << (sqlParser.IN - 32)) | (1 << (sqlParser.NOT - 32)) | (1 << (sqlParser.NO - 32)) | (1 << (sqlParser.EXISTS - 32)) | (1 << (sqlParser.BETWEEN - 32)) | (1 << (sqlParser.LIKE - 32)) | (1 << (sqlParser.RLIKE - 32)) | (1 << (sqlParser.IS - 32)) | (1 << (sqlParser.NULL - 32)) | (1 << (sqlParser.TRUE - 32)) | (1 << (sqlParser.FALSE - 32)) | (1 << (sqlParser.NULLS - 32)) | (1 << (sqlParser.ASC - 32)) | (1 << (sqlParser.DESC - 32)) | (1 << (sqlParser.FOR - 32)) | (1 << (sqlParser.INTERVAL - 32)) | (1 << (sqlParser.CASE - 32)) | (1 << (sqlParser.WHEN - 32)) | (1 << (sqlParser.THEN - 32)) | (1 << (sqlParser.ELSE - 32)) | (1 << (sqlParser.END - 32)) | (1 << (sqlParser.JOIN - 32)) | (1 << (sqlParser.CROSS - 32)) | (1 << (sqlParser.OUTER - 32)) | (1 << (sqlParser.INNER - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (sqlParser.LEFT - 64)) | (1 << (sqlParser.SEMI - 64)) | (1 << (sqlParser.RIGHT - 64)) | (1 << (sqlParser.FULL - 64)) | (1 << (sqlParser.NATURAL - 64)) | (1 << (sqlParser.ON - 64)) | (1 << (sqlParser.PIVOT - 64)) | (1 << (sqlParser.LATERAL - 64)) | (1 << (sqlParser.WINDOW - 64)) | (1 << (sqlParser.OVER - 64)) | (1 << (sqlParser.PARTITION - 64)) | (1 << (sqlParser.RANGE - 64)) | (1 << (sqlParser.ROWS - 64)) | (1 << (sqlParser.UNBOUNDED - 64)) | (1 << (sqlParser.PRECEDING - 64)) | (1 << (sqlParser.FOLLOWING - 64)) | (1 << (sqlParser.CURRENT - 64)) | (1 << (sqlParser.FIRST - 64)) | (1 << (sqlParser.AFTER - 64)) | (1 << (sqlParser.LAST - 64)) | (1 << (sqlParser.ROW - 64)) | (1 << (sqlParser.WITH - 64)) | (1 << (sqlParser.CREATE - 64)) | (1 << (sqlParser.TABLE - 64)) | (1 << (sqlParser.DIRECTORY - 64)) | (1 << (sqlParser.VIEW - 64)) | (1 << (sqlParser.REPLACE - 64)) | (1 << (sqlParser.INSERT - 64)) | (1 << (sqlParser.DELETE - 64)) | (1 << (sqlParser.INTO - 64)) | (1 << (sqlParser.DESCRIBE - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (sqlParser.EXPLAIN - 96)) | (1 << (sqlParser.FORMAT - 96)) | (1 << (sqlParser.LOGICAL - 96)) | (1 << (sqlParser.CODEGEN - 96)) | (1 << (sqlParser.COST - 96)) | (1 << (sqlParser.CAST - 96)) | (1 << (sqlParser.SHOW - 96)) | (1 << (sqlParser.TABLES - 96)) | (1 << (sqlParser.COLUMNS - 96)) | (1 << (sqlParser.COLUMN - 96)) | (1 << (sqlParser.USE - 96)) | (1 << (sqlParser.PARTITIONS - 96)) | (1 << (sqlParser.FUNCTIONS - 96)) | (1 << (sqlParser.DROP - 96)) | (1 << (sqlParser.UNION - 96)) | (1 << (sqlParser.EXCEPT - 96)) | (1 << (sqlParser.SETMINUS - 96)) | (1 << (sqlParser.INTERSECT - 96)) | (1 << (sqlParser.TO - 96)) | (1 << (sqlParser.TABLESAMPLE - 96)) | (1 << (sqlParser.STRATIFY - 96)) | (1 << (sqlParser.ALTER - 96)) | (1 << (sqlParser.RENAME - 96)) | (1 << (sqlParser.ARRAY - 96)) | (1 << (sqlParser.MAP - 96)) | (1 << (sqlParser.STRUCT - 96)) | (1 << (sqlParser.COMMENT - 96)) | (1 << (sqlParser.SET - 96)) | (1 << (sqlParser.RESET - 96)) | (1 << (sqlParser.DATA - 96)) | (1 << (sqlParser.START - 96)) | (1 << (sqlParser.TRANSACTION - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (sqlParser.COMMIT - 128)) | (1 << (sqlParser.ROLLBACK - 128)) | (1 << (sqlParser.MACRO - 128)) | (1 << (sqlParser.IGNORE - 128)) | (1 << (sqlParser.BOTH - 128)) | (1 << (sqlParser.LEADING - 128)) | (1 << (sqlParser.TRAILING - 128)) | (1 << (sqlParser.IF - 128)) | (1 << (sqlParser.POSITION - 128)) | (1 << (sqlParser.EXTRACT - 128)) | (1 << (sqlParser.DIV - 128)) | (1 << (sqlParser.PERCENTLIT - 128)) | (1 << (sqlParser.BUCKET - 128)) | (1 << (sqlParser.OUT - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (sqlParser.OF - 160)) | (1 << (sqlParser.SORT - 160)) | (1 << (sqlParser.CLUSTER - 160)) | (1 << (sqlParser.DISTRIBUTE - 160)) | (1 << (sqlParser.OVERWRITE - 160)) | (1 << (sqlParser.TRANSFORM - 160)) | (1 << (sqlParser.REDUCE - 160)) | (1 << (sqlParser.SERDE - 160)) | (1 << (sqlParser.SERDEPROPERTIES - 160)) | (1 << (sqlParser.RECORDREADER - 160)) | (1 << (sqlParser.RECORDWRITER - 160)) | (1 << (sqlParser.DELIMITED - 160)) | (1 << (sqlParser.FIELDS - 160)) | (1 << (sqlParser.TERMINATED - 160)) | (1 << (sqlParser.COLLECTION - 160)) | (1 << (sqlParser.ITEMS - 160)) | (1 << (sqlParser.KEYS - 160)) | (1 << (sqlParser.ESCAPED - 160)) | (1 << (sqlParser.LINES - 160)) | (1 << (sqlParser.SEPARATED - 160)) | (1 << (sqlParser.FUNCTION - 160)) | (1 << (sqlParser.EXTENDED - 160)) | (1 << (sqlParser.REFRESH - 160)) | (1 << (sqlParser.CLEAR - 160)) | (1 << (sqlParser.CACHE - 160)) | (1 << (sqlParser.UNCACHE - 160)) | (1 << (sqlParser.LAZY - 160)) | (1 << (sqlParser.FORMATTED - 160)) | (1 << (sqlParser.GLOBAL - 160)) | (1 << (sqlParser.TEMPORARY - 160)) | (1 << (sqlParser.OPTIONS - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (sqlParser.UNSET - 192)) | (1 << (sqlParser.TBLPROPERTIES - 192)) | (1 << (sqlParser.DBPROPERTIES - 192)) | (1 << (sqlParser.BUCKETS - 192)) | (1 << (sqlParser.SKEWED - 192)) | (1 << (sqlParser.STORED - 192)) | (1 << (sqlParser.DIRECTORIES - 192)) | (1 << (sqlParser.LOCATION - 192)) | (1 << (sqlParser.EXCHANGE - 192)) | (1 << (sqlParser.ARCHIVE - 192)) | (1 << (sqlParser.UNARCHIVE - 192)) | (1 << (sqlParser.FILEFORMAT - 192)) | (1 << (sqlParser.TOUCH - 192)) | (1 << (sqlParser.COMPACT - 192)) | (1 << (sqlParser.CONCATENATE - 192)) | (1 << (sqlParser.CHANGE - 192)) | (1 << (sqlParser.CASCADE - 192)) | (1 << (sqlParser.RESTRICT - 192)) | (1 << (sqlParser.CLUSTERED - 192)) | (1 << (sqlParser.SORTED - 192)) | (1 << (sqlParser.PURGE - 192)) | (1 << (sqlParser.INPUTFORMAT - 192)) | (1 << (sqlParser.OUTPUTFORMAT - 192)) | (1 << (sqlParser.DATABASE - 192)) | (1 << (sqlParser.DATABASES - 192)) | (1 << (sqlParser.DFS - 192)) | (1 << (sqlParser.TRUNCATE - 192)) | (1 << (sqlParser.ANALYZE - 192)) | (1 << (sqlParser.COMPUTE - 192)) | (1 << (sqlParser.LIST - 192)) | (1 << (sqlParser.STATISTICS - 192)) | (1 << (sqlParser.PARTITIONED - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (sqlParser.EXTERNAL - 224)) | (1 << (sqlParser.DEFINED - 224)) | (1 << (sqlParser.REVOKE - 224)) | (1 << (sqlParser.GRANT - 224)) | (1 << (sqlParser.LOCK - 224)) | (1 << (sqlParser.UNLOCK - 224)) | (1 << (sqlParser.MSCK - 224)) | (1 << (sqlParser.REPAIR - 224)) | (1 << (sqlParser.RECOVER - 224)) | (1 << (sqlParser.EXPORT - 224)) | (1 << (sqlParser.IMPORT - 224)) | (1 << (sqlParser.LOAD - 224)) | (1 << (sqlParser.ROLE - 224)) | (1 << (sqlParser.ROLES - 224)) | (1 << (sqlParser.COMPACTIONS - 224)) | (1 << (sqlParser.PRINCIPALS - 224)) | (1 << (sqlParser.TRANSACTIONS - 224)) | (1 << (sqlParser.INDEX - 224)) | (1 << (sqlParser.INDEXES - 224)) | (1 << (sqlParser.LOCKS - 224)) | (1 << (sqlParser.OPTION - 224)) | (1 << (sqlParser.ANTI - 224)) | (1 << (sqlParser.LOCAL - 224)) | (1 << (sqlParser.INPATH - 224)))) !== 0) || _la === sqlParser.IDENTIFIER || _la === sqlParser.BACKQUOTED_IDENTIFIER) { this.state = 1525; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.T__3) { this.state = 1524; this.match(sqlParser.T__3); } this.state = 1527; localctx._hintStatement = this.hintStatement(); localctx.hintStatements.push(localctx._hintStatement); this.state = 1532; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1533; this.match(sqlParser.T__5); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function HintStatementContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_hintStatement; this.hintName = null; // IdentifierContext this._primaryExpression = null; // PrimaryExpressionContext this.parameters = []; // of PrimaryExpressionContexts return this; } HintStatementContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); HintStatementContext.prototype.constructor = HintStatementContext; HintStatementContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; HintStatementContext.prototype.primaryExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PrimaryExpressionContext); } else { return this.getTypedRuleContext(PrimaryExpressionContext, i); } }; HintStatementContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterHintStatement(this); } }; HintStatementContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitHintStatement(this); } }; HintStatementContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitHintStatement(this); } else { return visitor.visitChildren(this); } }; sqlParser.HintStatementContext = HintStatementContext; sqlParser.prototype.hintStatement = function () { var localctx = new HintStatementContext(this, this._ctx, this.state); this.enterRule(localctx, 80, sqlParser.RULE_hintStatement); var _la = 0; // Token type try { this.state = 1548; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 194, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 1535; localctx.hintName = this.identifier(); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 1536; localctx.hintName = this.identifier(); this.state = 1537; this.match(sqlParser.T__0); this.state = 1538; localctx._primaryExpression = this.primaryExpression(0); localctx.parameters.push(localctx._primaryExpression); this.state = 1543; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1539; this.match(sqlParser.T__3); this.state = 1540; localctx._primaryExpression = this.primaryExpression(0); localctx.parameters.push(localctx._primaryExpression); this.state = 1545; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1546; this.match(sqlParser.T__1); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function FromClauseContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_fromClause; return this; } FromClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); FromClauseContext.prototype.constructor = FromClauseContext; FromClauseContext.prototype.FROM = function () { return this.getToken(sqlParser.FROM, 0); }; FromClauseContext.prototype.relation = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(RelationContext); } else { return this.getTypedRuleContext(RelationContext, i); } }; FromClauseContext.prototype.lateralView = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(LateralViewContext); } else { return this.getTypedRuleContext(LateralViewContext, i); } }; FromClauseContext.prototype.pivotClause = function () { return this.getTypedRuleContext(PivotClauseContext, 0); }; FromClauseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterFromClause(this); } }; FromClauseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitFromClause(this); } }; FromClauseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitFromClause(this); } else { return visitor.visitChildren(this); } }; sqlParser.FromClauseContext = FromClauseContext; sqlParser.prototype.fromClause = function () { var localctx = new FromClauseContext(this, this._ctx, this.state); this.enterRule(localctx, 82, sqlParser.RULE_fromClause); try { this.enterOuterAlt(localctx, 1); this.state = 1550; this.match(sqlParser.FROM); this.state = 1551; this.relation(); this.state = 1556; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 195, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 1552; this.match(sqlParser.T__3); this.state = 1553; this.relation(); } this.state = 1558; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 195, this._ctx); } this.state = 1562; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 196, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 1559; this.lateralView(); } this.state = 1564; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 196, this._ctx); } this.state = 1566; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 197, this._ctx); if (la_ === 1) { this.state = 1565; this.pivotClause(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function AggregationContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_aggregation; this._expression = null; // ExpressionContext this.groupingExpressions = []; // of ExpressionContexts this.kind = null; // Token return this; } AggregationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); AggregationContext.prototype.constructor = AggregationContext; AggregationContext.prototype.GROUP = function () { return this.getToken(sqlParser.GROUP, 0); }; AggregationContext.prototype.BY = function () { return this.getToken(sqlParser.BY, 0); }; AggregationContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; AggregationContext.prototype.WITH = function () { return this.getToken(sqlParser.WITH, 0); }; AggregationContext.prototype.SETS = function () { return this.getToken(sqlParser.SETS, 0); }; AggregationContext.prototype.groupingSet = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(GroupingSetContext); } else { return this.getTypedRuleContext(GroupingSetContext, i); } }; AggregationContext.prototype.ROLLUP = function () { return this.getToken(sqlParser.ROLLUP, 0); }; AggregationContext.prototype.CUBE = function () { return this.getToken(sqlParser.CUBE, 0); }; AggregationContext.prototype.GROUPING = function () { return this.getToken(sqlParser.GROUPING, 0); }; AggregationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterAggregation(this); } }; AggregationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitAggregation(this); } }; AggregationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitAggregation(this); } else { return visitor.visitChildren(this); } }; sqlParser.AggregationContext = AggregationContext; sqlParser.prototype.aggregation = function () { var localctx = new AggregationContext(this, this._ctx, this.state); this.enterRule(localctx, 84, sqlParser.RULE_aggregation); var _la = 0; // Token type try { this.state = 1612; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 202, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 1568; this.match(sqlParser.GROUP); this.state = 1569; this.match(sqlParser.BY); this.state = 1570; localctx._expression = this.expression(); localctx.groupingExpressions.push(localctx._expression); this.state = 1575; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 198, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 1571; this.match(sqlParser.T__3); this.state = 1572; localctx._expression = this.expression(); localctx.groupingExpressions.push(localctx._expression); } this.state = 1577; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 198, this._ctx); } this.state = 1595; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 200, this._ctx); if (la_ === 1) { this.state = 1578; this.match(sqlParser.WITH); this.state = 1579; localctx.kind = this.match(sqlParser.ROLLUP); } else if (la_ === 2) { this.state = 1580; this.match(sqlParser.WITH); this.state = 1581; localctx.kind = this.match(sqlParser.CUBE); } else if (la_ === 3) { this.state = 1582; localctx.kind = this.match(sqlParser.GROUPING); this.state = 1583; this.match(sqlParser.SETS); this.state = 1584; this.match(sqlParser.T__0); this.state = 1585; this.groupingSet(); this.state = 1590; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1586; this.match(sqlParser.T__3); this.state = 1587; this.groupingSet(); this.state = 1592; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1593; this.match(sqlParser.T__1); } break; case 2: this.enterOuterAlt(localctx, 2); this.state = 1597; this.match(sqlParser.GROUP); this.state = 1598; this.match(sqlParser.BY); this.state = 1599; localctx.kind = this.match(sqlParser.GROUPING); this.state = 1600; this.match(sqlParser.SETS); this.state = 1601; this.match(sqlParser.T__0); this.state = 1602; this.groupingSet(); this.state = 1607; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1603; this.match(sqlParser.T__3); this.state = 1604; this.groupingSet(); this.state = 1609; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1610; this.match(sqlParser.T__1); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function GroupingSetContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_groupingSet; return this; } GroupingSetContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); GroupingSetContext.prototype.constructor = GroupingSetContext; GroupingSetContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; GroupingSetContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterGroupingSet(this); } }; GroupingSetContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitGroupingSet(this); } }; GroupingSetContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitGroupingSet(this); } else { return visitor.visitChildren(this); } }; sqlParser.GroupingSetContext = GroupingSetContext; sqlParser.prototype.groupingSet = function () { var localctx = new GroupingSetContext(this, this._ctx, this.state); this.enterRule(localctx, 86, sqlParser.RULE_groupingSet); var _la = 0; // Token type try { this.state = 1627; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 205, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 1614; this.match(sqlParser.T__0); this.state = 1623; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.ADD) | (1 << sqlParser.AS) | (1 << sqlParser.ALL) | (1 << sqlParser.ANY) | (1 << sqlParser.DISTINCT) | (1 << sqlParser.WHERE) | (1 << sqlParser.GROUP) | (1 << sqlParser.BY) | (1 << sqlParser.GROUPING) | (1 << sqlParser.SETS) | (1 << sqlParser.CUBE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (sqlParser.ROLLUP - 32)) | (1 << (sqlParser.ORDER - 32)) | (1 << (sqlParser.HAVING - 32)) | (1 << (sqlParser.LIMIT - 32)) | (1 << (sqlParser.AT - 32)) | (1 << (sqlParser.OR - 32)) | (1 << (sqlParser.AND - 32)) | (1 << (sqlParser.IN - 32)) | (1 << (sqlParser.NOT - 32)) | (1 << (sqlParser.NO - 32)) | (1 << (sqlParser.EXISTS - 32)) | (1 << (sqlParser.BETWEEN - 32)) | (1 << (sqlParser.LIKE - 32)) | (1 << (sqlParser.RLIKE - 32)) | (1 << (sqlParser.IS - 32)) | (1 << (sqlParser.NULL - 32)) | (1 << (sqlParser.TRUE - 32)) | (1 << (sqlParser.FALSE - 32)) | (1 << (sqlParser.NULLS - 32)) | (1 << (sqlParser.ASC - 32)) | (1 << (sqlParser.DESC - 32)) | (1 << (sqlParser.FOR - 32)) | (1 << (sqlParser.INTERVAL - 32)) | (1 << (sqlParser.CASE - 32)) | (1 << (sqlParser.WHEN - 32)) | (1 << (sqlParser.THEN - 32)) | (1 << (sqlParser.ELSE - 32)) | (1 << (sqlParser.END - 32)) | (1 << (sqlParser.JOIN - 32)) | (1 << (sqlParser.CROSS - 32)) | (1 << (sqlParser.OUTER - 32)) | (1 << (sqlParser.INNER - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (sqlParser.LEFT - 64)) | (1 << (sqlParser.SEMI - 64)) | (1 << (sqlParser.RIGHT - 64)) | (1 << (sqlParser.FULL - 64)) | (1 << (sqlParser.NATURAL - 64)) | (1 << (sqlParser.ON - 64)) | (1 << (sqlParser.PIVOT - 64)) | (1 << (sqlParser.LATERAL - 64)) | (1 << (sqlParser.WINDOW - 64)) | (1 << (sqlParser.OVER - 64)) | (1 << (sqlParser.PARTITION - 64)) | (1 << (sqlParser.RANGE - 64)) | (1 << (sqlParser.ROWS - 64)) | (1 << (sqlParser.UNBOUNDED - 64)) | (1 << (sqlParser.PRECEDING - 64)) | (1 << (sqlParser.FOLLOWING - 64)) | (1 << (sqlParser.CURRENT - 64)) | (1 << (sqlParser.FIRST - 64)) | (1 << (sqlParser.AFTER - 64)) | (1 << (sqlParser.LAST - 64)) | (1 << (sqlParser.ROW - 64)) | (1 << (sqlParser.WITH - 64)) | (1 << (sqlParser.CREATE - 64)) | (1 << (sqlParser.TABLE - 64)) | (1 << (sqlParser.DIRECTORY - 64)) | (1 << (sqlParser.VIEW - 64)) | (1 << (sqlParser.REPLACE - 64)) | (1 << (sqlParser.INSERT - 64)) | (1 << (sqlParser.DELETE - 64)) | (1 << (sqlParser.INTO - 64)) | (1 << (sqlParser.DESCRIBE - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (sqlParser.EXPLAIN - 96)) | (1 << (sqlParser.FORMAT - 96)) | (1 << (sqlParser.LOGICAL - 96)) | (1 << (sqlParser.CODEGEN - 96)) | (1 << (sqlParser.COST - 96)) | (1 << (sqlParser.CAST - 96)) | (1 << (sqlParser.SHOW - 96)) | (1 << (sqlParser.TABLES - 96)) | (1 << (sqlParser.COLUMNS - 96)) | (1 << (sqlParser.COLUMN - 96)) | (1 << (sqlParser.USE - 96)) | (1 << (sqlParser.PARTITIONS - 96)) | (1 << (sqlParser.FUNCTIONS - 96)) | (1 << (sqlParser.DROP - 96)) | (1 << (sqlParser.UNION - 96)) | (1 << (sqlParser.EXCEPT - 96)) | (1 << (sqlParser.SETMINUS - 96)) | (1 << (sqlParser.INTERSECT - 96)) | (1 << (sqlParser.TO - 96)) | (1 << (sqlParser.TABLESAMPLE - 96)) | (1 << (sqlParser.STRATIFY - 96)) | (1 << (sqlParser.ALTER - 96)) | (1 << (sqlParser.RENAME - 96)) | (1 << (sqlParser.ARRAY - 96)) | (1 << (sqlParser.MAP - 96)) | (1 << (sqlParser.STRUCT - 96)) | (1 << (sqlParser.COMMENT - 96)) | (1 << (sqlParser.SET - 96)) | (1 << (sqlParser.RESET - 96)) | (1 << (sqlParser.DATA - 96)) | (1 << (sqlParser.START - 96)) | (1 << (sqlParser.TRANSACTION - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (sqlParser.COMMIT - 128)) | (1 << (sqlParser.ROLLBACK - 128)) | (1 << (sqlParser.MACRO - 128)) | (1 << (sqlParser.IGNORE - 128)) | (1 << (sqlParser.BOTH - 128)) | (1 << (sqlParser.LEADING - 128)) | (1 << (sqlParser.TRAILING - 128)) | (1 << (sqlParser.IF - 128)) | (1 << (sqlParser.POSITION - 128)) | (1 << (sqlParser.EXTRACT - 128)) | (1 << (sqlParser.PLUS - 128)) | (1 << (sqlParser.MINUS - 128)) | (1 << (sqlParser.ASTERISK - 128)) | (1 << (sqlParser.DIV - 128)) | (1 << (sqlParser.TILDE - 128)) | (1 << (sqlParser.PERCENTLIT - 128)) | (1 << (sqlParser.BUCKET - 128)) | (1 << (sqlParser.OUT - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (sqlParser.OF - 160)) | (1 << (sqlParser.SORT - 160)) | (1 << (sqlParser.CLUSTER - 160)) | (1 << (sqlParser.DISTRIBUTE - 160)) | (1 << (sqlParser.OVERWRITE - 160)) | (1 << (sqlParser.TRANSFORM - 160)) | (1 << (sqlParser.REDUCE - 160)) | (1 << (sqlParser.SERDE - 160)) | (1 << (sqlParser.SERDEPROPERTIES - 160)) | (1 << (sqlParser.RECORDREADER - 160)) | (1 << (sqlParser.RECORDWRITER - 160)) | (1 << (sqlParser.DELIMITED - 160)) | (1 << (sqlParser.FIELDS - 160)) | (1 << (sqlParser.TERMINATED - 160)) | (1 << (sqlParser.COLLECTION - 160)) | (1 << (sqlParser.ITEMS - 160)) | (1 << (sqlParser.KEYS - 160)) | (1 << (sqlParser.ESCAPED - 160)) | (1 << (sqlParser.LINES - 160)) | (1 << (sqlParser.SEPARATED - 160)) | (1 << (sqlParser.FUNCTION - 160)) | (1 << (sqlParser.EXTENDED - 160)) | (1 << (sqlParser.REFRESH - 160)) | (1 << (sqlParser.CLEAR - 160)) | (1 << (sqlParser.CACHE - 160)) | (1 << (sqlParser.UNCACHE - 160)) | (1 << (sqlParser.LAZY - 160)) | (1 << (sqlParser.FORMATTED - 160)) | (1 << (sqlParser.GLOBAL - 160)) | (1 << (sqlParser.TEMPORARY - 160)) | (1 << (sqlParser.OPTIONS - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (sqlParser.UNSET - 192)) | (1 << (sqlParser.TBLPROPERTIES - 192)) | (1 << (sqlParser.DBPROPERTIES - 192)) | (1 << (sqlParser.BUCKETS - 192)) | (1 << (sqlParser.SKEWED - 192)) | (1 << (sqlParser.STORED - 192)) | (1 << (sqlParser.DIRECTORIES - 192)) | (1 << (sqlParser.LOCATION - 192)) | (1 << (sqlParser.EXCHANGE - 192)) | (1 << (sqlParser.ARCHIVE - 192)) | (1 << (sqlParser.UNARCHIVE - 192)) | (1 << (sqlParser.FILEFORMAT - 192)) | (1 << (sqlParser.TOUCH - 192)) | (1 << (sqlParser.COMPACT - 192)) | (1 << (sqlParser.CONCATENATE - 192)) | (1 << (sqlParser.CHANGE - 192)) | (1 << (sqlParser.CASCADE - 192)) | (1 << (sqlParser.RESTRICT - 192)) | (1 << (sqlParser.CLUSTERED - 192)) | (1 << (sqlParser.SORTED - 192)) | (1 << (sqlParser.PURGE - 192)) | (1 << (sqlParser.INPUTFORMAT - 192)) | (1 << (sqlParser.OUTPUTFORMAT - 192)) | (1 << (sqlParser.DATABASE - 192)) | (1 << (sqlParser.DATABASES - 192)) | (1 << (sqlParser.DFS - 192)) | (1 << (sqlParser.TRUNCATE - 192)) | (1 << (sqlParser.ANALYZE - 192)) | (1 << (sqlParser.COMPUTE - 192)) | (1 << (sqlParser.LIST - 192)) | (1 << (sqlParser.STATISTICS - 192)) | (1 << (sqlParser.PARTITIONED - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (sqlParser.EXTERNAL - 224)) | (1 << (sqlParser.DEFINED - 224)) | (1 << (sqlParser.REVOKE - 224)) | (1 << (sqlParser.GRANT - 224)) | (1 << (sqlParser.LOCK - 224)) | (1 << (sqlParser.UNLOCK - 224)) | (1 << (sqlParser.MSCK - 224)) | (1 << (sqlParser.REPAIR - 224)) | (1 << (sqlParser.RECOVER - 224)) | (1 << (sqlParser.EXPORT - 224)) | (1 << (sqlParser.IMPORT - 224)) | (1 << (sqlParser.LOAD - 224)) | (1 << (sqlParser.ROLE - 224)) | (1 << (sqlParser.ROLES - 224)) | (1 << (sqlParser.COMPACTIONS - 224)) | (1 << (sqlParser.PRINCIPALS - 224)) | (1 << (sqlParser.TRANSACTIONS - 224)) | (1 << (sqlParser.INDEX - 224)) | (1 << (sqlParser.INDEXES - 224)) | (1 << (sqlParser.LOCKS - 224)) | (1 << (sqlParser.OPTION - 224)) | (1 << (sqlParser.ANTI - 224)) | (1 << (sqlParser.LOCAL - 224)) | (1 << (sqlParser.INPATH - 224)))) !== 0) || ((((_la - 261)) & ~0x1f) == 0 && ((1 << (_la - 261)) & ((1 << (sqlParser.STRING - 261)) | (1 << (sqlParser.BIGINT_LITERAL - 261)) | (1 << (sqlParser.SMALLINT_LITERAL - 261)) | (1 << (sqlParser.TINYINT_LITERAL - 261)) | (1 << (sqlParser.INTEGER_VALUE - 261)) | (1 << (sqlParser.DECIMAL_VALUE - 261)) | (1 << (sqlParser.DOUBLE_LITERAL - 261)) | (1 << (sqlParser.BIGDECIMAL_LITERAL - 261)) | (1 << (sqlParser.IDENTIFIER - 261)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 261)))) !== 0)) { this.state = 1615; this.expression(); this.state = 1620; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1616; this.match(sqlParser.T__3); this.state = 1617; this.expression(); this.state = 1622; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1625; this.match(sqlParser.T__1); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 1626; this.expression(); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PivotClauseContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_pivotClause; this.aggregates = null; // NamedExpressionSeqContext this._pivotValue = null; // PivotValueContext this.pivotValues = []; // of PivotValueContexts return this; } PivotClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PivotClauseContext.prototype.constructor = PivotClauseContext; PivotClauseContext.prototype.PIVOT = function () { return this.getToken(sqlParser.PIVOT, 0); }; PivotClauseContext.prototype.FOR = function () { return this.getToken(sqlParser.FOR, 0); }; PivotClauseContext.prototype.pivotColumn = function () { return this.getTypedRuleContext(PivotColumnContext, 0); }; PivotClauseContext.prototype.IN = function () { return this.getToken(sqlParser.IN, 0); }; PivotClauseContext.prototype.namedExpressionSeq = function () { return this.getTypedRuleContext(NamedExpressionSeqContext, 0); }; PivotClauseContext.prototype.pivotValue = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PivotValueContext); } else { return this.getTypedRuleContext(PivotValueContext, i); } }; PivotClauseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPivotClause(this); } }; PivotClauseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPivotClause(this); } }; PivotClauseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPivotClause(this); } else { return visitor.visitChildren(this); } }; sqlParser.PivotClauseContext = PivotClauseContext; sqlParser.prototype.pivotClause = function () { var localctx = new PivotClauseContext(this, this._ctx, this.state); this.enterRule(localctx, 88, sqlParser.RULE_pivotClause); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1629; this.match(sqlParser.PIVOT); this.state = 1630; this.match(sqlParser.T__0); this.state = 1631; localctx.aggregates = this.namedExpressionSeq(); this.state = 1632; this.match(sqlParser.FOR); this.state = 1633; this.pivotColumn(); this.state = 1634; this.match(sqlParser.IN); this.state = 1635; this.match(sqlParser.T__0); this.state = 1636; localctx._pivotValue = this.pivotValue(); localctx.pivotValues.push(localctx._pivotValue); this.state = 1641; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1637; this.match(sqlParser.T__3); this.state = 1638; localctx._pivotValue = this.pivotValue(); localctx.pivotValues.push(localctx._pivotValue); this.state = 1643; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1644; this.match(sqlParser.T__1); this.state = 1645; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PivotColumnContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_pivotColumn; this._identifier = null; // IdentifierContext this.identifiers = []; // of IdentifierContexts return this; } PivotColumnContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PivotColumnContext.prototype.constructor = PivotColumnContext; PivotColumnContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; PivotColumnContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPivotColumn(this); } }; PivotColumnContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPivotColumn(this); } }; PivotColumnContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPivotColumn(this); } else { return visitor.visitChildren(this); } }; sqlParser.PivotColumnContext = PivotColumnContext; sqlParser.prototype.pivotColumn = function () { var localctx = new PivotColumnContext(this, this._ctx, this.state); this.enterRule(localctx, 90, sqlParser.RULE_pivotColumn); var _la = 0; // Token type try { this.state = 1659; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.AS: case sqlParser.ALL: case sqlParser.ANY: case sqlParser.DISTINCT: case sqlParser.WHERE: case sqlParser.GROUP: case sqlParser.BY: case sqlParser.GROUPING: case sqlParser.SETS: case sqlParser.CUBE: case sqlParser.ROLLUP: case sqlParser.ORDER: case sqlParser.HAVING: case sqlParser.LIMIT: case sqlParser.AT: case sqlParser.OR: case sqlParser.AND: case sqlParser.IN: case sqlParser.NOT: case sqlParser.NO: case sqlParser.EXISTS: case sqlParser.BETWEEN: case sqlParser.LIKE: case sqlParser.RLIKE: case sqlParser.IS: case sqlParser.NULL: case sqlParser.TRUE: case sqlParser.FALSE: case sqlParser.NULLS: case sqlParser.ASC: case sqlParser.DESC: case sqlParser.FOR: case sqlParser.INTERVAL: case sqlParser.CASE: case sqlParser.WHEN: case sqlParser.THEN: case sqlParser.ELSE: case sqlParser.END: case sqlParser.JOIN: case sqlParser.CROSS: case sqlParser.OUTER: case sqlParser.INNER: case sqlParser.LEFT: case sqlParser.SEMI: case sqlParser.RIGHT: case sqlParser.FULL: case sqlParser.NATURAL: case sqlParser.ON: case sqlParser.PIVOT: case sqlParser.LATERAL: case sqlParser.WINDOW: case sqlParser.OVER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.UNBOUNDED: case sqlParser.PRECEDING: case sqlParser.FOLLOWING: case sqlParser.CURRENT: case sqlParser.FIRST: case sqlParser.AFTER: case sqlParser.LAST: case sqlParser.ROW: case sqlParser.WITH: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.DIRECTORY: case sqlParser.VIEW: case sqlParser.REPLACE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.INTO: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.FORMAT: case sqlParser.LOGICAL: case sqlParser.CODEGEN: case sqlParser.COST: case sqlParser.CAST: case sqlParser.SHOW: case sqlParser.TABLES: case sqlParser.COLUMNS: case sqlParser.COLUMN: case sqlParser.USE: case sqlParser.PARTITIONS: case sqlParser.FUNCTIONS: case sqlParser.DROP: case sqlParser.UNION: case sqlParser.EXCEPT: case sqlParser.SETMINUS: case sqlParser.INTERSECT: case sqlParser.TO: case sqlParser.TABLESAMPLE: case sqlParser.STRATIFY: case sqlParser.ALTER: case sqlParser.RENAME: case sqlParser.ARRAY: case sqlParser.MAP: case sqlParser.STRUCT: case sqlParser.COMMENT: case sqlParser.SET: case sqlParser.RESET: case sqlParser.DATA: case sqlParser.START: case sqlParser.TRANSACTION: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.MACRO: case sqlParser.IGNORE: case sqlParser.BOTH: case sqlParser.LEADING: case sqlParser.TRAILING: case sqlParser.IF: case sqlParser.POSITION: case sqlParser.EXTRACT: case sqlParser.DIV: case sqlParser.PERCENTLIT: case sqlParser.BUCKET: case sqlParser.OUT: case sqlParser.OF: case sqlParser.SORT: case sqlParser.CLUSTER: case sqlParser.DISTRIBUTE: case sqlParser.OVERWRITE: case sqlParser.TRANSFORM: case sqlParser.REDUCE: case sqlParser.SERDE: case sqlParser.SERDEPROPERTIES: case sqlParser.RECORDREADER: case sqlParser.RECORDWRITER: case sqlParser.DELIMITED: case sqlParser.FIELDS: case sqlParser.TERMINATED: case sqlParser.COLLECTION: case sqlParser.ITEMS: case sqlParser.KEYS: case sqlParser.ESCAPED: case sqlParser.LINES: case sqlParser.SEPARATED: case sqlParser.FUNCTION: case sqlParser.EXTENDED: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.LAZY: case sqlParser.FORMATTED: case sqlParser.GLOBAL: case sqlParser.TEMPORARY: case sqlParser.OPTIONS: case sqlParser.UNSET: case sqlParser.TBLPROPERTIES: case sqlParser.DBPROPERTIES: case sqlParser.BUCKETS: case sqlParser.SKEWED: case sqlParser.STORED: case sqlParser.DIRECTORIES: case sqlParser.LOCATION: case sqlParser.EXCHANGE: case sqlParser.ARCHIVE: case sqlParser.UNARCHIVE: case sqlParser.FILEFORMAT: case sqlParser.TOUCH: case sqlParser.COMPACT: case sqlParser.CONCATENATE: case sqlParser.CHANGE: case sqlParser.CASCADE: case sqlParser.RESTRICT: case sqlParser.CLUSTERED: case sqlParser.SORTED: case sqlParser.PURGE: case sqlParser.INPUTFORMAT: case sqlParser.OUTPUTFORMAT: case sqlParser.DATABASE: case sqlParser.DATABASES: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.COMPUTE: case sqlParser.LIST: case sqlParser.STATISTICS: case sqlParser.PARTITIONED: case sqlParser.EXTERNAL: case sqlParser.DEFINED: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.REPAIR: case sqlParser.RECOVER: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: case sqlParser.ROLE: case sqlParser.ROLES: case sqlParser.COMPACTIONS: case sqlParser.PRINCIPALS: case sqlParser.TRANSACTIONS: case sqlParser.INDEX: case sqlParser.INDEXES: case sqlParser.LOCKS: case sqlParser.OPTION: case sqlParser.ANTI: case sqlParser.LOCAL: case sqlParser.INPATH: case sqlParser.IDENTIFIER: case sqlParser.BACKQUOTED_IDENTIFIER: this.enterOuterAlt(localctx, 1); this.state = 1647; localctx._identifier = this.identifier(); localctx.identifiers.push(localctx._identifier); break; case sqlParser.T__0: this.enterOuterAlt(localctx, 2); this.state = 1648; this.match(sqlParser.T__0); this.state = 1649; localctx._identifier = this.identifier(); localctx.identifiers.push(localctx._identifier); this.state = 1654; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1650; this.match(sqlParser.T__3); this.state = 1651; localctx._identifier = this.identifier(); localctx.identifiers.push(localctx._identifier); this.state = 1656; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1657; this.match(sqlParser.T__1); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PivotValueContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_pivotValue; return this; } PivotValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PivotValueContext.prototype.constructor = PivotValueContext; PivotValueContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; PivotValueContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; PivotValueContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; PivotValueContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPivotValue(this); } }; PivotValueContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPivotValue(this); } }; PivotValueContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPivotValue(this); } else { return visitor.visitChildren(this); } }; sqlParser.PivotValueContext = PivotValueContext; sqlParser.prototype.pivotValue = function () { var localctx = new PivotValueContext(this, this._ctx, this.state); this.enterRule(localctx, 92, sqlParser.RULE_pivotValue); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1661; this.expression(); this.state = 1666; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 19)) & ~0x1f) == 0 && ((1 << (_la - 19)) & ((1 << (sqlParser.SELECT - 19)) | (1 << (sqlParser.FROM - 19)) | (1 << (sqlParser.ADD - 19)) | (1 << (sqlParser.AS - 19)) | (1 << (sqlParser.ALL - 19)) | (1 << (sqlParser.ANY - 19)) | (1 << (sqlParser.DISTINCT - 19)) | (1 << (sqlParser.WHERE - 19)) | (1 << (sqlParser.GROUP - 19)) | (1 << (sqlParser.BY - 19)) | (1 << (sqlParser.GROUPING - 19)) | (1 << (sqlParser.SETS - 19)) | (1 << (sqlParser.CUBE - 19)) | (1 << (sqlParser.ROLLUP - 19)) | (1 << (sqlParser.ORDER - 19)) | (1 << (sqlParser.HAVING - 19)) | (1 << (sqlParser.LIMIT - 19)) | (1 << (sqlParser.AT - 19)) | (1 << (sqlParser.OR - 19)) | (1 << (sqlParser.AND - 19)) | (1 << (sqlParser.IN - 19)) | (1 << (sqlParser.NOT - 19)) | (1 << (sqlParser.NO - 19)) | (1 << (sqlParser.EXISTS - 19)) | (1 << (sqlParser.BETWEEN - 19)) | (1 << (sqlParser.LIKE - 19)) | (1 << (sqlParser.RLIKE - 19)) | (1 << (sqlParser.IS - 19)) | (1 << (sqlParser.NULL - 19)) | (1 << (sqlParser.TRUE - 19)) | (1 << (sqlParser.FALSE - 19)) | (1 << (sqlParser.NULLS - 19)))) !== 0) || ((((_la - 51)) & ~0x1f) == 0 && ((1 << (_la - 51)) & ((1 << (sqlParser.ASC - 51)) | (1 << (sqlParser.DESC - 51)) | (1 << (sqlParser.FOR - 51)) | (1 << (sqlParser.INTERVAL - 51)) | (1 << (sqlParser.CASE - 51)) | (1 << (sqlParser.WHEN - 51)) | (1 << (sqlParser.THEN - 51)) | (1 << (sqlParser.ELSE - 51)) | (1 << (sqlParser.END - 51)) | (1 << (sqlParser.JOIN - 51)) | (1 << (sqlParser.CROSS - 51)) | (1 << (sqlParser.OUTER - 51)) | (1 << (sqlParser.INNER - 51)) | (1 << (sqlParser.LEFT - 51)) | (1 << (sqlParser.SEMI - 51)) | (1 << (sqlParser.RIGHT - 51)) | (1 << (sqlParser.FULL - 51)) | (1 << (sqlParser.NATURAL - 51)) | (1 << (sqlParser.ON - 51)) | (1 << (sqlParser.PIVOT - 51)) | (1 << (sqlParser.LATERAL - 51)) | (1 << (sqlParser.WINDOW - 51)) | (1 << (sqlParser.OVER - 51)) | (1 << (sqlParser.PARTITION - 51)) | (1 << (sqlParser.RANGE - 51)) | (1 << (sqlParser.ROWS - 51)) | (1 << (sqlParser.UNBOUNDED - 51)) | (1 << (sqlParser.PRECEDING - 51)) | (1 << (sqlParser.FOLLOWING - 51)) | (1 << (sqlParser.CURRENT - 51)) | (1 << (sqlParser.FIRST - 51)) | (1 << (sqlParser.AFTER - 51)))) !== 0) || ((((_la - 83)) & ~0x1f) == 0 && ((1 << (_la - 83)) & ((1 << (sqlParser.LAST - 83)) | (1 << (sqlParser.ROW - 83)) | (1 << (sqlParser.WITH - 83)) | (1 << (sqlParser.CREATE - 83)) | (1 << (sqlParser.TABLE - 83)) | (1 << (sqlParser.DIRECTORY - 83)) | (1 << (sqlParser.VIEW - 83)) | (1 << (sqlParser.REPLACE - 83)) | (1 << (sqlParser.INSERT - 83)) | (1 << (sqlParser.DELETE - 83)) | (1 << (sqlParser.INTO - 83)) | (1 << (sqlParser.DESCRIBE - 83)) | (1 << (sqlParser.EXPLAIN - 83)) | (1 << (sqlParser.FORMAT - 83)) | (1 << (sqlParser.LOGICAL - 83)) | (1 << (sqlParser.CODEGEN - 83)) | (1 << (sqlParser.COST - 83)) | (1 << (sqlParser.CAST - 83)) | (1 << (sqlParser.SHOW - 83)) | (1 << (sqlParser.TABLES - 83)) | (1 << (sqlParser.COLUMNS - 83)) | (1 << (sqlParser.COLUMN - 83)) | (1 << (sqlParser.USE - 83)) | (1 << (sqlParser.PARTITIONS - 83)) | (1 << (sqlParser.FUNCTIONS - 83)) | (1 << (sqlParser.DROP - 83)) | (1 << (sqlParser.UNION - 83)) | (1 << (sqlParser.EXCEPT - 83)) | (1 << (sqlParser.SETMINUS - 83)) | (1 << (sqlParser.INTERSECT - 83)) | (1 << (sqlParser.TO - 83)))) !== 0) || ((((_la - 115)) & ~0x1f) == 0 && ((1 << (_la - 115)) & ((1 << (sqlParser.TABLESAMPLE - 115)) | (1 << (sqlParser.STRATIFY - 115)) | (1 << (sqlParser.ALTER - 115)) | (1 << (sqlParser.RENAME - 115)) | (1 << (sqlParser.ARRAY - 115)) | (1 << (sqlParser.MAP - 115)) | (1 << (sqlParser.STRUCT - 115)) | (1 << (sqlParser.COMMENT - 115)) | (1 << (sqlParser.SET - 115)) | (1 << (sqlParser.RESET - 115)) | (1 << (sqlParser.DATA - 115)) | (1 << (sqlParser.START - 115)) | (1 << (sqlParser.TRANSACTION - 115)) | (1 << (sqlParser.COMMIT - 115)) | (1 << (sqlParser.ROLLBACK - 115)) | (1 << (sqlParser.MACRO - 115)) | (1 << (sqlParser.IGNORE - 115)) | (1 << (sqlParser.BOTH - 115)) | (1 << (sqlParser.LEADING - 115)) | (1 << (sqlParser.TRAILING - 115)) | (1 << (sqlParser.IF - 115)) | (1 << (sqlParser.POSITION - 115)) | (1 << (sqlParser.EXTRACT - 115)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (sqlParser.DIV - 151)) | (1 << (sqlParser.PERCENTLIT - 151)) | (1 << (sqlParser.BUCKET - 151)) | (1 << (sqlParser.OUT - 151)) | (1 << (sqlParser.OF - 151)) | (1 << (sqlParser.SORT - 151)) | (1 << (sqlParser.CLUSTER - 151)) | (1 << (sqlParser.DISTRIBUTE - 151)) | (1 << (sqlParser.OVERWRITE - 151)) | (1 << (sqlParser.TRANSFORM - 151)) | (1 << (sqlParser.REDUCE - 151)) | (1 << (sqlParser.SERDE - 151)) | (1 << (sqlParser.SERDEPROPERTIES - 151)) | (1 << (sqlParser.RECORDREADER - 151)) | (1 << (sqlParser.RECORDWRITER - 151)) | (1 << (sqlParser.DELIMITED - 151)) | (1 << (sqlParser.FIELDS - 151)) | (1 << (sqlParser.TERMINATED - 151)) | (1 << (sqlParser.COLLECTION - 151)) | (1 << (sqlParser.ITEMS - 151)) | (1 << (sqlParser.KEYS - 151)) | (1 << (sqlParser.ESCAPED - 151)) | (1 << (sqlParser.LINES - 151)) | (1 << (sqlParser.SEPARATED - 151)) | (1 << (sqlParser.FUNCTION - 151)) | (1 << (sqlParser.EXTENDED - 151)))) !== 0) || ((((_la - 183)) & ~0x1f) == 0 && ((1 << (_la - 183)) & ((1 << (sqlParser.REFRESH - 183)) | (1 << (sqlParser.CLEAR - 183)) | (1 << (sqlParser.CACHE - 183)) | (1 << (sqlParser.UNCACHE - 183)) | (1 << (sqlParser.LAZY - 183)) | (1 << (sqlParser.FORMATTED - 183)) | (1 << (sqlParser.GLOBAL - 183)) | (1 << (sqlParser.TEMPORARY - 183)) | (1 << (sqlParser.OPTIONS - 183)) | (1 << (sqlParser.UNSET - 183)) | (1 << (sqlParser.TBLPROPERTIES - 183)) | (1 << (sqlParser.DBPROPERTIES - 183)) | (1 << (sqlParser.BUCKETS - 183)) | (1 << (sqlParser.SKEWED - 183)) | (1 << (sqlParser.STORED - 183)) | (1 << (sqlParser.DIRECTORIES - 183)) | (1 << (sqlParser.LOCATION - 183)) | (1 << (sqlParser.EXCHANGE - 183)) | (1 << (sqlParser.ARCHIVE - 183)) | (1 << (sqlParser.UNARCHIVE - 183)) | (1 << (sqlParser.FILEFORMAT - 183)) | (1 << (sqlParser.TOUCH - 183)) | (1 << (sqlParser.COMPACT - 183)) | (1 << (sqlParser.CONCATENATE - 183)) | (1 << (sqlParser.CHANGE - 183)) | (1 << (sqlParser.CASCADE - 183)) | (1 << (sqlParser.RESTRICT - 183)) | (1 << (sqlParser.CLUSTERED - 183)) | (1 << (sqlParser.SORTED - 183)) | (1 << (sqlParser.PURGE - 183)) | (1 << (sqlParser.INPUTFORMAT - 183)) | (1 << (sqlParser.OUTPUTFORMAT - 183)))) !== 0) || ((((_la - 215)) & ~0x1f) == 0 && ((1 << (_la - 215)) & ((1 << (sqlParser.DATABASE - 215)) | (1 << (sqlParser.DATABASES - 215)) | (1 << (sqlParser.DFS - 215)) | (1 << (sqlParser.TRUNCATE - 215)) | (1 << (sqlParser.ANALYZE - 215)) | (1 << (sqlParser.COMPUTE - 215)) | (1 << (sqlParser.LIST - 215)) | (1 << (sqlParser.STATISTICS - 215)) | (1 << (sqlParser.PARTITIONED - 215)) | (1 << (sqlParser.EXTERNAL - 215)) | (1 << (sqlParser.DEFINED - 215)) | (1 << (sqlParser.REVOKE - 215)) | (1 << (sqlParser.GRANT - 215)) | (1 << (sqlParser.LOCK - 215)) | (1 << (sqlParser.UNLOCK - 215)) | (1 << (sqlParser.MSCK - 215)) | (1 << (sqlParser.REPAIR - 215)) | (1 << (sqlParser.RECOVER - 215)) | (1 << (sqlParser.EXPORT - 215)) | (1 << (sqlParser.IMPORT - 215)) | (1 << (sqlParser.LOAD - 215)) | (1 << (sqlParser.ROLE - 215)) | (1 << (sqlParser.ROLES - 215)) | (1 << (sqlParser.COMPACTIONS - 215)) | (1 << (sqlParser.PRINCIPALS - 215)) | (1 << (sqlParser.TRANSACTIONS - 215)) | (1 << (sqlParser.INDEX - 215)) | (1 << (sqlParser.INDEXES - 215)) | (1 << (sqlParser.LOCKS - 215)) | (1 << (sqlParser.OPTION - 215)) | (1 << (sqlParser.ANTI - 215)) | (1 << (sqlParser.LOCAL - 215)))) !== 0) || ((((_la - 247)) & ~0x1f) == 0 && ((1 << (_la - 247)) & ((1 << (sqlParser.INPATH - 247)) | (1 << (sqlParser.IDENTIFIER - 247)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 247)))) !== 0)) { this.state = 1663; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 209, this._ctx); if (la_ === 1) { this.state = 1662; this.match(sqlParser.AS); } this.state = 1665; this.identifier(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function LateralViewContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_lateralView; this.tblName = null; // IdentifierContext this._identifier = null; // IdentifierContext this.colName = []; // of IdentifierContexts return this; } LateralViewContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); LateralViewContext.prototype.constructor = LateralViewContext; LateralViewContext.prototype.LATERAL = function () { return this.getToken(sqlParser.LATERAL, 0); }; LateralViewContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; LateralViewContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; LateralViewContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; LateralViewContext.prototype.OUTER = function () { return this.getToken(sqlParser.OUTER, 0); }; LateralViewContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; LateralViewContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; LateralViewContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterLateralView(this); } }; LateralViewContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitLateralView(this); } }; LateralViewContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitLateralView(this); } else { return visitor.visitChildren(this); } }; sqlParser.LateralViewContext = LateralViewContext; sqlParser.prototype.lateralView = function () { var localctx = new LateralViewContext(this, this._ctx, this.state); this.enterRule(localctx, 94, sqlParser.RULE_lateralView); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1668; this.match(sqlParser.LATERAL); this.state = 1669; this.match(sqlParser.VIEW); this.state = 1671; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 211, this._ctx); if (la_ === 1) { this.state = 1670; this.match(sqlParser.OUTER); } this.state = 1673; this.qualifiedName(); this.state = 1674; this.match(sqlParser.T__0); this.state = 1683; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.ADD) | (1 << sqlParser.AS) | (1 << sqlParser.ALL) | (1 << sqlParser.ANY) | (1 << sqlParser.DISTINCT) | (1 << sqlParser.WHERE) | (1 << sqlParser.GROUP) | (1 << sqlParser.BY) | (1 << sqlParser.GROUPING) | (1 << sqlParser.SETS) | (1 << sqlParser.CUBE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (sqlParser.ROLLUP - 32)) | (1 << (sqlParser.ORDER - 32)) | (1 << (sqlParser.HAVING - 32)) | (1 << (sqlParser.LIMIT - 32)) | (1 << (sqlParser.AT - 32)) | (1 << (sqlParser.OR - 32)) | (1 << (sqlParser.AND - 32)) | (1 << (sqlParser.IN - 32)) | (1 << (sqlParser.NOT - 32)) | (1 << (sqlParser.NO - 32)) | (1 << (sqlParser.EXISTS - 32)) | (1 << (sqlParser.BETWEEN - 32)) | (1 << (sqlParser.LIKE - 32)) | (1 << (sqlParser.RLIKE - 32)) | (1 << (sqlParser.IS - 32)) | (1 << (sqlParser.NULL - 32)) | (1 << (sqlParser.TRUE - 32)) | (1 << (sqlParser.FALSE - 32)) | (1 << (sqlParser.NULLS - 32)) | (1 << (sqlParser.ASC - 32)) | (1 << (sqlParser.DESC - 32)) | (1 << (sqlParser.FOR - 32)) | (1 << (sqlParser.INTERVAL - 32)) | (1 << (sqlParser.CASE - 32)) | (1 << (sqlParser.WHEN - 32)) | (1 << (sqlParser.THEN - 32)) | (1 << (sqlParser.ELSE - 32)) | (1 << (sqlParser.END - 32)) | (1 << (sqlParser.JOIN - 32)) | (1 << (sqlParser.CROSS - 32)) | (1 << (sqlParser.OUTER - 32)) | (1 << (sqlParser.INNER - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (sqlParser.LEFT - 64)) | (1 << (sqlParser.SEMI - 64)) | (1 << (sqlParser.RIGHT - 64)) | (1 << (sqlParser.FULL - 64)) | (1 << (sqlParser.NATURAL - 64)) | (1 << (sqlParser.ON - 64)) | (1 << (sqlParser.PIVOT - 64)) | (1 << (sqlParser.LATERAL - 64)) | (1 << (sqlParser.WINDOW - 64)) | (1 << (sqlParser.OVER - 64)) | (1 << (sqlParser.PARTITION - 64)) | (1 << (sqlParser.RANGE - 64)) | (1 << (sqlParser.ROWS - 64)) | (1 << (sqlParser.UNBOUNDED - 64)) | (1 << (sqlParser.PRECEDING - 64)) | (1 << (sqlParser.FOLLOWING - 64)) | (1 << (sqlParser.CURRENT - 64)) | (1 << (sqlParser.FIRST - 64)) | (1 << (sqlParser.AFTER - 64)) | (1 << (sqlParser.LAST - 64)) | (1 << (sqlParser.ROW - 64)) | (1 << (sqlParser.WITH - 64)) | (1 << (sqlParser.CREATE - 64)) | (1 << (sqlParser.TABLE - 64)) | (1 << (sqlParser.DIRECTORY - 64)) | (1 << (sqlParser.VIEW - 64)) | (1 << (sqlParser.REPLACE - 64)) | (1 << (sqlParser.INSERT - 64)) | (1 << (sqlParser.DELETE - 64)) | (1 << (sqlParser.INTO - 64)) | (1 << (sqlParser.DESCRIBE - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (sqlParser.EXPLAIN - 96)) | (1 << (sqlParser.FORMAT - 96)) | (1 << (sqlParser.LOGICAL - 96)) | (1 << (sqlParser.CODEGEN - 96)) | (1 << (sqlParser.COST - 96)) | (1 << (sqlParser.CAST - 96)) | (1 << (sqlParser.SHOW - 96)) | (1 << (sqlParser.TABLES - 96)) | (1 << (sqlParser.COLUMNS - 96)) | (1 << (sqlParser.COLUMN - 96)) | (1 << (sqlParser.USE - 96)) | (1 << (sqlParser.PARTITIONS - 96)) | (1 << (sqlParser.FUNCTIONS - 96)) | (1 << (sqlParser.DROP - 96)) | (1 << (sqlParser.UNION - 96)) | (1 << (sqlParser.EXCEPT - 96)) | (1 << (sqlParser.SETMINUS - 96)) | (1 << (sqlParser.INTERSECT - 96)) | (1 << (sqlParser.TO - 96)) | (1 << (sqlParser.TABLESAMPLE - 96)) | (1 << (sqlParser.STRATIFY - 96)) | (1 << (sqlParser.ALTER - 96)) | (1 << (sqlParser.RENAME - 96)) | (1 << (sqlParser.ARRAY - 96)) | (1 << (sqlParser.MAP - 96)) | (1 << (sqlParser.STRUCT - 96)) | (1 << (sqlParser.COMMENT - 96)) | (1 << (sqlParser.SET - 96)) | (1 << (sqlParser.RESET - 96)) | (1 << (sqlParser.DATA - 96)) | (1 << (sqlParser.START - 96)) | (1 << (sqlParser.TRANSACTION - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (sqlParser.COMMIT - 128)) | (1 << (sqlParser.ROLLBACK - 128)) | (1 << (sqlParser.MACRO - 128)) | (1 << (sqlParser.IGNORE - 128)) | (1 << (sqlParser.BOTH - 128)) | (1 << (sqlParser.LEADING - 128)) | (1 << (sqlParser.TRAILING - 128)) | (1 << (sqlParser.IF - 128)) | (1 << (sqlParser.POSITION - 128)) | (1 << (sqlParser.EXTRACT - 128)) | (1 << (sqlParser.PLUS - 128)) | (1 << (sqlParser.MINUS - 128)) | (1 << (sqlParser.ASTERISK - 128)) | (1 << (sqlParser.DIV - 128)) | (1 << (sqlParser.TILDE - 128)) | (1 << (sqlParser.PERCENTLIT - 128)) | (1 << (sqlParser.BUCKET - 128)) | (1 << (sqlParser.OUT - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (sqlParser.OF - 160)) | (1 << (sqlParser.SORT - 160)) | (1 << (sqlParser.CLUSTER - 160)) | (1 << (sqlParser.DISTRIBUTE - 160)) | (1 << (sqlParser.OVERWRITE - 160)) | (1 << (sqlParser.TRANSFORM - 160)) | (1 << (sqlParser.REDUCE - 160)) | (1 << (sqlParser.SERDE - 160)) | (1 << (sqlParser.SERDEPROPERTIES - 160)) | (1 << (sqlParser.RECORDREADER - 160)) | (1 << (sqlParser.RECORDWRITER - 160)) | (1 << (sqlParser.DELIMITED - 160)) | (1 << (sqlParser.FIELDS - 160)) | (1 << (sqlParser.TERMINATED - 160)) | (1 << (sqlParser.COLLECTION - 160)) | (1 << (sqlParser.ITEMS - 160)) | (1 << (sqlParser.KEYS - 160)) | (1 << (sqlParser.ESCAPED - 160)) | (1 << (sqlParser.LINES - 160)) | (1 << (sqlParser.SEPARATED - 160)) | (1 << (sqlParser.FUNCTION - 160)) | (1 << (sqlParser.EXTENDED - 160)) | (1 << (sqlParser.REFRESH - 160)) | (1 << (sqlParser.CLEAR - 160)) | (1 << (sqlParser.CACHE - 160)) | (1 << (sqlParser.UNCACHE - 160)) | (1 << (sqlParser.LAZY - 160)) | (1 << (sqlParser.FORMATTED - 160)) | (1 << (sqlParser.GLOBAL - 160)) | (1 << (sqlParser.TEMPORARY - 160)) | (1 << (sqlParser.OPTIONS - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (sqlParser.UNSET - 192)) | (1 << (sqlParser.TBLPROPERTIES - 192)) | (1 << (sqlParser.DBPROPERTIES - 192)) | (1 << (sqlParser.BUCKETS - 192)) | (1 << (sqlParser.SKEWED - 192)) | (1 << (sqlParser.STORED - 192)) | (1 << (sqlParser.DIRECTORIES - 192)) | (1 << (sqlParser.LOCATION - 192)) | (1 << (sqlParser.EXCHANGE - 192)) | (1 << (sqlParser.ARCHIVE - 192)) | (1 << (sqlParser.UNARCHIVE - 192)) | (1 << (sqlParser.FILEFORMAT - 192)) | (1 << (sqlParser.TOUCH - 192)) | (1 << (sqlParser.COMPACT - 192)) | (1 << (sqlParser.CONCATENATE - 192)) | (1 << (sqlParser.CHANGE - 192)) | (1 << (sqlParser.CASCADE - 192)) | (1 << (sqlParser.RESTRICT - 192)) | (1 << (sqlParser.CLUSTERED - 192)) | (1 << (sqlParser.SORTED - 192)) | (1 << (sqlParser.PURGE - 192)) | (1 << (sqlParser.INPUTFORMAT - 192)) | (1 << (sqlParser.OUTPUTFORMAT - 192)) | (1 << (sqlParser.DATABASE - 192)) | (1 << (sqlParser.DATABASES - 192)) | (1 << (sqlParser.DFS - 192)) | (1 << (sqlParser.TRUNCATE - 192)) | (1 << (sqlParser.ANALYZE - 192)) | (1 << (sqlParser.COMPUTE - 192)) | (1 << (sqlParser.LIST - 192)) | (1 << (sqlParser.STATISTICS - 192)) | (1 << (sqlParser.PARTITIONED - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (sqlParser.EXTERNAL - 224)) | (1 << (sqlParser.DEFINED - 224)) | (1 << (sqlParser.REVOKE - 224)) | (1 << (sqlParser.GRANT - 224)) | (1 << (sqlParser.LOCK - 224)) | (1 << (sqlParser.UNLOCK - 224)) | (1 << (sqlParser.MSCK - 224)) | (1 << (sqlParser.REPAIR - 224)) | (1 << (sqlParser.RECOVER - 224)) | (1 << (sqlParser.EXPORT - 224)) | (1 << (sqlParser.IMPORT - 224)) | (1 << (sqlParser.LOAD - 224)) | (1 << (sqlParser.ROLE - 224)) | (1 << (sqlParser.ROLES - 224)) | (1 << (sqlParser.COMPACTIONS - 224)) | (1 << (sqlParser.PRINCIPALS - 224)) | (1 << (sqlParser.TRANSACTIONS - 224)) | (1 << (sqlParser.INDEX - 224)) | (1 << (sqlParser.INDEXES - 224)) | (1 << (sqlParser.LOCKS - 224)) | (1 << (sqlParser.OPTION - 224)) | (1 << (sqlParser.ANTI - 224)) | (1 << (sqlParser.LOCAL - 224)) | (1 << (sqlParser.INPATH - 224)))) !== 0) || ((((_la - 261)) & ~0x1f) == 0 && ((1 << (_la - 261)) & ((1 << (sqlParser.STRING - 261)) | (1 << (sqlParser.BIGINT_LITERAL - 261)) | (1 << (sqlParser.SMALLINT_LITERAL - 261)) | (1 << (sqlParser.TINYINT_LITERAL - 261)) | (1 << (sqlParser.INTEGER_VALUE - 261)) | (1 << (sqlParser.DECIMAL_VALUE - 261)) | (1 << (sqlParser.DOUBLE_LITERAL - 261)) | (1 << (sqlParser.BIGDECIMAL_LITERAL - 261)) | (1 << (sqlParser.IDENTIFIER - 261)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 261)))) !== 0)) { this.state = 1675; this.expression(); this.state = 1680; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1676; this.match(sqlParser.T__3); this.state = 1677; this.expression(); this.state = 1682; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1685; this.match(sqlParser.T__1); this.state = 1686; localctx.tblName = this.identifier(); this.state = 1698; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 216, this._ctx); if (la_ === 1) { this.state = 1688; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 214, this._ctx); if (la_ === 1) { this.state = 1687; this.match(sqlParser.AS); } this.state = 1690; localctx._identifier = this.identifier(); localctx.colName.push(localctx._identifier); this.state = 1695; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 215, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 1691; this.match(sqlParser.T__3); this.state = 1692; localctx._identifier = this.identifier(); localctx.colName.push(localctx._identifier); } this.state = 1697; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 215, this._ctx); } } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SetQuantifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_setQuantifier; return this; } SetQuantifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SetQuantifierContext.prototype.constructor = SetQuantifierContext; SetQuantifierContext.prototype.DISTINCT = function () { return this.getToken(sqlParser.DISTINCT, 0); }; SetQuantifierContext.prototype.ALL = function () { return this.getToken(sqlParser.ALL, 0); }; SetQuantifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSetQuantifier(this); } }; SetQuantifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSetQuantifier(this); } }; SetQuantifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSetQuantifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.SetQuantifierContext = SetQuantifierContext; sqlParser.prototype.setQuantifier = function () { var localctx = new SetQuantifierContext(this, this._ctx, this.state); this.enterRule(localctx, 96, sqlParser.RULE_setQuantifier); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1700; _la = this._input.LA(1); if (!(_la === sqlParser.ALL || _la === sqlParser.DISTINCT)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function RelationContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_relation; return this; } RelationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); RelationContext.prototype.constructor = RelationContext; RelationContext.prototype.relationPrimary = function () { return this.getTypedRuleContext(RelationPrimaryContext, 0); }; RelationContext.prototype.joinRelation = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(JoinRelationContext); } else { return this.getTypedRuleContext(JoinRelationContext, i); } }; RelationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRelation(this); } }; RelationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRelation(this); } }; RelationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRelation(this); } else { return visitor.visitChildren(this); } }; sqlParser.RelationContext = RelationContext; sqlParser.prototype.relation = function () { var localctx = new RelationContext(this, this._ctx, this.state); this.enterRule(localctx, 98, sqlParser.RULE_relation); try { this.enterOuterAlt(localctx, 1); this.state = 1702; this.relationPrimary(); this.state = 1706; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 217, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 1703; this.joinRelation(); } this.state = 1708; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 217, this._ctx); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function JoinRelationContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_joinRelation; this.right = null; // RelationPrimaryContext return this; } JoinRelationContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); JoinRelationContext.prototype.constructor = JoinRelationContext; JoinRelationContext.prototype.JOIN = function () { return this.getToken(sqlParser.JOIN, 0); }; JoinRelationContext.prototype.relationPrimary = function () { return this.getTypedRuleContext(RelationPrimaryContext, 0); }; JoinRelationContext.prototype.joinType = function () { return this.getTypedRuleContext(JoinTypeContext, 0); }; JoinRelationContext.prototype.joinCriteria = function () { return this.getTypedRuleContext(JoinCriteriaContext, 0); }; JoinRelationContext.prototype.NATURAL = function () { return this.getToken(sqlParser.NATURAL, 0); }; JoinRelationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterJoinRelation(this); } }; JoinRelationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitJoinRelation(this); } }; JoinRelationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitJoinRelation(this); } else { return visitor.visitChildren(this); } }; sqlParser.JoinRelationContext = JoinRelationContext; sqlParser.prototype.joinRelation = function () { var localctx = new JoinRelationContext(this, this._ctx, this.state); this.enterRule(localctx, 100, sqlParser.RULE_joinRelation); try { this.state = 1720; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.JOIN: case sqlParser.CROSS: case sqlParser.INNER: case sqlParser.LEFT: case sqlParser.RIGHT: case sqlParser.FULL: case sqlParser.ANTI: this.enterOuterAlt(localctx, 1); this.state = 1709; this.joinType(); this.state = 1710; this.match(sqlParser.JOIN); this.state = 1711; localctx.right = this.relationPrimary(); this.state = 1713; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 218, this._ctx); if (la_ === 1) { this.state = 1712; this.joinCriteria(); } break; case sqlParser.NATURAL: this.enterOuterAlt(localctx, 2); this.state = 1715; this.match(sqlParser.NATURAL); this.state = 1716; this.joinType(); this.state = 1717; this.match(sqlParser.JOIN); this.state = 1718; localctx.right = this.relationPrimary(); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function JoinTypeContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_joinType; return this; } JoinTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); JoinTypeContext.prototype.constructor = JoinTypeContext; JoinTypeContext.prototype.INNER = function () { return this.getToken(sqlParser.INNER, 0); }; JoinTypeContext.prototype.CROSS = function () { return this.getToken(sqlParser.CROSS, 0); }; JoinTypeContext.prototype.LEFT = function () { return this.getToken(sqlParser.LEFT, 0); }; JoinTypeContext.prototype.OUTER = function () { return this.getToken(sqlParser.OUTER, 0); }; JoinTypeContext.prototype.SEMI = function () { return this.getToken(sqlParser.SEMI, 0); }; JoinTypeContext.prototype.RIGHT = function () { return this.getToken(sqlParser.RIGHT, 0); }; JoinTypeContext.prototype.FULL = function () { return this.getToken(sqlParser.FULL, 0); }; JoinTypeContext.prototype.ANTI = function () { return this.getToken(sqlParser.ANTI, 0); }; JoinTypeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterJoinType(this); } }; JoinTypeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitJoinType(this); } }; JoinTypeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitJoinType(this); } else { return visitor.visitChildren(this); } }; sqlParser.JoinTypeContext = JoinTypeContext; sqlParser.prototype.joinType = function () { var localctx = new JoinTypeContext(this, this._ctx, this.state); this.enterRule(localctx, 102, sqlParser.RULE_joinType); var _la = 0; // Token type try { this.state = 1744; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 225, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 1723; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.INNER) { this.state = 1722; this.match(sqlParser.INNER); } break; case 2: this.enterOuterAlt(localctx, 2); this.state = 1725; this.match(sqlParser.CROSS); break; case 3: this.enterOuterAlt(localctx, 3); this.state = 1726; this.match(sqlParser.LEFT); this.state = 1728; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OUTER) { this.state = 1727; this.match(sqlParser.OUTER); } break; case 4: this.enterOuterAlt(localctx, 4); this.state = 1730; this.match(sqlParser.LEFT); this.state = 1731; this.match(sqlParser.SEMI); break; case 5: this.enterOuterAlt(localctx, 5); this.state = 1732; this.match(sqlParser.RIGHT); this.state = 1734; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OUTER) { this.state = 1733; this.match(sqlParser.OUTER); } break; case 6: this.enterOuterAlt(localctx, 6); this.state = 1736; this.match(sqlParser.FULL); this.state = 1738; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.OUTER) { this.state = 1737; this.match(sqlParser.OUTER); } break; case 7: this.enterOuterAlt(localctx, 7); this.state = 1741; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.LEFT) { this.state = 1740; this.match(sqlParser.LEFT); } this.state = 1743; this.match(sqlParser.ANTI); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function JoinCriteriaContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_joinCriteria; return this; } JoinCriteriaContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); JoinCriteriaContext.prototype.constructor = JoinCriteriaContext; JoinCriteriaContext.prototype.ON = function () { return this.getToken(sqlParser.ON, 0); }; JoinCriteriaContext.prototype.booleanExpression = function () { return this.getTypedRuleContext(BooleanExpressionContext, 0); }; JoinCriteriaContext.prototype.USING = function () { return this.getToken(sqlParser.USING, 0); }; JoinCriteriaContext.prototype.identifierList = function () { return this.getTypedRuleContext(IdentifierListContext, 0); }; JoinCriteriaContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterJoinCriteria(this); } }; JoinCriteriaContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitJoinCriteria(this); } }; JoinCriteriaContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitJoinCriteria(this); } else { return visitor.visitChildren(this); } }; sqlParser.JoinCriteriaContext = JoinCriteriaContext; sqlParser.prototype.joinCriteria = function () { var localctx = new JoinCriteriaContext(this, this._ctx, this.state); this.enterRule(localctx, 104, sqlParser.RULE_joinCriteria); try { this.state = 1750; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.ON: this.enterOuterAlt(localctx, 1); this.state = 1746; this.match(sqlParser.ON); this.state = 1747; this.booleanExpression(0); break; case sqlParser.USING: this.enterOuterAlt(localctx, 2); this.state = 1748; this.match(sqlParser.USING); this.state = 1749; this.identifierList(); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SampleContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_sample; return this; } SampleContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SampleContext.prototype.constructor = SampleContext; SampleContext.prototype.TABLESAMPLE = function () { return this.getToken(sqlParser.TABLESAMPLE, 0); }; SampleContext.prototype.sampleMethod = function () { return this.getTypedRuleContext(SampleMethodContext, 0); }; SampleContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSample(this); } }; SampleContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSample(this); } }; SampleContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSample(this); } else { return visitor.visitChildren(this); } }; sqlParser.SampleContext = SampleContext; sqlParser.prototype.sample = function () { var localctx = new SampleContext(this, this._ctx, this.state); this.enterRule(localctx, 106, sqlParser.RULE_sample); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1752; this.match(sqlParser.TABLESAMPLE); this.state = 1753; this.match(sqlParser.T__0); this.state = 1755; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.ADD) | (1 << sqlParser.AS) | (1 << sqlParser.ALL) | (1 << sqlParser.ANY) | (1 << sqlParser.DISTINCT) | (1 << sqlParser.WHERE) | (1 << sqlParser.GROUP) | (1 << sqlParser.BY) | (1 << sqlParser.GROUPING) | (1 << sqlParser.SETS) | (1 << sqlParser.CUBE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (sqlParser.ROLLUP - 32)) | (1 << (sqlParser.ORDER - 32)) | (1 << (sqlParser.HAVING - 32)) | (1 << (sqlParser.LIMIT - 32)) | (1 << (sqlParser.AT - 32)) | (1 << (sqlParser.OR - 32)) | (1 << (sqlParser.AND - 32)) | (1 << (sqlParser.IN - 32)) | (1 << (sqlParser.NOT - 32)) | (1 << (sqlParser.NO - 32)) | (1 << (sqlParser.EXISTS - 32)) | (1 << (sqlParser.BETWEEN - 32)) | (1 << (sqlParser.LIKE - 32)) | (1 << (sqlParser.RLIKE - 32)) | (1 << (sqlParser.IS - 32)) | (1 << (sqlParser.NULL - 32)) | (1 << (sqlParser.TRUE - 32)) | (1 << (sqlParser.FALSE - 32)) | (1 << (sqlParser.NULLS - 32)) | (1 << (sqlParser.ASC - 32)) | (1 << (sqlParser.DESC - 32)) | (1 << (sqlParser.FOR - 32)) | (1 << (sqlParser.INTERVAL - 32)) | (1 << (sqlParser.CASE - 32)) | (1 << (sqlParser.WHEN - 32)) | (1 << (sqlParser.THEN - 32)) | (1 << (sqlParser.ELSE - 32)) | (1 << (sqlParser.END - 32)) | (1 << (sqlParser.JOIN - 32)) | (1 << (sqlParser.CROSS - 32)) | (1 << (sqlParser.OUTER - 32)) | (1 << (sqlParser.INNER - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (sqlParser.LEFT - 64)) | (1 << (sqlParser.SEMI - 64)) | (1 << (sqlParser.RIGHT - 64)) | (1 << (sqlParser.FULL - 64)) | (1 << (sqlParser.NATURAL - 64)) | (1 << (sqlParser.ON - 64)) | (1 << (sqlParser.PIVOT - 64)) | (1 << (sqlParser.LATERAL - 64)) | (1 << (sqlParser.WINDOW - 64)) | (1 << (sqlParser.OVER - 64)) | (1 << (sqlParser.PARTITION - 64)) | (1 << (sqlParser.RANGE - 64)) | (1 << (sqlParser.ROWS - 64)) | (1 << (sqlParser.UNBOUNDED - 64)) | (1 << (sqlParser.PRECEDING - 64)) | (1 << (sqlParser.FOLLOWING - 64)) | (1 << (sqlParser.CURRENT - 64)) | (1 << (sqlParser.FIRST - 64)) | (1 << (sqlParser.AFTER - 64)) | (1 << (sqlParser.LAST - 64)) | (1 << (sqlParser.ROW - 64)) | (1 << (sqlParser.WITH - 64)) | (1 << (sqlParser.CREATE - 64)) | (1 << (sqlParser.TABLE - 64)) | (1 << (sqlParser.DIRECTORY - 64)) | (1 << (sqlParser.VIEW - 64)) | (1 << (sqlParser.REPLACE - 64)) | (1 << (sqlParser.INSERT - 64)) | (1 << (sqlParser.DELETE - 64)) | (1 << (sqlParser.INTO - 64)) | (1 << (sqlParser.DESCRIBE - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (sqlParser.EXPLAIN - 96)) | (1 << (sqlParser.FORMAT - 96)) | (1 << (sqlParser.LOGICAL - 96)) | (1 << (sqlParser.CODEGEN - 96)) | (1 << (sqlParser.COST - 96)) | (1 << (sqlParser.CAST - 96)) | (1 << (sqlParser.SHOW - 96)) | (1 << (sqlParser.TABLES - 96)) | (1 << (sqlParser.COLUMNS - 96)) | (1 << (sqlParser.COLUMN - 96)) | (1 << (sqlParser.USE - 96)) | (1 << (sqlParser.PARTITIONS - 96)) | (1 << (sqlParser.FUNCTIONS - 96)) | (1 << (sqlParser.DROP - 96)) | (1 << (sqlParser.UNION - 96)) | (1 << (sqlParser.EXCEPT - 96)) | (1 << (sqlParser.SETMINUS - 96)) | (1 << (sqlParser.INTERSECT - 96)) | (1 << (sqlParser.TO - 96)) | (1 << (sqlParser.TABLESAMPLE - 96)) | (1 << (sqlParser.STRATIFY - 96)) | (1 << (sqlParser.ALTER - 96)) | (1 << (sqlParser.RENAME - 96)) | (1 << (sqlParser.ARRAY - 96)) | (1 << (sqlParser.MAP - 96)) | (1 << (sqlParser.STRUCT - 96)) | (1 << (sqlParser.COMMENT - 96)) | (1 << (sqlParser.SET - 96)) | (1 << (sqlParser.RESET - 96)) | (1 << (sqlParser.DATA - 96)) | (1 << (sqlParser.START - 96)) | (1 << (sqlParser.TRANSACTION - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (sqlParser.COMMIT - 128)) | (1 << (sqlParser.ROLLBACK - 128)) | (1 << (sqlParser.MACRO - 128)) | (1 << (sqlParser.IGNORE - 128)) | (1 << (sqlParser.BOTH - 128)) | (1 << (sqlParser.LEADING - 128)) | (1 << (sqlParser.TRAILING - 128)) | (1 << (sqlParser.IF - 128)) | (1 << (sqlParser.POSITION - 128)) | (1 << (sqlParser.EXTRACT - 128)) | (1 << (sqlParser.PLUS - 128)) | (1 << (sqlParser.MINUS - 128)) | (1 << (sqlParser.ASTERISK - 128)) | (1 << (sqlParser.DIV - 128)) | (1 << (sqlParser.TILDE - 128)) | (1 << (sqlParser.PERCENTLIT - 128)) | (1 << (sqlParser.BUCKET - 128)) | (1 << (sqlParser.OUT - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (sqlParser.OF - 160)) | (1 << (sqlParser.SORT - 160)) | (1 << (sqlParser.CLUSTER - 160)) | (1 << (sqlParser.DISTRIBUTE - 160)) | (1 << (sqlParser.OVERWRITE - 160)) | (1 << (sqlParser.TRANSFORM - 160)) | (1 << (sqlParser.REDUCE - 160)) | (1 << (sqlParser.SERDE - 160)) | (1 << (sqlParser.SERDEPROPERTIES - 160)) | (1 << (sqlParser.RECORDREADER - 160)) | (1 << (sqlParser.RECORDWRITER - 160)) | (1 << (sqlParser.DELIMITED - 160)) | (1 << (sqlParser.FIELDS - 160)) | (1 << (sqlParser.TERMINATED - 160)) | (1 << (sqlParser.COLLECTION - 160)) | (1 << (sqlParser.ITEMS - 160)) | (1 << (sqlParser.KEYS - 160)) | (1 << (sqlParser.ESCAPED - 160)) | (1 << (sqlParser.LINES - 160)) | (1 << (sqlParser.SEPARATED - 160)) | (1 << (sqlParser.FUNCTION - 160)) | (1 << (sqlParser.EXTENDED - 160)) | (1 << (sqlParser.REFRESH - 160)) | (1 << (sqlParser.CLEAR - 160)) | (1 << (sqlParser.CACHE - 160)) | (1 << (sqlParser.UNCACHE - 160)) | (1 << (sqlParser.LAZY - 160)) | (1 << (sqlParser.FORMATTED - 160)) | (1 << (sqlParser.GLOBAL - 160)) | (1 << (sqlParser.TEMPORARY - 160)) | (1 << (sqlParser.OPTIONS - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (sqlParser.UNSET - 192)) | (1 << (sqlParser.TBLPROPERTIES - 192)) | (1 << (sqlParser.DBPROPERTIES - 192)) | (1 << (sqlParser.BUCKETS - 192)) | (1 << (sqlParser.SKEWED - 192)) | (1 << (sqlParser.STORED - 192)) | (1 << (sqlParser.DIRECTORIES - 192)) | (1 << (sqlParser.LOCATION - 192)) | (1 << (sqlParser.EXCHANGE - 192)) | (1 << (sqlParser.ARCHIVE - 192)) | (1 << (sqlParser.UNARCHIVE - 192)) | (1 << (sqlParser.FILEFORMAT - 192)) | (1 << (sqlParser.TOUCH - 192)) | (1 << (sqlParser.COMPACT - 192)) | (1 << (sqlParser.CONCATENATE - 192)) | (1 << (sqlParser.CHANGE - 192)) | (1 << (sqlParser.CASCADE - 192)) | (1 << (sqlParser.RESTRICT - 192)) | (1 << (sqlParser.CLUSTERED - 192)) | (1 << (sqlParser.SORTED - 192)) | (1 << (sqlParser.PURGE - 192)) | (1 << (sqlParser.INPUTFORMAT - 192)) | (1 << (sqlParser.OUTPUTFORMAT - 192)) | (1 << (sqlParser.DATABASE - 192)) | (1 << (sqlParser.DATABASES - 192)) | (1 << (sqlParser.DFS - 192)) | (1 << (sqlParser.TRUNCATE - 192)) | (1 << (sqlParser.ANALYZE - 192)) | (1 << (sqlParser.COMPUTE - 192)) | (1 << (sqlParser.LIST - 192)) | (1 << (sqlParser.STATISTICS - 192)) | (1 << (sqlParser.PARTITIONED - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (sqlParser.EXTERNAL - 224)) | (1 << (sqlParser.DEFINED - 224)) | (1 << (sqlParser.REVOKE - 224)) | (1 << (sqlParser.GRANT - 224)) | (1 << (sqlParser.LOCK - 224)) | (1 << (sqlParser.UNLOCK - 224)) | (1 << (sqlParser.MSCK - 224)) | (1 << (sqlParser.REPAIR - 224)) | (1 << (sqlParser.RECOVER - 224)) | (1 << (sqlParser.EXPORT - 224)) | (1 << (sqlParser.IMPORT - 224)) | (1 << (sqlParser.LOAD - 224)) | (1 << (sqlParser.ROLE - 224)) | (1 << (sqlParser.ROLES - 224)) | (1 << (sqlParser.COMPACTIONS - 224)) | (1 << (sqlParser.PRINCIPALS - 224)) | (1 << (sqlParser.TRANSACTIONS - 224)) | (1 << (sqlParser.INDEX - 224)) | (1 << (sqlParser.INDEXES - 224)) | (1 << (sqlParser.LOCKS - 224)) | (1 << (sqlParser.OPTION - 224)) | (1 << (sqlParser.ANTI - 224)) | (1 << (sqlParser.LOCAL - 224)) | (1 << (sqlParser.INPATH - 224)))) !== 0) || ((((_la - 261)) & ~0x1f) == 0 && ((1 << (_la - 261)) & ((1 << (sqlParser.STRING - 261)) | (1 << (sqlParser.BIGINT_LITERAL - 261)) | (1 << (sqlParser.SMALLINT_LITERAL - 261)) | (1 << (sqlParser.TINYINT_LITERAL - 261)) | (1 << (sqlParser.INTEGER_VALUE - 261)) | (1 << (sqlParser.DECIMAL_VALUE - 261)) | (1 << (sqlParser.DOUBLE_LITERAL - 261)) | (1 << (sqlParser.BIGDECIMAL_LITERAL - 261)) | (1 << (sqlParser.IDENTIFIER - 261)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 261)))) !== 0)) { this.state = 1754; this.sampleMethod(); } this.state = 1757; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function SampleMethodContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_sampleMethod; return this; } SampleMethodContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); SampleMethodContext.prototype.constructor = SampleMethodContext; SampleMethodContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function SampleByRowsContext(parser, ctx) { SampleMethodContext.call(this, parser); SampleMethodContext.prototype.copyFrom.call(this, ctx); return this; } SampleByRowsContext.prototype = Object.create(SampleMethodContext.prototype); SampleByRowsContext.prototype.constructor = SampleByRowsContext; sqlParser.SampleByRowsContext = SampleByRowsContext; SampleByRowsContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; SampleByRowsContext.prototype.ROWS = function () { return this.getToken(sqlParser.ROWS, 0); }; SampleByRowsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSampleByRows(this); } }; SampleByRowsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSampleByRows(this); } }; SampleByRowsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSampleByRows(this); } else { return visitor.visitChildren(this); } }; function SampleByPercentileContext(parser, ctx) { SampleMethodContext.call(this, parser); this.negativeSign = null; // Token; this.percentage = null; // Token; SampleMethodContext.prototype.copyFrom.call(this, ctx); return this; } SampleByPercentileContext.prototype = Object.create(SampleMethodContext.prototype); SampleByPercentileContext.prototype.constructor = SampleByPercentileContext; sqlParser.SampleByPercentileContext = SampleByPercentileContext; SampleByPercentileContext.prototype.PERCENTLIT = function () { return this.getToken(sqlParser.PERCENTLIT, 0); }; SampleByPercentileContext.prototype.INTEGER_VALUE = function () { return this.getToken(sqlParser.INTEGER_VALUE, 0); }; SampleByPercentileContext.prototype.DECIMAL_VALUE = function () { return this.getToken(sqlParser.DECIMAL_VALUE, 0); }; SampleByPercentileContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; SampleByPercentileContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSampleByPercentile(this); } }; SampleByPercentileContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSampleByPercentile(this); } }; SampleByPercentileContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSampleByPercentile(this); } else { return visitor.visitChildren(this); } }; function SampleByBucketContext(parser, ctx) { SampleMethodContext.call(this, parser); this.sampleType = null; // Token; this.numerator = null; // Token; this.denominator = null; // Token; SampleMethodContext.prototype.copyFrom.call(this, ctx); return this; } SampleByBucketContext.prototype = Object.create(SampleMethodContext.prototype); SampleByBucketContext.prototype.constructor = SampleByBucketContext; sqlParser.SampleByBucketContext = SampleByBucketContext; SampleByBucketContext.prototype.OUT = function () { return this.getToken(sqlParser.OUT, 0); }; SampleByBucketContext.prototype.OF = function () { return this.getToken(sqlParser.OF, 0); }; SampleByBucketContext.prototype.BUCKET = function () { return this.getToken(sqlParser.BUCKET, 0); }; SampleByBucketContext.prototype.INTEGER_VALUE = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.INTEGER_VALUE); } else { return this.getToken(sqlParser.INTEGER_VALUE, i); } }; SampleByBucketContext.prototype.ON = function () { return this.getToken(sqlParser.ON, 0); }; SampleByBucketContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; SampleByBucketContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; SampleByBucketContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSampleByBucket(this); } }; SampleByBucketContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSampleByBucket(this); } }; SampleByBucketContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSampleByBucket(this); } else { return visitor.visitChildren(this); } }; function SampleByBytesContext(parser, ctx) { SampleMethodContext.call(this, parser); this.bytes = null; // ExpressionContext; SampleMethodContext.prototype.copyFrom.call(this, ctx); return this; } SampleByBytesContext.prototype = Object.create(SampleMethodContext.prototype); SampleByBytesContext.prototype.constructor = SampleByBytesContext; sqlParser.SampleByBytesContext = SampleByBytesContext; SampleByBytesContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; SampleByBytesContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSampleByBytes(this); } }; SampleByBytesContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSampleByBytes(this); } }; SampleByBytesContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSampleByBytes(this); } else { return visitor.visitChildren(this); } }; sqlParser.SampleMethodContext = SampleMethodContext; sqlParser.prototype.sampleMethod = function () { var localctx = new SampleMethodContext(this, this._ctx, this.state); this.enterRule(localctx, 108, sqlParser.RULE_sampleMethod); var _la = 0; // Token type try { this.state = 1783; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 231, this._ctx); switch (la_) { case 1: localctx = new SampleByPercentileContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 1760; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MINUS) { this.state = 1759; localctx.negativeSign = this.match(sqlParser.MINUS); } this.state = 1762; localctx.percentage = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.INTEGER_VALUE || _la === sqlParser.DECIMAL_VALUE)) { localctx.percentage = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 1763; this.match(sqlParser.PERCENTLIT); break; case 2: localctx = new SampleByRowsContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 1764; this.expression(); this.state = 1765; this.match(sqlParser.ROWS); break; case 3: localctx = new SampleByBucketContext(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 1767; localctx.sampleType = this.match(sqlParser.BUCKET); this.state = 1768; localctx.numerator = this.match(sqlParser.INTEGER_VALUE); this.state = 1769; this.match(sqlParser.OUT); this.state = 1770; this.match(sqlParser.OF); this.state = 1771; localctx.denominator = this.match(sqlParser.INTEGER_VALUE); this.state = 1780; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ON) { this.state = 1772; this.match(sqlParser.ON); this.state = 1778; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 229, this._ctx); switch (la_) { case 1: this.state = 1773; this.identifier(); break; case 2: this.state = 1774; this.qualifiedName(); this.state = 1775; this.match(sqlParser.T__0); this.state = 1776; this.match(sqlParser.T__1); break; } } break; case 4: localctx = new SampleByBytesContext(this, localctx); this.enterOuterAlt(localctx, 4); this.state = 1782; localctx.bytes = this.expression(); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function IdentifierListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_identifierList; return this; } IdentifierListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); IdentifierListContext.prototype.constructor = IdentifierListContext; IdentifierListContext.prototype.identifierSeq = function () { return this.getTypedRuleContext(IdentifierSeqContext, 0); }; IdentifierListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIdentifierList(this); } }; IdentifierListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIdentifierList(this); } }; IdentifierListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIdentifierList(this); } else { return visitor.visitChildren(this); } }; sqlParser.IdentifierListContext = IdentifierListContext; sqlParser.prototype.identifierList = function () { var localctx = new IdentifierListContext(this, this._ctx, this.state); this.enterRule(localctx, 110, sqlParser.RULE_identifierList); try { this.enterOuterAlt(localctx, 1); this.state = 1785; this.match(sqlParser.T__0); this.state = 1786; this.identifierSeq(); this.state = 1787; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function IdentifierSeqContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_identifierSeq; return this; } IdentifierSeqContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); IdentifierSeqContext.prototype.constructor = IdentifierSeqContext; IdentifierSeqContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; IdentifierSeqContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIdentifierSeq(this); } }; IdentifierSeqContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIdentifierSeq(this); } }; IdentifierSeqContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIdentifierSeq(this); } else { return visitor.visitChildren(this); } }; sqlParser.IdentifierSeqContext = IdentifierSeqContext; sqlParser.prototype.identifierSeq = function () { var localctx = new IdentifierSeqContext(this, this._ctx, this.state); this.enterRule(localctx, 112, sqlParser.RULE_identifierSeq); try { this.enterOuterAlt(localctx, 1); this.state = 1789; this.identifier(); this.state = 1794; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 232, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 1790; this.match(sqlParser.T__3); this.state = 1791; this.identifier(); } this.state = 1796; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 232, this._ctx); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function OrderedIdentifierListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_orderedIdentifierList; return this; } OrderedIdentifierListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); OrderedIdentifierListContext.prototype.constructor = OrderedIdentifierListContext; OrderedIdentifierListContext.prototype.orderedIdentifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(OrderedIdentifierContext); } else { return this.getTypedRuleContext(OrderedIdentifierContext, i); } }; OrderedIdentifierListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterOrderedIdentifierList(this); } }; OrderedIdentifierListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitOrderedIdentifierList(this); } }; OrderedIdentifierListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitOrderedIdentifierList(this); } else { return visitor.visitChildren(this); } }; sqlParser.OrderedIdentifierListContext = OrderedIdentifierListContext; sqlParser.prototype.orderedIdentifierList = function () { var localctx = new OrderedIdentifierListContext(this, this._ctx, this.state); this.enterRule(localctx, 114, sqlParser.RULE_orderedIdentifierList); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1797; this.match(sqlParser.T__0); this.state = 1798; this.orderedIdentifier(); this.state = 1803; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1799; this.match(sqlParser.T__3); this.state = 1800; this.orderedIdentifier(); this.state = 1805; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1806; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function OrderedIdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_orderedIdentifier; this.ordering = null; // Token return this; } OrderedIdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); OrderedIdentifierContext.prototype.constructor = OrderedIdentifierContext; OrderedIdentifierContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; OrderedIdentifierContext.prototype.ASC = function () { return this.getToken(sqlParser.ASC, 0); }; OrderedIdentifierContext.prototype.DESC = function () { return this.getToken(sqlParser.DESC, 0); }; OrderedIdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterOrderedIdentifier(this); } }; OrderedIdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitOrderedIdentifier(this); } }; OrderedIdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitOrderedIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.OrderedIdentifierContext = OrderedIdentifierContext; sqlParser.prototype.orderedIdentifier = function () { var localctx = new OrderedIdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 116, sqlParser.RULE_orderedIdentifier); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1808; this.identifier(); this.state = 1810; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ASC || _la === sqlParser.DESC) { this.state = 1809; localctx.ordering = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.ASC || _la === sqlParser.DESC)) { localctx.ordering = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function IdentifierCommentListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_identifierCommentList; return this; } IdentifierCommentListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); IdentifierCommentListContext.prototype.constructor = IdentifierCommentListContext; IdentifierCommentListContext.prototype.identifierComment = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierCommentContext); } else { return this.getTypedRuleContext(IdentifierCommentContext, i); } }; IdentifierCommentListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIdentifierCommentList(this); } }; IdentifierCommentListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIdentifierCommentList(this); } }; IdentifierCommentListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIdentifierCommentList(this); } else { return visitor.visitChildren(this); } }; sqlParser.IdentifierCommentListContext = IdentifierCommentListContext; sqlParser.prototype.identifierCommentList = function () { var localctx = new IdentifierCommentListContext(this, this._ctx, this.state); this.enterRule(localctx, 118, sqlParser.RULE_identifierCommentList); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1812; this.match(sqlParser.T__0); this.state = 1813; this.identifierComment(); this.state = 1818; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1814; this.match(sqlParser.T__3); this.state = 1815; this.identifierComment(); this.state = 1820; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1821; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function IdentifierCommentContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_identifierComment; return this; } IdentifierCommentContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); IdentifierCommentContext.prototype.constructor = IdentifierCommentContext; IdentifierCommentContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; IdentifierCommentContext.prototype.COMMENT = function () { return this.getToken(sqlParser.COMMENT, 0); }; IdentifierCommentContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; IdentifierCommentContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIdentifierComment(this); } }; IdentifierCommentContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIdentifierComment(this); } }; IdentifierCommentContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIdentifierComment(this); } else { return visitor.visitChildren(this); } }; sqlParser.IdentifierCommentContext = IdentifierCommentContext; sqlParser.prototype.identifierComment = function () { var localctx = new IdentifierCommentContext(this, this._ctx, this.state); this.enterRule(localctx, 120, sqlParser.RULE_identifierComment); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1823; this.identifier(); this.state = 1826; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.COMMENT) { this.state = 1824; this.match(sqlParser.COMMENT); this.state = 1825; this.match(sqlParser.STRING); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function RelationPrimaryContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_relationPrimary; return this; } RelationPrimaryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); RelationPrimaryContext.prototype.constructor = RelationPrimaryContext; RelationPrimaryContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function TableValuedFunctionContext(parser, ctx) { RelationPrimaryContext.call(this, parser); RelationPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } TableValuedFunctionContext.prototype = Object.create(RelationPrimaryContext.prototype); TableValuedFunctionContext.prototype.constructor = TableValuedFunctionContext; sqlParser.TableValuedFunctionContext = TableValuedFunctionContext; TableValuedFunctionContext.prototype.functionTable = function () { return this.getTypedRuleContext(FunctionTableContext, 0); }; TableValuedFunctionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTableValuedFunction(this); } }; TableValuedFunctionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTableValuedFunction(this); } }; TableValuedFunctionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTableValuedFunction(this); } else { return visitor.visitChildren(this); } }; function InlineTableDefault2Context(parser, ctx) { RelationPrimaryContext.call(this, parser); RelationPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } InlineTableDefault2Context.prototype = Object.create(RelationPrimaryContext.prototype); InlineTableDefault2Context.prototype.constructor = InlineTableDefault2Context; sqlParser.InlineTableDefault2Context = InlineTableDefault2Context; InlineTableDefault2Context.prototype.inlineTable = function () { return this.getTypedRuleContext(InlineTableContext, 0); }; InlineTableDefault2Context.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterInlineTableDefault2(this); } }; InlineTableDefault2Context.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitInlineTableDefault2(this); } }; InlineTableDefault2Context.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitInlineTableDefault2(this); } else { return visitor.visitChildren(this); } }; function AliasedRelationContext(parser, ctx) { RelationPrimaryContext.call(this, parser); RelationPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } AliasedRelationContext.prototype = Object.create(RelationPrimaryContext.prototype); AliasedRelationContext.prototype.constructor = AliasedRelationContext; sqlParser.AliasedRelationContext = AliasedRelationContext; AliasedRelationContext.prototype.relation = function () { return this.getTypedRuleContext(RelationContext, 0); }; AliasedRelationContext.prototype.tableAlias = function () { return this.getTypedRuleContext(TableAliasContext, 0); }; AliasedRelationContext.prototype.sample = function () { return this.getTypedRuleContext(SampleContext, 0); }; AliasedRelationContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterAliasedRelation(this); } }; AliasedRelationContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitAliasedRelation(this); } }; AliasedRelationContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitAliasedRelation(this); } else { return visitor.visitChildren(this); } }; function AliasedQueryContext(parser, ctx) { RelationPrimaryContext.call(this, parser); RelationPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } AliasedQueryContext.prototype = Object.create(RelationPrimaryContext.prototype); AliasedQueryContext.prototype.constructor = AliasedQueryContext; sqlParser.AliasedQueryContext = AliasedQueryContext; AliasedQueryContext.prototype.queryNoWith = function () { return this.getTypedRuleContext(QueryNoWithContext, 0); }; AliasedQueryContext.prototype.tableAlias = function () { return this.getTypedRuleContext(TableAliasContext, 0); }; AliasedQueryContext.prototype.sample = function () { return this.getTypedRuleContext(SampleContext, 0); }; AliasedQueryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterAliasedQuery(this); } }; AliasedQueryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitAliasedQuery(this); } }; AliasedQueryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitAliasedQuery(this); } else { return visitor.visitChildren(this); } }; function TableNameContext(parser, ctx) { RelationPrimaryContext.call(this, parser); RelationPrimaryContext.prototype.copyFrom.call(this, ctx); return this; } TableNameContext.prototype = Object.create(RelationPrimaryContext.prototype); TableNameContext.prototype.constructor = TableNameContext; sqlParser.TableNameContext = TableNameContext; TableNameContext.prototype.tableIdentifier = function () { return this.getTypedRuleContext(TableIdentifierContext, 0); }; TableNameContext.prototype.tableAlias = function () { return this.getTypedRuleContext(TableAliasContext, 0); }; TableNameContext.prototype.sample = function () { return this.getTypedRuleContext(SampleContext, 0); }; TableNameContext.prototype.matchRecognize = function () { return this.getTypedRuleContext(MatchRecognizeContext, 0); }; TableNameContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTableName(this); } }; TableNameContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTableName(this); } }; TableNameContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTableName(this); } else { return visitor.visitChildren(this); } }; sqlParser.RelationPrimaryContext = RelationPrimaryContext; sqlParser.prototype.relationPrimary = function () { var localctx = new RelationPrimaryContext(this, this._ctx, this.state); this.enterRule(localctx, 122, sqlParser.RULE_relationPrimary); try { this.state = 1853; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 240, this._ctx); switch (la_) { case 1: localctx = new TableNameContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 1828; this.tableIdentifier(); this.state = 1831; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 237, this._ctx); if (la_ === 1) { this.state = 1829; this.sample(); } else if (la_ === 2) { this.state = 1830; this.matchRecognize(); } this.state = 1833; this.tableAlias(); break; case 2: localctx = new AliasedQueryContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 1835; this.match(sqlParser.T__0); this.state = 1836; this.queryNoWith(); this.state = 1837; this.match(sqlParser.T__1); this.state = 1839; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 238, this._ctx); if (la_ === 1) { this.state = 1838; this.sample(); } this.state = 1841; this.tableAlias(); break; case 3: localctx = new AliasedRelationContext(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 1843; this.match(sqlParser.T__0); this.state = 1844; this.relation(); this.state = 1845; this.match(sqlParser.T__1); this.state = 1847; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 239, this._ctx); if (la_ === 1) { this.state = 1846; this.sample(); } this.state = 1849; this.tableAlias(); break; case 4: localctx = new InlineTableDefault2Context(this, localctx); this.enterOuterAlt(localctx, 4); this.state = 1851; this.inlineTable(); break; case 5: localctx = new TableValuedFunctionContext(this, localctx); this.enterOuterAlt(localctx, 5); this.state = 1852; this.functionTable(); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function MatchRecognizeContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_matchRecognize; return this; } MatchRecognizeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); MatchRecognizeContext.prototype.constructor = MatchRecognizeContext; MatchRecognizeContext.prototype.MATCH_RECOGNIZE = function () { return this.getToken(sqlParser.MATCH_RECOGNIZE, 0); }; MatchRecognizeContext.prototype.PATTERN = function () { return this.getToken(sqlParser.PATTERN, 0); }; MatchRecognizeContext.prototype.pattern1 = function () { return this.getTypedRuleContext(Pattern1Context, 0); }; MatchRecognizeContext.prototype.DEFINE = function () { return this.getToken(sqlParser.DEFINE, 0); }; MatchRecognizeContext.prototype.variable = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(VariableContext); } else { return this.getTypedRuleContext(VariableContext, i); } }; MatchRecognizeContext.prototype.AS = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.AS); } else { return this.getToken(sqlParser.AS, i); } }; MatchRecognizeContext.prototype.condition1 = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(Condition1Context); } else { return this.getTypedRuleContext(Condition1Context, i); } }; MatchRecognizeContext.prototype.PARTITION = function () { return this.getToken(sqlParser.PARTITION, 0); }; MatchRecognizeContext.prototype.BY = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.BY); } else { return this.getToken(sqlParser.BY, i); } }; MatchRecognizeContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; MatchRecognizeContext.prototype.ORDER = function () { return this.getToken(sqlParser.ORDER, 0); }; MatchRecognizeContext.prototype.sortItem = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(SortItemContext); } else { return this.getTypedRuleContext(SortItemContext, i); } }; MatchRecognizeContext.prototype.MEASURES = function () { return this.getToken(sqlParser.MEASURES, 0); }; MatchRecognizeContext.prototype.measureColumn = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(MeasureColumnContext); } else { return this.getTypedRuleContext(MeasureColumnContext, i); } }; MatchRecognizeContext.prototype.ONE = function () { return this.getToken(sqlParser.ONE, 0); }; MatchRecognizeContext.prototype.ROW = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.ROW); } else { return this.getToken(sqlParser.ROW, i); } }; MatchRecognizeContext.prototype.PER = function () { return this.getToken(sqlParser.PER, 0); }; MatchRecognizeContext.prototype.MATCH = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.MATCH); } else { return this.getToken(sqlParser.MATCH, i); } }; MatchRecognizeContext.prototype.AFTER = function () { return this.getToken(sqlParser.AFTER, 0); }; MatchRecognizeContext.prototype.WITHIN = function () { return this.getToken(sqlParser.WITHIN, 0); }; MatchRecognizeContext.prototype.interval = function () { return this.getTypedRuleContext(IntervalContext, 0); }; MatchRecognizeContext.prototype.SKIP1 = function () { return this.getToken(sqlParser.SKIP1, 0); }; MatchRecognizeContext.prototype.TO = function () { return this.getToken(sqlParser.TO, 0); }; MatchRecognizeContext.prototype.NEXT = function () { return this.getToken(sqlParser.NEXT, 0); }; MatchRecognizeContext.prototype.PAST = function () { return this.getToken(sqlParser.PAST, 0); }; MatchRecognizeContext.prototype.LAST = function () { return this.getToken(sqlParser.LAST, 0); }; MatchRecognizeContext.prototype.FIRST = function () { return this.getToken(sqlParser.FIRST, 0); }; MatchRecognizeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterMatchRecognize(this); } }; MatchRecognizeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitMatchRecognize(this); } }; MatchRecognizeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitMatchRecognize(this); } else { return visitor.visitChildren(this); } }; sqlParser.MatchRecognizeContext = MatchRecognizeContext; sqlParser.prototype.matchRecognize = function () { var localctx = new MatchRecognizeContext(this, this._ctx, this.state); this.enterRule(localctx, 124, sqlParser.RULE_matchRecognize); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1855; this.match(sqlParser.MATCH_RECOGNIZE); this.state = 1856; this.match(sqlParser.T__0); this.state = 1867; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION) { this.state = 1857; this.match(sqlParser.PARTITION); this.state = 1858; this.match(sqlParser.BY); this.state = 1859; this.expression(); this.state = 1864; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1860; this.match(sqlParser.T__3); this.state = 1861; this.expression(); this.state = 1866; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1879; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ORDER) { this.state = 1869; this.match(sqlParser.ORDER); this.state = 1870; this.match(sqlParser.BY); this.state = 1871; this.sortItem(); this.state = 1876; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1872; this.match(sqlParser.T__3); this.state = 1873; this.sortItem(); this.state = 1878; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1890; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MEASURES) { this.state = 1881; this.match(sqlParser.MEASURES); this.state = 1882; this.measureColumn(); this.state = 1887; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1883; this.match(sqlParser.T__3); this.state = 1884; this.measureColumn(); this.state = 1889; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 1896; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ONE) { this.state = 1892; this.match(sqlParser.ONE); this.state = 1893; this.match(sqlParser.ROW); this.state = 1894; this.match(sqlParser.PER); this.state = 1895; this.match(sqlParser.MATCH); } this.state = 1921; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.AFTER) { this.state = 1898; this.match(sqlParser.AFTER); this.state = 1899; this.match(sqlParser.MATCH); this.state = 1919; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 248, this._ctx); switch (la_) { case 1: this.state = 1900; this.match(sqlParser.SKIP1); this.state = 1901; this.match(sqlParser.TO); this.state = 1902; this.match(sqlParser.NEXT); this.state = 1903; this.match(sqlParser.ROW); break; case 2: this.state = 1904; this.match(sqlParser.SKIP1); this.state = 1905; this.match(sqlParser.PAST); this.state = 1906; this.match(sqlParser.LAST); this.state = 1907; this.match(sqlParser.ROW); break; case 3: this.state = 1908; this.match(sqlParser.SKIP1); this.state = 1909; this.match(sqlParser.TO); this.state = 1910; this.match(sqlParser.FIRST); this.state = 1911; this.variable(); break; case 4: this.state = 1912; this.match(sqlParser.SKIP1); this.state = 1913; this.match(sqlParser.TO); this.state = 1914; this.match(sqlParser.LAST); this.state = 1915; this.variable(); break; case 5: this.state = 1916; this.match(sqlParser.SKIP1); this.state = 1917; this.match(sqlParser.TO); this.state = 1918; this.variable(); break; } } this.state = 1923; this.match(sqlParser.PATTERN); this.state = 1924; this.match(sqlParser.T__0); this.state = 1925; this.pattern1(); this.state = 1926; this.match(sqlParser.T__1); this.state = 1929; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.WITHIN) { this.state = 1927; this.match(sqlParser.WITHIN); this.state = 1928; this.interval(); } this.state = 1931; this.match(sqlParser.DEFINE); this.state = 1932; this.variable(); this.state = 1933; this.match(sqlParser.AS); this.state = 1934; this.condition1(); this.state = 1942; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 1935; this.match(sqlParser.T__3); this.state = 1936; this.variable(); this.state = 1937; this.match(sqlParser.AS); this.state = 1938; this.condition1(); this.state = 1944; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1945; this.match(sqlParser.T__1); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function MeasureColumnContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_measureColumn; return this; } MeasureColumnContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); MeasureColumnContext.prototype.constructor = MeasureColumnContext; MeasureColumnContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; MeasureColumnContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; MeasureColumnContext.prototype.strictIdentifier = function () { return this.getTypedRuleContext(StrictIdentifierContext, 0); }; MeasureColumnContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterMeasureColumn(this); } }; MeasureColumnContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitMeasureColumn(this); } }; MeasureColumnContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitMeasureColumn(this); } else { return visitor.visitChildren(this); } }; sqlParser.MeasureColumnContext = MeasureColumnContext; sqlParser.prototype.measureColumn = function () { var localctx = new MeasureColumnContext(this, this._ctx, this.state); this.enterRule(localctx, 126, sqlParser.RULE_measureColumn); try { this.enterOuterAlt(localctx, 1); this.state = 1947; this.expression(); this.state = 1948; this.match(sqlParser.AS); this.state = 1949; this.strictIdentifier(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function Condition1Context(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_condition1; return this; } Condition1Context.prototype = Object.create(antlr4.ParserRuleContext.prototype); Condition1Context.prototype.constructor = Condition1Context; Condition1Context.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; Condition1Context.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCondition1(this); } }; Condition1Context.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCondition1(this); } }; Condition1Context.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCondition1(this); } else { return visitor.visitChildren(this); } }; sqlParser.Condition1Context = Condition1Context; sqlParser.prototype.condition1 = function () { var localctx = new Condition1Context(this, this._ctx, this.state); this.enterRule(localctx, 128, sqlParser.RULE_condition1); try { this.enterOuterAlt(localctx, 1); this.state = 1951; this.expression(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function VariableContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_variable; return this; } VariableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); VariableContext.prototype.constructor = VariableContext; VariableContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; VariableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterVariable(this); } }; VariableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitVariable(this); } }; VariableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitVariable(this); } else { return visitor.visitChildren(this); } }; sqlParser.VariableContext = VariableContext; sqlParser.prototype.variable = function () { var localctx = new VariableContext(this, this._ctx, this.state); this.enterRule(localctx, 130, sqlParser.RULE_variable); try { this.enterOuterAlt(localctx, 1); this.state = 1953; this.identifier(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function Pattern1Context(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_pattern1; return this; } Pattern1Context.prototype = Object.create(antlr4.ParserRuleContext.prototype); Pattern1Context.prototype.constructor = Pattern1Context; Pattern1Context.prototype.patternTerm = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PatternTermContext); } else { return this.getTypedRuleContext(PatternTermContext, i); } }; Pattern1Context.prototype.PIPE = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.PIPE); } else { return this.getToken(sqlParser.PIPE, i); } }; Pattern1Context.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPattern1(this); } }; Pattern1Context.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPattern1(this); } }; Pattern1Context.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPattern1(this); } else { return visitor.visitChildren(this); } }; sqlParser.Pattern1Context = Pattern1Context; sqlParser.prototype.pattern1 = function () { var localctx = new Pattern1Context(this, this._ctx, this.state); this.enterRule(localctx, 132, sqlParser.RULE_pattern1); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1955; this.patternTerm(); this.state = 1960; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.PIPE) { this.state = 1956; this.match(sqlParser.PIPE); this.state = 1957; this.patternTerm(); this.state = 1962; this._errHandler.sync(this); _la = this._input.LA(1); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PatternTermContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_patternTerm; return this; } PatternTermContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PatternTermContext.prototype.constructor = PatternTermContext; PatternTermContext.prototype.patternFactor = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(PatternFactorContext); } else { return this.getTypedRuleContext(PatternFactorContext, i); } }; PatternTermContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPatternTerm(this); } }; PatternTermContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPatternTerm(this); } }; PatternTermContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPatternTerm(this); } else { return visitor.visitChildren(this); } }; sqlParser.PatternTermContext = PatternTermContext; sqlParser.prototype.patternTerm = function () { var localctx = new PatternTermContext(this, this._ctx, this.state); this.enterRule(localctx, 134, sqlParser.RULE_patternTerm); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1963; this.patternFactor(); this.state = 1967; this._errHandler.sync(this); _la = this._input.LA(1); while (((((_la - 19)) & ~0x1f) == 0 && ((1 << (_la - 19)) & ((1 << (sqlParser.SELECT - 19)) | (1 << (sqlParser.FROM - 19)) | (1 << (sqlParser.ADD - 19)) | (1 << (sqlParser.AS - 19)) | (1 << (sqlParser.ALL - 19)) | (1 << (sqlParser.ANY - 19)) | (1 << (sqlParser.DISTINCT - 19)) | (1 << (sqlParser.WHERE - 19)) | (1 << (sqlParser.GROUP - 19)) | (1 << (sqlParser.BY - 19)) | (1 << (sqlParser.GROUPING - 19)) | (1 << (sqlParser.SETS - 19)) | (1 << (sqlParser.CUBE - 19)) | (1 << (sqlParser.ROLLUP - 19)) | (1 << (sqlParser.ORDER - 19)) | (1 << (sqlParser.HAVING - 19)) | (1 << (sqlParser.LIMIT - 19)) | (1 << (sqlParser.AT - 19)) | (1 << (sqlParser.OR - 19)) | (1 << (sqlParser.AND - 19)) | (1 << (sqlParser.IN - 19)) | (1 << (sqlParser.NOT - 19)) | (1 << (sqlParser.NO - 19)) | (1 << (sqlParser.EXISTS - 19)) | (1 << (sqlParser.BETWEEN - 19)) | (1 << (sqlParser.LIKE - 19)) | (1 << (sqlParser.RLIKE - 19)) | (1 << (sqlParser.IS - 19)) | (1 << (sqlParser.NULL - 19)) | (1 << (sqlParser.TRUE - 19)) | (1 << (sqlParser.FALSE - 19)) | (1 << (sqlParser.NULLS - 19)))) !== 0) || ((((_la - 51)) & ~0x1f) == 0 && ((1 << (_la - 51)) & ((1 << (sqlParser.ASC - 51)) | (1 << (sqlParser.DESC - 51)) | (1 << (sqlParser.FOR - 51)) | (1 << (sqlParser.INTERVAL - 51)) | (1 << (sqlParser.CASE - 51)) | (1 << (sqlParser.WHEN - 51)) | (1 << (sqlParser.THEN - 51)) | (1 << (sqlParser.ELSE - 51)) | (1 << (sqlParser.END - 51)) | (1 << (sqlParser.JOIN - 51)) | (1 << (sqlParser.CROSS - 51)) | (1 << (sqlParser.OUTER - 51)) | (1 << (sqlParser.INNER - 51)) | (1 << (sqlParser.LEFT - 51)) | (1 << (sqlParser.SEMI - 51)) | (1 << (sqlParser.RIGHT - 51)) | (1 << (sqlParser.FULL - 51)) | (1 << (sqlParser.NATURAL - 51)) | (1 << (sqlParser.ON - 51)) | (1 << (sqlParser.PIVOT - 51)) | (1 << (sqlParser.LATERAL - 51)) | (1 << (sqlParser.WINDOW - 51)) | (1 << (sqlParser.OVER - 51)) | (1 << (sqlParser.PARTITION - 51)) | (1 << (sqlParser.RANGE - 51)) | (1 << (sqlParser.ROWS - 51)) | (1 << (sqlParser.UNBOUNDED - 51)) | (1 << (sqlParser.PRECEDING - 51)) | (1 << (sqlParser.FOLLOWING - 51)) | (1 << (sqlParser.CURRENT - 51)) | (1 << (sqlParser.FIRST - 51)) | (1 << (sqlParser.AFTER - 51)))) !== 0) || ((((_la - 83)) & ~0x1f) == 0 && ((1 << (_la - 83)) & ((1 << (sqlParser.LAST - 83)) | (1 << (sqlParser.ROW - 83)) | (1 << (sqlParser.WITH - 83)) | (1 << (sqlParser.CREATE - 83)) | (1 << (sqlParser.TABLE - 83)) | (1 << (sqlParser.DIRECTORY - 83)) | (1 << (sqlParser.VIEW - 83)) | (1 << (sqlParser.REPLACE - 83)) | (1 << (sqlParser.INSERT - 83)) | (1 << (sqlParser.DELETE - 83)) | (1 << (sqlParser.INTO - 83)) | (1 << (sqlParser.DESCRIBE - 83)) | (1 << (sqlParser.EXPLAIN - 83)) | (1 << (sqlParser.FORMAT - 83)) | (1 << (sqlParser.LOGICAL - 83)) | (1 << (sqlParser.CODEGEN - 83)) | (1 << (sqlParser.COST - 83)) | (1 << (sqlParser.CAST - 83)) | (1 << (sqlParser.SHOW - 83)) | (1 << (sqlParser.TABLES - 83)) | (1 << (sqlParser.COLUMNS - 83)) | (1 << (sqlParser.COLUMN - 83)) | (1 << (sqlParser.USE - 83)) | (1 << (sqlParser.PARTITIONS - 83)) | (1 << (sqlParser.FUNCTIONS - 83)) | (1 << (sqlParser.DROP - 83)) | (1 << (sqlParser.UNION - 83)) | (1 << (sqlParser.EXCEPT - 83)) | (1 << (sqlParser.SETMINUS - 83)) | (1 << (sqlParser.INTERSECT - 83)) | (1 << (sqlParser.TO - 83)))) !== 0) || ((((_la - 115)) & ~0x1f) == 0 && ((1 << (_la - 115)) & ((1 << (sqlParser.TABLESAMPLE - 115)) | (1 << (sqlParser.STRATIFY - 115)) | (1 << (sqlParser.ALTER - 115)) | (1 << (sqlParser.RENAME - 115)) | (1 << (sqlParser.ARRAY - 115)) | (1 << (sqlParser.MAP - 115)) | (1 << (sqlParser.STRUCT - 115)) | (1 << (sqlParser.COMMENT - 115)) | (1 << (sqlParser.SET - 115)) | (1 << (sqlParser.RESET - 115)) | (1 << (sqlParser.DATA - 115)) | (1 << (sqlParser.START - 115)) | (1 << (sqlParser.TRANSACTION - 115)) | (1 << (sqlParser.COMMIT - 115)) | (1 << (sqlParser.ROLLBACK - 115)) | (1 << (sqlParser.MACRO - 115)) | (1 << (sqlParser.IGNORE - 115)) | (1 << (sqlParser.BOTH - 115)) | (1 << (sqlParser.LEADING - 115)) | (1 << (sqlParser.TRAILING - 115)) | (1 << (sqlParser.IF - 115)) | (1 << (sqlParser.POSITION - 115)) | (1 << (sqlParser.EXTRACT - 115)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (sqlParser.DIV - 151)) | (1 << (sqlParser.PERCENTLIT - 151)) | (1 << (sqlParser.BUCKET - 151)) | (1 << (sqlParser.OUT - 151)) | (1 << (sqlParser.OF - 151)) | (1 << (sqlParser.SORT - 151)) | (1 << (sqlParser.CLUSTER - 151)) | (1 << (sqlParser.DISTRIBUTE - 151)) | (1 << (sqlParser.OVERWRITE - 151)) | (1 << (sqlParser.TRANSFORM - 151)) | (1 << (sqlParser.REDUCE - 151)) | (1 << (sqlParser.SERDE - 151)) | (1 << (sqlParser.SERDEPROPERTIES - 151)) | (1 << (sqlParser.RECORDREADER - 151)) | (1 << (sqlParser.RECORDWRITER - 151)) | (1 << (sqlParser.DELIMITED - 151)) | (1 << (sqlParser.FIELDS - 151)) | (1 << (sqlParser.TERMINATED - 151)) | (1 << (sqlParser.COLLECTION - 151)) | (1 << (sqlParser.ITEMS - 151)) | (1 << (sqlParser.KEYS - 151)) | (1 << (sqlParser.ESCAPED - 151)) | (1 << (sqlParser.LINES - 151)) | (1 << (sqlParser.SEPARATED - 151)) | (1 << (sqlParser.FUNCTION - 151)) | (1 << (sqlParser.EXTENDED - 151)))) !== 0) || ((((_la - 183)) & ~0x1f) == 0 && ((1 << (_la - 183)) & ((1 << (sqlParser.REFRESH - 183)) | (1 << (sqlParser.CLEAR - 183)) | (1 << (sqlParser.CACHE - 183)) | (1 << (sqlParser.UNCACHE - 183)) | (1 << (sqlParser.LAZY - 183)) | (1 << (sqlParser.FORMATTED - 183)) | (1 << (sqlParser.GLOBAL - 183)) | (1 << (sqlParser.TEMPORARY - 183)) | (1 << (sqlParser.OPTIONS - 183)) | (1 << (sqlParser.UNSET - 183)) | (1 << (sqlParser.TBLPROPERTIES - 183)) | (1 << (sqlParser.DBPROPERTIES - 183)) | (1 << (sqlParser.BUCKETS - 183)) | (1 << (sqlParser.SKEWED - 183)) | (1 << (sqlParser.STORED - 183)) | (1 << (sqlParser.DIRECTORIES - 183)) | (1 << (sqlParser.LOCATION - 183)) | (1 << (sqlParser.EXCHANGE - 183)) | (1 << (sqlParser.ARCHIVE - 183)) | (1 << (sqlParser.UNARCHIVE - 183)) | (1 << (sqlParser.FILEFORMAT - 183)) | (1 << (sqlParser.TOUCH - 183)) | (1 << (sqlParser.COMPACT - 183)) | (1 << (sqlParser.CONCATENATE - 183)) | (1 << (sqlParser.CHANGE - 183)) | (1 << (sqlParser.CASCADE - 183)) | (1 << (sqlParser.RESTRICT - 183)) | (1 << (sqlParser.CLUSTERED - 183)) | (1 << (sqlParser.SORTED - 183)) | (1 << (sqlParser.PURGE - 183)) | (1 << (sqlParser.INPUTFORMAT - 183)) | (1 << (sqlParser.OUTPUTFORMAT - 183)))) !== 0) || ((((_la - 215)) & ~0x1f) == 0 && ((1 << (_la - 215)) & ((1 << (sqlParser.DATABASE - 215)) | (1 << (sqlParser.DATABASES - 215)) | (1 << (sqlParser.DFS - 215)) | (1 << (sqlParser.TRUNCATE - 215)) | (1 << (sqlParser.ANALYZE - 215)) | (1 << (sqlParser.COMPUTE - 215)) | (1 << (sqlParser.LIST - 215)) | (1 << (sqlParser.STATISTICS - 215)) | (1 << (sqlParser.PARTITIONED - 215)) | (1 << (sqlParser.EXTERNAL - 215)) | (1 << (sqlParser.DEFINED - 215)) | (1 << (sqlParser.REVOKE - 215)) | (1 << (sqlParser.GRANT - 215)) | (1 << (sqlParser.LOCK - 215)) | (1 << (sqlParser.UNLOCK - 215)) | (1 << (sqlParser.MSCK - 215)) | (1 << (sqlParser.REPAIR - 215)) | (1 << (sqlParser.RECOVER - 215)) | (1 << (sqlParser.EXPORT - 215)) | (1 << (sqlParser.IMPORT - 215)) | (1 << (sqlParser.LOAD - 215)) | (1 << (sqlParser.ROLE - 215)) | (1 << (sqlParser.ROLES - 215)) | (1 << (sqlParser.COMPACTIONS - 215)) | (1 << (sqlParser.PRINCIPALS - 215)) | (1 << (sqlParser.TRANSACTIONS - 215)) | (1 << (sqlParser.INDEX - 215)) | (1 << (sqlParser.INDEXES - 215)) | (1 << (sqlParser.LOCKS - 215)) | (1 << (sqlParser.OPTION - 215)) | (1 << (sqlParser.ANTI - 215)) | (1 << (sqlParser.LOCAL - 215)))) !== 0) || ((((_la - 247)) & ~0x1f) == 0 && ((1 << (_la - 247)) & ((1 << (sqlParser.INPATH - 247)) | (1 << (sqlParser.IDENTIFIER - 247)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 247)))) !== 0)) { this.state = 1964; this.patternFactor(); this.state = 1969; this._errHandler.sync(this); _la = this._input.LA(1); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PatternFactorContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_patternFactor; return this; } PatternFactorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PatternFactorContext.prototype.constructor = PatternFactorContext; PatternFactorContext.prototype.variable = function () { return this.getTypedRuleContext(VariableContext, 0); }; PatternFactorContext.prototype.patternQuantifier = function () { return this.getTypedRuleContext(PatternQuantifierContext, 0); }; PatternFactorContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPatternFactor(this); } }; PatternFactorContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPatternFactor(this); } }; PatternFactorContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPatternFactor(this); } else { return visitor.visitChildren(this); } }; sqlParser.PatternFactorContext = PatternFactorContext; sqlParser.prototype.patternFactor = function () { var localctx = new PatternFactorContext(this, this._ctx, this.state); this.enterRule(localctx, 136, sqlParser.RULE_patternFactor); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 1970; this.variable(); this.state = 1972; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__6) | (1 << sqlParser.T__7) | (1 << sqlParser.T__8) | (1 << sqlParser.T__9) | (1 << sqlParser.T__10))) !== 0) || _la === sqlParser.PLUS || _la === sqlParser.ASTERISK) { this.state = 1971; this.patternQuantifier(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PatternQuantifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_patternQuantifier; return this; } PatternQuantifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PatternQuantifierContext.prototype.constructor = PatternQuantifierContext; PatternQuantifierContext.prototype.ASTERISK = function () { return this.getToken(sqlParser.ASTERISK, 0); }; PatternQuantifierContext.prototype.PLUS = function () { return this.getToken(sqlParser.PLUS, 0); }; PatternQuantifierContext.prototype.minRepeat = function () { return this.getTypedRuleContext(MinRepeatContext, 0); }; PatternQuantifierContext.prototype.maxRepeat = function () { return this.getTypedRuleContext(MaxRepeatContext, 0); }; PatternQuantifierContext.prototype.repeat = function () { return this.getTypedRuleContext(RepeatContext, 0); }; PatternQuantifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPatternQuantifier(this); } }; PatternQuantifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPatternQuantifier(this); } }; PatternQuantifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPatternQuantifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.PatternQuantifierContext = PatternQuantifierContext; sqlParser.prototype.patternQuantifier = function () { var localctx = new PatternQuantifierContext(this, this._ctx, this.state); this.enterRule(localctx, 138, sqlParser.RULE_patternQuantifier); var _la = 0; // Token type try { this.state = 1996; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 258, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 1974; this.match(sqlParser.ASTERISK); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 1975; this.match(sqlParser.T__6); break; case 3: this.enterOuterAlt(localctx, 3); this.state = 1976; this.match(sqlParser.PLUS); break; case 4: this.enterOuterAlt(localctx, 4); this.state = 1977; this.match(sqlParser.T__7); break; case 5: this.enterOuterAlt(localctx, 5); this.state = 1978; this.match(sqlParser.T__8); break; case 6: this.enterOuterAlt(localctx, 6); this.state = 1979; this.match(sqlParser.T__9); break; case 7: this.enterOuterAlt(localctx, 7); this.state = 1980; this.match(sqlParser.T__10); this.state = 1982; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.INTEGER_VALUE) { this.state = 1981; this.minRepeat(); } this.state = 1984; this.match(sqlParser.T__3); this.state = 1986; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.INTEGER_VALUE) { this.state = 1985; this.maxRepeat(); } this.state = 1988; this.match(sqlParser.T__11); this.state = 1990; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.T__8) { this.state = 1989; this.match(sqlParser.T__8); } break; case 8: this.enterOuterAlt(localctx, 8); this.state = 1992; this.match(sqlParser.T__10); this.state = 1993; this.repeat(); this.state = 1994; this.match(sqlParser.T__11); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function MinRepeatContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_minRepeat; return this; } MinRepeatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); MinRepeatContext.prototype.constructor = MinRepeatContext; MinRepeatContext.prototype.INTEGER_VALUE = function () { return this.getToken(sqlParser.INTEGER_VALUE, 0); }; MinRepeatContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterMinRepeat(this); } }; MinRepeatContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitMinRepeat(this); } }; MinRepeatContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitMinRepeat(this); } else { return visitor.visitChildren(this); } }; sqlParser.MinRepeatContext = MinRepeatContext; sqlParser.prototype.minRepeat = function () { var localctx = new MinRepeatContext(this, this._ctx, this.state); this.enterRule(localctx, 140, sqlParser.RULE_minRepeat); try { this.enterOuterAlt(localctx, 1); this.state = 1998; this.match(sqlParser.INTEGER_VALUE); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function MaxRepeatContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_maxRepeat; return this; } MaxRepeatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); MaxRepeatContext.prototype.constructor = MaxRepeatContext; MaxRepeatContext.prototype.INTEGER_VALUE = function () { return this.getToken(sqlParser.INTEGER_VALUE, 0); }; MaxRepeatContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterMaxRepeat(this); } }; MaxRepeatContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitMaxRepeat(this); } }; MaxRepeatContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitMaxRepeat(this); } else { return visitor.visitChildren(this); } }; sqlParser.MaxRepeatContext = MaxRepeatContext; sqlParser.prototype.maxRepeat = function () { var localctx = new MaxRepeatContext(this, this._ctx, this.state); this.enterRule(localctx, 142, sqlParser.RULE_maxRepeat); try { this.enterOuterAlt(localctx, 1); this.state = 2000; this.match(sqlParser.INTEGER_VALUE); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function RepeatContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_repeat; return this; } RepeatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); RepeatContext.prototype.constructor = RepeatContext; RepeatContext.prototype.INTEGER_VALUE = function () { return this.getToken(sqlParser.INTEGER_VALUE, 0); }; RepeatContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRepeat(this); } }; RepeatContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRepeat(this); } }; RepeatContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRepeat(this); } else { return visitor.visitChildren(this); } }; sqlParser.RepeatContext = RepeatContext; sqlParser.prototype.repeat = function () { var localctx = new RepeatContext(this, this._ctx, this.state); this.enterRule(localctx, 144, sqlParser.RULE_repeat); try { this.enterOuterAlt(localctx, 1); this.state = 2002; this.match(sqlParser.INTEGER_VALUE); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function InlineTableContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_inlineTable; return this; } InlineTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); InlineTableContext.prototype.constructor = InlineTableContext; InlineTableContext.prototype.VALUES = function () { return this.getToken(sqlParser.VALUES, 0); }; InlineTableContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; InlineTableContext.prototype.tableAlias = function () { return this.getTypedRuleContext(TableAliasContext, 0); }; InlineTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterInlineTable(this); } }; InlineTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitInlineTable(this); } }; InlineTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitInlineTable(this); } else { return visitor.visitChildren(this); } }; sqlParser.InlineTableContext = InlineTableContext; sqlParser.prototype.inlineTable = function () { var localctx = new InlineTableContext(this, this._ctx, this.state); this.enterRule(localctx, 146, sqlParser.RULE_inlineTable); try { this.enterOuterAlt(localctx, 1); this.state = 2004; this.match(sqlParser.VALUES); this.state = 2005; this.expression(); this.state = 2010; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 259, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 2006; this.match(sqlParser.T__3); this.state = 2007; this.expression(); } this.state = 2012; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 259, this._ctx); } this.state = 2013; this.tableAlias(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function FunctionTableContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_functionTable; return this; } FunctionTableContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); FunctionTableContext.prototype.constructor = FunctionTableContext; FunctionTableContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; FunctionTableContext.prototype.tableAlias = function () { return this.getTypedRuleContext(TableAliasContext, 0); }; FunctionTableContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; FunctionTableContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterFunctionTable(this); } }; FunctionTableContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitFunctionTable(this); } }; FunctionTableContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitFunctionTable(this); } else { return visitor.visitChildren(this); } }; sqlParser.FunctionTableContext = FunctionTableContext; sqlParser.prototype.functionTable = function () { var localctx = new FunctionTableContext(this, this._ctx, this.state); this.enterRule(localctx, 148, sqlParser.RULE_functionTable); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2015; this.identifier(); this.state = 2016; this.match(sqlParser.T__0); this.state = 2025; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.ADD) | (1 << sqlParser.AS) | (1 << sqlParser.ALL) | (1 << sqlParser.ANY) | (1 << sqlParser.DISTINCT) | (1 << sqlParser.WHERE) | (1 << sqlParser.GROUP) | (1 << sqlParser.BY) | (1 << sqlParser.GROUPING) | (1 << sqlParser.SETS) | (1 << sqlParser.CUBE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (sqlParser.ROLLUP - 32)) | (1 << (sqlParser.ORDER - 32)) | (1 << (sqlParser.HAVING - 32)) | (1 << (sqlParser.LIMIT - 32)) | (1 << (sqlParser.AT - 32)) | (1 << (sqlParser.OR - 32)) | (1 << (sqlParser.AND - 32)) | (1 << (sqlParser.IN - 32)) | (1 << (sqlParser.NOT - 32)) | (1 << (sqlParser.NO - 32)) | (1 << (sqlParser.EXISTS - 32)) | (1 << (sqlParser.BETWEEN - 32)) | (1 << (sqlParser.LIKE - 32)) | (1 << (sqlParser.RLIKE - 32)) | (1 << (sqlParser.IS - 32)) | (1 << (sqlParser.NULL - 32)) | (1 << (sqlParser.TRUE - 32)) | (1 << (sqlParser.FALSE - 32)) | (1 << (sqlParser.NULLS - 32)) | (1 << (sqlParser.ASC - 32)) | (1 << (sqlParser.DESC - 32)) | (1 << (sqlParser.FOR - 32)) | (1 << (sqlParser.INTERVAL - 32)) | (1 << (sqlParser.CASE - 32)) | (1 << (sqlParser.WHEN - 32)) | (1 << (sqlParser.THEN - 32)) | (1 << (sqlParser.ELSE - 32)) | (1 << (sqlParser.END - 32)) | (1 << (sqlParser.JOIN - 32)) | (1 << (sqlParser.CROSS - 32)) | (1 << (sqlParser.OUTER - 32)) | (1 << (sqlParser.INNER - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (sqlParser.LEFT - 64)) | (1 << (sqlParser.SEMI - 64)) | (1 << (sqlParser.RIGHT - 64)) | (1 << (sqlParser.FULL - 64)) | (1 << (sqlParser.NATURAL - 64)) | (1 << (sqlParser.ON - 64)) | (1 << (sqlParser.PIVOT - 64)) | (1 << (sqlParser.LATERAL - 64)) | (1 << (sqlParser.WINDOW - 64)) | (1 << (sqlParser.OVER - 64)) | (1 << (sqlParser.PARTITION - 64)) | (1 << (sqlParser.RANGE - 64)) | (1 << (sqlParser.ROWS - 64)) | (1 << (sqlParser.UNBOUNDED - 64)) | (1 << (sqlParser.PRECEDING - 64)) | (1 << (sqlParser.FOLLOWING - 64)) | (1 << (sqlParser.CURRENT - 64)) | (1 << (sqlParser.FIRST - 64)) | (1 << (sqlParser.AFTER - 64)) | (1 << (sqlParser.LAST - 64)) | (1 << (sqlParser.ROW - 64)) | (1 << (sqlParser.WITH - 64)) | (1 << (sqlParser.CREATE - 64)) | (1 << (sqlParser.TABLE - 64)) | (1 << (sqlParser.DIRECTORY - 64)) | (1 << (sqlParser.VIEW - 64)) | (1 << (sqlParser.REPLACE - 64)) | (1 << (sqlParser.INSERT - 64)) | (1 << (sqlParser.DELETE - 64)) | (1 << (sqlParser.INTO - 64)) | (1 << (sqlParser.DESCRIBE - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (sqlParser.EXPLAIN - 96)) | (1 << (sqlParser.FORMAT - 96)) | (1 << (sqlParser.LOGICAL - 96)) | (1 << (sqlParser.CODEGEN - 96)) | (1 << (sqlParser.COST - 96)) | (1 << (sqlParser.CAST - 96)) | (1 << (sqlParser.SHOW - 96)) | (1 << (sqlParser.TABLES - 96)) | (1 << (sqlParser.COLUMNS - 96)) | (1 << (sqlParser.COLUMN - 96)) | (1 << (sqlParser.USE - 96)) | (1 << (sqlParser.PARTITIONS - 96)) | (1 << (sqlParser.FUNCTIONS - 96)) | (1 << (sqlParser.DROP - 96)) | (1 << (sqlParser.UNION - 96)) | (1 << (sqlParser.EXCEPT - 96)) | (1 << (sqlParser.SETMINUS - 96)) | (1 << (sqlParser.INTERSECT - 96)) | (1 << (sqlParser.TO - 96)) | (1 << (sqlParser.TABLESAMPLE - 96)) | (1 << (sqlParser.STRATIFY - 96)) | (1 << (sqlParser.ALTER - 96)) | (1 << (sqlParser.RENAME - 96)) | (1 << (sqlParser.ARRAY - 96)) | (1 << (sqlParser.MAP - 96)) | (1 << (sqlParser.STRUCT - 96)) | (1 << (sqlParser.COMMENT - 96)) | (1 << (sqlParser.SET - 96)) | (1 << (sqlParser.RESET - 96)) | (1 << (sqlParser.DATA - 96)) | (1 << (sqlParser.START - 96)) | (1 << (sqlParser.TRANSACTION - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (sqlParser.COMMIT - 128)) | (1 << (sqlParser.ROLLBACK - 128)) | (1 << (sqlParser.MACRO - 128)) | (1 << (sqlParser.IGNORE - 128)) | (1 << (sqlParser.BOTH - 128)) | (1 << (sqlParser.LEADING - 128)) | (1 << (sqlParser.TRAILING - 128)) | (1 << (sqlParser.IF - 128)) | (1 << (sqlParser.POSITION - 128)) | (1 << (sqlParser.EXTRACT - 128)) | (1 << (sqlParser.PLUS - 128)) | (1 << (sqlParser.MINUS - 128)) | (1 << (sqlParser.ASTERISK - 128)) | (1 << (sqlParser.DIV - 128)) | (1 << (sqlParser.TILDE - 128)) | (1 << (sqlParser.PERCENTLIT - 128)) | (1 << (sqlParser.BUCKET - 128)) | (1 << (sqlParser.OUT - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (sqlParser.OF - 160)) | (1 << (sqlParser.SORT - 160)) | (1 << (sqlParser.CLUSTER - 160)) | (1 << (sqlParser.DISTRIBUTE - 160)) | (1 << (sqlParser.OVERWRITE - 160)) | (1 << (sqlParser.TRANSFORM - 160)) | (1 << (sqlParser.REDUCE - 160)) | (1 << (sqlParser.SERDE - 160)) | (1 << (sqlParser.SERDEPROPERTIES - 160)) | (1 << (sqlParser.RECORDREADER - 160)) | (1 << (sqlParser.RECORDWRITER - 160)) | (1 << (sqlParser.DELIMITED - 160)) | (1 << (sqlParser.FIELDS - 160)) | (1 << (sqlParser.TERMINATED - 160)) | (1 << (sqlParser.COLLECTION - 160)) | (1 << (sqlParser.ITEMS - 160)) | (1 << (sqlParser.KEYS - 160)) | (1 << (sqlParser.ESCAPED - 160)) | (1 << (sqlParser.LINES - 160)) | (1 << (sqlParser.SEPARATED - 160)) | (1 << (sqlParser.FUNCTION - 160)) | (1 << (sqlParser.EXTENDED - 160)) | (1 << (sqlParser.REFRESH - 160)) | (1 << (sqlParser.CLEAR - 160)) | (1 << (sqlParser.CACHE - 160)) | (1 << (sqlParser.UNCACHE - 160)) | (1 << (sqlParser.LAZY - 160)) | (1 << (sqlParser.FORMATTED - 160)) | (1 << (sqlParser.GLOBAL - 160)) | (1 << (sqlParser.TEMPORARY - 160)) | (1 << (sqlParser.OPTIONS - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (sqlParser.UNSET - 192)) | (1 << (sqlParser.TBLPROPERTIES - 192)) | (1 << (sqlParser.DBPROPERTIES - 192)) | (1 << (sqlParser.BUCKETS - 192)) | (1 << (sqlParser.SKEWED - 192)) | (1 << (sqlParser.STORED - 192)) | (1 << (sqlParser.DIRECTORIES - 192)) | (1 << (sqlParser.LOCATION - 192)) | (1 << (sqlParser.EXCHANGE - 192)) | (1 << (sqlParser.ARCHIVE - 192)) | (1 << (sqlParser.UNARCHIVE - 192)) | (1 << (sqlParser.FILEFORMAT - 192)) | (1 << (sqlParser.TOUCH - 192)) | (1 << (sqlParser.COMPACT - 192)) | (1 << (sqlParser.CONCATENATE - 192)) | (1 << (sqlParser.CHANGE - 192)) | (1 << (sqlParser.CASCADE - 192)) | (1 << (sqlParser.RESTRICT - 192)) | (1 << (sqlParser.CLUSTERED - 192)) | (1 << (sqlParser.SORTED - 192)) | (1 << (sqlParser.PURGE - 192)) | (1 << (sqlParser.INPUTFORMAT - 192)) | (1 << (sqlParser.OUTPUTFORMAT - 192)) | (1 << (sqlParser.DATABASE - 192)) | (1 << (sqlParser.DATABASES - 192)) | (1 << (sqlParser.DFS - 192)) | (1 << (sqlParser.TRUNCATE - 192)) | (1 << (sqlParser.ANALYZE - 192)) | (1 << (sqlParser.COMPUTE - 192)) | (1 << (sqlParser.LIST - 192)) | (1 << (sqlParser.STATISTICS - 192)) | (1 << (sqlParser.PARTITIONED - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (sqlParser.EXTERNAL - 224)) | (1 << (sqlParser.DEFINED - 224)) | (1 << (sqlParser.REVOKE - 224)) | (1 << (sqlParser.GRANT - 224)) | (1 << (sqlParser.LOCK - 224)) | (1 << (sqlParser.UNLOCK - 224)) | (1 << (sqlParser.MSCK - 224)) | (1 << (sqlParser.REPAIR - 224)) | (1 << (sqlParser.RECOVER - 224)) | (1 << (sqlParser.EXPORT - 224)) | (1 << (sqlParser.IMPORT - 224)) | (1 << (sqlParser.LOAD - 224)) | (1 << (sqlParser.ROLE - 224)) | (1 << (sqlParser.ROLES - 224)) | (1 << (sqlParser.COMPACTIONS - 224)) | (1 << (sqlParser.PRINCIPALS - 224)) | (1 << (sqlParser.TRANSACTIONS - 224)) | (1 << (sqlParser.INDEX - 224)) | (1 << (sqlParser.INDEXES - 224)) | (1 << (sqlParser.LOCKS - 224)) | (1 << (sqlParser.OPTION - 224)) | (1 << (sqlParser.ANTI - 224)) | (1 << (sqlParser.LOCAL - 224)) | (1 << (sqlParser.INPATH - 224)))) !== 0) || ((((_la - 261)) & ~0x1f) == 0 && ((1 << (_la - 261)) & ((1 << (sqlParser.STRING - 261)) | (1 << (sqlParser.BIGINT_LITERAL - 261)) | (1 << (sqlParser.SMALLINT_LITERAL - 261)) | (1 << (sqlParser.TINYINT_LITERAL - 261)) | (1 << (sqlParser.INTEGER_VALUE - 261)) | (1 << (sqlParser.DECIMAL_VALUE - 261)) | (1 << (sqlParser.DOUBLE_LITERAL - 261)) | (1 << (sqlParser.BIGDECIMAL_LITERAL - 261)) | (1 << (sqlParser.IDENTIFIER - 261)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 261)))) !== 0)) { this.state = 2017; this.expression(); this.state = 2022; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2018; this.match(sqlParser.T__3); this.state = 2019; this.expression(); this.state = 2024; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 2027; this.match(sqlParser.T__1); this.state = 2028; this.tableAlias(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function TableAliasContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_tableAlias; return this; } TableAliasContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); TableAliasContext.prototype.constructor = TableAliasContext; TableAliasContext.prototype.strictIdentifier = function () { return this.getTypedRuleContext(StrictIdentifierContext, 0); }; TableAliasContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; TableAliasContext.prototype.identifierList = function () { return this.getTypedRuleContext(IdentifierListContext, 0); }; TableAliasContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTableAlias(this); } }; TableAliasContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTableAlias(this); } }; TableAliasContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTableAlias(this); } else { return visitor.visitChildren(this); } }; sqlParser.TableAliasContext = TableAliasContext; sqlParser.prototype.tableAlias = function () { var localctx = new TableAliasContext(this, this._ctx, this.state); this.enterRule(localctx, 150, sqlParser.RULE_tableAlias); try { this.enterOuterAlt(localctx, 1); this.state = 2037; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 264, this._ctx); if (la_ === 1) { this.state = 2031; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 262, this._ctx); if (la_ === 1) { this.state = 2030; this.match(sqlParser.AS); } this.state = 2033; this.strictIdentifier(); this.state = 2035; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 263, this._ctx); if (la_ === 1) { this.state = 2034; this.identifierList(); } } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function RowFormatContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_rowFormat; return this; } RowFormatContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); RowFormatContext.prototype.constructor = RowFormatContext; RowFormatContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function RowFormatSerdeContext(parser, ctx) { RowFormatContext.call(this, parser); this.name = null; // Token; this.props = null; // TablePropertyListContext; RowFormatContext.prototype.copyFrom.call(this, ctx); return this; } RowFormatSerdeContext.prototype = Object.create(RowFormatContext.prototype); RowFormatSerdeContext.prototype.constructor = RowFormatSerdeContext; sqlParser.RowFormatSerdeContext = RowFormatSerdeContext; RowFormatSerdeContext.prototype.ROW = function () { return this.getToken(sqlParser.ROW, 0); }; RowFormatSerdeContext.prototype.FORMAT = function () { return this.getToken(sqlParser.FORMAT, 0); }; RowFormatSerdeContext.prototype.SERDE = function () { return this.getToken(sqlParser.SERDE, 0); }; RowFormatSerdeContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; RowFormatSerdeContext.prototype.WITH = function () { return this.getToken(sqlParser.WITH, 0); }; RowFormatSerdeContext.prototype.SERDEPROPERTIES = function () { return this.getToken(sqlParser.SERDEPROPERTIES, 0); }; RowFormatSerdeContext.prototype.tablePropertyList = function () { return this.getTypedRuleContext(TablePropertyListContext, 0); }; RowFormatSerdeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRowFormatSerde(this); } }; RowFormatSerdeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRowFormatSerde(this); } }; RowFormatSerdeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRowFormatSerde(this); } else { return visitor.visitChildren(this); } }; function RowFormatDelimitedContext(parser, ctx) { RowFormatContext.call(this, parser); this.fieldsTerminatedBy = null; // Token; this.escapedBy = null; // Token; this.collectionItemsTerminatedBy = null; // Token; this.keysTerminatedBy = null; // Token; this.linesSeparatedBy = null; // Token; this.nullDefinedAs = null; // Token; RowFormatContext.prototype.copyFrom.call(this, ctx); return this; } RowFormatDelimitedContext.prototype = Object.create(RowFormatContext.prototype); RowFormatDelimitedContext.prototype.constructor = RowFormatDelimitedContext; sqlParser.RowFormatDelimitedContext = RowFormatDelimitedContext; RowFormatDelimitedContext.prototype.ROW = function () { return this.getToken(sqlParser.ROW, 0); }; RowFormatDelimitedContext.prototype.FORMAT = function () { return this.getToken(sqlParser.FORMAT, 0); }; RowFormatDelimitedContext.prototype.DELIMITED = function () { return this.getToken(sqlParser.DELIMITED, 0); }; RowFormatDelimitedContext.prototype.FIELDS = function () { return this.getToken(sqlParser.FIELDS, 0); }; RowFormatDelimitedContext.prototype.TERMINATED = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.TERMINATED); } else { return this.getToken(sqlParser.TERMINATED, i); } }; RowFormatDelimitedContext.prototype.BY = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.BY); } else { return this.getToken(sqlParser.BY, i); } }; RowFormatDelimitedContext.prototype.COLLECTION = function () { return this.getToken(sqlParser.COLLECTION, 0); }; RowFormatDelimitedContext.prototype.ITEMS = function () { return this.getToken(sqlParser.ITEMS, 0); }; RowFormatDelimitedContext.prototype.MAP = function () { return this.getToken(sqlParser.MAP, 0); }; RowFormatDelimitedContext.prototype.KEYS = function () { return this.getToken(sqlParser.KEYS, 0); }; RowFormatDelimitedContext.prototype.LINES = function () { return this.getToken(sqlParser.LINES, 0); }; RowFormatDelimitedContext.prototype.NULL = function () { return this.getToken(sqlParser.NULL, 0); }; RowFormatDelimitedContext.prototype.DEFINED = function () { return this.getToken(sqlParser.DEFINED, 0); }; RowFormatDelimitedContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; RowFormatDelimitedContext.prototype.STRING = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.STRING); } else { return this.getToken(sqlParser.STRING, i); } }; RowFormatDelimitedContext.prototype.ESCAPED = function () { return this.getToken(sqlParser.ESCAPED, 0); }; RowFormatDelimitedContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRowFormatDelimited(this); } }; RowFormatDelimitedContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRowFormatDelimited(this); } }; RowFormatDelimitedContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRowFormatDelimited(this); } else { return visitor.visitChildren(this); } }; sqlParser.RowFormatContext = RowFormatContext; sqlParser.prototype.rowFormat = function () { var localctx = new RowFormatContext(this, this._ctx, this.state); this.enterRule(localctx, 152, sqlParser.RULE_rowFormat); try { this.state = 2088; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 272, this._ctx); switch (la_) { case 1: localctx = new RowFormatSerdeContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 2039; this.match(sqlParser.ROW); this.state = 2040; this.match(sqlParser.FORMAT); this.state = 2041; this.match(sqlParser.SERDE); this.state = 2042; localctx.name = this.match(sqlParser.STRING); this.state = 2046; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 265, this._ctx); if (la_ === 1) { this.state = 2043; this.match(sqlParser.WITH); this.state = 2044; this.match(sqlParser.SERDEPROPERTIES); this.state = 2045; localctx.props = this.tablePropertyList(); } break; case 2: localctx = new RowFormatDelimitedContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 2048; this.match(sqlParser.ROW); this.state = 2049; this.match(sqlParser.FORMAT); this.state = 2050; this.match(sqlParser.DELIMITED); this.state = 2060; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 267, this._ctx); if (la_ === 1) { this.state = 2051; this.match(sqlParser.FIELDS); this.state = 2052; this.match(sqlParser.TERMINATED); this.state = 2053; this.match(sqlParser.BY); this.state = 2054; localctx.fieldsTerminatedBy = this.match(sqlParser.STRING); this.state = 2058; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 266, this._ctx); if (la_ === 1) { this.state = 2055; this.match(sqlParser.ESCAPED); this.state = 2056; this.match(sqlParser.BY); this.state = 2057; localctx.escapedBy = this.match(sqlParser.STRING); } } this.state = 2067; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 268, this._ctx); if (la_ === 1) { this.state = 2062; this.match(sqlParser.COLLECTION); this.state = 2063; this.match(sqlParser.ITEMS); this.state = 2064; this.match(sqlParser.TERMINATED); this.state = 2065; this.match(sqlParser.BY); this.state = 2066; localctx.collectionItemsTerminatedBy = this.match(sqlParser.STRING); } this.state = 2074; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 269, this._ctx); if (la_ === 1) { this.state = 2069; this.match(sqlParser.MAP); this.state = 2070; this.match(sqlParser.KEYS); this.state = 2071; this.match(sqlParser.TERMINATED); this.state = 2072; this.match(sqlParser.BY); this.state = 2073; localctx.keysTerminatedBy = this.match(sqlParser.STRING); } this.state = 2080; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 270, this._ctx); if (la_ === 1) { this.state = 2076; this.match(sqlParser.LINES); this.state = 2077; this.match(sqlParser.TERMINATED); this.state = 2078; this.match(sqlParser.BY); this.state = 2079; localctx.linesSeparatedBy = this.match(sqlParser.STRING); } this.state = 2086; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 271, this._ctx); if (la_ === 1) { this.state = 2082; this.match(sqlParser.NULL); this.state = 2083; this.match(sqlParser.DEFINED); this.state = 2084; this.match(sqlParser.AS); this.state = 2085; localctx.nullDefinedAs = this.match(sqlParser.STRING); } break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function TableIdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_tableIdentifier; this.db = null; // IdentifierContext this.table = null; // IdentifierContext return this; } TableIdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); TableIdentifierContext.prototype.constructor = TableIdentifierContext; TableIdentifierContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; TableIdentifierContext.prototype.LATERAL = function () { return this.getToken(sqlParser.LATERAL, 0); }; TableIdentifierContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; TableIdentifierContext.prototype.functionIdentifier = function () { return this.getTypedRuleContext(FunctionIdentifierContext, 0); }; TableIdentifierContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; TableIdentifierContext.prototype.UNNEST = function () { return this.getToken(sqlParser.UNNEST, 0); }; TableIdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTableIdentifier(this); } }; TableIdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTableIdentifier(this); } }; TableIdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTableIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.TableIdentifierContext = TableIdentifierContext; sqlParser.prototype.tableIdentifier = function () { var localctx = new TableIdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 154, sqlParser.RULE_tableIdentifier); var _la = 0; // Token type try { this.state = 2117; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 275, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 2093; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 273, this._ctx); if (la_ === 1) { this.state = 2090; localctx.db = this.identifier(); this.state = 2091; this.match(sqlParser.T__2); } this.state = 2095; localctx.table = this.identifier(); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 2096; this.match(sqlParser.LATERAL); this.state = 2097; this.match(sqlParser.TABLE); this.state = 2098; this.match(sqlParser.T__0); this.state = 2099; this.functionIdentifier(); this.state = 2100; this.match(sqlParser.T__0); this.state = 2101; this.expression(); this.state = 2106; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2102; this.match(sqlParser.T__3); this.state = 2103; this.expression(); this.state = 2108; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 2109; this.match(sqlParser.T__1); this.state = 2110; this.match(sqlParser.T__1); break; case 3: this.enterOuterAlt(localctx, 3); this.state = 2112; this.match(sqlParser.UNNEST); this.state = 2113; this.match(sqlParser.T__0); this.state = 2114; this.expression(); this.state = 2115; this.match(sqlParser.T__1); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function FunctionIdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_functionIdentifier; this.db = null; // IdentifierContext this.j_function = null; // IdentifierContext return this; } FunctionIdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); FunctionIdentifierContext.prototype.constructor = FunctionIdentifierContext; FunctionIdentifierContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; FunctionIdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterFunctionIdentifier(this); } }; FunctionIdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitFunctionIdentifier(this); } }; FunctionIdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitFunctionIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.FunctionIdentifierContext = FunctionIdentifierContext; sqlParser.prototype.functionIdentifier = function () { var localctx = new FunctionIdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 156, sqlParser.RULE_functionIdentifier); try { this.enterOuterAlt(localctx, 1); this.state = 2122; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 276, this._ctx); if (la_ === 1) { this.state = 2119; localctx.db = this.identifier(); this.state = 2120; this.match(sqlParser.T__2); } this.state = 2124; localctx.j_function = this.identifier(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function NamedExpressionContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_namedExpression; return this; } NamedExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); NamedExpressionContext.prototype.constructor = NamedExpressionContext; NamedExpressionContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; NamedExpressionContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; NamedExpressionContext.prototype.identifierList = function () { return this.getTypedRuleContext(IdentifierListContext, 0); }; NamedExpressionContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; NamedExpressionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterNamedExpression(this); } }; NamedExpressionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitNamedExpression(this); } }; NamedExpressionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitNamedExpression(this); } else { return visitor.visitChildren(this); } }; sqlParser.NamedExpressionContext = NamedExpressionContext; sqlParser.prototype.namedExpression = function () { var localctx = new NamedExpressionContext(this, this._ctx, this.state); this.enterRule(localctx, 158, sqlParser.RULE_namedExpression); try { this.enterOuterAlt(localctx, 1); this.state = 2126; this.expression(); this.state = 2134; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 279, this._ctx); if (la_ === 1) { this.state = 2128; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 277, this._ctx); if (la_ === 1) { this.state = 2127; this.match(sqlParser.AS); } this.state = 2132; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.AS: case sqlParser.ALL: case sqlParser.ANY: case sqlParser.DISTINCT: case sqlParser.WHERE: case sqlParser.GROUP: case sqlParser.BY: case sqlParser.GROUPING: case sqlParser.SETS: case sqlParser.CUBE: case sqlParser.ROLLUP: case sqlParser.ORDER: case sqlParser.HAVING: case sqlParser.LIMIT: case sqlParser.AT: case sqlParser.OR: case sqlParser.AND: case sqlParser.IN: case sqlParser.NOT: case sqlParser.NO: case sqlParser.EXISTS: case sqlParser.BETWEEN: case sqlParser.LIKE: case sqlParser.RLIKE: case sqlParser.IS: case sqlParser.NULL: case sqlParser.TRUE: case sqlParser.FALSE: case sqlParser.NULLS: case sqlParser.ASC: case sqlParser.DESC: case sqlParser.FOR: case sqlParser.INTERVAL: case sqlParser.CASE: case sqlParser.WHEN: case sqlParser.THEN: case sqlParser.ELSE: case sqlParser.END: case sqlParser.JOIN: case sqlParser.CROSS: case sqlParser.OUTER: case sqlParser.INNER: case sqlParser.LEFT: case sqlParser.SEMI: case sqlParser.RIGHT: case sqlParser.FULL: case sqlParser.NATURAL: case sqlParser.ON: case sqlParser.PIVOT: case sqlParser.LATERAL: case sqlParser.WINDOW: case sqlParser.OVER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.UNBOUNDED: case sqlParser.PRECEDING: case sqlParser.FOLLOWING: case sqlParser.CURRENT: case sqlParser.FIRST: case sqlParser.AFTER: case sqlParser.LAST: case sqlParser.ROW: case sqlParser.WITH: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.DIRECTORY: case sqlParser.VIEW: case sqlParser.REPLACE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.INTO: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.FORMAT: case sqlParser.LOGICAL: case sqlParser.CODEGEN: case sqlParser.COST: case sqlParser.CAST: case sqlParser.SHOW: case sqlParser.TABLES: case sqlParser.COLUMNS: case sqlParser.COLUMN: case sqlParser.USE: case sqlParser.PARTITIONS: case sqlParser.FUNCTIONS: case sqlParser.DROP: case sqlParser.UNION: case sqlParser.EXCEPT: case sqlParser.SETMINUS: case sqlParser.INTERSECT: case sqlParser.TO: case sqlParser.TABLESAMPLE: case sqlParser.STRATIFY: case sqlParser.ALTER: case sqlParser.RENAME: case sqlParser.ARRAY: case sqlParser.MAP: case sqlParser.STRUCT: case sqlParser.COMMENT: case sqlParser.SET: case sqlParser.RESET: case sqlParser.DATA: case sqlParser.START: case sqlParser.TRANSACTION: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.MACRO: case sqlParser.IGNORE: case sqlParser.BOTH: case sqlParser.LEADING: case sqlParser.TRAILING: case sqlParser.IF: case sqlParser.POSITION: case sqlParser.EXTRACT: case sqlParser.DIV: case sqlParser.PERCENTLIT: case sqlParser.BUCKET: case sqlParser.OUT: case sqlParser.OF: case sqlParser.SORT: case sqlParser.CLUSTER: case sqlParser.DISTRIBUTE: case sqlParser.OVERWRITE: case sqlParser.TRANSFORM: case sqlParser.REDUCE: case sqlParser.SERDE: case sqlParser.SERDEPROPERTIES: case sqlParser.RECORDREADER: case sqlParser.RECORDWRITER: case sqlParser.DELIMITED: case sqlParser.FIELDS: case sqlParser.TERMINATED: case sqlParser.COLLECTION: case sqlParser.ITEMS: case sqlParser.KEYS: case sqlParser.ESCAPED: case sqlParser.LINES: case sqlParser.SEPARATED: case sqlParser.FUNCTION: case sqlParser.EXTENDED: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.LAZY: case sqlParser.FORMATTED: case sqlParser.GLOBAL: case sqlParser.TEMPORARY: case sqlParser.OPTIONS: case sqlParser.UNSET: case sqlParser.TBLPROPERTIES: case sqlParser.DBPROPERTIES: case sqlParser.BUCKETS: case sqlParser.SKEWED: case sqlParser.STORED: case sqlParser.DIRECTORIES: case sqlParser.LOCATION: case sqlParser.EXCHANGE: case sqlParser.ARCHIVE: case sqlParser.UNARCHIVE: case sqlParser.FILEFORMAT: case sqlParser.TOUCH: case sqlParser.COMPACT: case sqlParser.CONCATENATE: case sqlParser.CHANGE: case sqlParser.CASCADE: case sqlParser.RESTRICT: case sqlParser.CLUSTERED: case sqlParser.SORTED: case sqlParser.PURGE: case sqlParser.INPUTFORMAT: case sqlParser.OUTPUTFORMAT: case sqlParser.DATABASE: case sqlParser.DATABASES: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.COMPUTE: case sqlParser.LIST: case sqlParser.STATISTICS: case sqlParser.PARTITIONED: case sqlParser.EXTERNAL: case sqlParser.DEFINED: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.REPAIR: case sqlParser.RECOVER: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: case sqlParser.ROLE: case sqlParser.ROLES: case sqlParser.COMPACTIONS: case sqlParser.PRINCIPALS: case sqlParser.TRANSACTIONS: case sqlParser.INDEX: case sqlParser.INDEXES: case sqlParser.LOCKS: case sqlParser.OPTION: case sqlParser.ANTI: case sqlParser.LOCAL: case sqlParser.INPATH: case sqlParser.IDENTIFIER: case sqlParser.BACKQUOTED_IDENTIFIER: this.state = 2130; this.identifier(); break; case sqlParser.T__0: this.state = 2131; this.identifierList(); break; default: throw new antlr4.error.NoViableAltException(this); } } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function NamedExpressionSeqContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_namedExpressionSeq; return this; } NamedExpressionSeqContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); NamedExpressionSeqContext.prototype.constructor = NamedExpressionSeqContext; NamedExpressionSeqContext.prototype.namedExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(NamedExpressionContext); } else { return this.getTypedRuleContext(NamedExpressionContext, i); } }; NamedExpressionSeqContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterNamedExpressionSeq(this); } }; NamedExpressionSeqContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitNamedExpressionSeq(this); } }; NamedExpressionSeqContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitNamedExpressionSeq(this); } else { return visitor.visitChildren(this); } }; sqlParser.NamedExpressionSeqContext = NamedExpressionSeqContext; sqlParser.prototype.namedExpressionSeq = function () { var localctx = new NamedExpressionSeqContext(this, this._ctx, this.state); this.enterRule(localctx, 160, sqlParser.RULE_namedExpressionSeq); try { this.enterOuterAlt(localctx, 1); this.state = 2136; this.namedExpression(); this.state = 2141; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 280, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 2137; this.match(sqlParser.T__3); this.state = 2138; this.namedExpression(); } this.state = 2143; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 280, this._ctx); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ExpressionContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_expression; return this; } ExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ExpressionContext.prototype.constructor = ExpressionContext; ExpressionContext.prototype.booleanExpression = function () { return this.getTypedRuleContext(BooleanExpressionContext, 0); }; ExpressionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterExpression(this); } }; ExpressionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitExpression(this); } }; ExpressionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitExpression(this); } else { return visitor.visitChildren(this); } }; sqlParser.ExpressionContext = ExpressionContext; sqlParser.prototype.expression = function () { var localctx = new ExpressionContext(this, this._ctx, this.state); this.enterRule(localctx, 162, sqlParser.RULE_expression); try { this.enterOuterAlt(localctx, 1); this.state = 2144; this.booleanExpression(0); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function BooleanExpressionContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_booleanExpression; return this; } BooleanExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); BooleanExpressionContext.prototype.constructor = BooleanExpressionContext; BooleanExpressionContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function LogicalNotContext(parser, ctx) { BooleanExpressionContext.call(this, parser); BooleanExpressionContext.prototype.copyFrom.call(this, ctx); return this; } LogicalNotContext.prototype = Object.create(BooleanExpressionContext.prototype); LogicalNotContext.prototype.constructor = LogicalNotContext; sqlParser.LogicalNotContext = LogicalNotContext; LogicalNotContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; LogicalNotContext.prototype.booleanExpression = function () { return this.getTypedRuleContext(BooleanExpressionContext, 0); }; LogicalNotContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterLogicalNot(this); } }; LogicalNotContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitLogicalNot(this); } }; LogicalNotContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitLogicalNot(this); } else { return visitor.visitChildren(this); } }; function PredicatedContext(parser, ctx) { BooleanExpressionContext.call(this, parser); BooleanExpressionContext.prototype.copyFrom.call(this, ctx); return this; } PredicatedContext.prototype = Object.create(BooleanExpressionContext.prototype); PredicatedContext.prototype.constructor = PredicatedContext; sqlParser.PredicatedContext = PredicatedContext; PredicatedContext.prototype.valueExpression = function () { return this.getTypedRuleContext(ValueExpressionContext, 0); }; PredicatedContext.prototype.predicate = function () { return this.getTypedRuleContext(PredicateContext, 0); }; PredicatedContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPredicated(this); } }; PredicatedContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPredicated(this); } }; PredicatedContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPredicated(this); } else { return visitor.visitChildren(this); } }; function ExistsContext(parser, ctx) { BooleanExpressionContext.call(this, parser); BooleanExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ExistsContext.prototype = Object.create(BooleanExpressionContext.prototype); ExistsContext.prototype.constructor = ExistsContext; sqlParser.ExistsContext = ExistsContext; ExistsContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; ExistsContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; ExistsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterExists(this); } }; ExistsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitExists(this); } }; ExistsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitExists(this); } else { return visitor.visitChildren(this); } }; function LogicalBinaryContext(parser, ctx) { BooleanExpressionContext.call(this, parser); this.left = null; // BooleanExpressionContext; this.operator = null; // Token; this.right = null; // BooleanExpressionContext; BooleanExpressionContext.prototype.copyFrom.call(this, ctx); return this; } LogicalBinaryContext.prototype = Object.create(BooleanExpressionContext.prototype); LogicalBinaryContext.prototype.constructor = LogicalBinaryContext; sqlParser.LogicalBinaryContext = LogicalBinaryContext; LogicalBinaryContext.prototype.booleanExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(BooleanExpressionContext); } else { return this.getTypedRuleContext(BooleanExpressionContext, i); } }; LogicalBinaryContext.prototype.AND = function () { return this.getToken(sqlParser.AND, 0); }; LogicalBinaryContext.prototype.OR = function () { return this.getToken(sqlParser.OR, 0); }; LogicalBinaryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterLogicalBinary(this); } }; LogicalBinaryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitLogicalBinary(this); } }; LogicalBinaryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitLogicalBinary(this); } else { return visitor.visitChildren(this); } }; sqlParser.prototype.booleanExpression = function (_p) { if (_p === undefined) { _p = 0; } var _parentctx = this._ctx; var _parentState = this.state; var localctx = new BooleanExpressionContext(this, this._ctx, _parentState); var _prevctx = localctx; var _startState = 164; this.enterRecursionRule(localctx, 164, sqlParser.RULE_booleanExpression, _p); try { this.enterOuterAlt(localctx, 1); this.state = 2158; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 282, this._ctx); switch (la_) { case 1: localctx = new LogicalNotContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2147; this.match(sqlParser.NOT); this.state = 2148; this.booleanExpression(5); break; case 2: localctx = new ExistsContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2149; this.match(sqlParser.EXISTS); this.state = 2150; this.match(sqlParser.T__0); this.state = 2151; this.query(); this.state = 2152; this.match(sqlParser.T__1); break; case 3: localctx = new PredicatedContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2154; this.valueExpression(0); this.state = 2156; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 281, this._ctx); if (la_ === 1) { this.state = 2155; this.predicate(); } break; } this._ctx.stop = this._input.LT(-1); this.state = 2168; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 284, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners !== null) { this.triggerExitRuleEvent(); } _prevctx = localctx; this.state = 2166; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 283, this._ctx); switch (la_) { case 1: localctx = new LogicalBinaryContext(this, new BooleanExpressionContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_booleanExpression); this.state = 2160; if (!(this.precpred(this._ctx, 2))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); } this.state = 2161; localctx.operator = this.match(sqlParser.AND); this.state = 2162; localctx.right = this.booleanExpression(3); break; case 2: localctx = new LogicalBinaryContext(this, new BooleanExpressionContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_booleanExpression); this.state = 2163; if (!(this.precpred(this._ctx, 1))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)"); } this.state = 2164; localctx.operator = this.match(sqlParser.OR); this.state = 2165; localctx.right = this.booleanExpression(2); break; } } this.state = 2170; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 284, this._ctx); } } catch (error) { if (error instanceof antlr4.error.RecognitionException) { localctx.exception = error; this._errHandler.reportError(this, error); this._errHandler.recover(this, error); } else { throw error; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; }; function PredicateContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_predicate; this.kind = null; // Token this.lower = null; // ValueExpressionContext this.upper = null; // ValueExpressionContext this.pattern = null; // ValueExpressionContext this.right = null; // ValueExpressionContext return this; } PredicateContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PredicateContext.prototype.constructor = PredicateContext; PredicateContext.prototype.AND = function () { return this.getToken(sqlParser.AND, 0); }; PredicateContext.prototype.BETWEEN = function () { return this.getToken(sqlParser.BETWEEN, 0); }; PredicateContext.prototype.valueExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ValueExpressionContext); } else { return this.getTypedRuleContext(ValueExpressionContext, i); } }; PredicateContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; PredicateContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; PredicateContext.prototype.IN = function () { return this.getToken(sqlParser.IN, 0); }; PredicateContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; PredicateContext.prototype.RLIKE = function () { return this.getToken(sqlParser.RLIKE, 0); }; PredicateContext.prototype.LIKE = function () { return this.getToken(sqlParser.LIKE, 0); }; PredicateContext.prototype.IS = function () { return this.getToken(sqlParser.IS, 0); }; PredicateContext.prototype.NULL = function () { return this.getToken(sqlParser.NULL, 0); }; PredicateContext.prototype.FROM = function () { return this.getToken(sqlParser.FROM, 0); }; PredicateContext.prototype.DISTINCT = function () { return this.getToken(sqlParser.DISTINCT, 0); }; PredicateContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPredicate(this); } }; PredicateContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPredicate(this); } }; PredicateContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPredicate(this); } else { return visitor.visitChildren(this); } }; sqlParser.PredicateContext = PredicateContext; sqlParser.prototype.predicate = function () { var localctx = new PredicateContext(this, this._ctx, this.state); this.enterRule(localctx, 166, sqlParser.RULE_predicate); var _la = 0; // Token type try { this.state = 2219; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 292, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 2172; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.NOT) { this.state = 2171; this.match(sqlParser.NOT); } this.state = 2174; localctx.kind = this.match(sqlParser.BETWEEN); this.state = 2175; localctx.lower = this.valueExpression(0); this.state = 2176; this.match(sqlParser.AND); this.state = 2177; localctx.upper = this.valueExpression(0); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 2180; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.NOT) { this.state = 2179; this.match(sqlParser.NOT); } this.state = 2182; localctx.kind = this.match(sqlParser.IN); this.state = 2183; this.match(sqlParser.T__0); this.state = 2184; this.expression(); this.state = 2189; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2185; this.match(sqlParser.T__3); this.state = 2186; this.expression(); this.state = 2191; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 2192; this.match(sqlParser.T__1); break; case 3: this.enterOuterAlt(localctx, 3); this.state = 2195; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.NOT) { this.state = 2194; this.match(sqlParser.NOT); } this.state = 2197; localctx.kind = this.match(sqlParser.IN); this.state = 2198; this.match(sqlParser.T__0); this.state = 2199; this.query(); this.state = 2200; this.match(sqlParser.T__1); break; case 4: this.enterOuterAlt(localctx, 4); this.state = 2203; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.NOT) { this.state = 2202; this.match(sqlParser.NOT); } this.state = 2205; localctx.kind = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.LIKE || _la === sqlParser.RLIKE)) { localctx.kind = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 2206; localctx.pattern = this.valueExpression(0); break; case 5: this.enterOuterAlt(localctx, 5); this.state = 2207; this.match(sqlParser.IS); this.state = 2209; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.NOT) { this.state = 2208; this.match(sqlParser.NOT); } this.state = 2211; localctx.kind = this.match(sqlParser.NULL); break; case 6: this.enterOuterAlt(localctx, 6); this.state = 2212; this.match(sqlParser.IS); this.state = 2214; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.NOT) { this.state = 2213; this.match(sqlParser.NOT); } this.state = 2216; localctx.kind = this.match(sqlParser.DISTINCT); this.state = 2217; this.match(sqlParser.FROM); this.state = 2218; localctx.right = this.valueExpression(0); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ValueExpressionContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_valueExpression; return this; } ValueExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ValueExpressionContext.prototype.constructor = ValueExpressionContext; ValueExpressionContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function ValueExpressionDefaultContext(parser, ctx) { ValueExpressionContext.call(this, parser); ValueExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ValueExpressionDefaultContext.prototype = Object.create(ValueExpressionContext.prototype); ValueExpressionDefaultContext.prototype.constructor = ValueExpressionDefaultContext; sqlParser.ValueExpressionDefaultContext = ValueExpressionDefaultContext; ValueExpressionDefaultContext.prototype.primaryExpression = function () { return this.getTypedRuleContext(PrimaryExpressionContext, 0); }; ValueExpressionDefaultContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterValueExpressionDefault(this); } }; ValueExpressionDefaultContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitValueExpressionDefault(this); } }; ValueExpressionDefaultContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitValueExpressionDefault(this); } else { return visitor.visitChildren(this); } }; function ComparisonContext(parser, ctx) { ValueExpressionContext.call(this, parser); this.left = null; // ValueExpressionContext; this.right = null; // ValueExpressionContext; ValueExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ComparisonContext.prototype = Object.create(ValueExpressionContext.prototype); ComparisonContext.prototype.constructor = ComparisonContext; sqlParser.ComparisonContext = ComparisonContext; ComparisonContext.prototype.comparisonOperator = function () { return this.getTypedRuleContext(ComparisonOperatorContext, 0); }; ComparisonContext.prototype.valueExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ValueExpressionContext); } else { return this.getTypedRuleContext(ValueExpressionContext, i); } }; ComparisonContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterComparison(this); } }; ComparisonContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitComparison(this); } }; ComparisonContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitComparison(this); } else { return visitor.visitChildren(this); } }; function ArithmeticBinaryContext(parser, ctx) { ValueExpressionContext.call(this, parser); this.left = null; // ValueExpressionContext; this.operator = null; // Token; this.right = null; // ValueExpressionContext; ValueExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ArithmeticBinaryContext.prototype = Object.create(ValueExpressionContext.prototype); ArithmeticBinaryContext.prototype.constructor = ArithmeticBinaryContext; sqlParser.ArithmeticBinaryContext = ArithmeticBinaryContext; ArithmeticBinaryContext.prototype.valueExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ValueExpressionContext); } else { return this.getTypedRuleContext(ValueExpressionContext, i); } }; ArithmeticBinaryContext.prototype.ASTERISK = function () { return this.getToken(sqlParser.ASTERISK, 0); }; ArithmeticBinaryContext.prototype.SLASH = function () { return this.getToken(sqlParser.SLASH, 0); }; ArithmeticBinaryContext.prototype.PERCENT = function () { return this.getToken(sqlParser.PERCENT, 0); }; ArithmeticBinaryContext.prototype.DIV = function () { return this.getToken(sqlParser.DIV, 0); }; ArithmeticBinaryContext.prototype.PLUS = function () { return this.getToken(sqlParser.PLUS, 0); }; ArithmeticBinaryContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; ArithmeticBinaryContext.prototype.CONCAT_PIPE = function () { return this.getToken(sqlParser.CONCAT_PIPE, 0); }; ArithmeticBinaryContext.prototype.AMPERSAND = function () { return this.getToken(sqlParser.AMPERSAND, 0); }; ArithmeticBinaryContext.prototype.HAT = function () { return this.getToken(sqlParser.HAT, 0); }; ArithmeticBinaryContext.prototype.PIPE = function () { return this.getToken(sqlParser.PIPE, 0); }; ArithmeticBinaryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterArithmeticBinary(this); } }; ArithmeticBinaryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitArithmeticBinary(this); } }; ArithmeticBinaryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitArithmeticBinary(this); } else { return visitor.visitChildren(this); } }; function ArithmeticUnaryContext(parser, ctx) { ValueExpressionContext.call(this, parser); this.operator = null; // Token; ValueExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ArithmeticUnaryContext.prototype = Object.create(ValueExpressionContext.prototype); ArithmeticUnaryContext.prototype.constructor = ArithmeticUnaryContext; sqlParser.ArithmeticUnaryContext = ArithmeticUnaryContext; ArithmeticUnaryContext.prototype.valueExpression = function () { return this.getTypedRuleContext(ValueExpressionContext, 0); }; ArithmeticUnaryContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; ArithmeticUnaryContext.prototype.PLUS = function () { return this.getToken(sqlParser.PLUS, 0); }; ArithmeticUnaryContext.prototype.TILDE = function () { return this.getToken(sqlParser.TILDE, 0); }; ArithmeticUnaryContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterArithmeticUnary(this); } }; ArithmeticUnaryContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitArithmeticUnary(this); } }; ArithmeticUnaryContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitArithmeticUnary(this); } else { return visitor.visitChildren(this); } }; sqlParser.prototype.valueExpression = function (_p) { if (_p === undefined) { _p = 0; } var _parentctx = this._ctx; var _parentState = this.state; var localctx = new ValueExpressionContext(this, this._ctx, _parentState); var _prevctx = localctx; var _startState = 168; this.enterRecursionRule(localctx, 168, sqlParser.RULE_valueExpression, _p); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2225; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 293, this._ctx); switch (la_) { case 1: localctx = new ValueExpressionDefaultContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2222; this.primaryExpression(0); break; case 2: localctx = new ArithmeticUnaryContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2223; localctx.operator = this._input.LT(1); _la = this._input.LA(1); if (!(((((_la - 146)) & ~0x1f) == 0 && ((1 << (_la - 146)) & ((1 << (sqlParser.PLUS - 146)) | (1 << (sqlParser.MINUS - 146)) | (1 << (sqlParser.TILDE - 146)))) !== 0))) { localctx.operator = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 2224; this.valueExpression(7); break; } this._ctx.stop = this._input.LT(-1); this.state = 2248; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 295, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners !== null) { this.triggerExitRuleEvent(); } _prevctx = localctx; this.state = 2246; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 294, this._ctx); switch (la_) { case 1: localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_valueExpression); this.state = 2227; if (!(this.precpred(this._ctx, 6))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 6)"); } this.state = 2228; localctx.operator = this._input.LT(1); _la = this._input.LA(1); if (!(((((_la - 148)) & ~0x1f) == 0 && ((1 << (_la - 148)) & ((1 << (sqlParser.ASTERISK - 148)) | (1 << (sqlParser.SLASH - 148)) | (1 << (sqlParser.PERCENT - 148)) | (1 << (sqlParser.DIV - 148)))) !== 0))) { localctx.operator = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 2229; localctx.right = this.valueExpression(7); break; case 2: localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_valueExpression); this.state = 2230; if (!(this.precpred(this._ctx, 5))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 5)"); } this.state = 2231; localctx.operator = this._input.LT(1); _la = this._input.LA(1); if (!(((((_la - 146)) & ~0x1f) == 0 && ((1 << (_la - 146)) & ((1 << (sqlParser.PLUS - 146)) | (1 << (sqlParser.MINUS - 146)) | (1 << (sqlParser.CONCAT_PIPE - 146)))) !== 0))) { localctx.operator = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 2232; localctx.right = this.valueExpression(6); break; case 3: localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_valueExpression); this.state = 2233; if (!(this.precpred(this._ctx, 4))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 4)"); } this.state = 2234; localctx.operator = this.match(sqlParser.AMPERSAND); this.state = 2235; localctx.right = this.valueExpression(5); break; case 4: localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_valueExpression); this.state = 2236; if (!(this.precpred(this._ctx, 3))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); } this.state = 2237; localctx.operator = this.match(sqlParser.HAT); this.state = 2238; localctx.right = this.valueExpression(4); break; case 5: localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_valueExpression); this.state = 2239; if (!(this.precpred(this._ctx, 2))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); } this.state = 2240; localctx.operator = this.match(sqlParser.PIPE); this.state = 2241; localctx.right = this.valueExpression(3); break; case 6: localctx = new ComparisonContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); localctx.left = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_valueExpression); this.state = 2242; if (!(this.precpred(this._ctx, 1))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)"); } this.state = 2243; this.comparisonOperator(); this.state = 2244; localctx.right = this.valueExpression(2); break; } } this.state = 2250; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 295, this._ctx); } } catch (error) { if (error instanceof antlr4.error.RecognitionException) { localctx.exception = error; this._errHandler.reportError(this, error); this._errHandler.recover(this, error); } else { throw error; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; }; function PrimaryExpressionContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_primaryExpression; return this; } PrimaryExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PrimaryExpressionContext.prototype.constructor = PrimaryExpressionContext; PrimaryExpressionContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function StructContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); this._namedExpression = null; // NamedExpressionContext; this.argument = []; // of NamedExpressionContexts; PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } StructContext.prototype = Object.create(PrimaryExpressionContext.prototype); StructContext.prototype.constructor = StructContext; sqlParser.StructContext = StructContext; StructContext.prototype.STRUCT = function () { return this.getToken(sqlParser.STRUCT, 0); }; StructContext.prototype.namedExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(NamedExpressionContext); } else { return this.getTypedRuleContext(NamedExpressionContext, i); } }; StructContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterStruct(this); } }; StructContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitStruct(this); } }; StructContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitStruct(this); } else { return visitor.visitChildren(this); } }; function DereferenceContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); this.base = null; // PrimaryExpressionContext; this.fieldName = null; // IdentifierContext; PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } DereferenceContext.prototype = Object.create(PrimaryExpressionContext.prototype); DereferenceContext.prototype.constructor = DereferenceContext; sqlParser.DereferenceContext = DereferenceContext; DereferenceContext.prototype.primaryExpression = function () { return this.getTypedRuleContext(PrimaryExpressionContext, 0); }; DereferenceContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; DereferenceContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDereference(this); } }; DereferenceContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDereference(this); } }; DereferenceContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDereference(this); } else { return visitor.visitChildren(this); } }; function SimpleCaseContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); this.value = null; // ExpressionContext; this.elseExpression = null; // ExpressionContext; PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } SimpleCaseContext.prototype = Object.create(PrimaryExpressionContext.prototype); SimpleCaseContext.prototype.constructor = SimpleCaseContext; sqlParser.SimpleCaseContext = SimpleCaseContext; SimpleCaseContext.prototype.CASE = function () { return this.getToken(sqlParser.CASE, 0); }; SimpleCaseContext.prototype.END = function () { return this.getToken(sqlParser.END, 0); }; SimpleCaseContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; SimpleCaseContext.prototype.whenClause = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(WhenClauseContext); } else { return this.getTypedRuleContext(WhenClauseContext, i); } }; SimpleCaseContext.prototype.ELSE = function () { return this.getToken(sqlParser.ELSE, 0); }; SimpleCaseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSimpleCase(this); } }; SimpleCaseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSimpleCase(this); } }; SimpleCaseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSimpleCase(this); } else { return visitor.visitChildren(this); } }; function ColumnReferenceContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ColumnReferenceContext.prototype = Object.create(PrimaryExpressionContext.prototype); ColumnReferenceContext.prototype.constructor = ColumnReferenceContext; sqlParser.ColumnReferenceContext = ColumnReferenceContext; ColumnReferenceContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ColumnReferenceContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterColumnReference(this); } }; ColumnReferenceContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitColumnReference(this); } }; ColumnReferenceContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitColumnReference(this); } else { return visitor.visitChildren(this); } }; function RowConstructorContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } RowConstructorContext.prototype = Object.create(PrimaryExpressionContext.prototype); RowConstructorContext.prototype.constructor = RowConstructorContext; sqlParser.RowConstructorContext = RowConstructorContext; RowConstructorContext.prototype.namedExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(NamedExpressionContext); } else { return this.getTypedRuleContext(NamedExpressionContext, i); } }; RowConstructorContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterRowConstructor(this); } }; RowConstructorContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitRowConstructor(this); } }; RowConstructorContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitRowConstructor(this); } else { return visitor.visitChildren(this); } }; function LastContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } LastContext.prototype = Object.create(PrimaryExpressionContext.prototype); LastContext.prototype.constructor = LastContext; sqlParser.LastContext = LastContext; LastContext.prototype.LAST = function () { return this.getToken(sqlParser.LAST, 0); }; LastContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; LastContext.prototype.IGNORE = function () { return this.getToken(sqlParser.IGNORE, 0); }; LastContext.prototype.NULLS = function () { return this.getToken(sqlParser.NULLS, 0); }; LastContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterLast(this); } }; LastContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitLast(this); } }; LastContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitLast(this); } else { return visitor.visitChildren(this); } }; function StarContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } StarContext.prototype = Object.create(PrimaryExpressionContext.prototype); StarContext.prototype.constructor = StarContext; sqlParser.StarContext = StarContext; StarContext.prototype.ASTERISK = function () { return this.getToken(sqlParser.ASTERISK, 0); }; StarContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; StarContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterStar(this); } }; StarContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitStar(this); } }; StarContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitStar(this); } else { return visitor.visitChildren(this); } }; function SubscriptContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); this.value = null; // PrimaryExpressionContext; this.index = null; // ValueExpressionContext; PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } SubscriptContext.prototype = Object.create(PrimaryExpressionContext.prototype); SubscriptContext.prototype.constructor = SubscriptContext; sqlParser.SubscriptContext = SubscriptContext; SubscriptContext.prototype.primaryExpression = function () { return this.getTypedRuleContext(PrimaryExpressionContext, 0); }; SubscriptContext.prototype.valueExpression = function () { return this.getTypedRuleContext(ValueExpressionContext, 0); }; SubscriptContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSubscript(this); } }; SubscriptContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSubscript(this); } }; SubscriptContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSubscript(this); } else { return visitor.visitChildren(this); } }; function SubqueryExpressionContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } SubqueryExpressionContext.prototype = Object.create(PrimaryExpressionContext.prototype); SubqueryExpressionContext.prototype.constructor = SubqueryExpressionContext; sqlParser.SubqueryExpressionContext = SubqueryExpressionContext; SubqueryExpressionContext.prototype.query = function () { return this.getTypedRuleContext(QueryContext, 0); }; SubqueryExpressionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSubqueryExpression(this); } }; SubqueryExpressionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSubqueryExpression(this); } }; SubqueryExpressionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSubqueryExpression(this); } else { return visitor.visitChildren(this); } }; function CastContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } CastContext.prototype = Object.create(PrimaryExpressionContext.prototype); CastContext.prototype.constructor = CastContext; sqlParser.CastContext = CastContext; CastContext.prototype.CAST = function () { return this.getToken(sqlParser.CAST, 0); }; CastContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; CastContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; CastContext.prototype.dataType = function () { return this.getTypedRuleContext(DataTypeContext, 0); }; CastContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterCast(this); } }; CastContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitCast(this); } }; CastContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitCast(this); } else { return visitor.visitChildren(this); } }; function ConstantDefaultContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ConstantDefaultContext.prototype = Object.create(PrimaryExpressionContext.prototype); ConstantDefaultContext.prototype.constructor = ConstantDefaultContext; sqlParser.ConstantDefaultContext = ConstantDefaultContext; ConstantDefaultContext.prototype.constant = function () { return this.getTypedRuleContext(ConstantContext, 0); }; ConstantDefaultContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterConstantDefault(this); } }; ConstantDefaultContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitConstantDefault(this); } }; ConstantDefaultContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitConstantDefault(this); } else { return visitor.visitChildren(this); } }; function LambdaContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } LambdaContext.prototype = Object.create(PrimaryExpressionContext.prototype); LambdaContext.prototype.constructor = LambdaContext; sqlParser.LambdaContext = LambdaContext; LambdaContext.prototype.IDENTIFIER = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.IDENTIFIER); } else { return this.getToken(sqlParser.IDENTIFIER, i); } }; LambdaContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; LambdaContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterLambda(this); } }; LambdaContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitLambda(this); } }; LambdaContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitLambda(this); } else { return visitor.visitChildren(this); } }; function ParenthesizedExpressionContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ParenthesizedExpressionContext.prototype = Object.create(PrimaryExpressionContext.prototype); ParenthesizedExpressionContext.prototype.constructor = ParenthesizedExpressionContext; sqlParser.ParenthesizedExpressionContext = ParenthesizedExpressionContext; ParenthesizedExpressionContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; ParenthesizedExpressionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterParenthesizedExpression(this); } }; ParenthesizedExpressionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitParenthesizedExpression(this); } }; ParenthesizedExpressionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitParenthesizedExpression(this); } else { return visitor.visitChildren(this); } }; function ExtractContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); this.field = null; // IdentifierContext; this.source = null; // ValueExpressionContext; PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } ExtractContext.prototype = Object.create(PrimaryExpressionContext.prototype); ExtractContext.prototype.constructor = ExtractContext; sqlParser.ExtractContext = ExtractContext; ExtractContext.prototype.EXTRACT = function () { return this.getToken(sqlParser.EXTRACT, 0); }; ExtractContext.prototype.FROM = function () { return this.getToken(sqlParser.FROM, 0); }; ExtractContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ExtractContext.prototype.valueExpression = function () { return this.getTypedRuleContext(ValueExpressionContext, 0); }; ExtractContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterExtract(this); } }; ExtractContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitExtract(this); } }; ExtractContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitExtract(this); } else { return visitor.visitChildren(this); } }; function FunctionCallContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); this._expression = null; // ExpressionContext; this.argument = []; // of ExpressionContexts; this.trimOption = null; // Token; PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } FunctionCallContext.prototype = Object.create(PrimaryExpressionContext.prototype); FunctionCallContext.prototype.constructor = FunctionCallContext; sqlParser.FunctionCallContext = FunctionCallContext; FunctionCallContext.prototype.qualifiedName = function () { return this.getTypedRuleContext(QualifiedNameContext, 0); }; FunctionCallContext.prototype.OVER = function () { return this.getToken(sqlParser.OVER, 0); }; FunctionCallContext.prototype.windowSpec = function () { return this.getTypedRuleContext(WindowSpecContext, 0); }; FunctionCallContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; FunctionCallContext.prototype.setQuantifier = function () { return this.getTypedRuleContext(SetQuantifierContext, 0); }; FunctionCallContext.prototype.FROM = function () { return this.getToken(sqlParser.FROM, 0); }; FunctionCallContext.prototype.BOTH = function () { return this.getToken(sqlParser.BOTH, 0); }; FunctionCallContext.prototype.LEADING = function () { return this.getToken(sqlParser.LEADING, 0); }; FunctionCallContext.prototype.TRAILING = function () { return this.getToken(sqlParser.TRAILING, 0); }; FunctionCallContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterFunctionCall(this); } }; FunctionCallContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitFunctionCall(this); } }; FunctionCallContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitFunctionCall(this); } else { return visitor.visitChildren(this); } }; function SearchedCaseContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); this.elseExpression = null; // ExpressionContext; PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } SearchedCaseContext.prototype = Object.create(PrimaryExpressionContext.prototype); SearchedCaseContext.prototype.constructor = SearchedCaseContext; sqlParser.SearchedCaseContext = SearchedCaseContext; SearchedCaseContext.prototype.CASE = function () { return this.getToken(sqlParser.CASE, 0); }; SearchedCaseContext.prototype.END = function () { return this.getToken(sqlParser.END, 0); }; SearchedCaseContext.prototype.whenClause = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(WhenClauseContext); } else { return this.getTypedRuleContext(WhenClauseContext, i); } }; SearchedCaseContext.prototype.ELSE = function () { return this.getToken(sqlParser.ELSE, 0); }; SearchedCaseContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; SearchedCaseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSearchedCase(this); } }; SearchedCaseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSearchedCase(this); } }; SearchedCaseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSearchedCase(this); } else { return visitor.visitChildren(this); } }; function PositionContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); this.substr = null; // ValueExpressionContext; this.str = null; // ValueExpressionContext; PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } PositionContext.prototype = Object.create(PrimaryExpressionContext.prototype); PositionContext.prototype.constructor = PositionContext; sqlParser.PositionContext = PositionContext; PositionContext.prototype.POSITION = function () { return this.getToken(sqlParser.POSITION, 0); }; PositionContext.prototype.IN = function () { return this.getToken(sqlParser.IN, 0); }; PositionContext.prototype.valueExpression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ValueExpressionContext); } else { return this.getTypedRuleContext(ValueExpressionContext, i); } }; PositionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPosition(this); } }; PositionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPosition(this); } }; PositionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPosition(this); } else { return visitor.visitChildren(this); } }; function FirstContext(parser, ctx) { PrimaryExpressionContext.call(this, parser); PrimaryExpressionContext.prototype.copyFrom.call(this, ctx); return this; } FirstContext.prototype = Object.create(PrimaryExpressionContext.prototype); FirstContext.prototype.constructor = FirstContext; sqlParser.FirstContext = FirstContext; FirstContext.prototype.FIRST = function () { return this.getToken(sqlParser.FIRST, 0); }; FirstContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; FirstContext.prototype.IGNORE = function () { return this.getToken(sqlParser.IGNORE, 0); }; FirstContext.prototype.NULLS = function () { return this.getToken(sqlParser.NULLS, 0); }; FirstContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterFirst(this); } }; FirstContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitFirst(this); } }; FirstContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitFirst(this); } else { return visitor.visitChildren(this); } }; sqlParser.prototype.primaryExpression = function (_p) { if (_p === undefined) { _p = 0; } var _parentctx = this._ctx; var _parentState = this.state; var localctx = new PrimaryExpressionContext(this, this._ctx, _parentState); var _prevctx = localctx; var _startState = 170; this.enterRecursionRule(localctx, 170, sqlParser.RULE_primaryExpression, _p); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2396; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 310, this._ctx); switch (la_) { case 1: localctx = new SearchedCaseContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2252; this.match(sqlParser.CASE); this.state = 2254; this._errHandler.sync(this); _la = this._input.LA(1); do { this.state = 2253; this.whenClause(); this.state = 2256; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === sqlParser.WHEN); this.state = 2260; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ELSE) { this.state = 2258; this.match(sqlParser.ELSE); this.state = 2259; localctx.elseExpression = this.expression(); } this.state = 2262; this.match(sqlParser.END); break; case 2: localctx = new SimpleCaseContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2264; this.match(sqlParser.CASE); this.state = 2265; localctx.value = this.expression(); this.state = 2267; this._errHandler.sync(this); _la = this._input.LA(1); do { this.state = 2266; this.whenClause(); this.state = 2269; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === sqlParser.WHEN); this.state = 2273; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ELSE) { this.state = 2271; this.match(sqlParser.ELSE); this.state = 2272; localctx.elseExpression = this.expression(); } this.state = 2275; this.match(sqlParser.END); break; case 3: localctx = new CastContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2277; this.match(sqlParser.CAST); this.state = 2278; this.match(sqlParser.T__0); this.state = 2279; this.expression(); this.state = 2280; this.match(sqlParser.AS); this.state = 2281; this.dataType(); this.state = 2282; this.match(sqlParser.T__1); break; case 4: localctx = new StructContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2284; this.match(sqlParser.STRUCT); this.state = 2285; this.match(sqlParser.T__0); this.state = 2294; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.ADD) | (1 << sqlParser.AS) | (1 << sqlParser.ALL) | (1 << sqlParser.ANY) | (1 << sqlParser.DISTINCT) | (1 << sqlParser.WHERE) | (1 << sqlParser.GROUP) | (1 << sqlParser.BY) | (1 << sqlParser.GROUPING) | (1 << sqlParser.SETS) | (1 << sqlParser.CUBE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (sqlParser.ROLLUP - 32)) | (1 << (sqlParser.ORDER - 32)) | (1 << (sqlParser.HAVING - 32)) | (1 << (sqlParser.LIMIT - 32)) | (1 << (sqlParser.AT - 32)) | (1 << (sqlParser.OR - 32)) | (1 << (sqlParser.AND - 32)) | (1 << (sqlParser.IN - 32)) | (1 << (sqlParser.NOT - 32)) | (1 << (sqlParser.NO - 32)) | (1 << (sqlParser.EXISTS - 32)) | (1 << (sqlParser.BETWEEN - 32)) | (1 << (sqlParser.LIKE - 32)) | (1 << (sqlParser.RLIKE - 32)) | (1 << (sqlParser.IS - 32)) | (1 << (sqlParser.NULL - 32)) | (1 << (sqlParser.TRUE - 32)) | (1 << (sqlParser.FALSE - 32)) | (1 << (sqlParser.NULLS - 32)) | (1 << (sqlParser.ASC - 32)) | (1 << (sqlParser.DESC - 32)) | (1 << (sqlParser.FOR - 32)) | (1 << (sqlParser.INTERVAL - 32)) | (1 << (sqlParser.CASE - 32)) | (1 << (sqlParser.WHEN - 32)) | (1 << (sqlParser.THEN - 32)) | (1 << (sqlParser.ELSE - 32)) | (1 << (sqlParser.END - 32)) | (1 << (sqlParser.JOIN - 32)) | (1 << (sqlParser.CROSS - 32)) | (1 << (sqlParser.OUTER - 32)) | (1 << (sqlParser.INNER - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (sqlParser.LEFT - 64)) | (1 << (sqlParser.SEMI - 64)) | (1 << (sqlParser.RIGHT - 64)) | (1 << (sqlParser.FULL - 64)) | (1 << (sqlParser.NATURAL - 64)) | (1 << (sqlParser.ON - 64)) | (1 << (sqlParser.PIVOT - 64)) | (1 << (sqlParser.LATERAL - 64)) | (1 << (sqlParser.WINDOW - 64)) | (1 << (sqlParser.OVER - 64)) | (1 << (sqlParser.PARTITION - 64)) | (1 << (sqlParser.RANGE - 64)) | (1 << (sqlParser.ROWS - 64)) | (1 << (sqlParser.UNBOUNDED - 64)) | (1 << (sqlParser.PRECEDING - 64)) | (1 << (sqlParser.FOLLOWING - 64)) | (1 << (sqlParser.CURRENT - 64)) | (1 << (sqlParser.FIRST - 64)) | (1 << (sqlParser.AFTER - 64)) | (1 << (sqlParser.LAST - 64)) | (1 << (sqlParser.ROW - 64)) | (1 << (sqlParser.WITH - 64)) | (1 << (sqlParser.CREATE - 64)) | (1 << (sqlParser.TABLE - 64)) | (1 << (sqlParser.DIRECTORY - 64)) | (1 << (sqlParser.VIEW - 64)) | (1 << (sqlParser.REPLACE - 64)) | (1 << (sqlParser.INSERT - 64)) | (1 << (sqlParser.DELETE - 64)) | (1 << (sqlParser.INTO - 64)) | (1 << (sqlParser.DESCRIBE - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (sqlParser.EXPLAIN - 96)) | (1 << (sqlParser.FORMAT - 96)) | (1 << (sqlParser.LOGICAL - 96)) | (1 << (sqlParser.CODEGEN - 96)) | (1 << (sqlParser.COST - 96)) | (1 << (sqlParser.CAST - 96)) | (1 << (sqlParser.SHOW - 96)) | (1 << (sqlParser.TABLES - 96)) | (1 << (sqlParser.COLUMNS - 96)) | (1 << (sqlParser.COLUMN - 96)) | (1 << (sqlParser.USE - 96)) | (1 << (sqlParser.PARTITIONS - 96)) | (1 << (sqlParser.FUNCTIONS - 96)) | (1 << (sqlParser.DROP - 96)) | (1 << (sqlParser.UNION - 96)) | (1 << (sqlParser.EXCEPT - 96)) | (1 << (sqlParser.SETMINUS - 96)) | (1 << (sqlParser.INTERSECT - 96)) | (1 << (sqlParser.TO - 96)) | (1 << (sqlParser.TABLESAMPLE - 96)) | (1 << (sqlParser.STRATIFY - 96)) | (1 << (sqlParser.ALTER - 96)) | (1 << (sqlParser.RENAME - 96)) | (1 << (sqlParser.ARRAY - 96)) | (1 << (sqlParser.MAP - 96)) | (1 << (sqlParser.STRUCT - 96)) | (1 << (sqlParser.COMMENT - 96)) | (1 << (sqlParser.SET - 96)) | (1 << (sqlParser.RESET - 96)) | (1 << (sqlParser.DATA - 96)) | (1 << (sqlParser.START - 96)) | (1 << (sqlParser.TRANSACTION - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (sqlParser.COMMIT - 128)) | (1 << (sqlParser.ROLLBACK - 128)) | (1 << (sqlParser.MACRO - 128)) | (1 << (sqlParser.IGNORE - 128)) | (1 << (sqlParser.BOTH - 128)) | (1 << (sqlParser.LEADING - 128)) | (1 << (sqlParser.TRAILING - 128)) | (1 << (sqlParser.IF - 128)) | (1 << (sqlParser.POSITION - 128)) | (1 << (sqlParser.EXTRACT - 128)) | (1 << (sqlParser.PLUS - 128)) | (1 << (sqlParser.MINUS - 128)) | (1 << (sqlParser.ASTERISK - 128)) | (1 << (sqlParser.DIV - 128)) | (1 << (sqlParser.TILDE - 128)) | (1 << (sqlParser.PERCENTLIT - 128)) | (1 << (sqlParser.BUCKET - 128)) | (1 << (sqlParser.OUT - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (sqlParser.OF - 160)) | (1 << (sqlParser.SORT - 160)) | (1 << (sqlParser.CLUSTER - 160)) | (1 << (sqlParser.DISTRIBUTE - 160)) | (1 << (sqlParser.OVERWRITE - 160)) | (1 << (sqlParser.TRANSFORM - 160)) | (1 << (sqlParser.REDUCE - 160)) | (1 << (sqlParser.SERDE - 160)) | (1 << (sqlParser.SERDEPROPERTIES - 160)) | (1 << (sqlParser.RECORDREADER - 160)) | (1 << (sqlParser.RECORDWRITER - 160)) | (1 << (sqlParser.DELIMITED - 160)) | (1 << (sqlParser.FIELDS - 160)) | (1 << (sqlParser.TERMINATED - 160)) | (1 << (sqlParser.COLLECTION - 160)) | (1 << (sqlParser.ITEMS - 160)) | (1 << (sqlParser.KEYS - 160)) | (1 << (sqlParser.ESCAPED - 160)) | (1 << (sqlParser.LINES - 160)) | (1 << (sqlParser.SEPARATED - 160)) | (1 << (sqlParser.FUNCTION - 160)) | (1 << (sqlParser.EXTENDED - 160)) | (1 << (sqlParser.REFRESH - 160)) | (1 << (sqlParser.CLEAR - 160)) | (1 << (sqlParser.CACHE - 160)) | (1 << (sqlParser.UNCACHE - 160)) | (1 << (sqlParser.LAZY - 160)) | (1 << (sqlParser.FORMATTED - 160)) | (1 << (sqlParser.GLOBAL - 160)) | (1 << (sqlParser.TEMPORARY - 160)) | (1 << (sqlParser.OPTIONS - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (sqlParser.UNSET - 192)) | (1 << (sqlParser.TBLPROPERTIES - 192)) | (1 << (sqlParser.DBPROPERTIES - 192)) | (1 << (sqlParser.BUCKETS - 192)) | (1 << (sqlParser.SKEWED - 192)) | (1 << (sqlParser.STORED - 192)) | (1 << (sqlParser.DIRECTORIES - 192)) | (1 << (sqlParser.LOCATION - 192)) | (1 << (sqlParser.EXCHANGE - 192)) | (1 << (sqlParser.ARCHIVE - 192)) | (1 << (sqlParser.UNARCHIVE - 192)) | (1 << (sqlParser.FILEFORMAT - 192)) | (1 << (sqlParser.TOUCH - 192)) | (1 << (sqlParser.COMPACT - 192)) | (1 << (sqlParser.CONCATENATE - 192)) | (1 << (sqlParser.CHANGE - 192)) | (1 << (sqlParser.CASCADE - 192)) | (1 << (sqlParser.RESTRICT - 192)) | (1 << (sqlParser.CLUSTERED - 192)) | (1 << (sqlParser.SORTED - 192)) | (1 << (sqlParser.PURGE - 192)) | (1 << (sqlParser.INPUTFORMAT - 192)) | (1 << (sqlParser.OUTPUTFORMAT - 192)) | (1 << (sqlParser.DATABASE - 192)) | (1 << (sqlParser.DATABASES - 192)) | (1 << (sqlParser.DFS - 192)) | (1 << (sqlParser.TRUNCATE - 192)) | (1 << (sqlParser.ANALYZE - 192)) | (1 << (sqlParser.COMPUTE - 192)) | (1 << (sqlParser.LIST - 192)) | (1 << (sqlParser.STATISTICS - 192)) | (1 << (sqlParser.PARTITIONED - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (sqlParser.EXTERNAL - 224)) | (1 << (sqlParser.DEFINED - 224)) | (1 << (sqlParser.REVOKE - 224)) | (1 << (sqlParser.GRANT - 224)) | (1 << (sqlParser.LOCK - 224)) | (1 << (sqlParser.UNLOCK - 224)) | (1 << (sqlParser.MSCK - 224)) | (1 << (sqlParser.REPAIR - 224)) | (1 << (sqlParser.RECOVER - 224)) | (1 << (sqlParser.EXPORT - 224)) | (1 << (sqlParser.IMPORT - 224)) | (1 << (sqlParser.LOAD - 224)) | (1 << (sqlParser.ROLE - 224)) | (1 << (sqlParser.ROLES - 224)) | (1 << (sqlParser.COMPACTIONS - 224)) | (1 << (sqlParser.PRINCIPALS - 224)) | (1 << (sqlParser.TRANSACTIONS - 224)) | (1 << (sqlParser.INDEX - 224)) | (1 << (sqlParser.INDEXES - 224)) | (1 << (sqlParser.LOCKS - 224)) | (1 << (sqlParser.OPTION - 224)) | (1 << (sqlParser.ANTI - 224)) | (1 << (sqlParser.LOCAL - 224)) | (1 << (sqlParser.INPATH - 224)))) !== 0) || ((((_la - 261)) & ~0x1f) == 0 && ((1 << (_la - 261)) & ((1 << (sqlParser.STRING - 261)) | (1 << (sqlParser.BIGINT_LITERAL - 261)) | (1 << (sqlParser.SMALLINT_LITERAL - 261)) | (1 << (sqlParser.TINYINT_LITERAL - 261)) | (1 << (sqlParser.INTEGER_VALUE - 261)) | (1 << (sqlParser.DECIMAL_VALUE - 261)) | (1 << (sqlParser.DOUBLE_LITERAL - 261)) | (1 << (sqlParser.BIGDECIMAL_LITERAL - 261)) | (1 << (sqlParser.IDENTIFIER - 261)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 261)))) !== 0)) { this.state = 2286; localctx._namedExpression = this.namedExpression(); localctx.argument.push(localctx._namedExpression); this.state = 2291; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2287; this.match(sqlParser.T__3); this.state = 2288; localctx._namedExpression = this.namedExpression(); localctx.argument.push(localctx._namedExpression); this.state = 2293; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 2296; this.match(sqlParser.T__1); break; case 5: localctx = new FirstContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2297; this.match(sqlParser.FIRST); this.state = 2298; this.match(sqlParser.T__0); this.state = 2299; this.expression(); this.state = 2302; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.IGNORE) { this.state = 2300; this.match(sqlParser.IGNORE); this.state = 2301; this.match(sqlParser.NULLS); } this.state = 2304; this.match(sqlParser.T__1); break; case 6: localctx = new LastContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2306; this.match(sqlParser.LAST); this.state = 2307; this.match(sqlParser.T__0); this.state = 2308; this.expression(); this.state = 2311; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.IGNORE) { this.state = 2309; this.match(sqlParser.IGNORE); this.state = 2310; this.match(sqlParser.NULLS); } this.state = 2313; this.match(sqlParser.T__1); break; case 7: localctx = new PositionContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2315; this.match(sqlParser.POSITION); this.state = 2316; this.match(sqlParser.T__0); this.state = 2317; localctx.substr = this.valueExpression(0); this.state = 2318; this.match(sqlParser.IN); this.state = 2319; localctx.str = this.valueExpression(0); this.state = 2320; this.match(sqlParser.T__1); break; case 8: localctx = new ConstantDefaultContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2322; this.constant(); break; case 9: localctx = new StarContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2323; this.match(sqlParser.ASTERISK); break; case 10: localctx = new StarContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2324; this.qualifiedName(); this.state = 2325; this.match(sqlParser.T__2); this.state = 2326; this.match(sqlParser.ASTERISK); break; case 11: localctx = new RowConstructorContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2328; this.match(sqlParser.T__0); this.state = 2329; this.namedExpression(); this.state = 2332; this._errHandler.sync(this); _la = this._input.LA(1); do { this.state = 2330; this.match(sqlParser.T__3); this.state = 2331; this.namedExpression(); this.state = 2334; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === sqlParser.T__3); this.state = 2336; this.match(sqlParser.T__1); break; case 12: localctx = new SubqueryExpressionContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2338; this.match(sqlParser.T__0); this.state = 2339; this.query(); this.state = 2340; this.match(sqlParser.T__1); break; case 13: localctx = new FunctionCallContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2342; this.qualifiedName(); this.state = 2343; this.match(sqlParser.T__0); this.state = 2355; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.T__0) | (1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.ADD) | (1 << sqlParser.AS) | (1 << sqlParser.ALL) | (1 << sqlParser.ANY) | (1 << sqlParser.DISTINCT) | (1 << sqlParser.WHERE) | (1 << sqlParser.GROUP) | (1 << sqlParser.BY) | (1 << sqlParser.GROUPING) | (1 << sqlParser.SETS) | (1 << sqlParser.CUBE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (sqlParser.ROLLUP - 32)) | (1 << (sqlParser.ORDER - 32)) | (1 << (sqlParser.HAVING - 32)) | (1 << (sqlParser.LIMIT - 32)) | (1 << (sqlParser.AT - 32)) | (1 << (sqlParser.OR - 32)) | (1 << (sqlParser.AND - 32)) | (1 << (sqlParser.IN - 32)) | (1 << (sqlParser.NOT - 32)) | (1 << (sqlParser.NO - 32)) | (1 << (sqlParser.EXISTS - 32)) | (1 << (sqlParser.BETWEEN - 32)) | (1 << (sqlParser.LIKE - 32)) | (1 << (sqlParser.RLIKE - 32)) | (1 << (sqlParser.IS - 32)) | (1 << (sqlParser.NULL - 32)) | (1 << (sqlParser.TRUE - 32)) | (1 << (sqlParser.FALSE - 32)) | (1 << (sqlParser.NULLS - 32)) | (1 << (sqlParser.ASC - 32)) | (1 << (sqlParser.DESC - 32)) | (1 << (sqlParser.FOR - 32)) | (1 << (sqlParser.INTERVAL - 32)) | (1 << (sqlParser.CASE - 32)) | (1 << (sqlParser.WHEN - 32)) | (1 << (sqlParser.THEN - 32)) | (1 << (sqlParser.ELSE - 32)) | (1 << (sqlParser.END - 32)) | (1 << (sqlParser.JOIN - 32)) | (1 << (sqlParser.CROSS - 32)) | (1 << (sqlParser.OUTER - 32)) | (1 << (sqlParser.INNER - 32)))) !== 0) || ((((_la - 64)) & ~0x1f) == 0 && ((1 << (_la - 64)) & ((1 << (sqlParser.LEFT - 64)) | (1 << (sqlParser.SEMI - 64)) | (1 << (sqlParser.RIGHT - 64)) | (1 << (sqlParser.FULL - 64)) | (1 << (sqlParser.NATURAL - 64)) | (1 << (sqlParser.ON - 64)) | (1 << (sqlParser.PIVOT - 64)) | (1 << (sqlParser.LATERAL - 64)) | (1 << (sqlParser.WINDOW - 64)) | (1 << (sqlParser.OVER - 64)) | (1 << (sqlParser.PARTITION - 64)) | (1 << (sqlParser.RANGE - 64)) | (1 << (sqlParser.ROWS - 64)) | (1 << (sqlParser.UNBOUNDED - 64)) | (1 << (sqlParser.PRECEDING - 64)) | (1 << (sqlParser.FOLLOWING - 64)) | (1 << (sqlParser.CURRENT - 64)) | (1 << (sqlParser.FIRST - 64)) | (1 << (sqlParser.AFTER - 64)) | (1 << (sqlParser.LAST - 64)) | (1 << (sqlParser.ROW - 64)) | (1 << (sqlParser.WITH - 64)) | (1 << (sqlParser.CREATE - 64)) | (1 << (sqlParser.TABLE - 64)) | (1 << (sqlParser.DIRECTORY - 64)) | (1 << (sqlParser.VIEW - 64)) | (1 << (sqlParser.REPLACE - 64)) | (1 << (sqlParser.INSERT - 64)) | (1 << (sqlParser.DELETE - 64)) | (1 << (sqlParser.INTO - 64)) | (1 << (sqlParser.DESCRIBE - 64)))) !== 0) || ((((_la - 96)) & ~0x1f) == 0 && ((1 << (_la - 96)) & ((1 << (sqlParser.EXPLAIN - 96)) | (1 << (sqlParser.FORMAT - 96)) | (1 << (sqlParser.LOGICAL - 96)) | (1 << (sqlParser.CODEGEN - 96)) | (1 << (sqlParser.COST - 96)) | (1 << (sqlParser.CAST - 96)) | (1 << (sqlParser.SHOW - 96)) | (1 << (sqlParser.TABLES - 96)) | (1 << (sqlParser.COLUMNS - 96)) | (1 << (sqlParser.COLUMN - 96)) | (1 << (sqlParser.USE - 96)) | (1 << (sqlParser.PARTITIONS - 96)) | (1 << (sqlParser.FUNCTIONS - 96)) | (1 << (sqlParser.DROP - 96)) | (1 << (sqlParser.UNION - 96)) | (1 << (sqlParser.EXCEPT - 96)) | (1 << (sqlParser.SETMINUS - 96)) | (1 << (sqlParser.INTERSECT - 96)) | (1 << (sqlParser.TO - 96)) | (1 << (sqlParser.TABLESAMPLE - 96)) | (1 << (sqlParser.STRATIFY - 96)) | (1 << (sqlParser.ALTER - 96)) | (1 << (sqlParser.RENAME - 96)) | (1 << (sqlParser.ARRAY - 96)) | (1 << (sqlParser.MAP - 96)) | (1 << (sqlParser.STRUCT - 96)) | (1 << (sqlParser.COMMENT - 96)) | (1 << (sqlParser.SET - 96)) | (1 << (sqlParser.RESET - 96)) | (1 << (sqlParser.DATA - 96)) | (1 << (sqlParser.START - 96)) | (1 << (sqlParser.TRANSACTION - 96)))) !== 0) || ((((_la - 128)) & ~0x1f) == 0 && ((1 << (_la - 128)) & ((1 << (sqlParser.COMMIT - 128)) | (1 << (sqlParser.ROLLBACK - 128)) | (1 << (sqlParser.MACRO - 128)) | (1 << (sqlParser.IGNORE - 128)) | (1 << (sqlParser.BOTH - 128)) | (1 << (sqlParser.LEADING - 128)) | (1 << (sqlParser.TRAILING - 128)) | (1 << (sqlParser.IF - 128)) | (1 << (sqlParser.POSITION - 128)) | (1 << (sqlParser.EXTRACT - 128)) | (1 << (sqlParser.PLUS - 128)) | (1 << (sqlParser.MINUS - 128)) | (1 << (sqlParser.ASTERISK - 128)) | (1 << (sqlParser.DIV - 128)) | (1 << (sqlParser.TILDE - 128)) | (1 << (sqlParser.PERCENTLIT - 128)) | (1 << (sqlParser.BUCKET - 128)) | (1 << (sqlParser.OUT - 128)))) !== 0) || ((((_la - 160)) & ~0x1f) == 0 && ((1 << (_la - 160)) & ((1 << (sqlParser.OF - 160)) | (1 << (sqlParser.SORT - 160)) | (1 << (sqlParser.CLUSTER - 160)) | (1 << (sqlParser.DISTRIBUTE - 160)) | (1 << (sqlParser.OVERWRITE - 160)) | (1 << (sqlParser.TRANSFORM - 160)) | (1 << (sqlParser.REDUCE - 160)) | (1 << (sqlParser.SERDE - 160)) | (1 << (sqlParser.SERDEPROPERTIES - 160)) | (1 << (sqlParser.RECORDREADER - 160)) | (1 << (sqlParser.RECORDWRITER - 160)) | (1 << (sqlParser.DELIMITED - 160)) | (1 << (sqlParser.FIELDS - 160)) | (1 << (sqlParser.TERMINATED - 160)) | (1 << (sqlParser.COLLECTION - 160)) | (1 << (sqlParser.ITEMS - 160)) | (1 << (sqlParser.KEYS - 160)) | (1 << (sqlParser.ESCAPED - 160)) | (1 << (sqlParser.LINES - 160)) | (1 << (sqlParser.SEPARATED - 160)) | (1 << (sqlParser.FUNCTION - 160)) | (1 << (sqlParser.EXTENDED - 160)) | (1 << (sqlParser.REFRESH - 160)) | (1 << (sqlParser.CLEAR - 160)) | (1 << (sqlParser.CACHE - 160)) | (1 << (sqlParser.UNCACHE - 160)) | (1 << (sqlParser.LAZY - 160)) | (1 << (sqlParser.FORMATTED - 160)) | (1 << (sqlParser.GLOBAL - 160)) | (1 << (sqlParser.TEMPORARY - 160)) | (1 << (sqlParser.OPTIONS - 160)))) !== 0) || ((((_la - 192)) & ~0x1f) == 0 && ((1 << (_la - 192)) & ((1 << (sqlParser.UNSET - 192)) | (1 << (sqlParser.TBLPROPERTIES - 192)) | (1 << (sqlParser.DBPROPERTIES - 192)) | (1 << (sqlParser.BUCKETS - 192)) | (1 << (sqlParser.SKEWED - 192)) | (1 << (sqlParser.STORED - 192)) | (1 << (sqlParser.DIRECTORIES - 192)) | (1 << (sqlParser.LOCATION - 192)) | (1 << (sqlParser.EXCHANGE - 192)) | (1 << (sqlParser.ARCHIVE - 192)) | (1 << (sqlParser.UNARCHIVE - 192)) | (1 << (sqlParser.FILEFORMAT - 192)) | (1 << (sqlParser.TOUCH - 192)) | (1 << (sqlParser.COMPACT - 192)) | (1 << (sqlParser.CONCATENATE - 192)) | (1 << (sqlParser.CHANGE - 192)) | (1 << (sqlParser.CASCADE - 192)) | (1 << (sqlParser.RESTRICT - 192)) | (1 << (sqlParser.CLUSTERED - 192)) | (1 << (sqlParser.SORTED - 192)) | (1 << (sqlParser.PURGE - 192)) | (1 << (sqlParser.INPUTFORMAT - 192)) | (1 << (sqlParser.OUTPUTFORMAT - 192)) | (1 << (sqlParser.DATABASE - 192)) | (1 << (sqlParser.DATABASES - 192)) | (1 << (sqlParser.DFS - 192)) | (1 << (sqlParser.TRUNCATE - 192)) | (1 << (sqlParser.ANALYZE - 192)) | (1 << (sqlParser.COMPUTE - 192)) | (1 << (sqlParser.LIST - 192)) | (1 << (sqlParser.STATISTICS - 192)) | (1 << (sqlParser.PARTITIONED - 192)))) !== 0) || ((((_la - 224)) & ~0x1f) == 0 && ((1 << (_la - 224)) & ((1 << (sqlParser.EXTERNAL - 224)) | (1 << (sqlParser.DEFINED - 224)) | (1 << (sqlParser.REVOKE - 224)) | (1 << (sqlParser.GRANT - 224)) | (1 << (sqlParser.LOCK - 224)) | (1 << (sqlParser.UNLOCK - 224)) | (1 << (sqlParser.MSCK - 224)) | (1 << (sqlParser.REPAIR - 224)) | (1 << (sqlParser.RECOVER - 224)) | (1 << (sqlParser.EXPORT - 224)) | (1 << (sqlParser.IMPORT - 224)) | (1 << (sqlParser.LOAD - 224)) | (1 << (sqlParser.ROLE - 224)) | (1 << (sqlParser.ROLES - 224)) | (1 << (sqlParser.COMPACTIONS - 224)) | (1 << (sqlParser.PRINCIPALS - 224)) | (1 << (sqlParser.TRANSACTIONS - 224)) | (1 << (sqlParser.INDEX - 224)) | (1 << (sqlParser.INDEXES - 224)) | (1 << (sqlParser.LOCKS - 224)) | (1 << (sqlParser.OPTION - 224)) | (1 << (sqlParser.ANTI - 224)) | (1 << (sqlParser.LOCAL - 224)) | (1 << (sqlParser.INPATH - 224)))) !== 0) || ((((_la - 261)) & ~0x1f) == 0 && ((1 << (_la - 261)) & ((1 << (sqlParser.STRING - 261)) | (1 << (sqlParser.BIGINT_LITERAL - 261)) | (1 << (sqlParser.SMALLINT_LITERAL - 261)) | (1 << (sqlParser.TINYINT_LITERAL - 261)) | (1 << (sqlParser.INTEGER_VALUE - 261)) | (1 << (sqlParser.DECIMAL_VALUE - 261)) | (1 << (sqlParser.DOUBLE_LITERAL - 261)) | (1 << (sqlParser.BIGDECIMAL_LITERAL - 261)) | (1 << (sqlParser.IDENTIFIER - 261)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 261)))) !== 0)) { this.state = 2345; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 305, this._ctx); if (la_ === 1) { this.state = 2344; this.setQuantifier(); } this.state = 2347; localctx._expression = this.expression(); localctx.argument.push(localctx._expression); this.state = 2352; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2348; this.match(sqlParser.T__3); this.state = 2349; localctx._expression = this.expression(); localctx.argument.push(localctx._expression); this.state = 2354; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 2357; this.match(sqlParser.T__1); this.state = 2360; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 308, this._ctx); if (la_ === 1) { this.state = 2358; this.match(sqlParser.OVER); this.state = 2359; this.windowSpec(); } break; case 14: localctx = new FunctionCallContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2362; this.qualifiedName(); this.state = 2363; this.match(sqlParser.T__0); this.state = 2364; localctx.trimOption = this._input.LT(1); _la = this._input.LA(1); if (!(((((_la - 132)) & ~0x1f) == 0 && ((1 << (_la - 132)) & ((1 << (sqlParser.BOTH - 132)) | (1 << (sqlParser.LEADING - 132)) | (1 << (sqlParser.TRAILING - 132)))) !== 0))) { localctx.trimOption = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 2365; localctx._expression = this.expression(); localctx.argument.push(localctx._expression); this.state = 2366; this.match(sqlParser.FROM); this.state = 2367; localctx._expression = this.expression(); localctx.argument.push(localctx._expression); this.state = 2368; this.match(sqlParser.T__1); break; case 15: localctx = new LambdaContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2370; this.match(sqlParser.IDENTIFIER); this.state = 2371; this.match(sqlParser.T__12); this.state = 2372; this.expression(); break; case 16: localctx = new LambdaContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2373; this.match(sqlParser.T__0); this.state = 2374; this.match(sqlParser.IDENTIFIER); this.state = 2377; this._errHandler.sync(this); _la = this._input.LA(1); do { this.state = 2375; this.match(sqlParser.T__3); this.state = 2376; this.match(sqlParser.IDENTIFIER); this.state = 2379; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === sqlParser.T__3); this.state = 2381; this.match(sqlParser.T__1); this.state = 2382; this.match(sqlParser.T__12); this.state = 2383; this.expression(); break; case 17: localctx = new ColumnReferenceContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2384; this.identifier(); break; case 18: localctx = new ParenthesizedExpressionContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2385; this.match(sqlParser.T__0); this.state = 2386; this.expression(); this.state = 2387; this.match(sqlParser.T__1); break; case 19: localctx = new ExtractContext(this, localctx); this._ctx = localctx; _prevctx = localctx; this.state = 2389; this.match(sqlParser.EXTRACT); this.state = 2390; this.match(sqlParser.T__0); this.state = 2391; localctx.field = this.identifier(); this.state = 2392; this.match(sqlParser.FROM); this.state = 2393; localctx.source = this.valueExpression(0); this.state = 2394; this.match(sqlParser.T__1); break; } this._ctx.stop = this._input.LT(-1); this.state = 2408; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 312, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners !== null) { this.triggerExitRuleEvent(); } _prevctx = localctx; this.state = 2406; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 311, this._ctx); switch (la_) { case 1: localctx = new SubscriptContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); localctx.value = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_primaryExpression); this.state = 2398; if (!(this.precpred(this._ctx, 5))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 5)"); } this.state = 2399; this.match(sqlParser.T__13); this.state = 2400; localctx.index = this.valueExpression(0); this.state = 2401; this.match(sqlParser.T__14); break; case 2: localctx = new DereferenceContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); localctx.base = _prevctx; this.pushNewRecursionContext(localctx, _startState, sqlParser.RULE_primaryExpression); this.state = 2403; if (!(this.precpred(this._ctx, 3))) { throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); } this.state = 2404; this.match(sqlParser.T__2); this.state = 2405; localctx.fieldName = this.identifier(); break; } } this.state = 2410; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 312, this._ctx); } } catch (error) { if (error instanceof antlr4.error.RecognitionException) { localctx.exception = error; this._errHandler.reportError(this, error); this._errHandler.recover(this, error); } else { throw error; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; }; function ConstantContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_constant; return this; } ConstantContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ConstantContext.prototype.constructor = ConstantContext; ConstantContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function NullLiteralContext(parser, ctx) { ConstantContext.call(this, parser); ConstantContext.prototype.copyFrom.call(this, ctx); return this; } NullLiteralContext.prototype = Object.create(ConstantContext.prototype); NullLiteralContext.prototype.constructor = NullLiteralContext; sqlParser.NullLiteralContext = NullLiteralContext; NullLiteralContext.prototype.NULL = function () { return this.getToken(sqlParser.NULL, 0); }; NullLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterNullLiteral(this); } }; NullLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitNullLiteral(this); } }; NullLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitNullLiteral(this); } else { return visitor.visitChildren(this); } }; function StringLiteralContext(parser, ctx) { ConstantContext.call(this, parser); ConstantContext.prototype.copyFrom.call(this, ctx); return this; } StringLiteralContext.prototype = Object.create(ConstantContext.prototype); StringLiteralContext.prototype.constructor = StringLiteralContext; sqlParser.StringLiteralContext = StringLiteralContext; StringLiteralContext.prototype.STRING = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.STRING); } else { return this.getToken(sqlParser.STRING, i); } }; StringLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterStringLiteral(this); } }; StringLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitStringLiteral(this); } }; StringLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitStringLiteral(this); } else { return visitor.visitChildren(this); } }; function TypeConstructorContext(parser, ctx) { ConstantContext.call(this, parser); ConstantContext.prototype.copyFrom.call(this, ctx); return this; } TypeConstructorContext.prototype = Object.create(ConstantContext.prototype); TypeConstructorContext.prototype.constructor = TypeConstructorContext; sqlParser.TypeConstructorContext = TypeConstructorContext; TypeConstructorContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; TypeConstructorContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; TypeConstructorContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTypeConstructor(this); } }; TypeConstructorContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTypeConstructor(this); } }; TypeConstructorContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTypeConstructor(this); } else { return visitor.visitChildren(this); } }; function IntervalLiteralContext(parser, ctx) { ConstantContext.call(this, parser); ConstantContext.prototype.copyFrom.call(this, ctx); return this; } IntervalLiteralContext.prototype = Object.create(ConstantContext.prototype); IntervalLiteralContext.prototype.constructor = IntervalLiteralContext; sqlParser.IntervalLiteralContext = IntervalLiteralContext; IntervalLiteralContext.prototype.interval = function () { return this.getTypedRuleContext(IntervalContext, 0); }; IntervalLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIntervalLiteral(this); } }; IntervalLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIntervalLiteral(this); } }; IntervalLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIntervalLiteral(this); } else { return visitor.visitChildren(this); } }; function NumericLiteralContext(parser, ctx) { ConstantContext.call(this, parser); ConstantContext.prototype.copyFrom.call(this, ctx); return this; } NumericLiteralContext.prototype = Object.create(ConstantContext.prototype); NumericLiteralContext.prototype.constructor = NumericLiteralContext; sqlParser.NumericLiteralContext = NumericLiteralContext; NumericLiteralContext.prototype.number = function () { return this.getTypedRuleContext(NumberContext, 0); }; NumericLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterNumericLiteral(this); } }; NumericLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitNumericLiteral(this); } }; NumericLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitNumericLiteral(this); } else { return visitor.visitChildren(this); } }; function BooleanLiteralContext(parser, ctx) { ConstantContext.call(this, parser); ConstantContext.prototype.copyFrom.call(this, ctx); return this; } BooleanLiteralContext.prototype = Object.create(ConstantContext.prototype); BooleanLiteralContext.prototype.constructor = BooleanLiteralContext; sqlParser.BooleanLiteralContext = BooleanLiteralContext; BooleanLiteralContext.prototype.booleanValue = function () { return this.getTypedRuleContext(BooleanValueContext, 0); }; BooleanLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterBooleanLiteral(this); } }; BooleanLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitBooleanLiteral(this); } }; BooleanLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitBooleanLiteral(this); } else { return visitor.visitChildren(this); } }; sqlParser.ConstantContext = ConstantContext; sqlParser.prototype.constant = function () { var localctx = new ConstantContext(this, this._ctx, this.state); this.enterRule(localctx, 172, sqlParser.RULE_constant); try { this.state = 2423; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 314, this._ctx); switch (la_) { case 1: localctx = new NullLiteralContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 2411; this.match(sqlParser.NULL); break; case 2: localctx = new IntervalLiteralContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 2412; this.interval(); break; case 3: localctx = new TypeConstructorContext(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 2413; this.identifier(); this.state = 2414; this.match(sqlParser.STRING); break; case 4: localctx = new NumericLiteralContext(this, localctx); this.enterOuterAlt(localctx, 4); this.state = 2416; this.number(); break; case 5: localctx = new BooleanLiteralContext(this, localctx); this.enterOuterAlt(localctx, 5); this.state = 2417; this.booleanValue(); break; case 6: localctx = new StringLiteralContext(this, localctx); this.enterOuterAlt(localctx, 6); this.state = 2419; this._errHandler.sync(this); var _alt = 1; do { switch (_alt) { case 1: this.state = 2418; this.match(sqlParser.STRING); break; default: throw new antlr4.error.NoViableAltException(this); } this.state = 2421; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 313, this._ctx); } while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ComparisonOperatorContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_comparisonOperator; return this; } ComparisonOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ComparisonOperatorContext.prototype.constructor = ComparisonOperatorContext; ComparisonOperatorContext.prototype.EQ = function () { return this.getToken(sqlParser.EQ, 0); }; ComparisonOperatorContext.prototype.NEQ = function () { return this.getToken(sqlParser.NEQ, 0); }; ComparisonOperatorContext.prototype.NEQJ = function () { return this.getToken(sqlParser.NEQJ, 0); }; ComparisonOperatorContext.prototype.LT = function () { return this.getToken(sqlParser.LT, 0); }; ComparisonOperatorContext.prototype.LTE = function () { return this.getToken(sqlParser.LTE, 0); }; ComparisonOperatorContext.prototype.GT = function () { return this.getToken(sqlParser.GT, 0); }; ComparisonOperatorContext.prototype.GTE = function () { return this.getToken(sqlParser.GTE, 0); }; ComparisonOperatorContext.prototype.NSEQ = function () { return this.getToken(sqlParser.NSEQ, 0); }; ComparisonOperatorContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterComparisonOperator(this); } }; ComparisonOperatorContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitComparisonOperator(this); } }; ComparisonOperatorContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitComparisonOperator(this); } else { return visitor.visitChildren(this); } }; sqlParser.ComparisonOperatorContext = ComparisonOperatorContext; sqlParser.prototype.comparisonOperator = function () { var localctx = new ComparisonOperatorContext(this, this._ctx, this.state); this.enterRule(localctx, 174, sqlParser.RULE_comparisonOperator); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2425; _la = this._input.LA(1); if (!(((((_la - 138)) & ~0x1f) == 0 && ((1 << (_la - 138)) & ((1 << (sqlParser.EQ - 138)) | (1 << (sqlParser.NSEQ - 138)) | (1 << (sqlParser.NEQ - 138)) | (1 << (sqlParser.NEQJ - 138)) | (1 << (sqlParser.LT - 138)) | (1 << (sqlParser.LTE - 138)) | (1 << (sqlParser.GT - 138)) | (1 << (sqlParser.GTE - 138)))) !== 0))) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ArithmeticOperatorContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_arithmeticOperator; return this; } ArithmeticOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ArithmeticOperatorContext.prototype.constructor = ArithmeticOperatorContext; ArithmeticOperatorContext.prototype.PLUS = function () { return this.getToken(sqlParser.PLUS, 0); }; ArithmeticOperatorContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; ArithmeticOperatorContext.prototype.ASTERISK = function () { return this.getToken(sqlParser.ASTERISK, 0); }; ArithmeticOperatorContext.prototype.SLASH = function () { return this.getToken(sqlParser.SLASH, 0); }; ArithmeticOperatorContext.prototype.PERCENT = function () { return this.getToken(sqlParser.PERCENT, 0); }; ArithmeticOperatorContext.prototype.DIV = function () { return this.getToken(sqlParser.DIV, 0); }; ArithmeticOperatorContext.prototype.TILDE = function () { return this.getToken(sqlParser.TILDE, 0); }; ArithmeticOperatorContext.prototype.AMPERSAND = function () { return this.getToken(sqlParser.AMPERSAND, 0); }; ArithmeticOperatorContext.prototype.PIPE = function () { return this.getToken(sqlParser.PIPE, 0); }; ArithmeticOperatorContext.prototype.CONCAT_PIPE = function () { return this.getToken(sqlParser.CONCAT_PIPE, 0); }; ArithmeticOperatorContext.prototype.HAT = function () { return this.getToken(sqlParser.HAT, 0); }; ArithmeticOperatorContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterArithmeticOperator(this); } }; ArithmeticOperatorContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitArithmeticOperator(this); } }; ArithmeticOperatorContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitArithmeticOperator(this); } else { return visitor.visitChildren(this); } }; sqlParser.ArithmeticOperatorContext = ArithmeticOperatorContext; sqlParser.prototype.arithmeticOperator = function () { var localctx = new ArithmeticOperatorContext(this, this._ctx, this.state); this.enterRule(localctx, 176, sqlParser.RULE_arithmeticOperator); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2427; _la = this._input.LA(1); if (!(((((_la - 146)) & ~0x1f) == 0 && ((1 << (_la - 146)) & ((1 << (sqlParser.PLUS - 146)) | (1 << (sqlParser.MINUS - 146)) | (1 << (sqlParser.ASTERISK - 146)) | (1 << (sqlParser.SLASH - 146)) | (1 << (sqlParser.PERCENT - 146)) | (1 << (sqlParser.DIV - 146)) | (1 << (sqlParser.TILDE - 146)) | (1 << (sqlParser.AMPERSAND - 146)) | (1 << (sqlParser.PIPE - 146)) | (1 << (sqlParser.CONCAT_PIPE - 146)) | (1 << (sqlParser.HAT - 146)))) !== 0))) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function PredicateOperatorContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_predicateOperator; return this; } PredicateOperatorContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); PredicateOperatorContext.prototype.constructor = PredicateOperatorContext; PredicateOperatorContext.prototype.OR = function () { return this.getToken(sqlParser.OR, 0); }; PredicateOperatorContext.prototype.AND = function () { return this.getToken(sqlParser.AND, 0); }; PredicateOperatorContext.prototype.IN = function () { return this.getToken(sqlParser.IN, 0); }; PredicateOperatorContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; PredicateOperatorContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPredicateOperator(this); } }; PredicateOperatorContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPredicateOperator(this); } }; PredicateOperatorContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPredicateOperator(this); } else { return visitor.visitChildren(this); } }; sqlParser.PredicateOperatorContext = PredicateOperatorContext; sqlParser.prototype.predicateOperator = function () { var localctx = new PredicateOperatorContext(this, this._ctx, this.state); this.enterRule(localctx, 178, sqlParser.RULE_predicateOperator); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2429; _la = this._input.LA(1); if (!(((((_la - 37)) & ~0x1f) == 0 && ((1 << (_la - 37)) & ((1 << (sqlParser.OR - 37)) | (1 << (sqlParser.AND - 37)) | (1 << (sqlParser.IN - 37)) | (1 << (sqlParser.NOT - 37)))) !== 0))) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function BooleanValueContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_booleanValue; return this; } BooleanValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); BooleanValueContext.prototype.constructor = BooleanValueContext; BooleanValueContext.prototype.TRUE = function () { return this.getToken(sqlParser.TRUE, 0); }; BooleanValueContext.prototype.FALSE = function () { return this.getToken(sqlParser.FALSE, 0); }; BooleanValueContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterBooleanValue(this); } }; BooleanValueContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitBooleanValue(this); } }; BooleanValueContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitBooleanValue(this); } else { return visitor.visitChildren(this); } }; sqlParser.BooleanValueContext = BooleanValueContext; sqlParser.prototype.booleanValue = function () { var localctx = new BooleanValueContext(this, this._ctx, this.state); this.enterRule(localctx, 180, sqlParser.RULE_booleanValue); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2431; _la = this._input.LA(1); if (!(_la === sqlParser.TRUE || _la === sqlParser.FALSE)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function IntervalContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_interval; return this; } IntervalContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); IntervalContext.prototype.constructor = IntervalContext; IntervalContext.prototype.INTERVAL = function () { return this.getToken(sqlParser.INTERVAL, 0); }; IntervalContext.prototype.intervalField = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IntervalFieldContext); } else { return this.getTypedRuleContext(IntervalFieldContext, i); } }; IntervalContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterInterval(this); } }; IntervalContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitInterval(this); } }; IntervalContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitInterval(this); } else { return visitor.visitChildren(this); } }; sqlParser.IntervalContext = IntervalContext; sqlParser.prototype.interval = function () { var localctx = new IntervalContext(this, this._ctx, this.state); this.enterRule(localctx, 182, sqlParser.RULE_interval); try { this.enterOuterAlt(localctx, 1); this.state = 2433; this.match(sqlParser.INTERVAL); this.state = 2437; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 315, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 2434; this.intervalField(); } this.state = 2439; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 315, this._ctx); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function IntervalFieldContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_intervalField; this.value = null; // IntervalValueContext this.unit = null; // IdentifierContext this.to = null; // IdentifierContext return this; } IntervalFieldContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); IntervalFieldContext.prototype.constructor = IntervalFieldContext; IntervalFieldContext.prototype.intervalValue = function () { return this.getTypedRuleContext(IntervalValueContext, 0); }; IntervalFieldContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; IntervalFieldContext.prototype.TO = function () { return this.getToken(sqlParser.TO, 0); }; IntervalFieldContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIntervalField(this); } }; IntervalFieldContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIntervalField(this); } }; IntervalFieldContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIntervalField(this); } else { return visitor.visitChildren(this); } }; sqlParser.IntervalFieldContext = IntervalFieldContext; sqlParser.prototype.intervalField = function () { var localctx = new IntervalFieldContext(this, this._ctx, this.state); this.enterRule(localctx, 184, sqlParser.RULE_intervalField); try { this.enterOuterAlt(localctx, 1); this.state = 2440; localctx.value = this.intervalValue(); this.state = 2441; localctx.unit = this.identifier(); this.state = 2444; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 316, this._ctx); if (la_ === 1) { this.state = 2442; this.match(sqlParser.TO); this.state = 2443; localctx.to = this.identifier(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function IntervalValueContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_intervalValue; return this; } IntervalValueContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); IntervalValueContext.prototype.constructor = IntervalValueContext; IntervalValueContext.prototype.INTEGER_VALUE = function () { return this.getToken(sqlParser.INTEGER_VALUE, 0); }; IntervalValueContext.prototype.DECIMAL_VALUE = function () { return this.getToken(sqlParser.DECIMAL_VALUE, 0); }; IntervalValueContext.prototype.PLUS = function () { return this.getToken(sqlParser.PLUS, 0); }; IntervalValueContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; IntervalValueContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; IntervalValueContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIntervalValue(this); } }; IntervalValueContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIntervalValue(this); } }; IntervalValueContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIntervalValue(this); } else { return visitor.visitChildren(this); } }; sqlParser.IntervalValueContext = IntervalValueContext; sqlParser.prototype.intervalValue = function () { var localctx = new IntervalValueContext(this, this._ctx, this.state); this.enterRule(localctx, 186, sqlParser.RULE_intervalValue); var _la = 0; // Token type try { this.state = 2451; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.PLUS: case sqlParser.MINUS: case sqlParser.INTEGER_VALUE: case sqlParser.DECIMAL_VALUE: this.enterOuterAlt(localctx, 1); this.state = 2447; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PLUS || _la === sqlParser.MINUS) { this.state = 2446; _la = this._input.LA(1); if (!(_la === sqlParser.PLUS || _la === sqlParser.MINUS)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } this.state = 2449; _la = this._input.LA(1); if (!(_la === sqlParser.INTEGER_VALUE || _la === sqlParser.DECIMAL_VALUE)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } break; case sqlParser.STRING: this.enterOuterAlt(localctx, 2); this.state = 2450; this.match(sqlParser.STRING); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ColPositionContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_colPosition; return this; } ColPositionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ColPositionContext.prototype.constructor = ColPositionContext; ColPositionContext.prototype.FIRST = function () { return this.getToken(sqlParser.FIRST, 0); }; ColPositionContext.prototype.AFTER = function () { return this.getToken(sqlParser.AFTER, 0); }; ColPositionContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ColPositionContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterColPosition(this); } }; ColPositionContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitColPosition(this); } }; ColPositionContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitColPosition(this); } else { return visitor.visitChildren(this); } }; sqlParser.ColPositionContext = ColPositionContext; sqlParser.prototype.colPosition = function () { var localctx = new ColPositionContext(this, this._ctx, this.state); this.enterRule(localctx, 188, sqlParser.RULE_colPosition); try { this.state = 2456; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.FIRST: this.enterOuterAlt(localctx, 1); this.state = 2453; this.match(sqlParser.FIRST); break; case sqlParser.AFTER: this.enterOuterAlt(localctx, 2); this.state = 2454; this.match(sqlParser.AFTER); this.state = 2455; this.identifier(); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function DataTypeContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_dataType; return this; } DataTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); DataTypeContext.prototype.constructor = DataTypeContext; DataTypeContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function ComplexDataTypeContext(parser, ctx) { DataTypeContext.call(this, parser); this.complex = null; // Token; DataTypeContext.prototype.copyFrom.call(this, ctx); return this; } ComplexDataTypeContext.prototype = Object.create(DataTypeContext.prototype); ComplexDataTypeContext.prototype.constructor = ComplexDataTypeContext; sqlParser.ComplexDataTypeContext = ComplexDataTypeContext; ComplexDataTypeContext.prototype.dataType = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(DataTypeContext); } else { return this.getTypedRuleContext(DataTypeContext, i); } }; ComplexDataTypeContext.prototype.ARRAY = function () { return this.getToken(sqlParser.ARRAY, 0); }; ComplexDataTypeContext.prototype.MAP = function () { return this.getToken(sqlParser.MAP, 0); }; ComplexDataTypeContext.prototype.STRUCT = function () { return this.getToken(sqlParser.STRUCT, 0); }; ComplexDataTypeContext.prototype.NEQ = function () { return this.getToken(sqlParser.NEQ, 0); }; ComplexDataTypeContext.prototype.complexColTypeList = function () { return this.getTypedRuleContext(ComplexColTypeListContext, 0); }; ComplexDataTypeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterComplexDataType(this); } }; ComplexDataTypeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitComplexDataType(this); } }; ComplexDataTypeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitComplexDataType(this); } else { return visitor.visitChildren(this); } }; function PrimitiveDataTypeContext(parser, ctx) { DataTypeContext.call(this, parser); DataTypeContext.prototype.copyFrom.call(this, ctx); return this; } PrimitiveDataTypeContext.prototype = Object.create(DataTypeContext.prototype); PrimitiveDataTypeContext.prototype.constructor = PrimitiveDataTypeContext; sqlParser.PrimitiveDataTypeContext = PrimitiveDataTypeContext; PrimitiveDataTypeContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; PrimitiveDataTypeContext.prototype.INTEGER_VALUE = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.INTEGER_VALUE); } else { return this.getToken(sqlParser.INTEGER_VALUE, i); } }; PrimitiveDataTypeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterPrimitiveDataType(this); } }; PrimitiveDataTypeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitPrimitiveDataType(this); } }; PrimitiveDataTypeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitPrimitiveDataType(this); } else { return visitor.visitChildren(this); } }; sqlParser.DataTypeContext = DataTypeContext; sqlParser.prototype.dataType = function () { var localctx = new DataTypeContext(this, this._ctx, this.state); this.enterRule(localctx, 190, sqlParser.RULE_dataType); var _la = 0; // Token type try { this.state = 2492; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 324, this._ctx); switch (la_) { case 1: localctx = new ComplexDataTypeContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 2458; localctx.complex = this.match(sqlParser.ARRAY); this.state = 2459; this.match(sqlParser.LT); this.state = 2460; this.dataType(); this.state = 2461; this.match(sqlParser.GT); break; case 2: localctx = new ComplexDataTypeContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 2463; localctx.complex = this.match(sqlParser.MAP); this.state = 2464; this.match(sqlParser.LT); this.state = 2465; this.dataType(); this.state = 2466; this.match(sqlParser.T__3); this.state = 2467; this.dataType(); this.state = 2468; this.match(sqlParser.GT); break; case 3: localctx = new ComplexDataTypeContext(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 2470; localctx.complex = this.match(sqlParser.STRUCT); this.state = 2477; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.LT: this.state = 2471; this.match(sqlParser.LT); this.state = 2473; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 19)) & ~0x1f) == 0 && ((1 << (_la - 19)) & ((1 << (sqlParser.SELECT - 19)) | (1 << (sqlParser.FROM - 19)) | (1 << (sqlParser.ADD - 19)) | (1 << (sqlParser.AS - 19)) | (1 << (sqlParser.ALL - 19)) | (1 << (sqlParser.ANY - 19)) | (1 << (sqlParser.DISTINCT - 19)) | (1 << (sqlParser.WHERE - 19)) | (1 << (sqlParser.GROUP - 19)) | (1 << (sqlParser.BY - 19)) | (1 << (sqlParser.GROUPING - 19)) | (1 << (sqlParser.SETS - 19)) | (1 << (sqlParser.CUBE - 19)) | (1 << (sqlParser.ROLLUP - 19)) | (1 << (sqlParser.ORDER - 19)) | (1 << (sqlParser.HAVING - 19)) | (1 << (sqlParser.LIMIT - 19)) | (1 << (sqlParser.AT - 19)) | (1 << (sqlParser.OR - 19)) | (1 << (sqlParser.AND - 19)) | (1 << (sqlParser.IN - 19)) | (1 << (sqlParser.NOT - 19)) | (1 << (sqlParser.NO - 19)) | (1 << (sqlParser.EXISTS - 19)) | (1 << (sqlParser.BETWEEN - 19)) | (1 << (sqlParser.LIKE - 19)) | (1 << (sqlParser.RLIKE - 19)) | (1 << (sqlParser.IS - 19)) | (1 << (sqlParser.NULL - 19)) | (1 << (sqlParser.TRUE - 19)) | (1 << (sqlParser.FALSE - 19)) | (1 << (sqlParser.NULLS - 19)))) !== 0) || ((((_la - 51)) & ~0x1f) == 0 && ((1 << (_la - 51)) & ((1 << (sqlParser.ASC - 51)) | (1 << (sqlParser.DESC - 51)) | (1 << (sqlParser.FOR - 51)) | (1 << (sqlParser.INTERVAL - 51)) | (1 << (sqlParser.CASE - 51)) | (1 << (sqlParser.WHEN - 51)) | (1 << (sqlParser.THEN - 51)) | (1 << (sqlParser.ELSE - 51)) | (1 << (sqlParser.END - 51)) | (1 << (sqlParser.JOIN - 51)) | (1 << (sqlParser.CROSS - 51)) | (1 << (sqlParser.OUTER - 51)) | (1 << (sqlParser.INNER - 51)) | (1 << (sqlParser.LEFT - 51)) | (1 << (sqlParser.SEMI - 51)) | (1 << (sqlParser.RIGHT - 51)) | (1 << (sqlParser.FULL - 51)) | (1 << (sqlParser.NATURAL - 51)) | (1 << (sqlParser.ON - 51)) | (1 << (sqlParser.PIVOT - 51)) | (1 << (sqlParser.LATERAL - 51)) | (1 << (sqlParser.WINDOW - 51)) | (1 << (sqlParser.OVER - 51)) | (1 << (sqlParser.PARTITION - 51)) | (1 << (sqlParser.RANGE - 51)) | (1 << (sqlParser.ROWS - 51)) | (1 << (sqlParser.UNBOUNDED - 51)) | (1 << (sqlParser.PRECEDING - 51)) | (1 << (sqlParser.FOLLOWING - 51)) | (1 << (sqlParser.CURRENT - 51)) | (1 << (sqlParser.FIRST - 51)) | (1 << (sqlParser.AFTER - 51)))) !== 0) || ((((_la - 83)) & ~0x1f) == 0 && ((1 << (_la - 83)) & ((1 << (sqlParser.LAST - 83)) | (1 << (sqlParser.ROW - 83)) | (1 << (sqlParser.WITH - 83)) | (1 << (sqlParser.CREATE - 83)) | (1 << (sqlParser.TABLE - 83)) | (1 << (sqlParser.DIRECTORY - 83)) | (1 << (sqlParser.VIEW - 83)) | (1 << (sqlParser.REPLACE - 83)) | (1 << (sqlParser.INSERT - 83)) | (1 << (sqlParser.DELETE - 83)) | (1 << (sqlParser.INTO - 83)) | (1 << (sqlParser.DESCRIBE - 83)) | (1 << (sqlParser.EXPLAIN - 83)) | (1 << (sqlParser.FORMAT - 83)) | (1 << (sqlParser.LOGICAL - 83)) | (1 << (sqlParser.CODEGEN - 83)) | (1 << (sqlParser.COST - 83)) | (1 << (sqlParser.CAST - 83)) | (1 << (sqlParser.SHOW - 83)) | (1 << (sqlParser.TABLES - 83)) | (1 << (sqlParser.COLUMNS - 83)) | (1 << (sqlParser.COLUMN - 83)) | (1 << (sqlParser.USE - 83)) | (1 << (sqlParser.PARTITIONS - 83)) | (1 << (sqlParser.FUNCTIONS - 83)) | (1 << (sqlParser.DROP - 83)) | (1 << (sqlParser.UNION - 83)) | (1 << (sqlParser.EXCEPT - 83)) | (1 << (sqlParser.SETMINUS - 83)) | (1 << (sqlParser.INTERSECT - 83)) | (1 << (sqlParser.TO - 83)))) !== 0) || ((((_la - 115)) & ~0x1f) == 0 && ((1 << (_la - 115)) & ((1 << (sqlParser.TABLESAMPLE - 115)) | (1 << (sqlParser.STRATIFY - 115)) | (1 << (sqlParser.ALTER - 115)) | (1 << (sqlParser.RENAME - 115)) | (1 << (sqlParser.ARRAY - 115)) | (1 << (sqlParser.MAP - 115)) | (1 << (sqlParser.STRUCT - 115)) | (1 << (sqlParser.COMMENT - 115)) | (1 << (sqlParser.SET - 115)) | (1 << (sqlParser.RESET - 115)) | (1 << (sqlParser.DATA - 115)) | (1 << (sqlParser.START - 115)) | (1 << (sqlParser.TRANSACTION - 115)) | (1 << (sqlParser.COMMIT - 115)) | (1 << (sqlParser.ROLLBACK - 115)) | (1 << (sqlParser.MACRO - 115)) | (1 << (sqlParser.IGNORE - 115)) | (1 << (sqlParser.BOTH - 115)) | (1 << (sqlParser.LEADING - 115)) | (1 << (sqlParser.TRAILING - 115)) | (1 << (sqlParser.IF - 115)) | (1 << (sqlParser.POSITION - 115)) | (1 << (sqlParser.EXTRACT - 115)))) !== 0) || ((((_la - 151)) & ~0x1f) == 0 && ((1 << (_la - 151)) & ((1 << (sqlParser.DIV - 151)) | (1 << (sqlParser.PERCENTLIT - 151)) | (1 << (sqlParser.BUCKET - 151)) | (1 << (sqlParser.OUT - 151)) | (1 << (sqlParser.OF - 151)) | (1 << (sqlParser.SORT - 151)) | (1 << (sqlParser.CLUSTER - 151)) | (1 << (sqlParser.DISTRIBUTE - 151)) | (1 << (sqlParser.OVERWRITE - 151)) | (1 << (sqlParser.TRANSFORM - 151)) | (1 << (sqlParser.REDUCE - 151)) | (1 << (sqlParser.SERDE - 151)) | (1 << (sqlParser.SERDEPROPERTIES - 151)) | (1 << (sqlParser.RECORDREADER - 151)) | (1 << (sqlParser.RECORDWRITER - 151)) | (1 << (sqlParser.DELIMITED - 151)) | (1 << (sqlParser.FIELDS - 151)) | (1 << (sqlParser.TERMINATED - 151)) | (1 << (sqlParser.COLLECTION - 151)) | (1 << (sqlParser.ITEMS - 151)) | (1 << (sqlParser.KEYS - 151)) | (1 << (sqlParser.ESCAPED - 151)) | (1 << (sqlParser.LINES - 151)) | (1 << (sqlParser.SEPARATED - 151)) | (1 << (sqlParser.FUNCTION - 151)) | (1 << (sqlParser.EXTENDED - 151)))) !== 0) || ((((_la - 183)) & ~0x1f) == 0 && ((1 << (_la - 183)) & ((1 << (sqlParser.REFRESH - 183)) | (1 << (sqlParser.CLEAR - 183)) | (1 << (sqlParser.CACHE - 183)) | (1 << (sqlParser.UNCACHE - 183)) | (1 << (sqlParser.LAZY - 183)) | (1 << (sqlParser.FORMATTED - 183)) | (1 << (sqlParser.GLOBAL - 183)) | (1 << (sqlParser.TEMPORARY - 183)) | (1 << (sqlParser.OPTIONS - 183)) | (1 << (sqlParser.UNSET - 183)) | (1 << (sqlParser.TBLPROPERTIES - 183)) | (1 << (sqlParser.DBPROPERTIES - 183)) | (1 << (sqlParser.BUCKETS - 183)) | (1 << (sqlParser.SKEWED - 183)) | (1 << (sqlParser.STORED - 183)) | (1 << (sqlParser.DIRECTORIES - 183)) | (1 << (sqlParser.LOCATION - 183)) | (1 << (sqlParser.EXCHANGE - 183)) | (1 << (sqlParser.ARCHIVE - 183)) | (1 << (sqlParser.UNARCHIVE - 183)) | (1 << (sqlParser.FILEFORMAT - 183)) | (1 << (sqlParser.TOUCH - 183)) | (1 << (sqlParser.COMPACT - 183)) | (1 << (sqlParser.CONCATENATE - 183)) | (1 << (sqlParser.CHANGE - 183)) | (1 << (sqlParser.CASCADE - 183)) | (1 << (sqlParser.RESTRICT - 183)) | (1 << (sqlParser.CLUSTERED - 183)) | (1 << (sqlParser.SORTED - 183)) | (1 << (sqlParser.PURGE - 183)) | (1 << (sqlParser.INPUTFORMAT - 183)) | (1 << (sqlParser.OUTPUTFORMAT - 183)))) !== 0) || ((((_la - 215)) & ~0x1f) == 0 && ((1 << (_la - 215)) & ((1 << (sqlParser.DATABASE - 215)) | (1 << (sqlParser.DATABASES - 215)) | (1 << (sqlParser.DFS - 215)) | (1 << (sqlParser.TRUNCATE - 215)) | (1 << (sqlParser.ANALYZE - 215)) | (1 << (sqlParser.COMPUTE - 215)) | (1 << (sqlParser.LIST - 215)) | (1 << (sqlParser.STATISTICS - 215)) | (1 << (sqlParser.PARTITIONED - 215)) | (1 << (sqlParser.EXTERNAL - 215)) | (1 << (sqlParser.DEFINED - 215)) | (1 << (sqlParser.REVOKE - 215)) | (1 << (sqlParser.GRANT - 215)) | (1 << (sqlParser.LOCK - 215)) | (1 << (sqlParser.UNLOCK - 215)) | (1 << (sqlParser.MSCK - 215)) | (1 << (sqlParser.REPAIR - 215)) | (1 << (sqlParser.RECOVER - 215)) | (1 << (sqlParser.EXPORT - 215)) | (1 << (sqlParser.IMPORT - 215)) | (1 << (sqlParser.LOAD - 215)) | (1 << (sqlParser.ROLE - 215)) | (1 << (sqlParser.ROLES - 215)) | (1 << (sqlParser.COMPACTIONS - 215)) | (1 << (sqlParser.PRINCIPALS - 215)) | (1 << (sqlParser.TRANSACTIONS - 215)) | (1 << (sqlParser.INDEX - 215)) | (1 << (sqlParser.INDEXES - 215)) | (1 << (sqlParser.LOCKS - 215)) | (1 << (sqlParser.OPTION - 215)) | (1 << (sqlParser.ANTI - 215)) | (1 << (sqlParser.LOCAL - 215)))) !== 0) || ((((_la - 247)) & ~0x1f) == 0 && ((1 << (_la - 247)) & ((1 << (sqlParser.INPATH - 247)) | (1 << (sqlParser.IDENTIFIER - 247)) | (1 << (sqlParser.BACKQUOTED_IDENTIFIER - 247)))) !== 0)) { this.state = 2472; this.complexColTypeList(); } this.state = 2475; this.match(sqlParser.GT); break; case sqlParser.NEQ: this.state = 2476; this.match(sqlParser.NEQ); break; default: throw new antlr4.error.NoViableAltException(this); } break; case 4: localctx = new PrimitiveDataTypeContext(this, localctx); this.enterOuterAlt(localctx, 4); this.state = 2479; this.identifier(); this.state = 2490; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 323, this._ctx); if (la_ === 1) { this.state = 2480; this.match(sqlParser.T__0); this.state = 2481; this.match(sqlParser.INTEGER_VALUE); this.state = 2486; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2482; this.match(sqlParser.T__3); this.state = 2483; this.match(sqlParser.INTEGER_VALUE); this.state = 2488; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 2489; this.match(sqlParser.T__1); } break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ColTypeListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_colTypeList; return this; } ColTypeListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ColTypeListContext.prototype.constructor = ColTypeListContext; ColTypeListContext.prototype.colType = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ColTypeContext); } else { return this.getTypedRuleContext(ColTypeContext, i); } }; ColTypeListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterColTypeList(this); } }; ColTypeListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitColTypeList(this); } }; ColTypeListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitColTypeList(this); } else { return visitor.visitChildren(this); } }; sqlParser.ColTypeListContext = ColTypeListContext; sqlParser.prototype.colTypeList = function () { var localctx = new ColTypeListContext(this, this._ctx, this.state); this.enterRule(localctx, 192, sqlParser.RULE_colTypeList); try { this.enterOuterAlt(localctx, 1); this.state = 2494; this.colType(); this.state = 2499; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 325, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 2495; this.match(sqlParser.T__3); this.state = 2496; this.colType(); } this.state = 2501; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 325, this._ctx); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ColTypeContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_colType; return this; } ColTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ColTypeContext.prototype.constructor = ColTypeContext; ColTypeContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ColTypeContext.prototype.dataType = function () { return this.getTypedRuleContext(DataTypeContext, 0); }; ColTypeContext.prototype.COMMENT = function () { return this.getToken(sqlParser.COMMENT, 0); }; ColTypeContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; ColTypeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterColType(this); } }; ColTypeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitColType(this); } }; ColTypeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitColType(this); } else { return visitor.visitChildren(this); } }; sqlParser.ColTypeContext = ColTypeContext; sqlParser.prototype.colType = function () { var localctx = new ColTypeContext(this, this._ctx, this.state); this.enterRule(localctx, 194, sqlParser.RULE_colType); try { this.enterOuterAlt(localctx, 1); this.state = 2502; this.identifier(); this.state = 2503; this.dataType(); this.state = 2506; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 326, this._ctx); if (la_ === 1) { this.state = 2504; this.match(sqlParser.COMMENT); this.state = 2505; this.match(sqlParser.STRING); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function DtColTypeListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_dtColTypeList; return this; } DtColTypeListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); DtColTypeListContext.prototype.constructor = DtColTypeListContext; DtColTypeListContext.prototype.dtColType = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(DtColTypeContext); } else { return this.getTypedRuleContext(DtColTypeContext, i); } }; DtColTypeListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDtColTypeList(this); } }; DtColTypeListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDtColTypeList(this); } }; DtColTypeListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDtColTypeList(this); } else { return visitor.visitChildren(this); } }; sqlParser.DtColTypeListContext = DtColTypeListContext; sqlParser.prototype.dtColTypeList = function () { var localctx = new DtColTypeListContext(this, this._ctx, this.state); this.enterRule(localctx, 196, sqlParser.RULE_dtColTypeList); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2508; this.dtColType(); this.state = 2513; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2509; this.match(sqlParser.T__3); this.state = 2510; this.dtColType(); this.state = 2515; this._errHandler.sync(this); _la = this._input.LA(1); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function DtColTypeContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_dtColType; return this; } DtColTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); DtColTypeContext.prototype.constructor = DtColTypeContext; DtColTypeContext.prototype.dtColIdentifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(DtColIdentifierContext); } else { return this.getTypedRuleContext(DtColIdentifierContext, i); } }; DtColTypeContext.prototype.dataType = function () { return this.getTypedRuleContext(DataTypeContext, 0); }; DtColTypeContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; DtColTypeContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; DtColTypeContext.prototype.COMMENT = function () { return this.getToken(sqlParser.COMMENT, 0); }; DtColTypeContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; DtColTypeContext.prototype.WATERMARK = function () { return this.getToken(sqlParser.WATERMARK, 0); }; DtColTypeContext.prototype.FOR = function () { return this.getToken(sqlParser.FOR, 0); }; DtColTypeContext.prototype.primaryExpression = function () { return this.getTypedRuleContext(PrimaryExpressionContext, 0); }; DtColTypeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDtColType(this); } }; DtColTypeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDtColType(this); } }; DtColTypeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDtColType(this); } else { return visitor.visitChildren(this); } }; sqlParser.DtColTypeContext = DtColTypeContext; sqlParser.prototype.dtColType = function () { var localctx = new DtColTypeContext(this, this._ctx, this.state); this.enterRule(localctx, 198, sqlParser.RULE_dtColType); var _la = 0; // Token type try { this.state = 2552; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.AS: case sqlParser.ALL: case sqlParser.ANY: case sqlParser.DISTINCT: case sqlParser.WHERE: case sqlParser.GROUP: case sqlParser.BY: case sqlParser.GROUPING: case sqlParser.SETS: case sqlParser.CUBE: case sqlParser.ROLLUP: case sqlParser.ORDER: case sqlParser.HAVING: case sqlParser.LIMIT: case sqlParser.AT: case sqlParser.OR: case sqlParser.AND: case sqlParser.IN: case sqlParser.NOT: case sqlParser.NO: case sqlParser.EXISTS: case sqlParser.BETWEEN: case sqlParser.LIKE: case sqlParser.RLIKE: case sqlParser.IS: case sqlParser.NULL: case sqlParser.TRUE: case sqlParser.FALSE: case sqlParser.NULLS: case sqlParser.ASC: case sqlParser.DESC: case sqlParser.FOR: case sqlParser.INTERVAL: case sqlParser.CASE: case sqlParser.WHEN: case sqlParser.THEN: case sqlParser.ELSE: case sqlParser.END: case sqlParser.JOIN: case sqlParser.CROSS: case sqlParser.OUTER: case sqlParser.INNER: case sqlParser.LEFT: case sqlParser.SEMI: case sqlParser.RIGHT: case sqlParser.FULL: case sqlParser.NATURAL: case sqlParser.ON: case sqlParser.PIVOT: case sqlParser.LATERAL: case sqlParser.WINDOW: case sqlParser.OVER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.UNBOUNDED: case sqlParser.PRECEDING: case sqlParser.FOLLOWING: case sqlParser.CURRENT: case sqlParser.FIRST: case sqlParser.AFTER: case sqlParser.LAST: case sqlParser.ROW: case sqlParser.WITH: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.DIRECTORY: case sqlParser.VIEW: case sqlParser.REPLACE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.INTO: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.FORMAT: case sqlParser.LOGICAL: case sqlParser.CODEGEN: case sqlParser.COST: case sqlParser.CAST: case sqlParser.SHOW: case sqlParser.TABLES: case sqlParser.COLUMNS: case sqlParser.COLUMN: case sqlParser.USE: case sqlParser.PARTITIONS: case sqlParser.FUNCTIONS: case sqlParser.DROP: case sqlParser.UNION: case sqlParser.EXCEPT: case sqlParser.SETMINUS: case sqlParser.INTERSECT: case sqlParser.TO: case sqlParser.TABLESAMPLE: case sqlParser.STRATIFY: case sqlParser.ALTER: case sqlParser.RENAME: case sqlParser.ARRAY: case sqlParser.MAP: case sqlParser.STRUCT: case sqlParser.COMMENT: case sqlParser.SET: case sqlParser.RESET: case sqlParser.DATA: case sqlParser.START: case sqlParser.TRANSACTION: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.MACRO: case sqlParser.IGNORE: case sqlParser.BOTH: case sqlParser.LEADING: case sqlParser.TRAILING: case sqlParser.IF: case sqlParser.POSITION: case sqlParser.EXTRACT: case sqlParser.DIV: case sqlParser.PERCENTLIT: case sqlParser.BUCKET: case sqlParser.OUT: case sqlParser.OF: case sqlParser.SORT: case sqlParser.CLUSTER: case sqlParser.DISTRIBUTE: case sqlParser.OVERWRITE: case sqlParser.TRANSFORM: case sqlParser.REDUCE: case sqlParser.SERDE: case sqlParser.SERDEPROPERTIES: case sqlParser.RECORDREADER: case sqlParser.RECORDWRITER: case sqlParser.DELIMITED: case sqlParser.FIELDS: case sqlParser.TERMINATED: case sqlParser.COLLECTION: case sqlParser.ITEMS: case sqlParser.KEYS: case sqlParser.ESCAPED: case sqlParser.LINES: case sqlParser.SEPARATED: case sqlParser.FUNCTION: case sqlParser.EXTENDED: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.LAZY: case sqlParser.FORMATTED: case sqlParser.GLOBAL: case sqlParser.TEMPORARY: case sqlParser.OPTIONS: case sqlParser.UNSET: case sqlParser.TBLPROPERTIES: case sqlParser.DBPROPERTIES: case sqlParser.BUCKETS: case sqlParser.SKEWED: case sqlParser.STORED: case sqlParser.DIRECTORIES: case sqlParser.LOCATION: case sqlParser.EXCHANGE: case sqlParser.ARCHIVE: case sqlParser.UNARCHIVE: case sqlParser.FILEFORMAT: case sqlParser.TOUCH: case sqlParser.COMPACT: case sqlParser.CONCATENATE: case sqlParser.CHANGE: case sqlParser.CASCADE: case sqlParser.RESTRICT: case sqlParser.CLUSTERED: case sqlParser.SORTED: case sqlParser.PURGE: case sqlParser.INPUTFORMAT: case sqlParser.OUTPUTFORMAT: case sqlParser.DATABASE: case sqlParser.DATABASES: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.COMPUTE: case sqlParser.LIST: case sqlParser.STATISTICS: case sqlParser.PARTITIONED: case sqlParser.EXTERNAL: case sqlParser.DEFINED: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.REPAIR: case sqlParser.RECOVER: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: case sqlParser.ROLE: case sqlParser.ROLES: case sqlParser.COMPACTIONS: case sqlParser.PRINCIPALS: case sqlParser.TRANSACTIONS: case sqlParser.INDEX: case sqlParser.INDEXES: case sqlParser.LOCKS: case sqlParser.OPTION: case sqlParser.ANTI: case sqlParser.LOCAL: case sqlParser.INPATH: case sqlParser.IDENTIFIER: case sqlParser.BACKQUOTED_IDENTIFIER: this.enterOuterAlt(localctx, 1); this.state = 2516; this.dtColIdentifier(); this.state = 2521; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__2) { this.state = 2517; this.match(sqlParser.T__2); this.state = 2518; this.dtColIdentifier(); this.state = 2523; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 2524; this.dataType(); this.state = 2527; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.AS) { this.state = 2525; this.match(sqlParser.AS); this.state = 2526; this.identifier(); } this.state = 2531; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.COMMENT) { this.state = 2529; this.match(sqlParser.COMMENT); this.state = 2530; this.match(sqlParser.STRING); } break; case sqlParser.WATERMARK: this.enterOuterAlt(localctx, 2); this.state = 2533; this.match(sqlParser.WATERMARK); this.state = 2534; this.match(sqlParser.FOR); this.state = 2535; this.identifier(); this.state = 2536; this.match(sqlParser.AS); this.state = 2537; this.primaryExpression(0); break; case sqlParser.T__15: this.enterOuterAlt(localctx, 3); this.state = 2539; this.match(sqlParser.T__15); this.state = 2540; this.match(sqlParser.T__16); this.state = 2541; this.match(sqlParser.T__0); this.state = 2542; this.dtColIdentifier(); this.state = 2547; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2543; this.match(sqlParser.T__3); this.state = 2544; this.dtColIdentifier(); this.state = 2549; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 2550; this.match(sqlParser.T__1); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function DtColIdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_dtColIdentifier; return this; } DtColIdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); DtColIdentifierContext.prototype.constructor = DtColIdentifierContext; DtColIdentifierContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; DtColIdentifierContext.prototype.valueExpression = function () { return this.getTypedRuleContext(ValueExpressionContext, 0); }; DtColIdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDtColIdentifier(this); } }; DtColIdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDtColIdentifier(this); } }; DtColIdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDtColIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.DtColIdentifierContext = DtColIdentifierContext; sqlParser.prototype.dtColIdentifier = function () { var localctx = new DtColIdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 200, sqlParser.RULE_dtColIdentifier); try { this.state = 2560; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 333, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 2554; this.identifier(); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 2555; this.identifier(); this.state = 2556; this.match(sqlParser.T__13); this.state = 2557; this.valueExpression(0); this.state = 2558; this.match(sqlParser.T__14); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ComplexColTypeListContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_complexColTypeList; return this; } ComplexColTypeListContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ComplexColTypeListContext.prototype.constructor = ComplexColTypeListContext; ComplexColTypeListContext.prototype.complexColType = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ComplexColTypeContext); } else { return this.getTypedRuleContext(ComplexColTypeContext, i); } }; ComplexColTypeListContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterComplexColTypeList(this); } }; ComplexColTypeListContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitComplexColTypeList(this); } }; ComplexColTypeListContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitComplexColTypeList(this); } else { return visitor.visitChildren(this); } }; sqlParser.ComplexColTypeListContext = ComplexColTypeListContext; sqlParser.prototype.complexColTypeList = function () { var localctx = new ComplexColTypeListContext(this, this._ctx, this.state); this.enterRule(localctx, 202, sqlParser.RULE_complexColTypeList); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2562; this.complexColType(); this.state = 2567; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2563; this.match(sqlParser.T__3); this.state = 2564; this.complexColType(); this.state = 2569; this._errHandler.sync(this); _la = this._input.LA(1); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function ComplexColTypeContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_complexColType; return this; } ComplexColTypeContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); ComplexColTypeContext.prototype.constructor = ComplexColTypeContext; ComplexColTypeContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; ComplexColTypeContext.prototype.dataType = function () { return this.getTypedRuleContext(DataTypeContext, 0); }; ComplexColTypeContext.prototype.COMMENT = function () { return this.getToken(sqlParser.COMMENT, 0); }; ComplexColTypeContext.prototype.STRING = function () { return this.getToken(sqlParser.STRING, 0); }; ComplexColTypeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterComplexColType(this); } }; ComplexColTypeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitComplexColType(this); } }; ComplexColTypeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitComplexColType(this); } else { return visitor.visitChildren(this); } }; sqlParser.ComplexColTypeContext = ComplexColTypeContext; sqlParser.prototype.complexColType = function () { var localctx = new ComplexColTypeContext(this, this._ctx, this.state); this.enterRule(localctx, 204, sqlParser.RULE_complexColType); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2570; this.identifier(); this.state = 2571; this.match(sqlParser.T__17); this.state = 2572; this.dataType(); this.state = 2575; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.COMMENT) { this.state = 2573; this.match(sqlParser.COMMENT); this.state = 2574; this.match(sqlParser.STRING); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function WhenClauseContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_whenClause; this.condition = null; // ExpressionContext this.result = null; // ExpressionContext return this; } WhenClauseContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); WhenClauseContext.prototype.constructor = WhenClauseContext; WhenClauseContext.prototype.WHEN = function () { return this.getToken(sqlParser.WHEN, 0); }; WhenClauseContext.prototype.THEN = function () { return this.getToken(sqlParser.THEN, 0); }; WhenClauseContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; WhenClauseContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterWhenClause(this); } }; WhenClauseContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitWhenClause(this); } }; WhenClauseContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitWhenClause(this); } else { return visitor.visitChildren(this); } }; sqlParser.WhenClauseContext = WhenClauseContext; sqlParser.prototype.whenClause = function () { var localctx = new WhenClauseContext(this, this._ctx, this.state); this.enterRule(localctx, 206, sqlParser.RULE_whenClause); try { this.enterOuterAlt(localctx, 1); this.state = 2577; this.match(sqlParser.WHEN); this.state = 2578; localctx.condition = this.expression(); this.state = 2579; this.match(sqlParser.THEN); this.state = 2580; localctx.result = this.expression(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function WindowsContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_windows; return this; } WindowsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); WindowsContext.prototype.constructor = WindowsContext; WindowsContext.prototype.WINDOW = function () { return this.getToken(sqlParser.WINDOW, 0); }; WindowsContext.prototype.namedWindow = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(NamedWindowContext); } else { return this.getTypedRuleContext(NamedWindowContext, i); } }; WindowsContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterWindows(this); } }; WindowsContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitWindows(this); } }; WindowsContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitWindows(this); } else { return visitor.visitChildren(this); } }; sqlParser.WindowsContext = WindowsContext; sqlParser.prototype.windows = function () { var localctx = new WindowsContext(this, this._ctx, this.state); this.enterRule(localctx, 208, sqlParser.RULE_windows); try { this.enterOuterAlt(localctx, 1); this.state = 2582; this.match(sqlParser.WINDOW); this.state = 2583; this.namedWindow(); this.state = 2588; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 336, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 2584; this.match(sqlParser.T__3); this.state = 2585; this.namedWindow(); } this.state = 2590; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 336, this._ctx); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function NamedWindowContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_namedWindow; return this; } NamedWindowContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); NamedWindowContext.prototype.constructor = NamedWindowContext; NamedWindowContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; NamedWindowContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; NamedWindowContext.prototype.windowSpec = function () { return this.getTypedRuleContext(WindowSpecContext, 0); }; NamedWindowContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterNamedWindow(this); } }; NamedWindowContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitNamedWindow(this); } }; NamedWindowContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitNamedWindow(this); } else { return visitor.visitChildren(this); } }; sqlParser.NamedWindowContext = NamedWindowContext; sqlParser.prototype.namedWindow = function () { var localctx = new NamedWindowContext(this, this._ctx, this.state); this.enterRule(localctx, 210, sqlParser.RULE_namedWindow); try { this.enterOuterAlt(localctx, 1); this.state = 2591; this.identifier(); this.state = 2592; this.match(sqlParser.AS); this.state = 2593; this.windowSpec(); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function WindowSpecContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_windowSpec; return this; } WindowSpecContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); WindowSpecContext.prototype.constructor = WindowSpecContext; WindowSpecContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function WindowRefContext(parser, ctx) { WindowSpecContext.call(this, parser); this.name = null; // IdentifierContext; WindowSpecContext.prototype.copyFrom.call(this, ctx); return this; } WindowRefContext.prototype = Object.create(WindowSpecContext.prototype); WindowRefContext.prototype.constructor = WindowRefContext; sqlParser.WindowRefContext = WindowRefContext; WindowRefContext.prototype.identifier = function () { return this.getTypedRuleContext(IdentifierContext, 0); }; WindowRefContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterWindowRef(this); } }; WindowRefContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitWindowRef(this); } }; WindowRefContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitWindowRef(this); } else { return visitor.visitChildren(this); } }; function WindowDefContext(parser, ctx) { WindowSpecContext.call(this, parser); this._expression = null; // ExpressionContext; this.partition = []; // of ExpressionContexts; WindowSpecContext.prototype.copyFrom.call(this, ctx); return this; } WindowDefContext.prototype = Object.create(WindowSpecContext.prototype); WindowDefContext.prototype.constructor = WindowDefContext; sqlParser.WindowDefContext = WindowDefContext; WindowDefContext.prototype.CLUSTER = function () { return this.getToken(sqlParser.CLUSTER, 0); }; WindowDefContext.prototype.BY = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTokens(sqlParser.BY); } else { return this.getToken(sqlParser.BY, i); } }; WindowDefContext.prototype.expression = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(ExpressionContext); } else { return this.getTypedRuleContext(ExpressionContext, i); } }; WindowDefContext.prototype.windowFrame = function () { return this.getTypedRuleContext(WindowFrameContext, 0); }; WindowDefContext.prototype.sortItem = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(SortItemContext); } else { return this.getTypedRuleContext(SortItemContext, i); } }; WindowDefContext.prototype.PARTITION = function () { return this.getToken(sqlParser.PARTITION, 0); }; WindowDefContext.prototype.DISTRIBUTE = function () { return this.getToken(sqlParser.DISTRIBUTE, 0); }; WindowDefContext.prototype.ORDER = function () { return this.getToken(sqlParser.ORDER, 0); }; WindowDefContext.prototype.SORT = function () { return this.getToken(sqlParser.SORT, 0); }; WindowDefContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterWindowDef(this); } }; WindowDefContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitWindowDef(this); } }; WindowDefContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitWindowDef(this); } else { return visitor.visitChildren(this); } }; sqlParser.WindowSpecContext = WindowSpecContext; sqlParser.prototype.windowSpec = function () { var localctx = new WindowSpecContext(this, this._ctx, this.state); this.enterRule(localctx, 212, sqlParser.RULE_windowSpec); var _la = 0; // Token type try { this.state = 2637; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.AS: case sqlParser.ALL: case sqlParser.ANY: case sqlParser.DISTINCT: case sqlParser.WHERE: case sqlParser.GROUP: case sqlParser.BY: case sqlParser.GROUPING: case sqlParser.SETS: case sqlParser.CUBE: case sqlParser.ROLLUP: case sqlParser.ORDER: case sqlParser.HAVING: case sqlParser.LIMIT: case sqlParser.AT: case sqlParser.OR: case sqlParser.AND: case sqlParser.IN: case sqlParser.NOT: case sqlParser.NO: case sqlParser.EXISTS: case sqlParser.BETWEEN: case sqlParser.LIKE: case sqlParser.RLIKE: case sqlParser.IS: case sqlParser.NULL: case sqlParser.TRUE: case sqlParser.FALSE: case sqlParser.NULLS: case sqlParser.ASC: case sqlParser.DESC: case sqlParser.FOR: case sqlParser.INTERVAL: case sqlParser.CASE: case sqlParser.WHEN: case sqlParser.THEN: case sqlParser.ELSE: case sqlParser.END: case sqlParser.JOIN: case sqlParser.CROSS: case sqlParser.OUTER: case sqlParser.INNER: case sqlParser.LEFT: case sqlParser.SEMI: case sqlParser.RIGHT: case sqlParser.FULL: case sqlParser.NATURAL: case sqlParser.ON: case sqlParser.PIVOT: case sqlParser.LATERAL: case sqlParser.WINDOW: case sqlParser.OVER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.UNBOUNDED: case sqlParser.PRECEDING: case sqlParser.FOLLOWING: case sqlParser.CURRENT: case sqlParser.FIRST: case sqlParser.AFTER: case sqlParser.LAST: case sqlParser.ROW: case sqlParser.WITH: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.DIRECTORY: case sqlParser.VIEW: case sqlParser.REPLACE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.INTO: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.FORMAT: case sqlParser.LOGICAL: case sqlParser.CODEGEN: case sqlParser.COST: case sqlParser.CAST: case sqlParser.SHOW: case sqlParser.TABLES: case sqlParser.COLUMNS: case sqlParser.COLUMN: case sqlParser.USE: case sqlParser.PARTITIONS: case sqlParser.FUNCTIONS: case sqlParser.DROP: case sqlParser.UNION: case sqlParser.EXCEPT: case sqlParser.SETMINUS: case sqlParser.INTERSECT: case sqlParser.TO: case sqlParser.TABLESAMPLE: case sqlParser.STRATIFY: case sqlParser.ALTER: case sqlParser.RENAME: case sqlParser.ARRAY: case sqlParser.MAP: case sqlParser.STRUCT: case sqlParser.COMMENT: case sqlParser.SET: case sqlParser.RESET: case sqlParser.DATA: case sqlParser.START: case sqlParser.TRANSACTION: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.MACRO: case sqlParser.IGNORE: case sqlParser.BOTH: case sqlParser.LEADING: case sqlParser.TRAILING: case sqlParser.IF: case sqlParser.POSITION: case sqlParser.EXTRACT: case sqlParser.DIV: case sqlParser.PERCENTLIT: case sqlParser.BUCKET: case sqlParser.OUT: case sqlParser.OF: case sqlParser.SORT: case sqlParser.CLUSTER: case sqlParser.DISTRIBUTE: case sqlParser.OVERWRITE: case sqlParser.TRANSFORM: case sqlParser.REDUCE: case sqlParser.SERDE: case sqlParser.SERDEPROPERTIES: case sqlParser.RECORDREADER: case sqlParser.RECORDWRITER: case sqlParser.DELIMITED: case sqlParser.FIELDS: case sqlParser.TERMINATED: case sqlParser.COLLECTION: case sqlParser.ITEMS: case sqlParser.KEYS: case sqlParser.ESCAPED: case sqlParser.LINES: case sqlParser.SEPARATED: case sqlParser.FUNCTION: case sqlParser.EXTENDED: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.LAZY: case sqlParser.FORMATTED: case sqlParser.GLOBAL: case sqlParser.TEMPORARY: case sqlParser.OPTIONS: case sqlParser.UNSET: case sqlParser.TBLPROPERTIES: case sqlParser.DBPROPERTIES: case sqlParser.BUCKETS: case sqlParser.SKEWED: case sqlParser.STORED: case sqlParser.DIRECTORIES: case sqlParser.LOCATION: case sqlParser.EXCHANGE: case sqlParser.ARCHIVE: case sqlParser.UNARCHIVE: case sqlParser.FILEFORMAT: case sqlParser.TOUCH: case sqlParser.COMPACT: case sqlParser.CONCATENATE: case sqlParser.CHANGE: case sqlParser.CASCADE: case sqlParser.RESTRICT: case sqlParser.CLUSTERED: case sqlParser.SORTED: case sqlParser.PURGE: case sqlParser.INPUTFORMAT: case sqlParser.OUTPUTFORMAT: case sqlParser.DATABASE: case sqlParser.DATABASES: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.COMPUTE: case sqlParser.LIST: case sqlParser.STATISTICS: case sqlParser.PARTITIONED: case sqlParser.EXTERNAL: case sqlParser.DEFINED: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.REPAIR: case sqlParser.RECOVER: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: case sqlParser.ROLE: case sqlParser.ROLES: case sqlParser.COMPACTIONS: case sqlParser.PRINCIPALS: case sqlParser.TRANSACTIONS: case sqlParser.INDEX: case sqlParser.INDEXES: case sqlParser.LOCKS: case sqlParser.OPTION: case sqlParser.ANTI: case sqlParser.LOCAL: case sqlParser.INPATH: case sqlParser.IDENTIFIER: case sqlParser.BACKQUOTED_IDENTIFIER: localctx = new WindowRefContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 2595; localctx.name = this.identifier(); break; case sqlParser.T__0: localctx = new WindowDefContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 2596; this.match(sqlParser.T__0); this.state = 2631; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.CLUSTER: this.state = 2597; this.match(sqlParser.CLUSTER); this.state = 2598; this.match(sqlParser.BY); this.state = 2599; localctx._expression = this.expression(); localctx.partition.push(localctx._expression); this.state = 2604; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2600; this.match(sqlParser.T__3); this.state = 2601; localctx._expression = this.expression(); localctx.partition.push(localctx._expression); this.state = 2606; this._errHandler.sync(this); _la = this._input.LA(1); } break; case sqlParser.T__1: case sqlParser.ORDER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.SORT: case sqlParser.DISTRIBUTE: this.state = 2617; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.PARTITION || _la === sqlParser.DISTRIBUTE) { this.state = 2607; _la = this._input.LA(1); if (!(_la === sqlParser.PARTITION || _la === sqlParser.DISTRIBUTE)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 2608; this.match(sqlParser.BY); this.state = 2609; localctx._expression = this.expression(); localctx.partition.push(localctx._expression); this.state = 2614; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2610; this.match(sqlParser.T__3); this.state = 2611; localctx._expression = this.expression(); localctx.partition.push(localctx._expression); this.state = 2616; this._errHandler.sync(this); _la = this._input.LA(1); } } this.state = 2629; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.ORDER || _la === sqlParser.SORT) { this.state = 2619; _la = this._input.LA(1); if (!(_la === sqlParser.ORDER || _la === sqlParser.SORT)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 2620; this.match(sqlParser.BY); this.state = 2621; this.sortItem(); this.state = 2626; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sqlParser.T__3) { this.state = 2622; this.match(sqlParser.T__3); this.state = 2623; this.sortItem(); this.state = 2628; this._errHandler.sync(this); _la = this._input.LA(1); } } break; default: throw new antlr4.error.NoViableAltException(this); } this.state = 2634; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.RANGE || _la === sqlParser.ROWS) { this.state = 2633; this.windowFrame(); } this.state = 2636; this.match(sqlParser.T__1); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function WindowFrameContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_windowFrame; this.frameType = null; // Token this.start = null; // FrameBoundContext this.end = null; // FrameBoundContext return this; } WindowFrameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); WindowFrameContext.prototype.constructor = WindowFrameContext; WindowFrameContext.prototype.RANGE = function () { return this.getToken(sqlParser.RANGE, 0); }; WindowFrameContext.prototype.frameBound = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(FrameBoundContext); } else { return this.getTypedRuleContext(FrameBoundContext, i); } }; WindowFrameContext.prototype.ROWS = function () { return this.getToken(sqlParser.ROWS, 0); }; WindowFrameContext.prototype.BETWEEN = function () { return this.getToken(sqlParser.BETWEEN, 0); }; WindowFrameContext.prototype.AND = function () { return this.getToken(sqlParser.AND, 0); }; WindowFrameContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterWindowFrame(this); } }; WindowFrameContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitWindowFrame(this); } }; WindowFrameContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitWindowFrame(this); } else { return visitor.visitChildren(this); } }; sqlParser.WindowFrameContext = WindowFrameContext; sqlParser.prototype.windowFrame = function () { var localctx = new WindowFrameContext(this, this._ctx, this.state); this.enterRule(localctx, 214, sqlParser.RULE_windowFrame); try { this.state = 2655; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 345, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 2639; localctx.frameType = this.match(sqlParser.RANGE); this.state = 2640; localctx.start = this.frameBound(); break; case 2: this.enterOuterAlt(localctx, 2); this.state = 2641; localctx.frameType = this.match(sqlParser.ROWS); this.state = 2642; localctx.start = this.frameBound(); break; case 3: this.enterOuterAlt(localctx, 3); this.state = 2643; localctx.frameType = this.match(sqlParser.RANGE); this.state = 2644; this.match(sqlParser.BETWEEN); this.state = 2645; localctx.start = this.frameBound(); this.state = 2646; this.match(sqlParser.AND); this.state = 2647; localctx.end = this.frameBound(); break; case 4: this.enterOuterAlt(localctx, 4); this.state = 2649; localctx.frameType = this.match(sqlParser.ROWS); this.state = 2650; this.match(sqlParser.BETWEEN); this.state = 2651; localctx.start = this.frameBound(); this.state = 2652; this.match(sqlParser.AND); this.state = 2653; localctx.end = this.frameBound(); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function FrameBoundContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_frameBound; this.boundType = null; // Token return this; } FrameBoundContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); FrameBoundContext.prototype.constructor = FrameBoundContext; FrameBoundContext.prototype.UNBOUNDED = function () { return this.getToken(sqlParser.UNBOUNDED, 0); }; FrameBoundContext.prototype.PRECEDING = function () { return this.getToken(sqlParser.PRECEDING, 0); }; FrameBoundContext.prototype.FOLLOWING = function () { return this.getToken(sqlParser.FOLLOWING, 0); }; FrameBoundContext.prototype.ROW = function () { return this.getToken(sqlParser.ROW, 0); }; FrameBoundContext.prototype.CURRENT = function () { return this.getToken(sqlParser.CURRENT, 0); }; FrameBoundContext.prototype.expression = function () { return this.getTypedRuleContext(ExpressionContext, 0); }; FrameBoundContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterFrameBound(this); } }; FrameBoundContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitFrameBound(this); } }; FrameBoundContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitFrameBound(this); } else { return visitor.visitChildren(this); } }; sqlParser.FrameBoundContext = FrameBoundContext; sqlParser.prototype.frameBound = function () { var localctx = new FrameBoundContext(this, this._ctx, this.state); this.enterRule(localctx, 216, sqlParser.RULE_frameBound); var _la = 0; // Token type try { this.state = 2664; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 346, this._ctx); switch (la_) { case 1: this.enterOuterAlt(localctx, 1); this.state = 2657; this.match(sqlParser.UNBOUNDED); this.state = 2658; localctx.boundType = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.PRECEDING || _la === sqlParser.FOLLOWING)) { localctx.boundType = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } break; case 2: this.enterOuterAlt(localctx, 2); this.state = 2659; localctx.boundType = this.match(sqlParser.CURRENT); this.state = 2660; this.match(sqlParser.ROW); break; case 3: this.enterOuterAlt(localctx, 3); this.state = 2661; this.expression(); this.state = 2662; localctx.boundType = this._input.LT(1); _la = this._input.LA(1); if (!(_la === sqlParser.PRECEDING || _la === sqlParser.FOLLOWING)) { localctx.boundType = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function QualifiedNameContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_qualifiedName; return this; } QualifiedNameContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); QualifiedNameContext.prototype.constructor = QualifiedNameContext; QualifiedNameContext.prototype.identifier = function (i) { if (i === undefined) { i = null; } if (i === null) { return this.getTypedRuleContexts(IdentifierContext); } else { return this.getTypedRuleContext(IdentifierContext, i); } }; QualifiedNameContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterQualifiedName(this); } }; QualifiedNameContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitQualifiedName(this); } }; QualifiedNameContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitQualifiedName(this); } else { return visitor.visitChildren(this); } }; sqlParser.QualifiedNameContext = QualifiedNameContext; sqlParser.prototype.qualifiedName = function () { var localctx = new QualifiedNameContext(this, this._ctx, this.state); this.enterRule(localctx, 218, sqlParser.RULE_qualifiedName); try { this.enterOuterAlt(localctx, 1); this.state = 2666; this.identifier(); this.state = 2671; this._errHandler.sync(this); var _alt = this._interp.adaptivePredict(this._input, 347, this._ctx); while (_alt != 2 && _alt != antlr4.atn.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { this.state = 2667; this.match(sqlParser.T__2); this.state = 2668; this.identifier(); } this.state = 2673; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 347, this._ctx); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function IdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_identifier; return this; } IdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); IdentifierContext.prototype.constructor = IdentifierContext; IdentifierContext.prototype.strictIdentifier = function () { return this.getTypedRuleContext(StrictIdentifierContext, 0); }; IdentifierContext.prototype.ANTI = function () { return this.getToken(sqlParser.ANTI, 0); }; IdentifierContext.prototype.FULL = function () { return this.getToken(sqlParser.FULL, 0); }; IdentifierContext.prototype.INNER = function () { return this.getToken(sqlParser.INNER, 0); }; IdentifierContext.prototype.LEFT = function () { return this.getToken(sqlParser.LEFT, 0); }; IdentifierContext.prototype.SEMI = function () { return this.getToken(sqlParser.SEMI, 0); }; IdentifierContext.prototype.RIGHT = function () { return this.getToken(sqlParser.RIGHT, 0); }; IdentifierContext.prototype.NATURAL = function () { return this.getToken(sqlParser.NATURAL, 0); }; IdentifierContext.prototype.JOIN = function () { return this.getToken(sqlParser.JOIN, 0); }; IdentifierContext.prototype.CROSS = function () { return this.getToken(sqlParser.CROSS, 0); }; IdentifierContext.prototype.ON = function () { return this.getToken(sqlParser.ON, 0); }; IdentifierContext.prototype.UNION = function () { return this.getToken(sqlParser.UNION, 0); }; IdentifierContext.prototype.INTERSECT = function () { return this.getToken(sqlParser.INTERSECT, 0); }; IdentifierContext.prototype.EXCEPT = function () { return this.getToken(sqlParser.EXCEPT, 0); }; IdentifierContext.prototype.SETMINUS = function () { return this.getToken(sqlParser.SETMINUS, 0); }; IdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIdentifier(this); } }; IdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIdentifier(this); } }; IdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.IdentifierContext = IdentifierContext; sqlParser.prototype.identifier = function () { var localctx = new IdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 220, sqlParser.RULE_identifier); try { this.state = 2689; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.AS: case sqlParser.ALL: case sqlParser.ANY: case sqlParser.DISTINCT: case sqlParser.WHERE: case sqlParser.GROUP: case sqlParser.BY: case sqlParser.GROUPING: case sqlParser.SETS: case sqlParser.CUBE: case sqlParser.ROLLUP: case sqlParser.ORDER: case sqlParser.HAVING: case sqlParser.LIMIT: case sqlParser.AT: case sqlParser.OR: case sqlParser.AND: case sqlParser.IN: case sqlParser.NOT: case sqlParser.NO: case sqlParser.EXISTS: case sqlParser.BETWEEN: case sqlParser.LIKE: case sqlParser.RLIKE: case sqlParser.IS: case sqlParser.NULL: case sqlParser.TRUE: case sqlParser.FALSE: case sqlParser.NULLS: case sqlParser.ASC: case sqlParser.DESC: case sqlParser.FOR: case sqlParser.INTERVAL: case sqlParser.CASE: case sqlParser.WHEN: case sqlParser.THEN: case sqlParser.ELSE: case sqlParser.END: case sqlParser.OUTER: case sqlParser.PIVOT: case sqlParser.LATERAL: case sqlParser.WINDOW: case sqlParser.OVER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.UNBOUNDED: case sqlParser.PRECEDING: case sqlParser.FOLLOWING: case sqlParser.CURRENT: case sqlParser.FIRST: case sqlParser.AFTER: case sqlParser.LAST: case sqlParser.ROW: case sqlParser.WITH: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.DIRECTORY: case sqlParser.VIEW: case sqlParser.REPLACE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.INTO: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.FORMAT: case sqlParser.LOGICAL: case sqlParser.CODEGEN: case sqlParser.COST: case sqlParser.CAST: case sqlParser.SHOW: case sqlParser.TABLES: case sqlParser.COLUMNS: case sqlParser.COLUMN: case sqlParser.USE: case sqlParser.PARTITIONS: case sqlParser.FUNCTIONS: case sqlParser.DROP: case sqlParser.TO: case sqlParser.TABLESAMPLE: case sqlParser.STRATIFY: case sqlParser.ALTER: case sqlParser.RENAME: case sqlParser.ARRAY: case sqlParser.MAP: case sqlParser.STRUCT: case sqlParser.COMMENT: case sqlParser.SET: case sqlParser.RESET: case sqlParser.DATA: case sqlParser.START: case sqlParser.TRANSACTION: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.MACRO: case sqlParser.IGNORE: case sqlParser.BOTH: case sqlParser.LEADING: case sqlParser.TRAILING: case sqlParser.IF: case sqlParser.POSITION: case sqlParser.EXTRACT: case sqlParser.DIV: case sqlParser.PERCENTLIT: case sqlParser.BUCKET: case sqlParser.OUT: case sqlParser.OF: case sqlParser.SORT: case sqlParser.CLUSTER: case sqlParser.DISTRIBUTE: case sqlParser.OVERWRITE: case sqlParser.TRANSFORM: case sqlParser.REDUCE: case sqlParser.SERDE: case sqlParser.SERDEPROPERTIES: case sqlParser.RECORDREADER: case sqlParser.RECORDWRITER: case sqlParser.DELIMITED: case sqlParser.FIELDS: case sqlParser.TERMINATED: case sqlParser.COLLECTION: case sqlParser.ITEMS: case sqlParser.KEYS: case sqlParser.ESCAPED: case sqlParser.LINES: case sqlParser.SEPARATED: case sqlParser.FUNCTION: case sqlParser.EXTENDED: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.LAZY: case sqlParser.FORMATTED: case sqlParser.GLOBAL: case sqlParser.TEMPORARY: case sqlParser.OPTIONS: case sqlParser.UNSET: case sqlParser.TBLPROPERTIES: case sqlParser.DBPROPERTIES: case sqlParser.BUCKETS: case sqlParser.SKEWED: case sqlParser.STORED: case sqlParser.DIRECTORIES: case sqlParser.LOCATION: case sqlParser.EXCHANGE: case sqlParser.ARCHIVE: case sqlParser.UNARCHIVE: case sqlParser.FILEFORMAT: case sqlParser.TOUCH: case sqlParser.COMPACT: case sqlParser.CONCATENATE: case sqlParser.CHANGE: case sqlParser.CASCADE: case sqlParser.RESTRICT: case sqlParser.CLUSTERED: case sqlParser.SORTED: case sqlParser.PURGE: case sqlParser.INPUTFORMAT: case sqlParser.OUTPUTFORMAT: case sqlParser.DATABASE: case sqlParser.DATABASES: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.COMPUTE: case sqlParser.LIST: case sqlParser.STATISTICS: case sqlParser.PARTITIONED: case sqlParser.EXTERNAL: case sqlParser.DEFINED: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.REPAIR: case sqlParser.RECOVER: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: case sqlParser.ROLE: case sqlParser.ROLES: case sqlParser.COMPACTIONS: case sqlParser.PRINCIPALS: case sqlParser.TRANSACTIONS: case sqlParser.INDEX: case sqlParser.INDEXES: case sqlParser.LOCKS: case sqlParser.OPTION: case sqlParser.LOCAL: case sqlParser.INPATH: case sqlParser.IDENTIFIER: case sqlParser.BACKQUOTED_IDENTIFIER: this.enterOuterAlt(localctx, 1); this.state = 2674; this.strictIdentifier(); break; case sqlParser.ANTI: this.enterOuterAlt(localctx, 2); this.state = 2675; this.match(sqlParser.ANTI); break; case sqlParser.FULL: this.enterOuterAlt(localctx, 3); this.state = 2676; this.match(sqlParser.FULL); break; case sqlParser.INNER: this.enterOuterAlt(localctx, 4); this.state = 2677; this.match(sqlParser.INNER); break; case sqlParser.LEFT: this.enterOuterAlt(localctx, 5); this.state = 2678; this.match(sqlParser.LEFT); break; case sqlParser.SEMI: this.enterOuterAlt(localctx, 6); this.state = 2679; this.match(sqlParser.SEMI); break; case sqlParser.RIGHT: this.enterOuterAlt(localctx, 7); this.state = 2680; this.match(sqlParser.RIGHT); break; case sqlParser.NATURAL: this.enterOuterAlt(localctx, 8); this.state = 2681; this.match(sqlParser.NATURAL); break; case sqlParser.JOIN: this.enterOuterAlt(localctx, 9); this.state = 2682; this.match(sqlParser.JOIN); break; case sqlParser.CROSS: this.enterOuterAlt(localctx, 10); this.state = 2683; this.match(sqlParser.CROSS); break; case sqlParser.ON: this.enterOuterAlt(localctx, 11); this.state = 2684; this.match(sqlParser.ON); break; case sqlParser.UNION: this.enterOuterAlt(localctx, 12); this.state = 2685; this.match(sqlParser.UNION); break; case sqlParser.INTERSECT: this.enterOuterAlt(localctx, 13); this.state = 2686; this.match(sqlParser.INTERSECT); break; case sqlParser.EXCEPT: this.enterOuterAlt(localctx, 14); this.state = 2687; this.match(sqlParser.EXCEPT); break; case sqlParser.SETMINUS: this.enterOuterAlt(localctx, 15); this.state = 2688; this.match(sqlParser.SETMINUS); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function StrictIdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_strictIdentifier; return this; } StrictIdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); StrictIdentifierContext.prototype.constructor = StrictIdentifierContext; StrictIdentifierContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function QuotedIdentifierAlternativeContext(parser, ctx) { StrictIdentifierContext.call(this, parser); StrictIdentifierContext.prototype.copyFrom.call(this, ctx); return this; } QuotedIdentifierAlternativeContext.prototype = Object.create(StrictIdentifierContext.prototype); QuotedIdentifierAlternativeContext.prototype.constructor = QuotedIdentifierAlternativeContext; sqlParser.QuotedIdentifierAlternativeContext = QuotedIdentifierAlternativeContext; QuotedIdentifierAlternativeContext.prototype.quotedIdentifier = function () { return this.getTypedRuleContext(QuotedIdentifierContext, 0); }; QuotedIdentifierAlternativeContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterQuotedIdentifierAlternative(this); } }; QuotedIdentifierAlternativeContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitQuotedIdentifierAlternative(this); } }; QuotedIdentifierAlternativeContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitQuotedIdentifierAlternative(this); } else { return visitor.visitChildren(this); } }; function UnquotedIdentifierContext(parser, ctx) { StrictIdentifierContext.call(this, parser); StrictIdentifierContext.prototype.copyFrom.call(this, ctx); return this; } UnquotedIdentifierContext.prototype = Object.create(StrictIdentifierContext.prototype); UnquotedIdentifierContext.prototype.constructor = UnquotedIdentifierContext; sqlParser.UnquotedIdentifierContext = UnquotedIdentifierContext; UnquotedIdentifierContext.prototype.IDENTIFIER = function () { return this.getToken(sqlParser.IDENTIFIER, 0); }; UnquotedIdentifierContext.prototype.nonReserved = function () { return this.getTypedRuleContext(NonReservedContext, 0); }; UnquotedIdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterUnquotedIdentifier(this); } }; UnquotedIdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitUnquotedIdentifier(this); } }; UnquotedIdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitUnquotedIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.StrictIdentifierContext = StrictIdentifierContext; sqlParser.prototype.strictIdentifier = function () { var localctx = new StrictIdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 222, sqlParser.RULE_strictIdentifier); try { this.state = 2694; this._errHandler.sync(this); switch (this._input.LA(1)) { case sqlParser.IDENTIFIER: localctx = new UnquotedIdentifierContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 2691; this.match(sqlParser.IDENTIFIER); break; case sqlParser.BACKQUOTED_IDENTIFIER: localctx = new QuotedIdentifierAlternativeContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 2692; this.quotedIdentifier(); break; case sqlParser.SELECT: case sqlParser.FROM: case sqlParser.ADD: case sqlParser.AS: case sqlParser.ALL: case sqlParser.ANY: case sqlParser.DISTINCT: case sqlParser.WHERE: case sqlParser.GROUP: case sqlParser.BY: case sqlParser.GROUPING: case sqlParser.SETS: case sqlParser.CUBE: case sqlParser.ROLLUP: case sqlParser.ORDER: case sqlParser.HAVING: case sqlParser.LIMIT: case sqlParser.AT: case sqlParser.OR: case sqlParser.AND: case sqlParser.IN: case sqlParser.NOT: case sqlParser.NO: case sqlParser.EXISTS: case sqlParser.BETWEEN: case sqlParser.LIKE: case sqlParser.RLIKE: case sqlParser.IS: case sqlParser.NULL: case sqlParser.TRUE: case sqlParser.FALSE: case sqlParser.NULLS: case sqlParser.ASC: case sqlParser.DESC: case sqlParser.FOR: case sqlParser.INTERVAL: case sqlParser.CASE: case sqlParser.WHEN: case sqlParser.THEN: case sqlParser.ELSE: case sqlParser.END: case sqlParser.OUTER: case sqlParser.PIVOT: case sqlParser.LATERAL: case sqlParser.WINDOW: case sqlParser.OVER: case sqlParser.PARTITION: case sqlParser.RANGE: case sqlParser.ROWS: case sqlParser.UNBOUNDED: case sqlParser.PRECEDING: case sqlParser.FOLLOWING: case sqlParser.CURRENT: case sqlParser.FIRST: case sqlParser.AFTER: case sqlParser.LAST: case sqlParser.ROW: case sqlParser.WITH: case sqlParser.CREATE: case sqlParser.TABLE: case sqlParser.DIRECTORY: case sqlParser.VIEW: case sqlParser.REPLACE: case sqlParser.INSERT: case sqlParser.DELETE: case sqlParser.INTO: case sqlParser.DESCRIBE: case sqlParser.EXPLAIN: case sqlParser.FORMAT: case sqlParser.LOGICAL: case sqlParser.CODEGEN: case sqlParser.COST: case sqlParser.CAST: case sqlParser.SHOW: case sqlParser.TABLES: case sqlParser.COLUMNS: case sqlParser.COLUMN: case sqlParser.USE: case sqlParser.PARTITIONS: case sqlParser.FUNCTIONS: case sqlParser.DROP: case sqlParser.TO: case sqlParser.TABLESAMPLE: case sqlParser.STRATIFY: case sqlParser.ALTER: case sqlParser.RENAME: case sqlParser.ARRAY: case sqlParser.MAP: case sqlParser.STRUCT: case sqlParser.COMMENT: case sqlParser.SET: case sqlParser.RESET: case sqlParser.DATA: case sqlParser.START: case sqlParser.TRANSACTION: case sqlParser.COMMIT: case sqlParser.ROLLBACK: case sqlParser.MACRO: case sqlParser.IGNORE: case sqlParser.BOTH: case sqlParser.LEADING: case sqlParser.TRAILING: case sqlParser.IF: case sqlParser.POSITION: case sqlParser.EXTRACT: case sqlParser.DIV: case sqlParser.PERCENTLIT: case sqlParser.BUCKET: case sqlParser.OUT: case sqlParser.OF: case sqlParser.SORT: case sqlParser.CLUSTER: case sqlParser.DISTRIBUTE: case sqlParser.OVERWRITE: case sqlParser.TRANSFORM: case sqlParser.REDUCE: case sqlParser.SERDE: case sqlParser.SERDEPROPERTIES: case sqlParser.RECORDREADER: case sqlParser.RECORDWRITER: case sqlParser.DELIMITED: case sqlParser.FIELDS: case sqlParser.TERMINATED: case sqlParser.COLLECTION: case sqlParser.ITEMS: case sqlParser.KEYS: case sqlParser.ESCAPED: case sqlParser.LINES: case sqlParser.SEPARATED: case sqlParser.FUNCTION: case sqlParser.EXTENDED: case sqlParser.REFRESH: case sqlParser.CLEAR: case sqlParser.CACHE: case sqlParser.UNCACHE: case sqlParser.LAZY: case sqlParser.FORMATTED: case sqlParser.GLOBAL: case sqlParser.TEMPORARY: case sqlParser.OPTIONS: case sqlParser.UNSET: case sqlParser.TBLPROPERTIES: case sqlParser.DBPROPERTIES: case sqlParser.BUCKETS: case sqlParser.SKEWED: case sqlParser.STORED: case sqlParser.DIRECTORIES: case sqlParser.LOCATION: case sqlParser.EXCHANGE: case sqlParser.ARCHIVE: case sqlParser.UNARCHIVE: case sqlParser.FILEFORMAT: case sqlParser.TOUCH: case sqlParser.COMPACT: case sqlParser.CONCATENATE: case sqlParser.CHANGE: case sqlParser.CASCADE: case sqlParser.RESTRICT: case sqlParser.CLUSTERED: case sqlParser.SORTED: case sqlParser.PURGE: case sqlParser.INPUTFORMAT: case sqlParser.OUTPUTFORMAT: case sqlParser.DATABASE: case sqlParser.DATABASES: case sqlParser.DFS: case sqlParser.TRUNCATE: case sqlParser.ANALYZE: case sqlParser.COMPUTE: case sqlParser.LIST: case sqlParser.STATISTICS: case sqlParser.PARTITIONED: case sqlParser.EXTERNAL: case sqlParser.DEFINED: case sqlParser.REVOKE: case sqlParser.GRANT: case sqlParser.LOCK: case sqlParser.UNLOCK: case sqlParser.MSCK: case sqlParser.REPAIR: case sqlParser.RECOVER: case sqlParser.EXPORT: case sqlParser.IMPORT: case sqlParser.LOAD: case sqlParser.ROLE: case sqlParser.ROLES: case sqlParser.COMPACTIONS: case sqlParser.PRINCIPALS: case sqlParser.TRANSACTIONS: case sqlParser.INDEX: case sqlParser.INDEXES: case sqlParser.LOCKS: case sqlParser.OPTION: case sqlParser.LOCAL: case sqlParser.INPATH: localctx = new UnquotedIdentifierContext(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 2693; this.nonReserved(); break; default: throw new antlr4.error.NoViableAltException(this); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function QuotedIdentifierContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_quotedIdentifier; return this; } QuotedIdentifierContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); QuotedIdentifierContext.prototype.constructor = QuotedIdentifierContext; QuotedIdentifierContext.prototype.BACKQUOTED_IDENTIFIER = function () { return this.getToken(sqlParser.BACKQUOTED_IDENTIFIER, 0); }; QuotedIdentifierContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterQuotedIdentifier(this); } }; QuotedIdentifierContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitQuotedIdentifier(this); } }; QuotedIdentifierContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitQuotedIdentifier(this); } else { return visitor.visitChildren(this); } }; sqlParser.QuotedIdentifierContext = QuotedIdentifierContext; sqlParser.prototype.quotedIdentifier = function () { var localctx = new QuotedIdentifierContext(this, this._ctx, this.state); this.enterRule(localctx, 224, sqlParser.RULE_quotedIdentifier); try { this.enterOuterAlt(localctx, 1); this.state = 2696; this.match(sqlParser.BACKQUOTED_IDENTIFIER); } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function NumberContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_number; return this; } NumberContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); NumberContext.prototype.constructor = NumberContext; NumberContext.prototype.copyFrom = function (ctx) { antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx); }; function DecimalLiteralContext(parser, ctx) { NumberContext.call(this, parser); NumberContext.prototype.copyFrom.call(this, ctx); return this; } DecimalLiteralContext.prototype = Object.create(NumberContext.prototype); DecimalLiteralContext.prototype.constructor = DecimalLiteralContext; sqlParser.DecimalLiteralContext = DecimalLiteralContext; DecimalLiteralContext.prototype.DECIMAL_VALUE = function () { return this.getToken(sqlParser.DECIMAL_VALUE, 0); }; DecimalLiteralContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; DecimalLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDecimalLiteral(this); } }; DecimalLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDecimalLiteral(this); } }; DecimalLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDecimalLiteral(this); } else { return visitor.visitChildren(this); } }; function BigIntLiteralContext(parser, ctx) { NumberContext.call(this, parser); NumberContext.prototype.copyFrom.call(this, ctx); return this; } BigIntLiteralContext.prototype = Object.create(NumberContext.prototype); BigIntLiteralContext.prototype.constructor = BigIntLiteralContext; sqlParser.BigIntLiteralContext = BigIntLiteralContext; BigIntLiteralContext.prototype.BIGINT_LITERAL = function () { return this.getToken(sqlParser.BIGINT_LITERAL, 0); }; BigIntLiteralContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; BigIntLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterBigIntLiteral(this); } }; BigIntLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitBigIntLiteral(this); } }; BigIntLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitBigIntLiteral(this); } else { return visitor.visitChildren(this); } }; function TinyIntLiteralContext(parser, ctx) { NumberContext.call(this, parser); NumberContext.prototype.copyFrom.call(this, ctx); return this; } TinyIntLiteralContext.prototype = Object.create(NumberContext.prototype); TinyIntLiteralContext.prototype.constructor = TinyIntLiteralContext; sqlParser.TinyIntLiteralContext = TinyIntLiteralContext; TinyIntLiteralContext.prototype.TINYINT_LITERAL = function () { return this.getToken(sqlParser.TINYINT_LITERAL, 0); }; TinyIntLiteralContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; TinyIntLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterTinyIntLiteral(this); } }; TinyIntLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitTinyIntLiteral(this); } }; TinyIntLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitTinyIntLiteral(this); } else { return visitor.visitChildren(this); } }; function BigDecimalLiteralContext(parser, ctx) { NumberContext.call(this, parser); NumberContext.prototype.copyFrom.call(this, ctx); return this; } BigDecimalLiteralContext.prototype = Object.create(NumberContext.prototype); BigDecimalLiteralContext.prototype.constructor = BigDecimalLiteralContext; sqlParser.BigDecimalLiteralContext = BigDecimalLiteralContext; BigDecimalLiteralContext.prototype.BIGDECIMAL_LITERAL = function () { return this.getToken(sqlParser.BIGDECIMAL_LITERAL, 0); }; BigDecimalLiteralContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; BigDecimalLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterBigDecimalLiteral(this); } }; BigDecimalLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitBigDecimalLiteral(this); } }; BigDecimalLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitBigDecimalLiteral(this); } else { return visitor.visitChildren(this); } }; function DoubleLiteralContext(parser, ctx) { NumberContext.call(this, parser); NumberContext.prototype.copyFrom.call(this, ctx); return this; } DoubleLiteralContext.prototype = Object.create(NumberContext.prototype); DoubleLiteralContext.prototype.constructor = DoubleLiteralContext; sqlParser.DoubleLiteralContext = DoubleLiteralContext; DoubleLiteralContext.prototype.DOUBLE_LITERAL = function () { return this.getToken(sqlParser.DOUBLE_LITERAL, 0); }; DoubleLiteralContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; DoubleLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterDoubleLiteral(this); } }; DoubleLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitDoubleLiteral(this); } }; DoubleLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitDoubleLiteral(this); } else { return visitor.visitChildren(this); } }; function IntegerLiteralContext(parser, ctx) { NumberContext.call(this, parser); NumberContext.prototype.copyFrom.call(this, ctx); return this; } IntegerLiteralContext.prototype = Object.create(NumberContext.prototype); IntegerLiteralContext.prototype.constructor = IntegerLiteralContext; sqlParser.IntegerLiteralContext = IntegerLiteralContext; IntegerLiteralContext.prototype.INTEGER_VALUE = function () { return this.getToken(sqlParser.INTEGER_VALUE, 0); }; IntegerLiteralContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; IntegerLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterIntegerLiteral(this); } }; IntegerLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitIntegerLiteral(this); } }; IntegerLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitIntegerLiteral(this); } else { return visitor.visitChildren(this); } }; function SmallIntLiteralContext(parser, ctx) { NumberContext.call(this, parser); NumberContext.prototype.copyFrom.call(this, ctx); return this; } SmallIntLiteralContext.prototype = Object.create(NumberContext.prototype); SmallIntLiteralContext.prototype.constructor = SmallIntLiteralContext; sqlParser.SmallIntLiteralContext = SmallIntLiteralContext; SmallIntLiteralContext.prototype.SMALLINT_LITERAL = function () { return this.getToken(sqlParser.SMALLINT_LITERAL, 0); }; SmallIntLiteralContext.prototype.MINUS = function () { return this.getToken(sqlParser.MINUS, 0); }; SmallIntLiteralContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterSmallIntLiteral(this); } }; SmallIntLiteralContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitSmallIntLiteral(this); } }; SmallIntLiteralContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitSmallIntLiteral(this); } else { return visitor.visitChildren(this); } }; sqlParser.NumberContext = NumberContext; sqlParser.prototype.number = function () { var localctx = new NumberContext(this, this._ctx, this.state); this.enterRule(localctx, 226, sqlParser.RULE_number); var _la = 0; // Token type try { this.state = 2726; this._errHandler.sync(this); var la_ = this._interp.adaptivePredict(this._input, 357, this._ctx); switch (la_) { case 1: localctx = new DecimalLiteralContext(this, localctx); this.enterOuterAlt(localctx, 1); this.state = 2699; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MINUS) { this.state = 2698; this.match(sqlParser.MINUS); } this.state = 2701; this.match(sqlParser.DECIMAL_VALUE); break; case 2: localctx = new IntegerLiteralContext(this, localctx); this.enterOuterAlt(localctx, 2); this.state = 2703; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MINUS) { this.state = 2702; this.match(sqlParser.MINUS); } this.state = 2705; this.match(sqlParser.INTEGER_VALUE); break; case 3: localctx = new BigIntLiteralContext(this, localctx); this.enterOuterAlt(localctx, 3); this.state = 2707; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MINUS) { this.state = 2706; this.match(sqlParser.MINUS); } this.state = 2709; this.match(sqlParser.BIGINT_LITERAL); break; case 4: localctx = new SmallIntLiteralContext(this, localctx); this.enterOuterAlt(localctx, 4); this.state = 2711; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MINUS) { this.state = 2710; this.match(sqlParser.MINUS); } this.state = 2713; this.match(sqlParser.SMALLINT_LITERAL); break; case 5: localctx = new TinyIntLiteralContext(this, localctx); this.enterOuterAlt(localctx, 5); this.state = 2715; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MINUS) { this.state = 2714; this.match(sqlParser.MINUS); } this.state = 2717; this.match(sqlParser.TINYINT_LITERAL); break; case 6: localctx = new DoubleLiteralContext(this, localctx); this.enterOuterAlt(localctx, 6); this.state = 2719; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MINUS) { this.state = 2718; this.match(sqlParser.MINUS); } this.state = 2721; this.match(sqlParser.DOUBLE_LITERAL); break; case 7: localctx = new BigDecimalLiteralContext(this, localctx); this.enterOuterAlt(localctx, 7); this.state = 2723; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sqlParser.MINUS) { this.state = 2722; this.match(sqlParser.MINUS); } this.state = 2725; this.match(sqlParser.BIGDECIMAL_LITERAL); break; } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; function NonReservedContext(parser, parent, invokingState) { if (parent === undefined) { parent = null; } if (invokingState === undefined || invokingState === null) { invokingState = -1; } antlr4.ParserRuleContext.call(this, parent, invokingState); this.parser = parser; this.ruleIndex = sqlParser.RULE_nonReserved; return this; } NonReservedContext.prototype = Object.create(antlr4.ParserRuleContext.prototype); NonReservedContext.prototype.constructor = NonReservedContext; NonReservedContext.prototype.SHOW = function () { return this.getToken(sqlParser.SHOW, 0); }; NonReservedContext.prototype.TABLES = function () { return this.getToken(sqlParser.TABLES, 0); }; NonReservedContext.prototype.COLUMNS = function () { return this.getToken(sqlParser.COLUMNS, 0); }; NonReservedContext.prototype.COLUMN = function () { return this.getToken(sqlParser.COLUMN, 0); }; NonReservedContext.prototype.PARTITIONS = function () { return this.getToken(sqlParser.PARTITIONS, 0); }; NonReservedContext.prototype.FUNCTIONS = function () { return this.getToken(sqlParser.FUNCTIONS, 0); }; NonReservedContext.prototype.DATABASES = function () { return this.getToken(sqlParser.DATABASES, 0); }; NonReservedContext.prototype.ADD = function () { return this.getToken(sqlParser.ADD, 0); }; NonReservedContext.prototype.OVER = function () { return this.getToken(sqlParser.OVER, 0); }; NonReservedContext.prototype.PARTITION = function () { return this.getToken(sqlParser.PARTITION, 0); }; NonReservedContext.prototype.RANGE = function () { return this.getToken(sqlParser.RANGE, 0); }; NonReservedContext.prototype.ROWS = function () { return this.getToken(sqlParser.ROWS, 0); }; NonReservedContext.prototype.PRECEDING = function () { return this.getToken(sqlParser.PRECEDING, 0); }; NonReservedContext.prototype.FOLLOWING = function () { return this.getToken(sqlParser.FOLLOWING, 0); }; NonReservedContext.prototype.CURRENT = function () { return this.getToken(sqlParser.CURRENT, 0); }; NonReservedContext.prototype.ROW = function () { return this.getToken(sqlParser.ROW, 0); }; NonReservedContext.prototype.LAST = function () { return this.getToken(sqlParser.LAST, 0); }; NonReservedContext.prototype.FIRST = function () { return this.getToken(sqlParser.FIRST, 0); }; NonReservedContext.prototype.AFTER = function () { return this.getToken(sqlParser.AFTER, 0); }; NonReservedContext.prototype.MAP = function () { return this.getToken(sqlParser.MAP, 0); }; NonReservedContext.prototype.ARRAY = function () { return this.getToken(sqlParser.ARRAY, 0); }; NonReservedContext.prototype.STRUCT = function () { return this.getToken(sqlParser.STRUCT, 0); }; NonReservedContext.prototype.PIVOT = function () { return this.getToken(sqlParser.PIVOT, 0); }; NonReservedContext.prototype.LATERAL = function () { return this.getToken(sqlParser.LATERAL, 0); }; NonReservedContext.prototype.WINDOW = function () { return this.getToken(sqlParser.WINDOW, 0); }; NonReservedContext.prototype.REDUCE = function () { return this.getToken(sqlParser.REDUCE, 0); }; NonReservedContext.prototype.TRANSFORM = function () { return this.getToken(sqlParser.TRANSFORM, 0); }; NonReservedContext.prototype.SERDE = function () { return this.getToken(sqlParser.SERDE, 0); }; NonReservedContext.prototype.SERDEPROPERTIES = function () { return this.getToken(sqlParser.SERDEPROPERTIES, 0); }; NonReservedContext.prototype.RECORDREADER = function () { return this.getToken(sqlParser.RECORDREADER, 0); }; NonReservedContext.prototype.DELIMITED = function () { return this.getToken(sqlParser.DELIMITED, 0); }; NonReservedContext.prototype.FIELDS = function () { return this.getToken(sqlParser.FIELDS, 0); }; NonReservedContext.prototype.TERMINATED = function () { return this.getToken(sqlParser.TERMINATED, 0); }; NonReservedContext.prototype.COLLECTION = function () { return this.getToken(sqlParser.COLLECTION, 0); }; NonReservedContext.prototype.ITEMS = function () { return this.getToken(sqlParser.ITEMS, 0); }; NonReservedContext.prototype.KEYS = function () { return this.getToken(sqlParser.KEYS, 0); }; NonReservedContext.prototype.ESCAPED = function () { return this.getToken(sqlParser.ESCAPED, 0); }; NonReservedContext.prototype.LINES = function () { return this.getToken(sqlParser.LINES, 0); }; NonReservedContext.prototype.SEPARATED = function () { return this.getToken(sqlParser.SEPARATED, 0); }; NonReservedContext.prototype.EXTENDED = function () { return this.getToken(sqlParser.EXTENDED, 0); }; NonReservedContext.prototype.REFRESH = function () { return this.getToken(sqlParser.REFRESH, 0); }; NonReservedContext.prototype.CLEAR = function () { return this.getToken(sqlParser.CLEAR, 0); }; NonReservedContext.prototype.CACHE = function () { return this.getToken(sqlParser.CACHE, 0); }; NonReservedContext.prototype.UNCACHE = function () { return this.getToken(sqlParser.UNCACHE, 0); }; NonReservedContext.prototype.LAZY = function () { return this.getToken(sqlParser.LAZY, 0); }; NonReservedContext.prototype.GLOBAL = function () { return this.getToken(sqlParser.GLOBAL, 0); }; NonReservedContext.prototype.TEMPORARY = function () { return this.getToken(sqlParser.TEMPORARY, 0); }; NonReservedContext.prototype.OPTIONS = function () { return this.getToken(sqlParser.OPTIONS, 0); }; NonReservedContext.prototype.GROUPING = function () { return this.getToken(sqlParser.GROUPING, 0); }; NonReservedContext.prototype.CUBE = function () { return this.getToken(sqlParser.CUBE, 0); }; NonReservedContext.prototype.ROLLUP = function () { return this.getToken(sqlParser.ROLLUP, 0); }; NonReservedContext.prototype.EXPLAIN = function () { return this.getToken(sqlParser.EXPLAIN, 0); }; NonReservedContext.prototype.FORMAT = function () { return this.getToken(sqlParser.FORMAT, 0); }; NonReservedContext.prototype.LOGICAL = function () { return this.getToken(sqlParser.LOGICAL, 0); }; NonReservedContext.prototype.FORMATTED = function () { return this.getToken(sqlParser.FORMATTED, 0); }; NonReservedContext.prototype.CODEGEN = function () { return this.getToken(sqlParser.CODEGEN, 0); }; NonReservedContext.prototype.COST = function () { return this.getToken(sqlParser.COST, 0); }; NonReservedContext.prototype.TABLESAMPLE = function () { return this.getToken(sqlParser.TABLESAMPLE, 0); }; NonReservedContext.prototype.USE = function () { return this.getToken(sqlParser.USE, 0); }; NonReservedContext.prototype.TO = function () { return this.getToken(sqlParser.TO, 0); }; NonReservedContext.prototype.BUCKET = function () { return this.getToken(sqlParser.BUCKET, 0); }; NonReservedContext.prototype.PERCENTLIT = function () { return this.getToken(sqlParser.PERCENTLIT, 0); }; NonReservedContext.prototype.OUT = function () { return this.getToken(sqlParser.OUT, 0); }; NonReservedContext.prototype.OF = function () { return this.getToken(sqlParser.OF, 0); }; NonReservedContext.prototype.SET = function () { return this.getToken(sqlParser.SET, 0); }; NonReservedContext.prototype.RESET = function () { return this.getToken(sqlParser.RESET, 0); }; NonReservedContext.prototype.VIEW = function () { return this.getToken(sqlParser.VIEW, 0); }; NonReservedContext.prototype.REPLACE = function () { return this.getToken(sqlParser.REPLACE, 0); }; NonReservedContext.prototype.IF = function () { return this.getToken(sqlParser.IF, 0); }; NonReservedContext.prototype.POSITION = function () { return this.getToken(sqlParser.POSITION, 0); }; NonReservedContext.prototype.EXTRACT = function () { return this.getToken(sqlParser.EXTRACT, 0); }; NonReservedContext.prototype.NO = function () { return this.getToken(sqlParser.NO, 0); }; NonReservedContext.prototype.DATA = function () { return this.getToken(sqlParser.DATA, 0); }; NonReservedContext.prototype.START = function () { return this.getToken(sqlParser.START, 0); }; NonReservedContext.prototype.TRANSACTION = function () { return this.getToken(sqlParser.TRANSACTION, 0); }; NonReservedContext.prototype.COMMIT = function () { return this.getToken(sqlParser.COMMIT, 0); }; NonReservedContext.prototype.ROLLBACK = function () { return this.getToken(sqlParser.ROLLBACK, 0); }; NonReservedContext.prototype.IGNORE = function () { return this.getToken(sqlParser.IGNORE, 0); }; NonReservedContext.prototype.SORT = function () { return this.getToken(sqlParser.SORT, 0); }; NonReservedContext.prototype.CLUSTER = function () { return this.getToken(sqlParser.CLUSTER, 0); }; NonReservedContext.prototype.DISTRIBUTE = function () { return this.getToken(sqlParser.DISTRIBUTE, 0); }; NonReservedContext.prototype.UNSET = function () { return this.getToken(sqlParser.UNSET, 0); }; NonReservedContext.prototype.TBLPROPERTIES = function () { return this.getToken(sqlParser.TBLPROPERTIES, 0); }; NonReservedContext.prototype.SKEWED = function () { return this.getToken(sqlParser.SKEWED, 0); }; NonReservedContext.prototype.STORED = function () { return this.getToken(sqlParser.STORED, 0); }; NonReservedContext.prototype.DIRECTORIES = function () { return this.getToken(sqlParser.DIRECTORIES, 0); }; NonReservedContext.prototype.LOCATION = function () { return this.getToken(sqlParser.LOCATION, 0); }; NonReservedContext.prototype.EXCHANGE = function () { return this.getToken(sqlParser.EXCHANGE, 0); }; NonReservedContext.prototype.ARCHIVE = function () { return this.getToken(sqlParser.ARCHIVE, 0); }; NonReservedContext.prototype.UNARCHIVE = function () { return this.getToken(sqlParser.UNARCHIVE, 0); }; NonReservedContext.prototype.FILEFORMAT = function () { return this.getToken(sqlParser.FILEFORMAT, 0); }; NonReservedContext.prototype.TOUCH = function () { return this.getToken(sqlParser.TOUCH, 0); }; NonReservedContext.prototype.COMPACT = function () { return this.getToken(sqlParser.COMPACT, 0); }; NonReservedContext.prototype.CONCATENATE = function () { return this.getToken(sqlParser.CONCATENATE, 0); }; NonReservedContext.prototype.CHANGE = function () { return this.getToken(sqlParser.CHANGE, 0); }; NonReservedContext.prototype.CASCADE = function () { return this.getToken(sqlParser.CASCADE, 0); }; NonReservedContext.prototype.RESTRICT = function () { return this.getToken(sqlParser.RESTRICT, 0); }; NonReservedContext.prototype.BUCKETS = function () { return this.getToken(sqlParser.BUCKETS, 0); }; NonReservedContext.prototype.CLUSTERED = function () { return this.getToken(sqlParser.CLUSTERED, 0); }; NonReservedContext.prototype.SORTED = function () { return this.getToken(sqlParser.SORTED, 0); }; NonReservedContext.prototype.PURGE = function () { return this.getToken(sqlParser.PURGE, 0); }; NonReservedContext.prototype.INPUTFORMAT = function () { return this.getToken(sqlParser.INPUTFORMAT, 0); }; NonReservedContext.prototype.OUTPUTFORMAT = function () { return this.getToken(sqlParser.OUTPUTFORMAT, 0); }; NonReservedContext.prototype.DBPROPERTIES = function () { return this.getToken(sqlParser.DBPROPERTIES, 0); }; NonReservedContext.prototype.DFS = function () { return this.getToken(sqlParser.DFS, 0); }; NonReservedContext.prototype.TRUNCATE = function () { return this.getToken(sqlParser.TRUNCATE, 0); }; NonReservedContext.prototype.COMPUTE = function () { return this.getToken(sqlParser.COMPUTE, 0); }; NonReservedContext.prototype.LIST = function () { return this.getToken(sqlParser.LIST, 0); }; NonReservedContext.prototype.STATISTICS = function () { return this.getToken(sqlParser.STATISTICS, 0); }; NonReservedContext.prototype.ANALYZE = function () { return this.getToken(sqlParser.ANALYZE, 0); }; NonReservedContext.prototype.PARTITIONED = function () { return this.getToken(sqlParser.PARTITIONED, 0); }; NonReservedContext.prototype.EXTERNAL = function () { return this.getToken(sqlParser.EXTERNAL, 0); }; NonReservedContext.prototype.DEFINED = function () { return this.getToken(sqlParser.DEFINED, 0); }; NonReservedContext.prototype.RECORDWRITER = function () { return this.getToken(sqlParser.RECORDWRITER, 0); }; NonReservedContext.prototype.REVOKE = function () { return this.getToken(sqlParser.REVOKE, 0); }; NonReservedContext.prototype.GRANT = function () { return this.getToken(sqlParser.GRANT, 0); }; NonReservedContext.prototype.LOCK = function () { return this.getToken(sqlParser.LOCK, 0); }; NonReservedContext.prototype.UNLOCK = function () { return this.getToken(sqlParser.UNLOCK, 0); }; NonReservedContext.prototype.MSCK = function () { return this.getToken(sqlParser.MSCK, 0); }; NonReservedContext.prototype.REPAIR = function () { return this.getToken(sqlParser.REPAIR, 0); }; NonReservedContext.prototype.RECOVER = function () { return this.getToken(sqlParser.RECOVER, 0); }; NonReservedContext.prototype.EXPORT = function () { return this.getToken(sqlParser.EXPORT, 0); }; NonReservedContext.prototype.IMPORT = function () { return this.getToken(sqlParser.IMPORT, 0); }; NonReservedContext.prototype.LOAD = function () { return this.getToken(sqlParser.LOAD, 0); }; NonReservedContext.prototype.COMMENT = function () { return this.getToken(sqlParser.COMMENT, 0); }; NonReservedContext.prototype.ROLE = function () { return this.getToken(sqlParser.ROLE, 0); }; NonReservedContext.prototype.ROLES = function () { return this.getToken(sqlParser.ROLES, 0); }; NonReservedContext.prototype.COMPACTIONS = function () { return this.getToken(sqlParser.COMPACTIONS, 0); }; NonReservedContext.prototype.PRINCIPALS = function () { return this.getToken(sqlParser.PRINCIPALS, 0); }; NonReservedContext.prototype.TRANSACTIONS = function () { return this.getToken(sqlParser.TRANSACTIONS, 0); }; NonReservedContext.prototype.INDEX = function () { return this.getToken(sqlParser.INDEX, 0); }; NonReservedContext.prototype.INDEXES = function () { return this.getToken(sqlParser.INDEXES, 0); }; NonReservedContext.prototype.LOCKS = function () { return this.getToken(sqlParser.LOCKS, 0); }; NonReservedContext.prototype.OPTION = function () { return this.getToken(sqlParser.OPTION, 0); }; NonReservedContext.prototype.LOCAL = function () { return this.getToken(sqlParser.LOCAL, 0); }; NonReservedContext.prototype.INPATH = function () { return this.getToken(sqlParser.INPATH, 0); }; NonReservedContext.prototype.ASC = function () { return this.getToken(sqlParser.ASC, 0); }; NonReservedContext.prototype.DESC = function () { return this.getToken(sqlParser.DESC, 0); }; NonReservedContext.prototype.LIMIT = function () { return this.getToken(sqlParser.LIMIT, 0); }; NonReservedContext.prototype.RENAME = function () { return this.getToken(sqlParser.RENAME, 0); }; NonReservedContext.prototype.SETS = function () { return this.getToken(sqlParser.SETS, 0); }; NonReservedContext.prototype.AT = function () { return this.getToken(sqlParser.AT, 0); }; NonReservedContext.prototype.NULLS = function () { return this.getToken(sqlParser.NULLS, 0); }; NonReservedContext.prototype.OVERWRITE = function () { return this.getToken(sqlParser.OVERWRITE, 0); }; NonReservedContext.prototype.ALL = function () { return this.getToken(sqlParser.ALL, 0); }; NonReservedContext.prototype.ANY = function () { return this.getToken(sqlParser.ANY, 0); }; NonReservedContext.prototype.ALTER = function () { return this.getToken(sqlParser.ALTER, 0); }; NonReservedContext.prototype.AS = function () { return this.getToken(sqlParser.AS, 0); }; NonReservedContext.prototype.BETWEEN = function () { return this.getToken(sqlParser.BETWEEN, 0); }; NonReservedContext.prototype.BY = function () { return this.getToken(sqlParser.BY, 0); }; NonReservedContext.prototype.CREATE = function () { return this.getToken(sqlParser.CREATE, 0); }; NonReservedContext.prototype.DELETE = function () { return this.getToken(sqlParser.DELETE, 0); }; NonReservedContext.prototype.DESCRIBE = function () { return this.getToken(sqlParser.DESCRIBE, 0); }; NonReservedContext.prototype.DROP = function () { return this.getToken(sqlParser.DROP, 0); }; NonReservedContext.prototype.EXISTS = function () { return this.getToken(sqlParser.EXISTS, 0); }; NonReservedContext.prototype.FALSE = function () { return this.getToken(sqlParser.FALSE, 0); }; NonReservedContext.prototype.FOR = function () { return this.getToken(sqlParser.FOR, 0); }; NonReservedContext.prototype.GROUP = function () { return this.getToken(sqlParser.GROUP, 0); }; NonReservedContext.prototype.IN = function () { return this.getToken(sqlParser.IN, 0); }; NonReservedContext.prototype.INSERT = function () { return this.getToken(sqlParser.INSERT, 0); }; NonReservedContext.prototype.INTO = function () { return this.getToken(sqlParser.INTO, 0); }; NonReservedContext.prototype.IS = function () { return this.getToken(sqlParser.IS, 0); }; NonReservedContext.prototype.LIKE = function () { return this.getToken(sqlParser.LIKE, 0); }; NonReservedContext.prototype.NULL = function () { return this.getToken(sqlParser.NULL, 0); }; NonReservedContext.prototype.ORDER = function () { return this.getToken(sqlParser.ORDER, 0); }; NonReservedContext.prototype.OUTER = function () { return this.getToken(sqlParser.OUTER, 0); }; NonReservedContext.prototype.TABLE = function () { return this.getToken(sqlParser.TABLE, 0); }; NonReservedContext.prototype.TRUE = function () { return this.getToken(sqlParser.TRUE, 0); }; NonReservedContext.prototype.WITH = function () { return this.getToken(sqlParser.WITH, 0); }; NonReservedContext.prototype.RLIKE = function () { return this.getToken(sqlParser.RLIKE, 0); }; NonReservedContext.prototype.AND = function () { return this.getToken(sqlParser.AND, 0); }; NonReservedContext.prototype.CASE = function () { return this.getToken(sqlParser.CASE, 0); }; NonReservedContext.prototype.CAST = function () { return this.getToken(sqlParser.CAST, 0); }; NonReservedContext.prototype.DISTINCT = function () { return this.getToken(sqlParser.DISTINCT, 0); }; NonReservedContext.prototype.DIV = function () { return this.getToken(sqlParser.DIV, 0); }; NonReservedContext.prototype.ELSE = function () { return this.getToken(sqlParser.ELSE, 0); }; NonReservedContext.prototype.END = function () { return this.getToken(sqlParser.END, 0); }; NonReservedContext.prototype.FUNCTION = function () { return this.getToken(sqlParser.FUNCTION, 0); }; NonReservedContext.prototype.INTERVAL = function () { return this.getToken(sqlParser.INTERVAL, 0); }; NonReservedContext.prototype.MACRO = function () { return this.getToken(sqlParser.MACRO, 0); }; NonReservedContext.prototype.OR = function () { return this.getToken(sqlParser.OR, 0); }; NonReservedContext.prototype.STRATIFY = function () { return this.getToken(sqlParser.STRATIFY, 0); }; NonReservedContext.prototype.THEN = function () { return this.getToken(sqlParser.THEN, 0); }; NonReservedContext.prototype.UNBOUNDED = function () { return this.getToken(sqlParser.UNBOUNDED, 0); }; NonReservedContext.prototype.WHEN = function () { return this.getToken(sqlParser.WHEN, 0); }; NonReservedContext.prototype.DATABASE = function () { return this.getToken(sqlParser.DATABASE, 0); }; NonReservedContext.prototype.SELECT = function () { return this.getToken(sqlParser.SELECT, 0); }; NonReservedContext.prototype.FROM = function () { return this.getToken(sqlParser.FROM, 0); }; NonReservedContext.prototype.WHERE = function () { return this.getToken(sqlParser.WHERE, 0); }; NonReservedContext.prototype.HAVING = function () { return this.getToken(sqlParser.HAVING, 0); }; NonReservedContext.prototype.NOT = function () { return this.getToken(sqlParser.NOT, 0); }; NonReservedContext.prototype.DIRECTORY = function () { return this.getToken(sqlParser.DIRECTORY, 0); }; NonReservedContext.prototype.BOTH = function () { return this.getToken(sqlParser.BOTH, 0); }; NonReservedContext.prototype.LEADING = function () { return this.getToken(sqlParser.LEADING, 0); }; NonReservedContext.prototype.TRAILING = function () { return this.getToken(sqlParser.TRAILING, 0); }; NonReservedContext.prototype.enterRule = function (listener) { if (listener instanceof sqlListener) { listener.enterNonReserved(this); } }; NonReservedContext.prototype.exitRule = function (listener) { if (listener instanceof sqlListener) { listener.exitNonReserved(this); } }; NonReservedContext.prototype.accept = function (visitor) { if (visitor instanceof sqlVisitor) { return visitor.visitNonReserved(this); } else { return visitor.visitChildren(this); } }; sqlParser.NonReservedContext = NonReservedContext; sqlParser.prototype.nonReserved = function () { var localctx = new NonReservedContext(this, this._ctx, this.state); this.enterRule(localctx, 228, sqlParser.RULE_nonReserved); var _la = 0; // Token type try { this.enterOuterAlt(localctx, 1); this.state = 2728; _la = this._input.LA(1); if (!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << sqlParser.SELECT) | (1 << sqlParser.FROM) | (1 << sqlParser.ADD) | (1 << sqlParser.AS) | (1 << sqlParser.ALL) | (1 << sqlParser.ANY) | (1 << sqlParser.DISTINCT) | (1 << sqlParser.WHERE) | (1 << sqlParser.GROUP) | (1 << sqlParser.BY) | (1 << sqlParser.GROUPING) | (1 << sqlParser.SETS) | (1 << sqlParser.CUBE))) !== 0) || ((((_la - 32)) & ~0x1f) == 0 && ((1 << (_la - 32)) & ((1 << (sqlParser.ROLLUP - 32)) | (1 << (sqlParser.ORDER - 32)) | (1 << (sqlParser.HAVING - 32)) | (1 << (sqlParser.LIMIT - 32)) | (1 << (sqlParser.AT - 32)) | (1 << (sqlParser.OR - 32)) | (1 << (sqlParser.AND - 32)) | (1 << (sqlParser.IN - 32)) | (1 << (sqlParser.NOT - 32)) | (1 << (sqlParser.NO - 32)) | (1 << (sqlParser.EXISTS - 32)) | (1 << (sqlParser.BETWEEN - 32)) | (1 << (sqlParser.LIKE - 32)) | (1 << (sqlParser.RLIKE - 32)) | (1 << (sqlParser.IS - 32)) | (1 << (sqlParser.NULL - 32)) | (1 << (sqlParser.TRUE - 32)) | (1 << (sqlParser.FALSE - 32)) | (1 << (sqlParser.NULLS - 32)) | (1 << (sqlParser.ASC - 32)) | (1 << (sqlParser.DESC - 32)) | (1 << (sqlParser.FOR - 32)) | (1 << (sqlParser.INTERVAL - 32)) | (1 << (sqlParser.CASE - 32)) | (1 << (sqlParser.WHEN - 32)) | (1 << (sqlParser.THEN - 32)) | (1 << (sqlParser.ELSE - 32)) | (1 << (sqlParser.END - 32)) | (1 << (sqlParser.OUTER - 32)))) !== 0) || ((((_la - 70)) & ~0x1f) == 0 && ((1 << (_la - 70)) & ((1 << (sqlParser.PIVOT - 70)) | (1 << (sqlParser.LATERAL - 70)) | (1 << (sqlParser.WINDOW - 70)) | (1 << (sqlParser.OVER - 70)) | (1 << (sqlParser.PARTITION - 70)) | (1 << (sqlParser.RANGE - 70)) | (1 << (sqlParser.ROWS - 70)) | (1 << (sqlParser.UNBOUNDED - 70)) | (1 << (sqlParser.PRECEDING - 70)) | (1 << (sqlParser.FOLLOWING - 70)) | (1 << (sqlParser.CURRENT - 70)) | (1 << (sqlParser.FIRST - 70)) | (1 << (sqlParser.AFTER - 70)) | (1 << (sqlParser.LAST - 70)) | (1 << (sqlParser.ROW - 70)) | (1 << (sqlParser.WITH - 70)) | (1 << (sqlParser.CREATE - 70)) | (1 << (sqlParser.TABLE - 70)) | (1 << (sqlParser.DIRECTORY - 70)) | (1 << (sqlParser.VIEW - 70)) | (1 << (sqlParser.REPLACE - 70)) | (1 << (sqlParser.INSERT - 70)) | (1 << (sqlParser.DELETE - 70)) | (1 << (sqlParser.INTO - 70)) | (1 << (sqlParser.DESCRIBE - 70)) | (1 << (sqlParser.EXPLAIN - 70)) | (1 << (sqlParser.FORMAT - 70)) | (1 << (sqlParser.LOGICAL - 70)) | (1 << (sqlParser.CODEGEN - 70)) | (1 << (sqlParser.COST - 70)) | (1 << (sqlParser.CAST - 70)))) !== 0) || ((((_la - 102)) & ~0x1f) == 0 && ((1 << (_la - 102)) & ((1 << (sqlParser.SHOW - 102)) | (1 << (sqlParser.TABLES - 102)) | (1 << (sqlParser.COLUMNS - 102)) | (1 << (sqlParser.COLUMN - 102)) | (1 << (sqlParser.USE - 102)) | (1 << (sqlParser.PARTITIONS - 102)) | (1 << (sqlParser.FUNCTIONS - 102)) | (1 << (sqlParser.DROP - 102)) | (1 << (sqlParser.TO - 102)) | (1 << (sqlParser.TABLESAMPLE - 102)) | (1 << (sqlParser.STRATIFY - 102)) | (1 << (sqlParser.ALTER - 102)) | (1 << (sqlParser.RENAME - 102)) | (1 << (sqlParser.ARRAY - 102)) | (1 << (sqlParser.MAP - 102)) | (1 << (sqlParser.STRUCT - 102)) | (1 << (sqlParser.COMMENT - 102)) | (1 << (sqlParser.SET - 102)) | (1 << (sqlParser.RESET - 102)) | (1 << (sqlParser.DATA - 102)) | (1 << (sqlParser.START - 102)) | (1 << (sqlParser.TRANSACTION - 102)) | (1 << (sqlParser.COMMIT - 102)) | (1 << (sqlParser.ROLLBACK - 102)) | (1 << (sqlParser.MACRO - 102)) | (1 << (sqlParser.IGNORE - 102)) | (1 << (sqlParser.BOTH - 102)) | (1 << (sqlParser.LEADING - 102)))) !== 0) || ((((_la - 134)) & ~0x1f) == 0 && ((1 << (_la - 134)) & ((1 << (sqlParser.TRAILING - 134)) | (1 << (sqlParser.IF - 134)) | (1 << (sqlParser.POSITION - 134)) | (1 << (sqlParser.EXTRACT - 134)) | (1 << (sqlParser.DIV - 134)) | (1 << (sqlParser.PERCENTLIT - 134)) | (1 << (sqlParser.BUCKET - 134)) | (1 << (sqlParser.OUT - 134)) | (1 << (sqlParser.OF - 134)) | (1 << (sqlParser.SORT - 134)) | (1 << (sqlParser.CLUSTER - 134)) | (1 << (sqlParser.DISTRIBUTE - 134)) | (1 << (sqlParser.OVERWRITE - 134)) | (1 << (sqlParser.TRANSFORM - 134)))) !== 0) || ((((_la - 166)) & ~0x1f) == 0 && ((1 << (_la - 166)) & ((1 << (sqlParser.REDUCE - 166)) | (1 << (sqlParser.SERDE - 166)) | (1 << (sqlParser.SERDEPROPERTIES - 166)) | (1 << (sqlParser.RECORDREADER - 166)) | (1 << (sqlParser.RECORDWRITER - 166)) | (1 << (sqlParser.DELIMITED - 166)) | (1 << (sqlParser.FIELDS - 166)) | (1 << (sqlParser.TERMINATED - 166)) | (1 << (sqlParser.COLLECTION - 166)) | (1 << (sqlParser.ITEMS - 166)) | (1 << (sqlParser.KEYS - 166)) | (1 << (sqlParser.ESCAPED - 166)) | (1 << (sqlParser.LINES - 166)) | (1 << (sqlParser.SEPARATED - 166)) | (1 << (sqlParser.FUNCTION - 166)) | (1 << (sqlParser.EXTENDED - 166)) | (1 << (sqlParser.REFRESH - 166)) | (1 << (sqlParser.CLEAR - 166)) | (1 << (sqlParser.CACHE - 166)) | (1 << (sqlParser.UNCACHE - 166)) | (1 << (sqlParser.LAZY - 166)) | (1 << (sqlParser.FORMATTED - 166)) | (1 << (sqlParser.GLOBAL - 166)) | (1 << (sqlParser.TEMPORARY - 166)) | (1 << (sqlParser.OPTIONS - 166)) | (1 << (sqlParser.UNSET - 166)) | (1 << (sqlParser.TBLPROPERTIES - 166)) | (1 << (sqlParser.DBPROPERTIES - 166)) | (1 << (sqlParser.BUCKETS - 166)) | (1 << (sqlParser.SKEWED - 166)) | (1 << (sqlParser.STORED - 166)))) !== 0) || ((((_la - 198)) & ~0x1f) == 0 && ((1 << (_la - 198)) & ((1 << (sqlParser.DIRECTORIES - 198)) | (1 << (sqlParser.LOCATION - 198)) | (1 << (sqlParser.EXCHANGE - 198)) | (1 << (sqlParser.ARCHIVE - 198)) | (1 << (sqlParser.UNARCHIVE - 198)) | (1 << (sqlParser.FILEFORMAT - 198)) | (1 << (sqlParser.TOUCH - 198)) | (1 << (sqlParser.COMPACT - 198)) | (1 << (sqlParser.CONCATENATE - 198)) | (1 << (sqlParser.CHANGE - 198)) | (1 << (sqlParser.CASCADE - 198)) | (1 << (sqlParser.RESTRICT - 198)) | (1 << (sqlParser.CLUSTERED - 198)) | (1 << (sqlParser.SORTED - 198)) | (1 << (sqlParser.PURGE - 198)) | (1 << (sqlParser.INPUTFORMAT - 198)) | (1 << (sqlParser.OUTPUTFORMAT - 198)) | (1 << (sqlParser.DATABASE - 198)) | (1 << (sqlParser.DATABASES - 198)) | (1 << (sqlParser.DFS - 198)) | (1 << (sqlParser.TRUNCATE - 198)) | (1 << (sqlParser.ANALYZE - 198)) | (1 << (sqlParser.COMPUTE - 198)) | (1 << (sqlParser.LIST - 198)) | (1 << (sqlParser.STATISTICS - 198)) | (1 << (sqlParser.PARTITIONED - 198)) | (1 << (sqlParser.EXTERNAL - 198)) | (1 << (sqlParser.DEFINED - 198)) | (1 << (sqlParser.REVOKE - 198)) | (1 << (sqlParser.GRANT - 198)) | (1 << (sqlParser.LOCK - 198)) | (1 << (sqlParser.UNLOCK - 198)))) !== 0) || ((((_la - 230)) & ~0x1f) == 0 && ((1 << (_la - 230)) & ((1 << (sqlParser.MSCK - 230)) | (1 << (sqlParser.REPAIR - 230)) | (1 << (sqlParser.RECOVER - 230)) | (1 << (sqlParser.EXPORT - 230)) | (1 << (sqlParser.IMPORT - 230)) | (1 << (sqlParser.LOAD - 230)) | (1 << (sqlParser.ROLE - 230)) | (1 << (sqlParser.ROLES - 230)) | (1 << (sqlParser.COMPACTIONS - 230)) | (1 << (sqlParser.PRINCIPALS - 230)) | (1 << (sqlParser.TRANSACTIONS - 230)) | (1 << (sqlParser.INDEX - 230)) | (1 << (sqlParser.INDEXES - 230)) | (1 << (sqlParser.LOCKS - 230)) | (1 << (sqlParser.OPTION - 230)) | (1 << (sqlParser.LOCAL - 230)) | (1 << (sqlParser.INPATH - 230)))) !== 0))) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } catch (re) { if (re instanceof antlr4.error.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; }; sqlParser.prototype.sempred = function (localctx, ruleIndex, predIndex) { switch (ruleIndex) { case 35: return this.queryTerm_sempred(localctx, predIndex); case 82: return this.booleanExpression_sempred(localctx, predIndex); case 84: return this.valueExpression_sempred(localctx, predIndex); case 85: return this.primaryExpression_sempred(localctx, predIndex); default: throw "No predicate with index:" + ruleIndex; } }; sqlParser.prototype.queryTerm_sempred = function (localctx, predIndex) { switch (predIndex) { case 0: return this.precpred(this._ctx, 3); case 1: return this.legacy_setops_precedence_enbled; case 2: return this.precpred(this._ctx, 2); case 3: return !this.legacy_setops_precedence_enbled; case 4: return this.precpred(this._ctx, 1); case 5: return !this.legacy_setops_precedence_enbled; default: throw "No predicate with index:" + predIndex; } }; sqlParser.prototype.booleanExpression_sempred = function (localctx, predIndex) { switch (predIndex) { case 6: return this.precpred(this._ctx, 2); case 7: return this.precpred(this._ctx, 1); default: throw "No predicate with index:" + predIndex; } }; sqlParser.prototype.valueExpression_sempred = function (localctx, predIndex) { switch (predIndex) { case 8: return this.precpred(this._ctx, 6); case 9: return this.precpred(this._ctx, 5); case 10: return this.precpred(this._ctx, 4); case 11: return this.precpred(this._ctx, 3); case 12: return this.precpred(this._ctx, 2); case 13: return this.precpred(this._ctx, 1); default: throw "No predicate with index:" + predIndex; } }; sqlParser.prototype.primaryExpression_sempred = function (localctx, predIndex) { switch (predIndex) { case 14: return this.precpred(this._ctx, 5); case 15: return this.precpred(this._ctx, 3); default: throw "No predicate with index:" + predIndex; } }; exports.sqlParser = sqlParser;