Socket
Socket
Sign inDemoInstall

intellij-parser

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

intellij-parser - npm Package Compare versions

Comparing version 1.0.3 to 1.0.12

2

lib/meta/Hive/index.js

@@ -1,1 +0,1 @@

(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","prettier","fs-extra","path","./HiveMetaGenerator","../../common/utils","../MetaLexer"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var prettier=require("prettier");var fs=require("fs-extra");var path=require("path");var HiveMetaGenerator_1=require("./HiveMetaGenerator");var utils_1=require("../../common/utils");var MetaLexer_1=require("../MetaLexer");var MetaParserConfig=function(){function MetaParserConfig(){this.prettierConfig={parser:"typescript",trailingComma:"all",singleQuote:true};this.parserCodePath="../../../grammars/HiveSql/CoreParser.g";this.lexerCodePath="../../../grammars/HiveSql/HiveSqlLexer.g"}return MetaParserConfig}();function metaLexerGenerator(lexerGCode,config){var _a=HiveMetaGenerator_1.parseGCode(lexerGCode,false),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;if(lexErrors&&lexErrors.length){console.log.apply(console,lexErrors);debugger}if(parseErrors&&parseErrors.length){console.log.apply(console,parseErrors);debugger}ast.sortRules();var tokenNames=ast.rules.filter(function(rule){return!rule.fragName}).map(function(rule){return rule.tokenName});var parserCode="\n import * as chevrotain from 'chevrotain';\n\n const WhiteSpace = chevrotain.createToken({\n name: 'WhiteSpace',\n pattern: /\\s+/,\n group: chevrotain.Lexer.SKIPPED,\n line_breaks: true\n });\n const ID = chevrotain.createToken({\n name: 'ID',\n pattern: /[A-Za-z_$0-9*]+/i,\n }); \n "+ast.toLexerCode()+"\n\n export enum TokenEnum {\n "+tokenNames.map(function(name){return name+" = '"+name+"'"}).join(",")+"\n }\n\n export const Tokens = {\n "+tokenNames.map(function(name){return""+name}).join(",")+"\n };\n\n export const tokens = [\n WhiteSpace,\n "+tokenNames.map(function(name){return""+name}).join(",")+"\n ];\n\n export const Lexer = new chevrotain.Lexer(tokens, {\n positionTracking: 'onlyStart'\n });\n ";try{var beautifiedCode=prettier.format(parserCode,config.prettierConfig);fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/hive_lexer_cst.g.json"),JSON.stringify(cst,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/hive_lexer_ast.g.json"),JSON.stringify(ast,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/lexer.g.ts"),beautifiedCode)}catch(e){console.error(e);debugger}}function metaParserGenerator(parserGCode,config,tokens){var _a=HiveMetaGenerator_1.parseGCode(parserGCode,true,tokens),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;if(lexErrors&&lexErrors.length){console.log.apply(console,lexErrors);debugger}if(parseErrors&&parseErrors.length){console.log.apply(console,parseErrors);debugger}var rules=ast.rules.map(function(rule){return{name:rule.ruleName,atoms:rule.atoms}});var nodes=ast.rules.map(function(rule){var atoms=rule.atoms,ruleName=rule.ruleName;var subRuleNames=[];var tokenNames=[];HiveMetaGenerator_1.traverse(rule,MetaLexer_1.TokenEnum.LowerName,function(node){subRuleNames.push(node.name)});HiveMetaGenerator_1.traverse(rule,MetaLexer_1.TokenEnum.UpperName,function(up){var foundToken=tokens.find(function(t){return t.name===up.name});if(foundToken&&!foundToken.ignorable){tokenNames.push(foundToken.name)}});return"\n export class "+utils_1.toUCamelCase(ruleName)+"Node extends BaseNode {\n "+tokenNames.map(function(name){return name+": string;"}).join("\n")+"\n\n "+subRuleNames.map(function(name){return name+": "+utils_1.toUCamelCase(name)+"Node;"}).join("\n")+"\n }\n "});var parserCode="\n import * as chevrotain from 'chevrotain';\n import { tokens, Lexer, Tokens, TokenEnum } from './lexer.g';\n\n export enum SyntaxKind {\n "+rules.map(function(rule){return rule.name+" = '"+rule.name+"'"}).join(",\n")+"\n }\n\n export {\n tokens, Lexer, Tokens, TokenEnum\n }\n\n export class BaseNode {\n private _source = '';\n \n kind: SyntaxKind | TokenEnum;\n pos: number;\n end: number;\n \n get width() {\n return this.end - this.pos;\n }\n \n get fullText() {\n return this._source.slice(this.pos, this.end);\n }\n \n get children(): BaseNode[] {\n return [];\n }\n \n forEach(callback: ((child: BaseNode) => any)) {\n if (!this.children.length) {\n return;\n }\n \n this.children.forEach(callback);\n }\n }\n\n export class Parser extends chevrotain.Parser {\n [x: string]: any;\n constructor(input) {\n super(input, tokens, {\n recoveryEnabled: true,\n outputCst: true,\n maxLookahead: 6\n });\n "+ast.toCode()+"\n chevrotain.Parser.performSelfAnalysis(this);\n }}\n ";try{var beautifiedCode=prettier.format(parserCode,config.prettierConfig);fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/hive_parser_cst.g.json"),JSON.stringify(cst,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/hive_parser_ast.g.json"),JSON.stringify(ast,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/parser.g.ts"),beautifiedCode)}catch(e){console.error(e);debugger}}function getTokens(lexerGCode){var _a=HiveMetaGenerator_1.parseGCode(lexerGCode,false),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;var tokens=ast.rules.filter(function(rule){return!rule.fragName}).map(function(rule){return{name:rule.tokenName,content:new RegExp(rule.pattern||rule.setPattern()),ignorable:rule.ignorable}});return tokens}function metaGenerator(config){if(config===void 0){config=new MetaParserConfig}var lexerCode=fs.readFileSync(path.join(__dirname,config.lexerCodePath)).toString("utf8");var parserCode=fs.readFileSync(path.join(__dirname,config.parserCodePath)).toString("utf8");var tokens=getTokens(lexerCode);metaLexerGenerator(lexerCode,config);metaParserGenerator(parserCode,config,tokens)}metaGenerator()});
(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","prettier","fs-extra","path","./HiveMetaGenerator","../../common/utils","../MetaLexer"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var prettier=require("prettier");var fs=require("fs-extra");var path=require("path");var HiveMetaGenerator_1=require("./HiveMetaGenerator");var utils_1=require("../../common/utils");var MetaLexer_1=require("../MetaLexer");var MetaParserConfig=function(){function MetaParserConfig(){this.prettierConfig={parser:"typescript",trailingComma:"all",singleQuote:true};this.parserCodePath="../../../grammars/HiveSql/CoreParser.g";this.lexerCodePath="../../../grammars/HiveSql/HiveSqlLexer.g"}return MetaParserConfig}();function metaLexerGenerator(lexerGCode,config){var _a=HiveMetaGenerator_1.parseGCode(lexerGCode,false),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;if(lexErrors&&lexErrors.length){console.log.apply(console,lexErrors);debugger}if(parseErrors&&parseErrors.length){console.log.apply(console,parseErrors);debugger}ast.sortRules();var tokenNames=ast.rules.filter(function(rule){return!rule.fragName}).map(function(rule){return rule.tokenName});var parserCode="\n import * as chevrotain from 'chevrotain';\n\n const WhiteSpace = chevrotain.createToken({\n name: 'WhiteSpace',\n pattern: /\\s+/,\n group: chevrotain.Lexer.SKIPPED,\n line_breaks: true\n });\n const ID = chevrotain.createToken({\n name: 'ID',\n pattern: /[A-Za-z_$0-9{}*]+/i,\n }); \n "+ast.toLexerCode()+"\n\n export enum TokenEnum {\n "+tokenNames.map(function(name){return name+" = '"+name+"'"}).join(",")+"\n }\n\n export const Tokens = {\n "+tokenNames.map(function(name){return""+name}).join(",")+"\n };\n\n export const tokens = [\n WhiteSpace,\n "+tokenNames.map(function(name){return""+name}).join(",")+"\n ];\n\n export const Lexer = new chevrotain.Lexer(tokens, {\n positionTracking: 'onlyStart'\n });\n ";try{var beautifiedCode=prettier.format(parserCode,config.prettierConfig);fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/hive_lexer_cst.g.json"),JSON.stringify(cst,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/hive_lexer_ast.g.json"),JSON.stringify(ast,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/lexer.g.ts"),beautifiedCode)}catch(e){console.error(e);debugger}}function metaParserGenerator(parserGCode,config,tokens){var _a=HiveMetaGenerator_1.parseGCode(parserGCode,true,tokens),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;if(lexErrors&&lexErrors.length){console.log.apply(console,lexErrors);debugger}if(parseErrors&&parseErrors.length){console.log.apply(console,parseErrors);debugger}var rules=ast.rules.map(function(rule){return{name:rule.ruleName,atoms:rule.atoms}});var nodes=ast.rules.map(function(rule){var atoms=rule.atoms,ruleName=rule.ruleName;var subRuleNames=[];var tokenNames=[];HiveMetaGenerator_1.traverse(rule,MetaLexer_1.TokenEnum.LowerName,function(node){subRuleNames.push(node.name)});HiveMetaGenerator_1.traverse(rule,MetaLexer_1.TokenEnum.UpperName,function(up){var foundToken=tokens.find(function(t){return t.name===up.name});if(foundToken&&!foundToken.ignorable){tokenNames.push(foundToken.name)}});return"\n export class "+utils_1.toUCamelCase(ruleName)+"Node extends BaseNode {\n "+tokenNames.map(function(name){return name+": string;"}).join("\n")+"\n\n "+subRuleNames.map(function(name){return name+": "+utils_1.toUCamelCase(name)+"Node;"}).join("\n")+"\n }\n "});var parserCode="\n import * as chevrotain from 'chevrotain';\n import { tokens, Lexer, Tokens, TokenEnum } from './lexer.g';\n\n export enum SyntaxKind {\n "+rules.map(function(rule){return rule.name+" = '"+rule.name+"'"}).join(",\n")+"\n }\n\n export {\n tokens, Lexer, Tokens, TokenEnum\n }\n\n export class BaseNode {\n private _source = '';\n \n kind: SyntaxKind | TokenEnum;\n pos: number;\n end: number;\n \n get width() {\n return this.end - this.pos;\n }\n \n get fullText() {\n return this._source.slice(this.pos, this.end);\n }\n \n get children(): BaseNode[] {\n return [];\n }\n \n forEach(callback: ((child: BaseNode) => any)) {\n if (!this.children.length) {\n return;\n }\n \n this.children.forEach(callback);\n }\n }\n\n export class Parser extends chevrotain.Parser {\n [x: string]: any;\n constructor(input) {\n super(input, tokens, {\n recoveryEnabled: true,\n outputCst: true,\n maxLookahead: 6\n });\n "+ast.toCode()+"\n chevrotain.Parser.performSelfAnalysis(this);\n }}\n ";try{var beautifiedCode=prettier.format(parserCode,config.prettierConfig);fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/hive_parser_cst.g.json"),JSON.stringify(cst,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/hive_parser_ast.g.json"),JSON.stringify(ast,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/Hive/parser.g.ts"),beautifiedCode)}catch(e){console.error(e);debugger}}function getTokens(lexerGCode){var _a=HiveMetaGenerator_1.parseGCode(lexerGCode,false),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;var tokens=ast.rules.filter(function(rule){return!rule.fragName}).map(function(rule){return{name:rule.tokenName,content:new RegExp(rule.pattern||rule.setPattern()),ignorable:rule.ignorable}});return tokens}function metaGenerator(config){if(config===void 0){config=new MetaParserConfig}var lexerCode=fs.readFileSync(path.join(__dirname,config.lexerCodePath)).toString("utf8");var parserCode=fs.readFileSync(path.join(__dirname,config.parserCodePath)).toString("utf8");var tokens=getTokens(lexerCode);metaLexerGenerator(lexerCode,config);metaParserGenerator(parserCode,config,tokens)}metaGenerator()});

@@ -1,1 +0,1 @@

(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","prettier","fs-extra","path","./MetaGenerator","../../common/utils","../MetaLexer"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var prettier=require("prettier");var fs=require("fs-extra");var path=require("path");var MetaGenerator_1=require("./MetaGenerator");var utils_1=require("../../common/utils");var MetaLexer_1=require("../MetaLexer");var MetaParserConfig=function(){function MetaParserConfig(){this.prettierConfig={parser:"typescript",trailingComma:"all",singleQuote:true};this.parserCodePath="../../../grammars/ODPSSql/CoreParser.g4";this.lexerCodePath="../../../grammars/ODPSSql/MysqlLexer.g4"}return MetaParserConfig}();function metaLexerGenerator(lexerGCode,config){var _a=MetaGenerator_1.parseGCode(lexerGCode,false),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;if(lexErrors&&lexErrors.length){console.log.apply(console,lexErrors);debugger}if(parseErrors&&parseErrors.length){console.log.apply(console,parseErrors);debugger}ast.sortRules();var tokenNames=ast.rules.filter(function(rule){return!rule.fragName}).map(function(rule){return rule.tokenName});var parserCode="\n import * as chevrotain from 'chevrotain';\n\n const WhiteSpace = chevrotain.createToken({\n name: 'WhiteSpace',\n pattern: /\\s+/,\n group: chevrotain.Lexer.SKIPPED,\n line_breaks: true\n });\n const DECIMAL_LITERAL = chevrotain.createToken({\n name: 'DECIMAL_LITERAL',\n pattern: /[0-9]+/,\n });\n const ID = chevrotain.createToken({\n name: 'ID',\n pattern: /[A-Za-z_$0-9*]+/i,\n }); \n "+ast.toLexerCode()+"\n\n export enum TokenEnum {\n "+tokenNames.map(function(name){return name+" = '"+name+"'"}).join(",")+"\n }\n\n export const Tokens = {\n "+tokenNames.map(function(name){return""+name}).join(",")+"\n };\n\n export const tokens = [\n WhiteSpace,\n "+tokenNames.map(function(name){return""+name}).join(",")+"\n ];\n\n export const Lexer = new chevrotain.Lexer(tokens, {\n positionTracking: 'onlyStart'\n });\n ";try{var beautifiedCode=prettier.format(parserCode,config.prettierConfig);fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/mysql_lexer_cst.g.json"),JSON.stringify(cst,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/mysql_lexer_ast.g.json"),JSON.stringify(ast,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/lexer.g.ts"),beautifiedCode)}catch(e){console.error(e);debugger}}function metaParserGenerator(parserGCode,config,tokens){var _a=MetaGenerator_1.parseGCode(parserGCode,true,tokens),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;if(lexErrors&&lexErrors.length){console.log.apply(console,lexErrors);debugger}if(parseErrors&&parseErrors.length){console.log.apply(console,parseErrors);debugger}var rules=ast.rules.map(function(rule){return{name:rule.ruleName,atoms:rule.atoms}});var nodes=ast.rules.map(function(rule){var atoms=rule.atoms,ruleName=rule.ruleName;var subRuleNames=[];var tokenNames=[];MetaGenerator_1.traverse(rule,MetaLexer_1.TokenEnum.LowerName,function(node){subRuleNames.push(node.name)});MetaGenerator_1.traverse(rule,MetaLexer_1.TokenEnum.UpperName,function(up){var foundToken=tokens.find(function(t){return t.name===up.name});if(foundToken&&!foundToken.ignorable){tokenNames.push(foundToken.name)}});return"\n export class "+utils_1.toUCamelCase(ruleName)+"Node extends BaseNode {\n "+tokenNames.map(function(name){return name+": string;"}).join("\n")+"\n\n "+subRuleNames.map(function(name){return name+": "+utils_1.toUCamelCase(name)+"Node;"}).join("\n")+"\n }\n "});var parserCode="\n import * as chevrotain from 'chevrotain';\n import { tokens, Lexer, Tokens, TokenEnum } from './lexer.g';\n\n export enum SyntaxKind {\n "+rules.map(function(rule){return rule.name+" = '"+rule.name+"'"}).join(",\n")+"\n }\n\n export {\n tokens, Lexer, Tokens, TokenEnum\n }\n\n export class BaseNode {\n private _source = '';\n \n kind: SyntaxKind | TokenEnum;\n pos: number;\n end: number;\n \n get width() {\n return this.end - this.pos;\n }\n \n get fullText() {\n return this._source.slice(this.pos, this.end);\n }\n \n get children(): BaseNode[] {\n return [];\n }\n \n forEach(callback: ((child: BaseNode) => any)) {\n if (!this.children.length) {\n return;\n }\n \n this.children.forEach(callback);\n }\n }\n\n export class Parser extends chevrotain.Parser {\n [x: string]: any;\n constructor(input) {\n super(input, tokens, {\n recoveryEnabled: true,\n outputCst: true,\n maxLookahead: 6\n });\n "+ast.toCode()+"\n chevrotain.Parser.performSelfAnalysis(this);\n }}\n ";try{var beautifiedCode=prettier.format(parserCode,config.prettierConfig);fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/mysql_parser_cst.g.json"),JSON.stringify(cst,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/mysql_parser_ast.g.json"),JSON.stringify(ast,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/parser.g.ts"),beautifiedCode)}catch(e){console.error(e);debugger}}function getTokens(lexerGCode){var _a=MetaGenerator_1.parseGCode(lexerGCode,false),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;var tokens=ast.rules.filter(function(rule){return!rule.fragName}).map(function(rule){return{name:rule.tokenName,content:new RegExp(rule.pattern||rule.setPattern()),ignorable:rule.ignorable}});return tokens}function metaGenerator(config){if(config===void 0){config=new MetaParserConfig}var lexerCode=fs.readFileSync(path.join(__dirname,config.lexerCodePath)).toString("utf8");var parserCode=fs.readFileSync(path.join(__dirname,config.parserCodePath)).toString("utf8");var tokens=getTokens(lexerCode);metaLexerGenerator(lexerCode,config);metaParserGenerator(parserCode,config,tokens)}metaGenerator()});
(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","prettier","fs-extra","path","./MetaGenerator","../../common/utils","../MetaLexer"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var prettier=require("prettier");var fs=require("fs-extra");var path=require("path");var MetaGenerator_1=require("./MetaGenerator");var utils_1=require("../../common/utils");var MetaLexer_1=require("../MetaLexer");var MetaParserConfig=function(){function MetaParserConfig(){this.prettierConfig={parser:"typescript",trailingComma:"all",singleQuote:true};this.parserCodePath="../../../grammars/ODPSSql/CoreParser.g4";this.lexerCodePath="../../../grammars/ODPSSql/MysqlLexer.g4"}return MetaParserConfig}();function metaLexerGenerator(lexerGCode,config){var _a=MetaGenerator_1.parseGCode(lexerGCode,false),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;if(lexErrors&&lexErrors.length){console.log.apply(console,lexErrors);debugger}if(parseErrors&&parseErrors.length){console.log.apply(console,parseErrors);debugger}ast.sortRules();var tokenNames=ast.rules.filter(function(rule){return!rule.fragName}).map(function(rule){return rule.tokenName});var parserCode="\n import * as chevrotain from 'chevrotain';\n\n const WhiteSpace = chevrotain.createToken({\n name: 'WhiteSpace',\n pattern: /\\s+/,\n group: chevrotain.Lexer.SKIPPED,\n line_breaks: true\n });\n const ID = chevrotain.createToken({\n name: 'ID',\n pattern: /[A-Za-z_0-9${}*]+/i,\n }); \n const DECIMAL_LITERAL = chevrotain.createToken({\n name: 'DECIMAL_LITERAL',\n pattern: /[0-9]+/,\n longer_alt: ID\n });\n "+ast.toLexerCode()+"\n\n export enum TokenEnum {\n "+tokenNames.map(function(name){return name+" = '"+name+"'"}).join(",")+"\n }\n\n export const Tokens = {\n "+tokenNames.map(function(name){return""+name}).join(",")+"\n };\n\n export const tokens = [\n WhiteSpace,\n "+tokenNames.map(function(name){return""+name}).join(",")+"\n ];\n\n export const Lexer = new chevrotain.Lexer(tokens, {\n positionTracking: 'onlyStart'\n });\n ";try{var beautifiedCode=prettier.format(parserCode,config.prettierConfig);fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/mysql_lexer_cst.g.json"),JSON.stringify(cst,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/mysql_lexer_ast.g.json"),JSON.stringify(ast,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/lexer.g.ts"),beautifiedCode)}catch(e){console.error(e);debugger}}function metaParserGenerator(parserGCode,config,tokens){var _a=MetaGenerator_1.parseGCode(parserGCode,true,tokens),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;if(lexErrors&&lexErrors.length){console.log.apply(console,lexErrors);debugger}if(parseErrors&&parseErrors.length){console.log.apply(console,parseErrors);debugger}var rules=ast.rules.map(function(rule){return{name:rule.ruleName,atoms:rule.atoms}});var nodes=ast.rules.map(function(rule){var atoms=rule.atoms,ruleName=rule.ruleName;var subRuleNames=[];var tokenNames=[];MetaGenerator_1.traverse(rule,MetaLexer_1.TokenEnum.LowerName,function(node){subRuleNames.push(node.name)});MetaGenerator_1.traverse(rule,MetaLexer_1.TokenEnum.UpperName,function(up){var foundToken=tokens.find(function(t){return t.name===up.name});if(foundToken&&!foundToken.ignorable){tokenNames.push(foundToken.name)}});return"\n export class "+utils_1.toUCamelCase(ruleName)+"Node extends BaseNode {\n "+tokenNames.map(function(name){return name+": string;"}).join("\n")+"\n\n "+subRuleNames.map(function(name){return name+": "+utils_1.toUCamelCase(name)+"Node;"}).join("\n")+"\n }\n "});var parserCode="\n import * as chevrotain from 'chevrotain';\n import { tokens, Lexer, Tokens, TokenEnum } from './lexer.g';\n\n export enum SyntaxKind {\n "+rules.map(function(rule){return rule.name+" = '"+rule.name+"'"}).join(",\n")+"\n }\n\n export {\n tokens, Lexer, Tokens, TokenEnum\n }\n\n export class BaseNode {\n private _source = '';\n \n kind: SyntaxKind | TokenEnum;\n pos: number;\n end: number;\n \n get width() {\n return this.end - this.pos;\n }\n \n get fullText() {\n return this._source.slice(this.pos, this.end);\n }\n \n get children(): BaseNode[] {\n return [];\n }\n \n forEach(callback: ((child: BaseNode) => any)) {\n if (!this.children.length) {\n return;\n }\n \n this.children.forEach(callback);\n }\n }\n\n export class Parser extends chevrotain.Parser {\n [x: string]: any;\n constructor(input) {\n super(input, tokens, {\n recoveryEnabled: true,\n outputCst: true,\n maxLookahead: 6\n });\n "+ast.toCode()+"\n chevrotain.Parser.performSelfAnalysis(this);\n }}\n ";try{var beautifiedCode=prettier.format(parserCode,config.prettierConfig);fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/mysql_parser_cst.g.json"),JSON.stringify(cst,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/mysql_parser_ast.g.json"),JSON.stringify(ast,null,2));fs.writeFileSync(path.join(__dirname,"../../../sql-parser/ODPS/parser.g.ts"),beautifiedCode)}catch(e){console.error(e);debugger}}function getTokens(lexerGCode){var _a=MetaGenerator_1.parseGCode(lexerGCode,false),ast=_a.ast,cst=_a.cst,lexErrors=_a.lexErrors,parseErrors=_a.parseErrors;var tokens=ast.rules.filter(function(rule){return!rule.fragName}).map(function(rule){return{name:rule.tokenName,content:new RegExp(rule.pattern||rule.setPattern()),ignorable:rule.ignorable}});return tokens}function metaGenerator(config){if(config===void 0){config=new MetaParserConfig}var lexerCode=fs.readFileSync(path.join(__dirname,config.lexerCodePath)).toString("utf8");var parserCode=fs.readFileSync(path.join(__dirname,config.parserCodePath)).toString("utf8");var tokens=getTokens(lexerCode);metaLexerGenerator(lexerCode,config);metaParserGenerator(parserCode,config,tokens)}metaGenerator()});

@@ -1,1 +0,1 @@

var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","../MetaLexer","lodash","../MetaParser"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var MetaLexer_1=require("../MetaLexer");var _=require("lodash");var MetaParser_1=require("../MetaParser");var SyntaxKind;(function(SyntaxKind){SyntaxKind["alias"]="alias";SyntaxKind["rules"]="rules";SyntaxKind["rule"]="rule";SyntaxKind["atoms"]="atoms";SyntaxKind["atom"]="atom";SyntaxKind["itemSuff"]="itemSuff";SyntaxKind["item"]="item";SyntaxKind["itemCase"]="itemCase";SyntaxKind["suff"]="suff";SyntaxKind["bracketExp"]="bracketExp"})(SyntaxKind=exports.SyntaxKind||(exports.SyntaxKind={}));var SuffEnum;(function(SuffEnum){SuffEnum["MANY"]="*";SuffEnum["AT_LEAST_ONE"]="+";SuffEnum["OPTION"]="?"})(SuffEnum||(SuffEnum={}));function cstToAst(cst){var children=cst.children;switch(cst.name){case SyntaxKind.rules:{var rulesNode=new RulesNode;rulesNode.rules=cst.children.rule.map(function(rule){return cstToAst(rule)});return rulesNode}case SyntaxKind.rule:{var ruleNode=new RuleNode;var _a=cst.children,LowerName=_a.LowerName,UpperName=_a.UpperName,Fragment=_a.Fragment;var atomsCst=cst.children.atoms[0];if(LowerName){ruleNode.ruleName=LowerName[0].image}else if(UpperName&&Fragment){ruleNode.fragName=UpperName[0].image}else if(UpperName){ruleNode.tokenName=UpperName[0].image}ruleNode.atoms=atomsCst.children.atom.map(function(atom){return cstToAst(atom)});return ruleNode}case SyntaxKind.atom:{var atomNode=new AtomNode;atomNode.itemSuffs=(cst.children.itemSuff||[]).map(function(itemSuff){return cstToAst(itemSuff)});return atomNode}case SyntaxKind.itemSuff:{var itemSuffNode=new ItemSuffNode;if(cst.children.Not){itemSuffNode.hasNot=true}if(_.get(cst,"children.suff[0].children")){var _b=_.get(cst,"children.suff[0].children"),Asterisk=_b.Asterisk,Plus=_b.Plus,Optional=_b.Optional;if(Asterisk){itemSuffNode.suff=SuffEnum.MANY}else if(Plus){itemSuffNode.suff=SuffEnum.AT_LEAST_ONE}else if(Optional){itemSuffNode.suff=SuffEnum.OPTION}}itemSuffNode.item=cstToAst(cst.children.item[0]);if(!itemSuffNode.item){debugger}return itemSuffNode}case SyntaxKind.item:{var _c=cst.children,LowerName=_c.LowerName,UpperName=_c.UpperName,LeftBracket=_c.LeftBracket,atoms=_c.atoms,RightBracket=_c.RightBracket,Stringliteral=_c.Stringliteral,ReExp=_c.ReExp,All=_c.All,alias=_c.alias;if(alias){return cstToAst(alias[0].children.item[0])}else if(LowerName){var itemNode=new LowerNameNode;itemNode.name=LowerName[0].image;return itemNode}else if(UpperName){var itemNode=new UpperNameNode;itemNode.name=UpperName[0].image;return itemNode}else if(Stringliteral){var itemNode=new StringliteralNode;itemNode.content=Stringliteral[0].image;return itemNode}else if(LeftBracket&&atoms&&RightBracket){var itemNode=new BracketExpNode;var atomsCst=cst.children.atoms[0];itemNode.atoms=atomsCst.children.atom.map(function(atom){return cstToAst(atom)});return itemNode}else if(ReExp){var itemNode=new RegExpNode;itemNode.content=ReExp[0].image;return itemNode}else if(All){return new AllNode}else{debugger}}}}exports.cstToAst=cstToAst;function getPatternByUpName(ast,upName){var rule=ast.rules.find(function(rule){return rule.tokenName===upName||rule.fragName===upName});if(!rule.pattern){rule.setPattern()}return rule.pattern}var BaseNode=function(){function BaseNode(){this.index=0}Object.defineProperty(BaseNode.prototype,"children",{get:function(){return[]},enumerable:true,configurable:true});BaseNode.prototype.toDebugLexerCode=function(){var code=this.toLexerCode();if(code===undefined){debugger}return code};Object.defineProperty(BaseNode.prototype,"tokenizers",{get:function(){var tokenizers=[];this.forEach(function(child){if(!child.children||!child.children.length){tokenizers.push(child)}else{tokenizers.push.apply(tokenizers,child.tokenizers)}});return tokenizers},enumerable:true,configurable:true});BaseNode.prototype.toCode=function(){return""};BaseNode.prototype.toLexerCode=function(){return""};Object.defineProperty(BaseNode.prototype,"indexStr",{get:function(){return this.index===0?"":this.index+1},enumerable:true,configurable:true});BaseNode.prototype.forEach=function(callback){if(!this.children.length){return}this.children.forEach(callback)};return BaseNode}();function traverse(ast,kind,callback){if(ast.kind===kind){callback(ast)}ast.forEach(function(child){traverse(child,kind,callback)})}exports.traverse=traverse;function quickSort(arr,sortCallback,result){if(result===void 0){result=[]}if(!arr.length){return result}var instance=arr[0],rest=arr.slice(1);var preItems=quickSort(rest.filter(function(item){return!sortCallback(item,instance)}),sortCallback);var nextItems=quickSort(rest.filter(function(item){return sortCallback(item,instance)}),sortCallback);return preItems.concat([instance],nextItems)}function noMeta(pattern){var metaChs=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return pattern.split("").every(function(ch){return!metaChs.includes(ch)})}var RulesNode=function(_super){__extends(RulesNode,_super);function RulesNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=SyntaxKind.rules;_this.rules=[];return _this}RulesNode.prototype.sortRules=function(){this.rules.forEach(function(rule){return rule.setPattern()});this.rules=quickSort(this.rules,function(inst,curr){if(noMeta(curr.pattern)&&curr.pattern.match(RegExp(inst.pattern))){return true}return false})};Object.defineProperty(RulesNode.prototype,"children",{get:function(){return this.rules},enumerable:true,configurable:true});RulesNode.prototype.toLexerCode=function(){return this.rules.filter(function(rule){return!rule.fragName}).filter(function(rule){return rule.tokenName!=="DECIMAL_LITERAL"}).filter(function(rule){return rule.tokenName!=="ID"}).map(function(rule){return rule.toDebugLexerCode()}).join("\n")};RulesNode.prototype.toCode=function(){return this.rules.map(function(rule){return rule.toCode()}).join("\n")};return RulesNode}(BaseNode);exports.RulesNode=RulesNode;var RuleNode=function(_super){__extends(RuleNode,_super);function RuleNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=SyntaxKind.rule;return _this}Object.defineProperty(RuleNode.prototype,"children",{get:function(){return this.atoms},enumerable:true,configurable:true});Object.defineProperty(RuleNode.prototype,"ignorable",{get:function(){if(this.tokenizers&&this.tokenizers[0]&&this.tokenizers[0].content===this.pattern){return true}return false},enumerable:true,configurable:true});RuleNode.prototype.setPattern=function(){if(this.atoms.length>1){this.pattern="("+this.atoms.map(function(atom){return atom.toDebugLexerCode()}).join("|")+")"}else{this.pattern=this.atoms[0].toDebugLexerCode()}return this.pattern};RuleNode.prototype.toLexerCode=function(){var decimalTokens=["ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL"];if(decimalTokens.indexOf(this.tokenName)>-1){return"const "+this.tokenName+" = chevrotain.createToken({\n name: '"+this.tokenName+"',\n pattern: /"+this.pattern+"/,\n longer_alt: DECIMAL_LITERAL\n });"}else{return"const "+this.tokenName+" = chevrotain.createToken({\n name: '"+this.tokenName+"',\n pattern: /"+this.pattern+"/i,\n longer_alt: ID\n });"}};RuleNode.prototype.toCode=function(){var orStrs=this.atoms.map(function(atom){return"\n {\n ALT: () => {\n "+atom.toCode()+"\n }\n }\n "});var rule="";if(this.atoms.length>1){rule="() => {\n this.OR(["+orStrs.join(",")+"]);\n }"}else{rule="() => {\n "+this.atoms[0].toCode()+"\n }"}return"\n this.RULE('"+this.ruleName+"', "+rule+");\n "};return RuleNode}(BaseNode);exports.RuleNode=RuleNode;var AtomNode=function(_super){__extends(AtomNode,_super);function AtomNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=SyntaxKind.atom;return _this}Object.defineProperty(AtomNode.prototype,"children",{get:function(){return this.itemSuffs},enumerable:true,configurable:true});AtomNode.prototype.toLexerCode=function(){return this.itemSuffs.map(function(itemSuff){return itemSuff.toDebugLexerCode()}).join("")};AtomNode.prototype.toCode=function(){return this.itemSuffs.map(function(itemSuff){return itemSuff.toCode()}).join("\n")};return AtomNode}(BaseNode);exports.AtomNode=AtomNode;var ItemSuffNode=function(_super){__extends(ItemSuffNode,_super);function ItemSuffNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=SyntaxKind.itemSuff;_this.hasNot=false;return _this}Object.defineProperty(ItemSuffNode.prototype,"children",{get:function(){return[this.item]},enumerable:true,configurable:true});ItemSuffNode.prototype.toLexerCode=function(){var itemLexer=this.item.toDebugLexerCode();if(this.hasNot){return"[^"+itemLexer+"]"+(this.suff||"")}return""+itemLexer+(this.suff||"")};ItemSuffNode.prototype.toCode=function(){if(this.suff===SuffEnum.AT_LEAST_ONE){return"\n this.AT_LEAST_ONE"+this.indexStr+"(() => {\n "+this.item.toCode()+"\n });\n "}else if(this.suff===SuffEnum.MANY){return"\n this.MANY"+this.indexStr+"(() => {\n "+this.item.toCode()+"\n });\n "}else if(this.suff===SuffEnum.OPTION){return"\n this.OPTION"+this.indexStr+"(() => {\n "+this.item.toCode()+"\n });\n "}else{return this.item.toCode()}};return ItemSuffNode}(BaseNode);exports.ItemSuffNode=ItemSuffNode;var BracketExpNode=function(_super){__extends(BracketExpNode,_super);function BracketExpNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=SyntaxKind.bracketExp;return _this}Object.defineProperty(BracketExpNode.prototype,"children",{get:function(){return this.atoms},enumerable:true,configurable:true});BracketExpNode.prototype.toLexerCode=function(){if(this.atoms.length){return"("+this.atoms.map(function(atom){return atom.toDebugLexerCode()}).join("|")+")"}return this.atoms[0].toDebugLexerCode()};BracketExpNode.prototype.toCode=function(){var orStrs=this.atoms.map(function(atom){return"\n {\n ALT: () => {\n "+atom.toCode()+"\n }\n }\n "});if(this.atoms.length>1){return"this.OR"+this.indexStr+"(["+orStrs.join(",")+"])"}else{return""+this.atoms[0].toCode()}};return BracketExpNode}(BaseNode);exports.BracketExpNode=BracketExpNode;var StringliteralNode=function(_super){__extends(StringliteralNode,_super);function StringliteralNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=MetaLexer_1.TokenEnum.Stringliteral;return _this}StringliteralNode.prototype.getTokens=function(){return[]};StringliteralNode.prototype.getLexer=function(){return};StringliteralNode.prototype.toLexerCode=function(){var tokenText=this.content.match(/\'(.*)\'/)[1];if(tokenText.includes("\\")){return tokenText}else{return tokenText.split("").map(function(ch){if(!ch.match(/[a-zA-Z0-9_]/)){return"\\"+ch}return ch}).join("")}};StringliteralNode.prototype.toCode=function(){var name=this.content.match(/'(.+)'/)[1];if(!name.match(/[a-zA-Z]/)){var foundToken=this.getTokens().find(function(token){return!!name.match(token.content)});if(foundToken){name=foundToken.name}else{name="OP"}}return"this.CONSUME"+this.indexStr+"(Tokens."+name+");"};return StringliteralNode}(BaseNode);exports.StringliteralNode=StringliteralNode;var RegExpNode=function(_super){__extends(RegExpNode,_super);function RegExpNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=MetaLexer_1.TokenEnum.ReExp;return _this}RegExpNode.prototype.toLexerCode=function(){return this.content.replace(/\$/,"\\$")};return RegExpNode}(BaseNode);exports.RegExpNode=RegExpNode;var LowerNameNode=function(_super){__extends(LowerNameNode,_super);function LowerNameNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=MetaLexer_1.TokenEnum.LowerName;return _this}LowerNameNode.prototype.toCode=function(){return"this.SUBRULE"+this.indexStr+"(this."+this.name+");"};return LowerNameNode}(BaseNode);exports.LowerNameNode=LowerNameNode;var UpperNameNode=function(_super){__extends(UpperNameNode,_super);function UpperNameNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=MetaLexer_1.TokenEnum.UpperName;_this.getAst=function(){return undefined};return _this}UpperNameNode.prototype.toLexerCode=function(){return getPatternByUpName(this.getAst(),this.name)};UpperNameNode.prototype.toCode=function(){return"this.CONSUME"+this.indexStr+"(Tokens."+this.name+");"};return UpperNameNode}(BaseNode);exports.UpperNameNode=UpperNameNode;var AllNode=function(_super){__extends(AllNode,_super);function AllNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=MetaLexer_1.TokenEnum.All;return _this}AllNode.prototype.toCode=function(){return"."};return AllNode}(BaseNode);exports.AllNode=AllNode;function parseGCode(gCode,isParser,tokens){if(isParser===void 0){isParser=true}if(tokens===void 0){tokens=[]}var lexResult=MetaLexer_1.Lexer.tokenize(gCode);var metaParser=new MetaParser_1.MetaParser([]);metaParser.input=lexResult.tokens;var cst=metaParser.rules();var ast=cstToAst(cst);if(isParser){traverse(ast,SyntaxKind.rule,function(ruleNode){{var optionIndex_1=0;var manyIndex_1=0;var atLeastOneIndex_1=0;traverse(ruleNode,SyntaxKind.itemSuff,function(node){if(node.suff===SuffEnum.AT_LEAST_ONE){node.index=atLeastOneIndex_1++}else if(node.suff===SuffEnum.MANY){node.index=manyIndex_1++}else if(node.suff===SuffEnum.OPTION){node.index=optionIndex_1++}})}{var orIndex_1=0;traverse(ruleNode,SyntaxKind.bracketExp,function(node){if(node.atoms.length>1){node.index=++orIndex_1}})}{var preRuleNames_1=[];traverse(ruleNode,MetaLexer_1.TokenEnum.LowerName,function(node){node.index=preRuleNames_1.filter(function(name){return name===node.name}).length;preRuleNames_1.push(node.name)})}{var uppers_1=[];var strs_1=[];traverse(ruleNode,MetaLexer_1.TokenEnum.UpperName,function(node){node.index=uppers_1.filter(function(upName){return upName===node.name}).length;uppers_1.push(node.name)});traverse(ruleNode,MetaLexer_1.TokenEnum.Stringliteral,function(node){node.index=strs_1.filter(function(str){return str===node.content}).length;node.getTokens=function(){return tokens};strs_1.push(node.content)})}})}else{traverse(ast,MetaLexer_1.TokenEnum.UpperName,function(node){node.getAst=function(){return ast}})}return{cst:cst,ast:ast,lexErrors:lexResult.errors,parseErrors:metaParser.errors}}exports.parseGCode=parseGCode});
var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","../MetaLexer","lodash","../MetaParser"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var MetaLexer_1=require("../MetaLexer");var _=require("lodash");var MetaParser_1=require("../MetaParser");var SyntaxKind;(function(SyntaxKind){SyntaxKind["alias"]="alias";SyntaxKind["rules"]="rules";SyntaxKind["rule"]="rule";SyntaxKind["atoms"]="atoms";SyntaxKind["atom"]="atom";SyntaxKind["itemSuff"]="itemSuff";SyntaxKind["item"]="item";SyntaxKind["itemCase"]="itemCase";SyntaxKind["suff"]="suff";SyntaxKind["bracketExp"]="bracketExp"})(SyntaxKind=exports.SyntaxKind||(exports.SyntaxKind={}));var SuffEnum;(function(SuffEnum){SuffEnum["MANY"]="*";SuffEnum["AT_LEAST_ONE"]="+";SuffEnum["OPTION"]="?"})(SuffEnum||(SuffEnum={}));function cstToAst(cst){var children=cst.children;switch(cst.name){case SyntaxKind.rules:{var rulesNode=new RulesNode;rulesNode.rules=cst.children.rule.map(function(rule){return cstToAst(rule)});return rulesNode}case SyntaxKind.rule:{var ruleNode=new RuleNode;var _a=cst.children,LowerName=_a.LowerName,UpperName=_a.UpperName,Fragment=_a.Fragment;var atomsCst=cst.children.atoms[0];if(LowerName){ruleNode.ruleName=LowerName[0].image}else if(UpperName&&Fragment){ruleNode.fragName=UpperName[0].image}else if(UpperName){ruleNode.tokenName=UpperName[0].image}ruleNode.atoms=atomsCst.children.atom.map(function(atom){return cstToAst(atom)});return ruleNode}case SyntaxKind.atom:{var atomNode=new AtomNode;atomNode.itemSuffs=(cst.children.itemSuff||[]).map(function(itemSuff){return cstToAst(itemSuff)});return atomNode}case SyntaxKind.itemSuff:{var itemSuffNode=new ItemSuffNode;if(cst.children.Not){itemSuffNode.hasNot=true}if(_.get(cst,"children.suff[0].children")){var _b=_.get(cst,"children.suff[0].children"),Asterisk=_b.Asterisk,Plus=_b.Plus,Optional=_b.Optional;if(Asterisk){itemSuffNode.suff=SuffEnum.MANY}else if(Plus){itemSuffNode.suff=SuffEnum.AT_LEAST_ONE}else if(Optional){itemSuffNode.suff=SuffEnum.OPTION}}itemSuffNode.item=cstToAst(cst.children.item[0]);if(!itemSuffNode.item){debugger}return itemSuffNode}case SyntaxKind.item:{var _c=cst.children,LowerName=_c.LowerName,UpperName=_c.UpperName,LeftBracket=_c.LeftBracket,atoms=_c.atoms,RightBracket=_c.RightBracket,Stringliteral=_c.Stringliteral,ReExp=_c.ReExp,All=_c.All,alias=_c.alias;if(alias){return cstToAst(alias[0].children.item[0])}else if(LowerName){var itemNode=new LowerNameNode;itemNode.name=LowerName[0].image;return itemNode}else if(UpperName){var itemNode=new UpperNameNode;itemNode.name=UpperName[0].image;return itemNode}else if(Stringliteral){var itemNode=new StringliteralNode;itemNode.content=Stringliteral[0].image;return itemNode}else if(LeftBracket&&atoms&&RightBracket){var itemNode=new BracketExpNode;var atomsCst=cst.children.atoms[0];itemNode.atoms=atomsCst.children.atom.map(function(atom){return cstToAst(atom)});return itemNode}else if(ReExp){var itemNode=new RegExpNode;itemNode.content=ReExp[0].image;return itemNode}else if(All){return new AllNode}else{debugger}}}}exports.cstToAst=cstToAst;function getPatternByUpName(ast,upName){var rule=ast.rules.find(function(rule){return rule.tokenName===upName||rule.fragName===upName});if(!rule.pattern){rule.setPattern()}return rule.pattern}var BaseNode=function(){function BaseNode(){this.index=0}Object.defineProperty(BaseNode.prototype,"children",{get:function(){return[]},enumerable:true,configurable:true});BaseNode.prototype.toDebugLexerCode=function(){var code=this.toLexerCode();if(code===undefined){debugger}return code};Object.defineProperty(BaseNode.prototype,"tokenizers",{get:function(){var tokenizers=[];this.forEach(function(child){if(!child.children||!child.children.length){tokenizers.push(child)}else{tokenizers.push.apply(tokenizers,child.tokenizers)}});return tokenizers},enumerable:true,configurable:true});BaseNode.prototype.toCode=function(){return""};BaseNode.prototype.toLexerCode=function(){return""};Object.defineProperty(BaseNode.prototype,"indexStr",{get:function(){return this.index===0?"":this.index+1},enumerable:true,configurable:true});BaseNode.prototype.forEach=function(callback){if(!this.children.length){return}this.children.forEach(callback)};return BaseNode}();function traverse(ast,kind,callback){if(ast.kind===kind){callback(ast)}ast.forEach(function(child){traverse(child,kind,callback)})}exports.traverse=traverse;function quickSort(arr,sortCallback,result){if(result===void 0){result=[]}if(!arr.length){return result}var instance=arr[0],rest=arr.slice(1);var preItems=quickSort(rest.filter(function(item){return!sortCallback(item,instance)}),sortCallback);var nextItems=quickSort(rest.filter(function(item){return sortCallback(item,instance)}),sortCallback);return preItems.concat([instance],nextItems)}function noMeta(pattern){var metaChs=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return pattern.split("").every(function(ch){return!metaChs.includes(ch)})}var RulesNode=function(_super){__extends(RulesNode,_super);function RulesNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=SyntaxKind.rules;_this.rules=[];return _this}RulesNode.prototype.sortRules=function(){this.rules.forEach(function(rule){return rule.setPattern()});this.rules=quickSort(this.rules,function(inst,curr){if(noMeta(curr.pattern)&&curr.pattern.match(RegExp(inst.pattern))){return true}return false})};Object.defineProperty(RulesNode.prototype,"children",{get:function(){return this.rules},enumerable:true,configurable:true});RulesNode.prototype.toLexerCode=function(){return this.rules.filter(function(rule){return!rule.fragName}).filter(function(rule){return rule.tokenName!=="DECIMAL_LITERAL"}).filter(function(rule){return rule.tokenName!=="ID"}).map(function(rule){return rule.toDebugLexerCode()}).join("\n")};RulesNode.prototype.toCode=function(){return this.rules.map(function(rule){return rule.toCode()}).join("\n")};return RulesNode}(BaseNode);exports.RulesNode=RulesNode;var RuleNode=function(_super){__extends(RuleNode,_super);function RuleNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=SyntaxKind.rule;return _this}Object.defineProperty(RuleNode.prototype,"children",{get:function(){return this.atoms},enumerable:true,configurable:true});Object.defineProperty(RuleNode.prototype,"ignorable",{get:function(){if(this.tokenizers&&this.tokenizers[0]&&this.tokenizers[0].content===this.pattern){return true}return false},enumerable:true,configurable:true});RuleNode.prototype.setPattern=function(){if(this.atoms.length>1){this.pattern="("+this.atoms.map(function(atom){return atom.toDebugLexerCode()}).join("|")+")"}else{this.pattern=this.atoms[0].toDebugLexerCode()}return this.pattern};RuleNode.prototype.toLexerCode=function(){var decimalTokens=["ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL"];if(decimalTokens.indexOf(this.tokenName)>-1){return"const "+this.tokenName+" = chevrotain.createToken({\n name: '"+this.tokenName+"',\n pattern: /"+this.pattern+"/,\n longer_alt: ID\n });"}else{return"const "+this.tokenName+" = chevrotain.createToken({\n name: '"+this.tokenName+"',\n pattern: /"+this.pattern+"/i,\n longer_alt: ID\n });"}};RuleNode.prototype.toCode=function(){var orStrs=this.atoms.map(function(atom){return"\n {\n ALT: () => {\n "+atom.toCode()+"\n }\n }\n "});var rule="";if(this.atoms.length>1){rule="() => {\n this.OR(["+orStrs.join(",")+"]);\n }"}else{rule="() => {\n "+this.atoms[0].toCode()+"\n }"}return"\n this.RULE('"+this.ruleName+"', "+rule+");\n "};return RuleNode}(BaseNode);exports.RuleNode=RuleNode;var AtomNode=function(_super){__extends(AtomNode,_super);function AtomNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=SyntaxKind.atom;return _this}Object.defineProperty(AtomNode.prototype,"children",{get:function(){return this.itemSuffs},enumerable:true,configurable:true});AtomNode.prototype.toLexerCode=function(){return this.itemSuffs.map(function(itemSuff){return itemSuff.toDebugLexerCode()}).join("")};AtomNode.prototype.toCode=function(){return this.itemSuffs.map(function(itemSuff){return itemSuff.toCode()}).join("\n")};return AtomNode}(BaseNode);exports.AtomNode=AtomNode;var ItemSuffNode=function(_super){__extends(ItemSuffNode,_super);function ItemSuffNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=SyntaxKind.itemSuff;_this.hasNot=false;return _this}Object.defineProperty(ItemSuffNode.prototype,"children",{get:function(){return[this.item]},enumerable:true,configurable:true});ItemSuffNode.prototype.toLexerCode=function(){var itemLexer=this.item.toDebugLexerCode();if(this.hasNot){return"[^"+itemLexer+"]"+(this.suff||"")}return""+itemLexer+(this.suff||"")};ItemSuffNode.prototype.toCode=function(){if(this.suff===SuffEnum.AT_LEAST_ONE){return"\n this.AT_LEAST_ONE"+this.indexStr+"(() => {\n "+this.item.toCode()+"\n });\n "}else if(this.suff===SuffEnum.MANY){return"\n this.MANY"+this.indexStr+"(() => {\n "+this.item.toCode()+"\n });\n "}else if(this.suff===SuffEnum.OPTION){return"\n this.OPTION"+this.indexStr+"(() => {\n "+this.item.toCode()+"\n });\n "}else{return this.item.toCode()}};return ItemSuffNode}(BaseNode);exports.ItemSuffNode=ItemSuffNode;var BracketExpNode=function(_super){__extends(BracketExpNode,_super);function BracketExpNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=SyntaxKind.bracketExp;return _this}Object.defineProperty(BracketExpNode.prototype,"children",{get:function(){return this.atoms},enumerable:true,configurable:true});BracketExpNode.prototype.toLexerCode=function(){if(this.atoms.length){return"("+this.atoms.map(function(atom){return atom.toDebugLexerCode()}).join("|")+")"}return this.atoms[0].toDebugLexerCode()};BracketExpNode.prototype.toCode=function(){var orStrs=this.atoms.map(function(atom){return"\n {\n ALT: () => {\n "+atom.toCode()+"\n }\n }\n "});if(this.atoms.length>1){return"this.OR"+this.indexStr+"(["+orStrs.join(",")+"])"}else{return""+this.atoms[0].toCode()}};return BracketExpNode}(BaseNode);exports.BracketExpNode=BracketExpNode;var StringliteralNode=function(_super){__extends(StringliteralNode,_super);function StringliteralNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=MetaLexer_1.TokenEnum.Stringliteral;return _this}StringliteralNode.prototype.getTokens=function(){return[]};StringliteralNode.prototype.getLexer=function(){return};StringliteralNode.prototype.toLexerCode=function(){var tokenText=this.content.match(/\'(.*)\'/)[1];if(tokenText.includes("\\")){return tokenText}else{return tokenText.split("").map(function(ch){if(!ch.match(/[a-zA-Z0-9_]/)){return"\\"+ch}return ch}).join("")}};StringliteralNode.prototype.toCode=function(){var name=this.content.match(/'(.+)'/)[1];if(!name.match(/[a-zA-Z]/)){var foundToken=this.getTokens().find(function(token){return!!name.match(token.content)});if(foundToken){name=foundToken.name}else{name="OP"}}return"this.CONSUME"+this.indexStr+"(Tokens."+name+");"};return StringliteralNode}(BaseNode);exports.StringliteralNode=StringliteralNode;var RegExpNode=function(_super){__extends(RegExpNode,_super);function RegExpNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=MetaLexer_1.TokenEnum.ReExp;return _this}RegExpNode.prototype.toLexerCode=function(){return this.content.replace(/\$/,"\\$")};return RegExpNode}(BaseNode);exports.RegExpNode=RegExpNode;var LowerNameNode=function(_super){__extends(LowerNameNode,_super);function LowerNameNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=MetaLexer_1.TokenEnum.LowerName;return _this}LowerNameNode.prototype.toCode=function(){return"this.SUBRULE"+this.indexStr+"(this."+this.name+");"};return LowerNameNode}(BaseNode);exports.LowerNameNode=LowerNameNode;var UpperNameNode=function(_super){__extends(UpperNameNode,_super);function UpperNameNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.index=0;_this.kind=MetaLexer_1.TokenEnum.UpperName;_this.getAst=function(){return undefined};return _this}UpperNameNode.prototype.toLexerCode=function(){return getPatternByUpName(this.getAst(),this.name)};UpperNameNode.prototype.toCode=function(){return"this.CONSUME"+this.indexStr+"(Tokens."+this.name+");"};return UpperNameNode}(BaseNode);exports.UpperNameNode=UpperNameNode;var AllNode=function(_super){__extends(AllNode,_super);function AllNode(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.kind=MetaLexer_1.TokenEnum.All;return _this}AllNode.prototype.toCode=function(){return"."};return AllNode}(BaseNode);exports.AllNode=AllNode;function parseGCode(gCode,isParser,tokens){if(isParser===void 0){isParser=true}if(tokens===void 0){tokens=[]}var lexResult=MetaLexer_1.Lexer.tokenize(gCode);var metaParser=new MetaParser_1.MetaParser([]);metaParser.input=lexResult.tokens;var cst=metaParser.rules();var ast=cstToAst(cst);if(isParser){traverse(ast,SyntaxKind.rule,function(ruleNode){{var optionIndex_1=0;var manyIndex_1=0;var atLeastOneIndex_1=0;traverse(ruleNode,SyntaxKind.itemSuff,function(node){if(node.suff===SuffEnum.AT_LEAST_ONE){node.index=atLeastOneIndex_1++}else if(node.suff===SuffEnum.MANY){node.index=manyIndex_1++}else if(node.suff===SuffEnum.OPTION){node.index=optionIndex_1++}})}{var orIndex_1=0;traverse(ruleNode,SyntaxKind.bracketExp,function(node){if(node.atoms.length>1){node.index=++orIndex_1}})}{var preRuleNames_1=[];traverse(ruleNode,MetaLexer_1.TokenEnum.LowerName,function(node){node.index=preRuleNames_1.filter(function(name){return name===node.name}).length;preRuleNames_1.push(node.name)})}{var uppers_1=[];var strs_1=[];traverse(ruleNode,MetaLexer_1.TokenEnum.UpperName,function(node){node.index=uppers_1.filter(function(upName){return upName===node.name}).length;uppers_1.push(node.name)});traverse(ruleNode,MetaLexer_1.TokenEnum.Stringliteral,function(node){node.index=strs_1.filter(function(str){return str===node.content}).length;node.getTokens=function(){return tokens};strs_1.push(node.content)})}})}else{traverse(ast,MetaLexer_1.TokenEnum.UpperName,function(node){node.getAst=function(){return ast}})}return{cst:cst,ast:ast,lexErrors:lexResult.errors,parseErrors:metaParser.errors}}exports.parseGCode=parseGCode});

@@ -1,1 +0,1 @@

(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./lexer.g","./parser.g"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var lexer_g_1=require("./lexer.g");var parser_g_1=require("./parser.g");var CstNode=function(){function CstNode(){this.startOffset=0}return CstNode}();var parser=new parser_g_1.Parser([]);function parseMysql(mysqlCode){var lexResult=lexer_g_1.Lexer.tokenize(mysqlCode);parser.input=lexResult.tokens;var cst=parser.root();return{cst:cst,lexErrors:lexResult.errors,parseErrors:parser.errors}}exports.parseMysql=parseMysql;function getAvailableTokens(text){var lexResult=lexer_g_1.Lexer.tokenize(text);if(lexResult.errors.length>0){throw new Error("sad sad panda, lexing errors detected")}var parser=new parser_g_1.Parser([]);var assistanceTokenVector=lexResult.tokens;var syntacticSuggestions=parser.computeContentAssist("root",assistanceTokenVector);var finalSuggestions=syntacticSuggestions.map(function(item){return item.nextTokenType.tokenName});return Array.from(new Set(finalSuggestions))}exports.getAvailableTokens=getAvailableTokens});
(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./lexer.g","./parser.g"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var lexer_g_1=require("./lexer.g");var parser_g_1=require("./parser.g");var CstNode=function(){function CstNode(){this.startOffset=0}return CstNode}();var parser=new parser_g_1.Parser([]);function parseMysql(mysqlCode){var processedCode=mysqlCode.replace(/--[\s\S]*?\n/g,"").replace(/\/\*[\s\S]*\*\/\n/g,"");var lexResult=lexer_g_1.Lexer.tokenize(processedCode);parser.input=lexResult.tokens;var cst=parser.root();return{cst:cst,lexErrors:lexResult.errors,parseErrors:parser.errors}}exports.parseMysql=parseMysql;function getAvailableTokens(text){var processedCode=text.replace(/--[\s\S]*?\n/g,"").replace(/\/\*[\s\S]*\*\/\n/g,"");var lexResult=lexer_g_1.Lexer.tokenize(processedCode);if(lexResult.errors.length>0){throw new Error("sad sad panda, lexing errors detected")}var parser=new parser_g_1.Parser([]);var assistanceTokenVector=lexResult.tokens;var syntacticSuggestions=parser.computeContentAssist("root",assistanceTokenVector);var finalSuggestions=syntacticSuggestions.map(function(item){return item.nextTokenType.tokenName});return Array.from(new Set(finalSuggestions))}exports.getAvailableTokens=getAvailableTokens});

@@ -1,1 +0,1 @@

(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","chevrotain"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var chevrotain=require("chevrotain");var WhiteSpace=chevrotain.createToken({name:"WhiteSpace",pattern:/\s+/,group:chevrotain.Lexer.SKIPPED,line_breaks:true});var ID=chevrotain.createToken({name:"ID",pattern:/[A-Za-z_$0-9*]+/i});var WS=chevrotain.createToken({name:"WS",pattern:/(\ |\r|\t|\n)/i,longer_alt:ID});var ByteLengthLiteral=chevrotain.createToken({name:"ByteLengthLiteral",pattern:/([0-9])+(b|B|k|K|m|M|g|G)/i,longer_alt:ID});var DecimalLiteral=chevrotain.createToken({name:"DecimalLiteral",pattern:/([0-9])+(\.([0-9])*((e|E)(\+|\-)?([0-9])+)?|(e|E)(\+|\-)?([0-9])+)?BD/i,longer_alt:ID});var TinyintLiteral=chevrotain.createToken({name:"TinyintLiteral",pattern:/([0-9])+Y/i,longer_alt:ID});var SmallintLiteral=chevrotain.createToken({name:"SmallintLiteral",pattern:/([0-9])+S/i,longer_alt:ID});var BigintLiteral=chevrotain.createToken({name:"BigintLiteral",pattern:/([0-9])+L/i,longer_alt:ID});var CharSetLiteral=chevrotain.createToken({name:"CharSetLiteral",pattern:/((\'([^(\'|\\)]|(\\))*\'|\"([^(\"|\\)]|(\\))*\")+|0X([A-Fa-f]|[0-9])+)/i,longer_alt:ID});var STRING_LITERAL=chevrotain.createToken({name:"STRING_LITERAL",pattern:/(\'([^(\'|\\)]|(\\))*\'|\"([^(\"|\\)]|(\\))*\")+/i,longer_alt:ID});var DOLLAR=chevrotain.createToken({name:"DOLLAR",pattern:/\$/i,longer_alt:ID});var QUESTION=chevrotain.createToken({name:"QUESTION",pattern:/\?/i,longer_alt:ID});var BITWISEXOR=chevrotain.createToken({name:"BITWISEXOR",pattern:/\^/i,longer_alt:ID});var BITWISEOR=chevrotain.createToken({name:"BITWISEOR",pattern:/\|/i,longer_alt:ID});var TILDE=chevrotain.createToken({name:"TILDE",pattern:/\~/i,longer_alt:ID});var AMPERSAND=chevrotain.createToken({name:"AMPERSAND",pattern:/\&/i,longer_alt:ID});var DIV=chevrotain.createToken({name:"DIV",pattern:/DIV/i,longer_alt:ID});var MOD=chevrotain.createToken({name:"MOD",pattern:/\%/i,longer_alt:ID});var STAR=chevrotain.createToken({name:"STAR",pattern:/\*/i,longer_alt:ID});var MINUS=chevrotain.createToken({name:"MINUS",pattern:/\-/i,longer_alt:ID});var PLUS=chevrotain.createToken({name:"PLUS",pattern:/\+/i,longer_alt:ID});var DIVIDE=chevrotain.createToken({name:"DIVIDE",pattern:/\//i,longer_alt:ID});var GREATERTHAN=chevrotain.createToken({name:"GREATERTHAN",pattern:/\>/i,longer_alt:ID});var GREATERTHANOREQUALTO=chevrotain.createToken({name:"GREATERTHANOREQUALTO",pattern:/\>\=/i,longer_alt:ID});var LESSTHAN=chevrotain.createToken({name:"LESSTHAN",pattern:/\</i,longer_alt:ID});var LESSTHANOREQUALTO=chevrotain.createToken({name:"LESSTHANOREQUALTO",pattern:/\<\=/i,longer_alt:ID});var NOTEQUAL=chevrotain.createToken({name:"NOTEQUAL",pattern:/(\<\>|\!\=)/i,longer_alt:ID});var EQUAL_NS=chevrotain.createToken({name:"EQUAL_NS",pattern:/\<\=\>/i,longer_alt:ID});var EQUAL=chevrotain.createToken({name:"EQUAL",pattern:/(\=|\=\=)/i,longer_alt:ID});var RCURLY=chevrotain.createToken({name:"RCURLY",pattern:/\}/i,longer_alt:ID});var LCURLY=chevrotain.createToken({name:"LCURLY",pattern:/\{/i,longer_alt:ID});var RSQUARE=chevrotain.createToken({name:"RSQUARE",pattern:/\]/i,longer_alt:ID});var LSQUARE=chevrotain.createToken({name:"LSQUARE",pattern:/\[/i,longer_alt:ID});var RPAREN=chevrotain.createToken({name:"RPAREN",pattern:/\)/i,longer_alt:ID});var LPAREN=chevrotain.createToken({name:"LPAREN",pattern:/\(/i,longer_alt:ID});var SEMICOLON=chevrotain.createToken({name:"SEMICOLON",pattern:/\;/i,longer_alt:ID});var COMMA=chevrotain.createToken({name:"COMMA",pattern:/\,/i,longer_alt:ID});var COLON=chevrotain.createToken({name:"COLON",pattern:/\:/i,longer_alt:ID});var DOT=chevrotain.createToken({name:"DOT",pattern:/\./i,longer_alt:ID});var ONE_DECIMAL=chevrotain.createToken({name:"ONE_DECIMAL",pattern:/1/i,longer_alt:ID});var ZERO_DECIMAL=chevrotain.createToken({name:"ZERO_DECIMAL",pattern:/0/i,longer_alt:ID});var Number=chevrotain.createToken({name:"Number",pattern:/([0-9])+(\.([0-9])*((e|E)(\+|\-)?([0-9])+)?|(e|E)(\+|\-)?([0-9])+)?/i,longer_alt:ID});var LIFECYCLE=chevrotain.createToken({name:"LIFECYCLE",pattern:/LIFECYCLE/i,longer_alt:ID});var TABLESPACE=chevrotain.createToken({name:"TABLESPACE",pattern:/TABLESPACE/i,longer_alt:ID});var STATS_PERSISTENT=chevrotain.createToken({name:"STATS_PERSISTENT",pattern:/STATS_PERSISTENT/i,longer_alt:ID});var STATS_AUTO_RECALC=chevrotain.createToken({name:"STATS_AUTO_RECALC",pattern:/STATS_AUTO_RECALC/i,longer_alt:ID});var COMPACT=chevrotain.createToken({name:"COMPACT",pattern:/COMPACT/i,longer_alt:ID});var REDUNDANT=chevrotain.createToken({name:"REDUNDANT",pattern:/REDUNDANT/i,longer_alt:ID});var COMPRESSED=chevrotain.createToken({name:"COMPRESSED",pattern:/COMPRESSED/i,longer_alt:ID});var ROW_FORMAT=chevrotain.createToken({name:"ROW_FORMAT",pattern:/ROW_FORMAT/i,longer_alt:ID});var PASSWORD=chevrotain.createToken({name:"PASSWORD",pattern:/PASSWORD/i,longer_alt:ID});var PACK_KEYS=chevrotain.createToken({name:"PACK_KEYS",pattern:/PACK_KEYS/i,longer_alt:ID});var MIN_ROWS=chevrotain.createToken({name:"MIN_ROWS",pattern:/MIN_ROWS/i,longer_alt:ID});var MAX_ROWS=chevrotain.createToken({name:"MAX_ROWS",pattern:/MAX_ROWS/i,longer_alt:ID});var KEY_BLOCK_SIZE=chevrotain.createToken({name:"KEY_BLOCK_SIZE",pattern:/KEY_BLOCK_SIZE/i,longer_alt:ID});var LAST=chevrotain.createToken({name:"LAST",pattern:/LAST/i,longer_alt:ID});var INSERT_METHOD=chevrotain.createToken({name:"INSERT_METHOD",pattern:/INSERT_METHOD/i,longer_alt:ID});var ENCRYPTION=chevrotain.createToken({name:"ENCRYPTION",pattern:/ENCRYPTION/i,longer_alt:ID});var DELAY_KEY_WRITE=chevrotain.createToken({name:"DELAY_KEY_WRITE",pattern:/DELAY_KEY_WRITE/i,longer_alt:ID});var CONNECTION=chevrotain.createToken({name:"CONNECTION",pattern:/CONNECTION/i,longer_alt:ID});var COMPRESSION=chevrotain.createToken({name:"COMPRESSION",pattern:/COMPRESSION/i,longer_alt:ID});var AVG_ROW_LENGTH=chevrotain.createToken({name:"AVG_ROW_LENGTH",pattern:/AVG_ROW_LENGTH/i,longer_alt:ID});var ENGINE=chevrotain.createToken({name:"ENGINE",pattern:/ENGINE/i,longer_alt:ID});var CHECKSUM=chevrotain.createToken({name:"CHECKSUM",pattern:/CHECKSUM/i,longer_alt:ID});var CHARSET=chevrotain.createToken({name:"CHARSET",pattern:/CHARSET/i,longer_alt:ID});var PERFOMANCE_SCHEMA=chevrotain.createToken({name:"PERFOMANCE_SCHEMA",pattern:/PERFOMANCE_SCHEMA/i,longer_alt:ID});var NDBCLUSTER=chevrotain.createToken({name:"NDBCLUSTER",pattern:/NDBCLUSTER/i,longer_alt:ID});var NDB=chevrotain.createToken({name:"NDB",pattern:/NDB/i,longer_alt:ID});var MRG_MYISAM=chevrotain.createToken({name:"MRG_MYISAM",pattern:/MRG_MYISAM/i,longer_alt:ID});var MYISAM=chevrotain.createToken({name:"MYISAM",pattern:/MYISAM/i,longer_alt:ID});var INNODB=chevrotain.createToken({name:"INNODB",pattern:/INNODB/i,longer_alt:ID});var FEDERATED=chevrotain.createToken({name:"FEDERATED",pattern:/FEDERATED/i,longer_alt:ID});var CSV=chevrotain.createToken({name:"CSV",pattern:/CSV/i,longer_alt:ID});var BLACKHOLE=chevrotain.createToken({name:"BLACKHOLE",pattern:/BLACKHOLE/i,longer_alt:ID});var MULTIPOLYGON=chevrotain.createToken({name:"MULTIPOLYGON",pattern:/MULTIPOLYGON/i,longer_alt:ID});var POLYGON=chevrotain.createToken({name:"POLYGON",pattern:/POLYGON/i,longer_alt:ID});var MULTIPOINT=chevrotain.createToken({name:"MULTIPOINT",pattern:/MULTIPOINT/i,longer_alt:ID});var POINT=chevrotain.createToken({name:"POINT",pattern:/POINT/i,longer_alt:ID});var MULTILINESTRING=chevrotain.createToken({name:"MULTILINESTRING",pattern:/MULTILINESTRING/i,longer_alt:ID});var LINESTRING=chevrotain.createToken({name:"LINESTRING",pattern:/LINESTRING/i,longer_alt:ID});var GEOMETRYCOLLECTION=chevrotain.createToken({name:"GEOMETRYCOLLECTION",pattern:/GEOMETRYCOLLECTION/i,longer_alt:ID});var ENUM=chevrotain.createToken({name:"ENUM",pattern:/ENUM/i,longer_alt:ID});var VARBINARY=chevrotain.createToken({name:"VARBINARY",pattern:/VARBINARY/i,longer_alt:ID});var LONGBLOB=chevrotain.createToken({name:"LONGBLOB",pattern:/LONGBLOB/i,longer_alt:ID});var MEDIUMBLOB=chevrotain.createToken({name:"MEDIUMBLOB",pattern:/MEDIUMBLOB/i,longer_alt:ID});var TINYBLOB=chevrotain.createToken({name:"TINYBLOB",pattern:/TINYBLOB/i,longer_alt:ID});var BLOB=chevrotain.createToken({name:"BLOB",pattern:/BLOB/i,longer_alt:ID});var NUMERIC=chevrotain.createToken({name:"NUMERIC",pattern:/NUMERIC/i,longer_alt:ID});var REAL=chevrotain.createToken({name:"REAL",pattern:/REAL/i,longer_alt:ID});var ZEROFILL=chevrotain.createToken({name:"ZEROFILL",pattern:/ZEROFILL/i,longer_alt:ID});var MEDIUMINT=chevrotain.createToken({name:"MEDIUMINT",pattern:/MEDIUMINT/i,longer_alt:ID});var COLLATE=chevrotain.createToken({name:"COLLATE",pattern:/COLLATE/i,longer_alt:ID});var LONGTEXT=chevrotain.createToken({name:"LONGTEXT",pattern:/LONGTEXT/i,longer_alt:ID});var MEDIUMTEXT=chevrotain.createToken({name:"MEDIUMTEXT",pattern:/MEDIUMTEXT/i,longer_alt:ID});var TINYTEXT=chevrotain.createToken({name:"TINYTEXT",pattern:/TINYTEXT/i,longer_alt:ID});var VARCHAR=chevrotain.createToken({name:"VARCHAR",pattern:/VARCHAR/i,longer_alt:ID});var MEMORY=chevrotain.createToken({name:"MEMORY",pattern:/MEMORY/i,longer_alt:ID});var DISK=chevrotain.createToken({name:"DISK",pattern:/DISK/i,longer_alt:ID});var STORAGE=chevrotain.createToken({name:"STORAGE",pattern:/STORAGE/i,longer_alt:ID});var DYNAMIC=chevrotain.createToken({name:"DYNAMIC",pattern:/DYNAMIC/i,longer_alt:ID});var FIXED=chevrotain.createToken({name:"FIXED",pattern:/FIXED/i,longer_alt:ID});var COLUMN_FORMAT=chevrotain.createToken({name:"COLUMN_FORMAT",pattern:/COLUMN_FORMAT/i,longer_alt:ID});var PRIMARY=chevrotain.createToken({name:"PRIMARY",pattern:/PRIMARY/i,longer_alt:ID});var AUTO_INCREMENT=chevrotain.createToken({name:"AUTO_INCREMENT",pattern:/AUTO_INCREMENT/i,longer_alt:ID});var DEFAULT=chevrotain.createToken({name:"DEFAULT",pattern:/DEFAULT/i,longer_alt:ID});var STRAIGHT_JOIN=chevrotain.createToken({name:"STRAIGHT_JOIN",pattern:/STRAIGHT_JOIN/i,longer_alt:ID});var STARTING=chevrotain.createToken({name:"STARTING",pattern:/STARTING/i,longer_alt:ID});var ENCLOSED=chevrotain.createToken({name:"ENCLOSED",pattern:/ENCLOSED/i,longer_alt:ID});var OPTIONALLY=chevrotain.createToken({name:"OPTIONALLY",pattern:/OPTIONALLY/i,longer_alt:ID});var OUTFILE=chevrotain.createToken({name:"OUTFILE",pattern:/OUTFILE/i,longer_alt:ID});var DUMPFILE=chevrotain.createToken({name:"DUMPFILE",pattern:/DUMPFILE/i,longer_alt:ID});var GET_FORMAT=chevrotain.createToken({name:"GET_FORMAT",pattern:/GET_FORMAT/i,longer_alt:ID});var CONVERT=chevrotain.createToken({name:"CONVERT",pattern:/CONVERT/i,longer_alt:ID});var WEIGHT_STRING=chevrotain.createToken({name:"WEIGHT_STRING",pattern:/WEIGHT_STRING/i,longer_alt:ID});var TRIM=chevrotain.createToken({name:"TRIM",pattern:/TRIM/i,longer_alt:ID});var SYSDATE=chevrotain.createToken({name:"SYSDATE",pattern:/SYSDATE/i,longer_alt:ID});var SUBSTRING=chevrotain.createToken({name:"SUBSTRING",pattern:/SUBSTRING/i,longer_alt:ID});var SUBSTR=chevrotain.createToken({name:"SUBSTR",pattern:/SUBSTR/i,longer_alt:ID});var POSITION=chevrotain.createToken({name:"POSITION",pattern:/POSITION/i,longer_alt:ID});var NOW=chevrotain.createToken({name:"NOW",pattern:/NOW/i,longer_alt:ID});var LOCALTIMESTAMP=chevrotain.createToken({name:"LOCALTIMESTAMP",pattern:/LOCALTIMESTAMP/i,longer_alt:ID});var EXTRACT=chevrotain.createToken({name:"EXTRACT",pattern:/EXTRACT/i,longer_alt:ID});var DATE_SUB=chevrotain.createToken({name:"DATE_SUB",pattern:/DATE_SUB/i,longer_alt:ID});var DATE_ADD=chevrotain.createToken({name:"DATE_ADD",pattern:/DATE_ADD/i,longer_alt:ID});var CURTIME=chevrotain.createToken({name:"CURTIME",pattern:/CURTIME/i,longer_alt:ID});var CURDATE=chevrotain.createToken({name:"CURDATE",pattern:/CURDATE/i,longer_alt:ID});var LOCALTIME=chevrotain.createToken({name:"LOCALTIME",pattern:/LOCALTIME/i,longer_alt:ID});var CURRENT_USER=chevrotain.createToken({name:"CURRENT_USER",pattern:/CURRENT_USER/i,longer_alt:ID});var CURRENT_TIMESTAMP=chevrotain.createToken({name:"CURRENT_TIMESTAMP",pattern:/CURRENT_TIMESTAMP/i,longer_alt:ID});var CURRENT_TIME=chevrotain.createToken({name:"CURRENT_TIME",pattern:/CURRENT_TIME/i,longer_alt:ID});var CURRENT_DATE=chevrotain.createToken({name:"CURRENT_DATE",pattern:/CURRENT_DATE/i,longer_alt:ID});var QUARTER=chevrotain.createToken({name:"QUARTER",pattern:/QUARTER/i,longer_alt:ID});var VARIANCE=chevrotain.createToken({name:"VARIANCE",pattern:/VARIANCE/i,longer_alt:ID});var VAR_SAMP=chevrotain.createToken({name:"VAR_SAMP",pattern:/VAR_SAMP/i,longer_alt:ID});var VAR_POP=chevrotain.createToken({name:"VAR_POP",pattern:/VAR_POP/i,longer_alt:ID});var SUM=chevrotain.createToken({name:"SUM",pattern:/SUM/i,longer_alt:ID});var STDDEV_SAMP=chevrotain.createToken({name:"STDDEV_SAMP",pattern:/STDDEV_SAMP/i,longer_alt:ID});var STDDEV_POP=chevrotain.createToken({name:"STDDEV_POP",pattern:/STDDEV_POP/i,longer_alt:ID});var STDDEV=chevrotain.createToken({name:"STDDEV",pattern:/STDDEV/i,longer_alt:ID});var STD=chevrotain.createToken({name:"STD",pattern:/STD/i,longer_alt:ID});var MAX=chevrotain.createToken({name:"MAX",pattern:/MAX/i,longer_alt:ID});var GROUP_CONCAT=chevrotain.createToken({name:"GROUP_CONCAT",pattern:/GROUP_CONCAT/i,longer_alt:ID});var COUNT=chevrotain.createToken({name:"COUNT",pattern:/COUNT/i,longer_alt:ID});var BIT_XOR=chevrotain.createToken({name:"BIT_XOR",pattern:/BIT_XOR/i,longer_alt:ID});var BIT_OR=chevrotain.createToken({name:"BIT_OR",pattern:/BIT_OR/i,longer_alt:ID});var BIT_AND=chevrotain.createToken({name:"BIT_AND",pattern:/BIT_AND/i,longer_alt:ID});var BIT=chevrotain.createToken({name:"BIT",pattern:/BIT/i,longer_alt:ID});var AVG=chevrotain.createToken({name:"AVG",pattern:/AVG/i,longer_alt:ID});var UTC_TIMESTAMP=chevrotain.createToken({name:"UTC_TIMESTAMP",pattern:/UTC_TIMESTAMP/i,longer_alt:ID});var UTC_TIME=chevrotain.createToken({name:"UTC_TIME",pattern:/UTC_TIME/i,longer_alt:ID});var UTC_DATE=chevrotain.createToken({name:"UTC_DATE",pattern:/UTC_DATE/i,longer_alt:ID});var TRAILING=chevrotain.createToken({name:"TRAILING",pattern:/TRAILING/i,longer_alt:ID});var LEADING=chevrotain.createToken({name:"LEADING",pattern:/LEADING/i,longer_alt:ID});var REVERSE=chevrotain.createToken({name:"REVERSE",pattern:/REVERSE/i,longer_alt:ID});var LEVEL=chevrotain.createToken({name:"LEVEL",pattern:/LEVEL/i,longer_alt:ID});var WEEK=chevrotain.createToken({name:"WEEK",pattern:/WEEK/i,longer_alt:ID});var DAY_MICROSECOND=chevrotain.createToken({name:"DAY_MICROSECOND",pattern:/DAY_MICROSECOND/i,longer_alt:ID});var HOUR_MICROSECOND=chevrotain.createToken({name:"HOUR_MICROSECOND",pattern:/HOUR_MICROSECOND/i,longer_alt:ID});var MINUTE_MICROSECOND=chevrotain.createToken({name:"MINUTE_MICROSECOND",pattern:/MINUTE_MICROSECOND/i,longer_alt:ID});var SECOND_MICROSECOND=chevrotain.createToken({name:"SECOND_MICROSECOND",pattern:/SECOND_MICROSECOND/i,longer_alt:ID});var MICROSECOND=chevrotain.createToken({name:"MICROSECOND",pattern:/MICROSECOND/i,longer_alt:ID});var MINUTE_SECOND=chevrotain.createToken({name:"MINUTE_SECOND",pattern:/MINUTE_SECOND/i,longer_alt:ID});var HOUR_SECOND=chevrotain.createToken({name:"HOUR_SECOND",pattern:/HOUR_SECOND/i,longer_alt:ID});var HOUR_MINUTE=chevrotain.createToken({name:"HOUR_MINUTE",pattern:/HOUR_MINUTE/i,longer_alt:ID});var DAY_SECOND=chevrotain.createToken({name:"DAY_SECOND",pattern:/DAY_SECOND/i,longer_alt:ID});var SECOND=chevrotain.createToken({name:"SECOND",pattern:/SECOND/i,longer_alt:ID});var DAY_MINUTE=chevrotain.createToken({name:"DAY_MINUTE",pattern:/DAY_MINUTE/i,longer_alt:ID});var MINUTE=chevrotain.createToken({name:"MINUTE",pattern:/MINUTE/i,longer_alt:ID});var DAY_HOUR=chevrotain.createToken({name:"DAY_HOUR",pattern:/DAY_HOUR/i,longer_alt:ID});var HOUR=chevrotain.createToken({name:"HOUR",pattern:/HOUR/i,longer_alt:ID});var DAY=chevrotain.createToken({name:"DAY",pattern:/DAY/i,longer_alt:ID});var YEAR_MONTH=chevrotain.createToken({name:"YEAR_MONTH",pattern:/YEAR_MONTH/i,longer_alt:ID});var MONTH=chevrotain.createToken({name:"MONTH",pattern:/MONTH/i,longer_alt:ID});var YEAR=chevrotain.createToken({name:"YEAR",pattern:/YEAR/i,longer_alt:ID});var INTEGER=chevrotain.createToken({name:"INTEGER",pattern:/INTEGER/i,longer_alt:ID});var CHARACTER=chevrotain.createToken({name:"CHARACTER",pattern:/CHARACTER/i,longer_alt:ID});var NCHAR=chevrotain.createToken({name:"NCHAR",pattern:/NCHAR/i,longer_alt:ID});var CHAR=chevrotain.createToken({name:"CHAR",pattern:/CHAR/i,longer_alt:ID});var VALUES=chevrotain.createToken({name:"VALUES",pattern:/VALUES/i,longer_alt:ID});var VALUE=chevrotain.createToken({name:"VALUE",pattern:/VALUE/i,longer_alt:ID});var EXCHANGE=chevrotain.createToken({name:"EXCHANGE",pattern:/EXCHANGE/i,longer_alt:ID});var INNER=chevrotain.createToken({name:"INNER",pattern:/INNER/i,longer_alt:ID});var ROLE=chevrotain.createToken({name:"ROLE",pattern:/ROLE/i,longer_alt:ID});var USER=chevrotain.createToken({name:"USER",pattern:/USER/i,longer_alt:ID});var PARTIALSCAN=chevrotain.createToken({name:"PARTIALSCAN",pattern:/PARTIALSCAN/i,longer_alt:ID});var NOSCAN=chevrotain.createToken({name:"NOSCAN",pattern:/NOSCAN/i,longer_alt:ID});var TRUNCATE=chevrotain.createToken({name:"TRUNCATE",pattern:/TRUNCATE/i,longer_alt:ID});var SETS=chevrotain.createToken({name:"SETS",pattern:/SETS/i,longer_alt:ID});var GROUPING=chevrotain.createToken({name:"GROUPING",pattern:/GROUPING/i,longer_alt:ID});var MORE=chevrotain.createToken({name:"MORE",pattern:/MORE/i,longer_alt:ID});var LESS=chevrotain.createToken({name:"LESS",pattern:/LESS/i,longer_alt:ID});var CURRENT=chevrotain.createToken({name:"CURRENT",pattern:/CURRENT/i,longer_alt:ID});var FOLLOWING=chevrotain.createToken({name:"FOLLOWING",pattern:/FOLLOWING/i,longer_alt:ID});var PRECEDING=chevrotain.createToken({name:"PRECEDING",pattern:/PRECEDING/i,longer_alt:ID});var UNBOUNDED=chevrotain.createToken({name:"UNBOUNDED",pattern:/UNBOUNDED/i,longer_alt:ID});var WINDOW=chevrotain.createToken({name:"WINDOW",pattern:/WINDOW/i,longer_alt:ID});var DIRECTORIES=chevrotain.createToken({name:"DIRECTORIES",pattern:/DIRECTORIES/i,longer_alt:ID});var CUBE=chevrotain.createToken({name:"CUBE",pattern:/CUBE/i,longer_alt:ID});var ROLLUP=chevrotain.createToken({name:"ROLLUP",pattern:/ROLLUP/i,longer_alt:ID});var SKEWED=chevrotain.createToken({name:"SKEWED",pattern:/SKEWED/i,longer_alt:ID});var CASCADE=chevrotain.createToken({name:"CASCADE",pattern:/CASCADE/i,longer_alt:ID});var RESTRICT=chevrotain.createToken({name:"RESTRICT",pattern:/RESTRICT/i,longer_alt:ID});var UPDATE=chevrotain.createToken({name:"UPDATE",pattern:/UPDATE/i,longer_alt:ID});var SHOW_DATABASE=chevrotain.createToken({name:"SHOW_DATABASE",pattern:/SHOW_DATABASE/i,longer_alt:ID});var CONCATENATE=chevrotain.createToken({name:"CONCATENATE",pattern:/CONCATENATE/i,longer_alt:ID});var OPTION=chevrotain.createToken({name:"OPTION",pattern:/OPTION/i,longer_alt:ID});var USE=chevrotain.createToken({name:"USE",pattern:/USE/i,longer_alt:ID});var STATISTICS=chevrotain.createToken({name:"STATISTICS",pattern:/STATISTICS/i,longer_alt:ID});var COMPUTE=chevrotain.createToken({name:"COMPUTE",pattern:/COMPUTE/i,longer_alt:ID});var UNARCHIVE=chevrotain.createToken({name:"UNARCHIVE",pattern:/UNARCHIVE/i,longer_alt:ID});var ARCHIVE=chevrotain.createToken({name:"ARCHIVE",pattern:/ARCHIVE/i,longer_alt:ID});var TOUCH=chevrotain.createToken({name:"TOUCH",pattern:/TOUCH/i,longer_alt:ID});var LATERAL=chevrotain.createToken({name:"LATERAL",pattern:/LATERAL/i,longer_alt:ID});var SEMI=chevrotain.createToken({name:"SEMI",pattern:/SEMI/i,longer_alt:ID});var RECORDWRITER=chevrotain.createToken({name:"RECORDWRITER",pattern:/RECORDWRITER/i,longer_alt:ID});var RECORDREADER=chevrotain.createToken({name:"RECORDREADER",pattern:/RECORDREADER/i,longer_alt:ID});var TRIGGER=chevrotain.createToken({name:"TRIGGER",pattern:/TRIGGER/i,longer_alt:ID});var CURSOR=chevrotain.createToken({name:"CURSOR",pattern:/CURSOR/i,longer_alt:ID});var CONTINUE=chevrotain.createToken({name:"CONTINUE",pattern:/CONTINUE/i,longer_alt:ID});var CROSS=chevrotain.createToken({name:"CROSS",pattern:/CROSS/i,longer_alt:ID});var BINARY=chevrotain.createToken({name:"BINARY",pattern:/BINARY/i,longer_alt:ID});var BOTH=chevrotain.createToken({name:"BOTH",pattern:/BOTH/i,longer_alt:ID});var BETWEEN=chevrotain.createToken({name:"BETWEEN",pattern:/BETWEEN/i,longer_alt:ID});var BEFORE=chevrotain.createToken({name:"BEFORE",pattern:/BEFORE/i,longer_alt:ID});var ANALYZE=chevrotain.createToken({name:"ANALYZE",pattern:/ANALYZE/i,longer_alt:ID});var RANGE=chevrotain.createToken({name:"RANGE",pattern:/RANGE/i,longer_alt:ID});var PURGE=chevrotain.createToken({name:"PURGE",pattern:/PURGE/i,longer_alt:ID});var READS=chevrotain.createToken({name:"READS",pattern:/READS/i,longer_alt:ID});var WHILE=chevrotain.createToken({name:"WHILE",pattern:/WHILE/i,longer_alt:ID});var UNSIGNED=chevrotain.createToken({name:"UNSIGNED",pattern:/UNSIGNED/i,longer_alt:ID});var SIGNED=chevrotain.createToken({name:"SIGNED",pattern:/SIGNED/i,longer_alt:ID});var PROCEDURE=chevrotain.createToken({name:"PROCEDURE",pattern:/PROCEDURE/i,longer_alt:ID});var EXCLUSIVE=chevrotain.createToken({name:"EXCLUSIVE",pattern:/EXCLUSIVE/i,longer_alt:ID});var SHARED=chevrotain.createToken({name:"SHARED",pattern:/SHARED/i,longer_alt:ID});var UNLOCK=chevrotain.createToken({name:"UNLOCK",pattern:/UNLOCK/i,longer_alt:ID});var LOCKS=chevrotain.createToken({name:"LOCKS",pattern:/LOCKS/i,longer_alt:ID});var LOCK=chevrotain.createToken({name:"LOCK",pattern:/LOCK/i,longer_alt:ID});var UNDO=chevrotain.createToken({name:"UNDO",pattern:/UNDO/i,longer_alt:ID});var SSL=chevrotain.createToken({name:"SSL",pattern:/SSL/i,longer_alt:ID});var REVOKE=chevrotain.createToken({name:"REVOKE",pattern:/REVOKE/i,longer_alt:ID});var GRANT=chevrotain.createToken({name:"GRANT",pattern:/GRANT/i,longer_alt:ID});var SCHEMAS=chevrotain.createToken({name:"SCHEMAS",pattern:/SCHEMAS/i,longer_alt:ID});var SCHEMA=chevrotain.createToken({name:"SCHEMA",pattern:/SCHEMA/i,longer_alt:ID});var MATERIALIZED=chevrotain.createToken({name:"MATERIALIZED",pattern:/MATERIALIZED/i,longer_alt:ID});var DATABASES=chevrotain.createToken({name:"DATABASES",pattern:/DATABASES/i,longer_alt:ID});var DATABASE=chevrotain.createToken({name:"DATABASE",pattern:/DATABASE/i,longer_alt:ID});var VIEW=chevrotain.createToken({name:"VIEW",pattern:/VIEW/i,longer_alt:ID});var INTERSECT=chevrotain.createToken({name:"INTERSECT",pattern:/INTERSECT/i,longer_alt:ID});var FETCH=chevrotain.createToken({name:"FETCH",pattern:/FETCH/i,longer_alt:ID});var KWMINUS=chevrotain.createToken({name:"KWMINUS",pattern:/KWMINUS/i,longer_alt:ID});var KWPLUS=chevrotain.createToken({name:"KWPLUS",pattern:/KWPLUS/i,longer_alt:ID});var DELETE=chevrotain.createToken({name:"DELETE",pattern:/DELETE/i,longer_alt:ID});var LONG=chevrotain.createToken({name:"LONG",pattern:/LONG/i,longer_alt:ID});var UTCTIMESTAMP=chevrotain.createToken({name:"UTCTIMESTAMP",pattern:/UTC_TMESTAMP/i,longer_alt:ID});var UTC=chevrotain.createToken({name:"UTC",pattern:/UTC/i,longer_alt:ID});var CLUSTERSTATUS=chevrotain.createToken({name:"CLUSTERSTATUS",pattern:/CLUSTERSTATUS/i,longer_alt:ID});var HOLD_DDLTIME=chevrotain.createToken({name:"HOLD_DDLTIME",pattern:/HOLD_DDLTIME/i,longer_alt:ID});var STREAMTABLE=chevrotain.createToken({name:"STREAMTABLE",pattern:/STREAMTABLE/i,longer_alt:ID});var MAPJOIN=chevrotain.createToken({name:"MAPJOIN",pattern:/MAPJOIN/i,longer_alt:ID});var ELSE=chevrotain.createToken({name:"ELSE",pattern:/ELSE/i,longer_alt:ID});var THEN=chevrotain.createToken({name:"THEN",pattern:/THEN/i,longer_alt:ID});var WHEN=chevrotain.createToken({name:"WHEN",pattern:/WHEN/i,longer_alt:ID});var CASE=chevrotain.createToken({name:"CASE",pattern:/CASE/i,longer_alt:ID});var ELEM_TYPE=chevrotain.createToken({name:"ELEM_TYPE",pattern:/\$ELEM\$/i,longer_alt:ID});var VALUE_TYPE=chevrotain.createToken({name:"VALUE_TYPE",pattern:/\$VALUE\$/i,longer_alt:ID});var IDXPROPERTIES=chevrotain.createToken({name:"IDXPROPERTIES",pattern:/IDXPROPERTIES/i,longer_alt:ID});var TBLPROPERTIES=chevrotain.createToken({name:"TBLPROPERTIES",pattern:/TBLPROPERTIES/i,longer_alt:ID});var UNSET=chevrotain.createToken({name:"UNSET",pattern:/UNSET/i,longer_alt:ID});var SET=chevrotain.createToken({name:"SET",pattern:/SET/i,longer_alt:ID});var DBPROPERTIES=chevrotain.createToken({name:"DBPROPERTIES",pattern:/DBPROPERTIES/i,longer_alt:ID});var SERDEPROPERTIES=chevrotain.createToken({name:"SERDEPROPERTIES",pattern:/SERDEPROPERTIES/i,longer_alt:ID});var DEFERRED=chevrotain.createToken({name:"DEFERRED",pattern:/DEFERRED/i,longer_alt:ID});var WITH=chevrotain.createToken({name:"WITH",pattern:/WITH/i,longer_alt:ID});var SERDE=chevrotain.createToken({name:"SERDE",pattern:/SERDE/i,longer_alt:ID});var LOGICAL=chevrotain.createToken({name:"LOGICAL",pattern:/LOGICAL/i,longer_alt:ID});var DEPENDENCY=chevrotain.createToken({name:"DEPENDENCY",pattern:/DEPENDENCY/i,longer_alt:ID});var PRETTY=chevrotain.createToken({name:"PRETTY",pattern:/PRETTY/i,longer_alt:ID});var FORMATTED=chevrotain.createToken({name:"FORMATTED",pattern:/FORMATTED/i,longer_alt:ID});var EXTENDED=chevrotain.createToken({name:"EXTENDED",pattern:/EXTENDED/i,longer_alt:ID});var END=chevrotain.createToken({name:"END",pattern:/END/i,longer_alt:ID});var EXPLAIN=chevrotain.createToken({name:"EXPLAIN",pattern:/EXPLAIN/i,longer_alt:ID});var MACRO=chevrotain.createToken({name:"MACRO",pattern:/MACRO/i,longer_alt:ID});var TEMPORARY=chevrotain.createToken({name:"TEMPORARY",pattern:/TEMPORARY/i,longer_alt:ID});var REGEXP=chevrotain.createToken({name:"REGEXP",pattern:/REGEXP/i,longer_alt:ID});var RLIKE=chevrotain.createToken({name:"RLIKE",pattern:/RLIKE/i,longer_alt:ID});var REPLACE=chevrotain.createToken({name:"REPLACE",pattern:/REPLACE/i,longer_alt:ID});var ADD=chevrotain.createToken({name:"ADD",pattern:/ADD/i,longer_alt:ID});var CAST=chevrotain.createToken({name:"CAST",pattern:/CAST/i,longer_alt:ID});var PERCENT=chevrotain.createToken({name:"PERCENT",pattern:/PERCENT/i,longer_alt:ID});var TABLESAMPLE=chevrotain.createToken({name:"TABLESAMPLE",pattern:/TABLESAMPLE/i,longer_alt:ID});var LOCATION=chevrotain.createToken({name:"LOCATION",pattern:/LOCATION/i,longer_alt:ID});var NO_DROP=chevrotain.createToken({name:"NO_DROP",pattern:/NO_DROP/i,longer_alt:ID});var CharSetName=chevrotain.createToken({name:"CharSetName",pattern:/_([A-Za-z]|[0-9]|_|\-|\.|\:)+/i,longer_alt:ID});var READONLY=chevrotain.createToken({name:"READONLY",pattern:/READONLY/i,longer_alt:ID});var READ=chevrotain.createToken({name:"READ",pattern:/READ/i,longer_alt:ID});var DISABLE=chevrotain.createToken({name:"DISABLE",pattern:/DISABLE/i,longer_alt:ID});var ENABLE=chevrotain.createToken({name:"ENABLE",pattern:/ENABLE/i,longer_alt:ID});var OFFLINE=chevrotain.createToken({name:"OFFLINE",pattern:/OFFLINE/i,longer_alt:ID});var OF=chevrotain.createToken({name:"OF",pattern:/OF/i,longer_alt:ID});var OUTPUTDRIVER=chevrotain.createToken({name:"OUTPUTDRIVER",pattern:/OUTPUTDRIVER/i,longer_alt:ID});var INPUTDRIVER=chevrotain.createToken({name:"INPUTDRIVER",pattern:/INPUTDRIVER/i,longer_alt:ID});var OUTPUTFORMAT=chevrotain.createToken({name:"OUTPUTFORMAT",pattern:/OUTPUTFORMAT/i,longer_alt:ID});var INPUTFORMAT=chevrotain.createToken({name:"INPUTFORMAT",pattern:/INPUTFORMAT/i,longer_alt:ID});var ORCFILE=chevrotain.createToken({name:"ORCFILE",pattern:/ORC/i,longer_alt:ID});var RCFILE=chevrotain.createToken({name:"RCFILE",pattern:/RCFILE/i,longer_alt:ID});var TEXTFILE=chevrotain.createToken({name:"TEXTFILE",pattern:/TEXTFILE/i,longer_alt:ID});var TEXT=chevrotain.createToken({name:"TEXT",pattern:/TEXT/i,longer_alt:ID});var SEQUENCEFILE=chevrotain.createToken({name:"SEQUENCEFILE",pattern:/SEQUENCEFILE/i,longer_alt:ID});var FILEFORMAT=chevrotain.createToken({name:"FILEFORMAT",pattern:/FILEFORMAT/i,longer_alt:ID});var STORED=chevrotain.createToken({name:"STORED",pattern:/STORED/i,longer_alt:ID});var LINES=chevrotain.createToken({name:"LINES",pattern:/LINES/i,longer_alt:ID});var KEY_TYPE=chevrotain.createToken({name:"KEY_TYPE",pattern:/\$KEY\$/i,longer_alt:ID});var KEYS=chevrotain.createToken({name:"KEYS",pattern:/KEYS/i,longer_alt:ID});var KEY=chevrotain.createToken({name:"KEY",pattern:/KEY/i,longer_alt:ID});var ITEMS=chevrotain.createToken({name:"ITEMS",pattern:/ITEMS/i,longer_alt:ID});var COLLECTION=chevrotain.createToken({name:"COLLECTION",pattern:/COLLECTION/i,longer_alt:ID});var ESCAPED=chevrotain.createToken({name:"ESCAPED",pattern:/ESCAPED/i,longer_alt:ID});var TERMINATED=chevrotain.createToken({name:"TERMINATED",pattern:/TERMINATED/i,longer_alt:ID});var MIN=chevrotain.createToken({name:"MIN",pattern:/MIN/i,longer_alt:ID});var FIELDS=chevrotain.createToken({name:"FIELDS",pattern:/FIELDS/i,longer_alt:ID});var DELIMITED=chevrotain.createToken({name:"DELIMITED",pattern:/DELIMITED/i,longer_alt:ID});var LIMIT=chevrotain.createToken({name:"LIMIT",pattern:/LIMIT/i,longer_alt:ID});var FORMAT=chevrotain.createToken({name:"FORMAT",pattern:/FORMAT/i,longer_alt:ID});var ROWS=chevrotain.createToken({name:"ROWS",pattern:/ROWS/i,longer_alt:ID});var ROW=chevrotain.createToken({name:"ROW",pattern:/ROW/i,longer_alt:ID});var BUCKETS=chevrotain.createToken({name:"BUCKETS",pattern:/BUCKETS/i,longer_alt:ID});var BUCKET=chevrotain.createToken({name:"BUCKET",pattern:/BUCKET/i,longer_alt:ID});var INTO=chevrotain.createToken({name:"INTO",pattern:/INTO/i,longer_alt:ID});var SORTED=chevrotain.createToken({name:"SORTED",pattern:/SORTED/i,longer_alt:ID});var CLUSTERED=chevrotain.createToken({name:"CLUSTERED",pattern:/CLUSTERED/i,longer_alt:ID});var PARTITIONED=chevrotain.createToken({name:"PARTITIONED",pattern:/PARTITIONED/i,longer_alt:ID});var REDUCE=chevrotain.createToken({name:"REDUCE",pattern:/REDUCE/i,longer_alt:ID});var UNIONTYPE=chevrotain.createToken({name:"UNIONTYPE",pattern:/UNIONTYPE/i,longer_alt:ID});var MAP=chevrotain.createToken({name:"MAP",pattern:/MAP/i,longer_alt:ID});var STRUCT=chevrotain.createToken({name:"STRUCT",pattern:/STRUCT/i,longer_alt:ID});var ARRAY=chevrotain.createToken({name:"ARRAY",pattern:/ARRAY/i,longer_alt:ID});var STRING=chevrotain.createToken({name:"STRING",pattern:/STRING/i,longer_alt:ID});var DECIMAL=chevrotain.createToken({name:"DECIMAL",pattern:/DECIMAL/i,longer_alt:ID});var TIMESTAMP=chevrotain.createToken({name:"TIMESTAMP",pattern:/TIMESTAMP/i,longer_alt:ID});var DATETIME=chevrotain.createToken({name:"DATETIME",pattern:/DATETIME/i,longer_alt:ID});var TIME=chevrotain.createToken({name:"TIME",pattern:/TIME/i,longer_alt:ID});var DATE=chevrotain.createToken({name:"DATE",pattern:/DATE/i,longer_alt:ID});var DOUBLE=chevrotain.createToken({name:"DOUBLE",pattern:/DOUBLE/i,longer_alt:ID});var FLOAT=chevrotain.createToken({name:"FLOAT",pattern:/FLOAT/i,longer_alt:ID});var BIGINT=chevrotain.createToken({name:"BIGINT",pattern:/BIGINT/i,longer_alt:ID});var SMALLINT=chevrotain.createToken({name:"SMALLINT",pattern:/SMALLINT/i,longer_alt:ID});var TINYINT=chevrotain.createToken({name:"TINYINT",pattern:/TINYINT/i,longer_alt:ID});var INT=chevrotain.createToken({name:"INT",pattern:/INT/i,longer_alt:ID});var BOOLEAN=chevrotain.createToken({name:"BOOLEAN",pattern:/BOOLEAN/i,longer_alt:ID});var BOOL=chevrotain.createToken({name:"BOOL",pattern:/BOOL/i,longer_alt:ID});var COMMENT=chevrotain.createToken({name:"COMMENT",pattern:/KWCOMMENT/i,longer_alt:ID});var PROTECTION=chevrotain.createToken({name:"PROTECTION",pattern:/PROTECTION/i,longer_alt:ID});var IGNORE=chevrotain.createToken({name:"IGNORE",pattern:/IGNORE/i,longer_alt:ID});var NO=chevrotain.createToken({name:"NO",pattern:/NO/i,longer_alt:ID});var RENAME=chevrotain.createToken({name:"RENAME",pattern:/RENAME/i,longer_alt:ID});var DROP=chevrotain.createToken({name:"DROP",pattern:/DROP/i,longer_alt:ID});var DESCRIBE=chevrotain.createToken({name:"DESCRIBE",pattern:/DESCRIBE/i,longer_alt:ID});var AFTER=chevrotain.createToken({name:"AFTER",pattern:/AFTER/i,longer_alt:ID});var FIRST=chevrotain.createToken({name:"FIRST",pattern:/FIRST/i,longer_alt:ID});var CHANGE=chevrotain.createToken({name:"CHANGE",pattern:/CHANGE/i,longer_alt:ID});var ALTER=chevrotain.createToken({name:"ALTER",pattern:/ALTER/i,longer_alt:ID});var EXTERNAL=chevrotain.createToken({name:"EXTERNAL",pattern:/EXTERNAL/i,longer_alt:ID});var CREATE=chevrotain.createToken({name:"CREATE",pattern:/CREATE/i,longer_alt:ID});var NULL=chevrotain.createToken({name:"NULL",pattern:/NULL/i,longer_alt:ID});var INPATH=chevrotain.createToken({name:"INPATH",pattern:/INPATH/i,longer_alt:ID});var DATA=chevrotain.createToken({name:"DATA",pattern:/DATA/i,longer_alt:ID});var IMPORT=chevrotain.createToken({name:"IMPORT",pattern:/IMPORT/i,longer_alt:ID});var EXPORT=chevrotain.createToken({name:"EXPORT",pattern:/EXPORT/i,longer_alt:ID});var LOAD=chevrotain.createToken({name:"LOAD",pattern:/LOAD/i,longer_alt:ID});var UNION=chevrotain.createToken({name:"UNION",pattern:/UNION/i,longer_alt:ID});var SORT=chevrotain.createToken({name:"SORT",pattern:/SORT/i,longer_alt:ID});var DISTRIBUTE=chevrotain.createToken({name:"DISTRIBUTE",pattern:/DISTRIBUTE/i,longer_alt:ID});var CLUSTER=chevrotain.createToken({name:"CLUSTER",pattern:/CLUSTER/i,longer_alt:ID});var USING=chevrotain.createToken({name:"USING",pattern:/USING/i,longer_alt:ID});var TRANSFORM=chevrotain.createToken({name:"TRANSFORM",pattern:/TRANSFORM/i,longer_alt:ID});var FOR=chevrotain.createToken({name:"FOR",pattern:/FOR/i,longer_alt:ID});var LOCAL=chevrotain.createToken({name:"LOCAL",pattern:/LOCAL/i,longer_alt:ID});var DIRECTORY=chevrotain.createToken({name:"DIRECTORY",pattern:/DIRECTORY/i,longer_alt:ID});var TO=chevrotain.createToken({name:"TO",pattern:/TO/i,longer_alt:ID});var REPAIR=chevrotain.createToken({name:"REPAIR",pattern:/REPAIR/i,longer_alt:ID});var MSCK=chevrotain.createToken({name:"MSCK",pattern:/MSCK/i,longer_alt:ID});var SHOW=chevrotain.createToken({name:"SHOW",pattern:/SHOW/i,longer_alt:ID});var FUNCTIONS=chevrotain.createToken({name:"FUNCTIONS",pattern:/FUNCTIONS/i,longer_alt:ID});var FUNCTION=chevrotain.createToken({name:"FUNCTION",pattern:/FUNCTION/i,longer_alt:ID});var REBUILD=chevrotain.createToken({name:"REBUILD",pattern:/REBUILD/i,longer_alt:ID});var INDEXES=chevrotain.createToken({name:"INDEXES",pattern:/INDEXES/i,longer_alt:ID});var INDEX=chevrotain.createToken({name:"INDEX",pattern:/INDEX/i,longer_alt:ID});var COLUMNS=chevrotain.createToken({name:"COLUMNS",pattern:/COLUMNS/i,longer_alt:ID});var COLUMN=chevrotain.createToken({name:"COLUMN",pattern:/COLUMN/i,longer_alt:ID});var TABLES=chevrotain.createToken({name:"TABLES",pattern:/TABLES/i,longer_alt:ID});var TABLE=chevrotain.createToken({name:"TABLE",pattern:/TABLE/i,longer_alt:ID});var PARTITIONS=chevrotain.createToken({name:"PARTITIONS",pattern:/PARTITIONS/i,longer_alt:ID});var PARTITION=chevrotain.createToken({name:"PARTITION",pattern:/PARTITION/i,longer_alt:ID});var ON=chevrotain.createToken({name:"ON",pattern:/ON/i,longer_alt:ID});var FULL=chevrotain.createToken({name:"FULL",pattern:/FULL/i,longer_alt:ID});var RIGHT=chevrotain.createToken({name:"RIGHT",pattern:/RIGHT/i,longer_alt:ID});var LEFT=chevrotain.createToken({name:"LEFT",pattern:/LEFT/i,longer_alt:ID});var PRESERVE=chevrotain.createToken({name:"PRESERVE",pattern:/PRESERVE/i,longer_alt:ID});var UNIQUEJOIN=chevrotain.createToken({name:"UNIQUEJOIN",pattern:/UNIQUEJOIN/i,longer_alt:ID});var UNIQUE=chevrotain.createToken({name:"UNIQUE",pattern:/UNIQUE/i,longer_alt:ID});var OUTER=chevrotain.createToken({name:"OUTER",pattern:/OUTER/i,longer_alt:ID});var OUT=chevrotain.createToken({name:"OUT",pattern:/OUT/i,longer_alt:ID});var OVERWRITE=chevrotain.createToken({name:"OVERWRITE",pattern:/OVERWRITE/i,longer_alt:ID});var OVER=chevrotain.createToken({name:"OVER",pattern:/OVER/i,longer_alt:ID});var INSERT=chevrotain.createToken({name:"INSERT",pattern:/INSERT/i,longer_alt:ID});var DISTINCT=chevrotain.createToken({name:"DISTINCT",pattern:/DISTINCT/i,longer_alt:ID});var SELECT=chevrotain.createToken({name:"SELECT",pattern:/SELECT/i,longer_alt:ID});var FROM=chevrotain.createToken({name:"FROM",pattern:/FROM/i,longer_alt:ID});var WHERE=chevrotain.createToken({name:"WHERE",pattern:/WHERE/i,longer_alt:ID});var HAVING=chevrotain.createToken({name:"HAVING",pattern:/HAVING/i,longer_alt:ID});var BY=chevrotain.createToken({name:"BY",pattern:/BY/i,longer_alt:ID});var GROUP=chevrotain.createToken({name:"GROUP",pattern:/GROUP/i,longer_alt:ID});var ORDER=chevrotain.createToken({name:"ORDER",pattern:/ORDER/i,longer_alt:ID});var DESC=chevrotain.createToken({name:"DESC",pattern:/DESC/i,longer_alt:ID});var ASC=chevrotain.createToken({name:"ASC",pattern:/ASC/i,longer_alt:ID});var AS=chevrotain.createToken({name:"AS",pattern:/AS/i,longer_alt:ID});var EXISTS=chevrotain.createToken({name:"EXISTS",pattern:/EXISTS/i,longer_alt:ID});var IS=chevrotain.createToken({name:"IS",pattern:/IS/i,longer_alt:ID});var IF=chevrotain.createToken({name:"IF",pattern:/IF/i,longer_alt:ID});var JOIN=chevrotain.createToken({name:"JOIN",pattern:/JOIN/i,longer_alt:ID});var IN=chevrotain.createToken({name:"IN",pattern:/IN/i,longer_alt:ID});var LIKE=chevrotain.createToken({name:"LIKE",pattern:/LIKE/i,longer_alt:ID});var NOT=chevrotain.createToken({name:"NOT",pattern:/(NOT|\!)/i,longer_alt:ID});var OR=chevrotain.createToken({name:"OR",pattern:/OR/i,longer_alt:ID});var AND=chevrotain.createToken({name:"AND",pattern:/AND/i,longer_alt:ID});var ALL=chevrotain.createToken({name:"ALL",pattern:/ALL/i,longer_alt:ID});var FALSE=chevrotain.createToken({name:"FALSE",pattern:/FALSE/i,longer_alt:ID});var TRUE=chevrotain.createToken({name:"TRUE",pattern:/TRUE/i,longer_alt:ID});var TokenEnum;(function(TokenEnum){TokenEnum["WS"]="WS";TokenEnum["ByteLengthLiteral"]="ByteLengthLiteral";TokenEnum["DecimalLiteral"]="DecimalLiteral";TokenEnum["TinyintLiteral"]="TinyintLiteral";TokenEnum["SmallintLiteral"]="SmallintLiteral";TokenEnum["BigintLiteral"]="BigintLiteral";TokenEnum["CharSetLiteral"]="CharSetLiteral";TokenEnum["STRING_LITERAL"]="STRING_LITERAL";TokenEnum["DOLLAR"]="DOLLAR";TokenEnum["QUESTION"]="QUESTION";TokenEnum["BITWISEXOR"]="BITWISEXOR";TokenEnum["BITWISEOR"]="BITWISEOR";TokenEnum["TILDE"]="TILDE";TokenEnum["AMPERSAND"]="AMPERSAND";TokenEnum["DIV"]="DIV";TokenEnum["MOD"]="MOD";TokenEnum["STAR"]="STAR";TokenEnum["MINUS"]="MINUS";TokenEnum["PLUS"]="PLUS";TokenEnum["DIVIDE"]="DIVIDE";TokenEnum["GREATERTHAN"]="GREATERTHAN";TokenEnum["GREATERTHANOREQUALTO"]="GREATERTHANOREQUALTO";TokenEnum["LESSTHAN"]="LESSTHAN";TokenEnum["LESSTHANOREQUALTO"]="LESSTHANOREQUALTO";TokenEnum["NOTEQUAL"]="NOTEQUAL";TokenEnum["EQUAL_NS"]="EQUAL_NS";TokenEnum["EQUAL"]="EQUAL";TokenEnum["RCURLY"]="RCURLY";TokenEnum["LCURLY"]="LCURLY";TokenEnum["RSQUARE"]="RSQUARE";TokenEnum["LSQUARE"]="LSQUARE";TokenEnum["RPAREN"]="RPAREN";TokenEnum["LPAREN"]="LPAREN";TokenEnum["SEMICOLON"]="SEMICOLON";TokenEnum["COMMA"]="COMMA";TokenEnum["COLON"]="COLON";TokenEnum["DOT"]="DOT";TokenEnum["ONE_DECIMAL"]="ONE_DECIMAL";TokenEnum["ZERO_DECIMAL"]="ZERO_DECIMAL";TokenEnum["Number"]="Number";TokenEnum["LIFECYCLE"]="LIFECYCLE";TokenEnum["TABLESPACE"]="TABLESPACE";TokenEnum["STATS_PERSISTENT"]="STATS_PERSISTENT";TokenEnum["STATS_AUTO_RECALC"]="STATS_AUTO_RECALC";TokenEnum["COMPACT"]="COMPACT";TokenEnum["REDUNDANT"]="REDUNDANT";TokenEnum["COMPRESSED"]="COMPRESSED";TokenEnum["ROW_FORMAT"]="ROW_FORMAT";TokenEnum["PASSWORD"]="PASSWORD";TokenEnum["PACK_KEYS"]="PACK_KEYS";TokenEnum["MIN_ROWS"]="MIN_ROWS";TokenEnum["MAX_ROWS"]="MAX_ROWS";TokenEnum["KEY_BLOCK_SIZE"]="KEY_BLOCK_SIZE";TokenEnum["LAST"]="LAST";TokenEnum["INSERT_METHOD"]="INSERT_METHOD";TokenEnum["ENCRYPTION"]="ENCRYPTION";TokenEnum["DELAY_KEY_WRITE"]="DELAY_KEY_WRITE";TokenEnum["CONNECTION"]="CONNECTION";TokenEnum["COMPRESSION"]="COMPRESSION";TokenEnum["AVG_ROW_LENGTH"]="AVG_ROW_LENGTH";TokenEnum["ENGINE"]="ENGINE";TokenEnum["CHECKSUM"]="CHECKSUM";TokenEnum["CHARSET"]="CHARSET";TokenEnum["PERFOMANCE_SCHEMA"]="PERFOMANCE_SCHEMA";TokenEnum["NDBCLUSTER"]="NDBCLUSTER";TokenEnum["NDB"]="NDB";TokenEnum["MRG_MYISAM"]="MRG_MYISAM";TokenEnum["MYISAM"]="MYISAM";TokenEnum["INNODB"]="INNODB";TokenEnum["FEDERATED"]="FEDERATED";TokenEnum["CSV"]="CSV";TokenEnum["BLACKHOLE"]="BLACKHOLE";TokenEnum["MULTIPOLYGON"]="MULTIPOLYGON";TokenEnum["POLYGON"]="POLYGON";TokenEnum["MULTIPOINT"]="MULTIPOINT";TokenEnum["POINT"]="POINT";TokenEnum["MULTILINESTRING"]="MULTILINESTRING";TokenEnum["LINESTRING"]="LINESTRING";TokenEnum["GEOMETRYCOLLECTION"]="GEOMETRYCOLLECTION";TokenEnum["ENUM"]="ENUM";TokenEnum["VARBINARY"]="VARBINARY";TokenEnum["LONGBLOB"]="LONGBLOB";TokenEnum["MEDIUMBLOB"]="MEDIUMBLOB";TokenEnum["TINYBLOB"]="TINYBLOB";TokenEnum["BLOB"]="BLOB";TokenEnum["NUMERIC"]="NUMERIC";TokenEnum["REAL"]="REAL";TokenEnum["ZEROFILL"]="ZEROFILL";TokenEnum["MEDIUMINT"]="MEDIUMINT";TokenEnum["COLLATE"]="COLLATE";TokenEnum["LONGTEXT"]="LONGTEXT";TokenEnum["MEDIUMTEXT"]="MEDIUMTEXT";TokenEnum["TINYTEXT"]="TINYTEXT";TokenEnum["VARCHAR"]="VARCHAR";TokenEnum["MEMORY"]="MEMORY";TokenEnum["DISK"]="DISK";TokenEnum["STORAGE"]="STORAGE";TokenEnum["DYNAMIC"]="DYNAMIC";TokenEnum["FIXED"]="FIXED";TokenEnum["COLUMN_FORMAT"]="COLUMN_FORMAT";TokenEnum["PRIMARY"]="PRIMARY";TokenEnum["AUTO_INCREMENT"]="AUTO_INCREMENT";TokenEnum["DEFAULT"]="DEFAULT";TokenEnum["STRAIGHT_JOIN"]="STRAIGHT_JOIN";TokenEnum["STARTING"]="STARTING";TokenEnum["ENCLOSED"]="ENCLOSED";TokenEnum["OPTIONALLY"]="OPTIONALLY";TokenEnum["OUTFILE"]="OUTFILE";TokenEnum["DUMPFILE"]="DUMPFILE";TokenEnum["GET_FORMAT"]="GET_FORMAT";TokenEnum["CONVERT"]="CONVERT";TokenEnum["WEIGHT_STRING"]="WEIGHT_STRING";TokenEnum["TRIM"]="TRIM";TokenEnum["SYSDATE"]="SYSDATE";TokenEnum["SUBSTRING"]="SUBSTRING";TokenEnum["SUBSTR"]="SUBSTR";TokenEnum["POSITION"]="POSITION";TokenEnum["NOW"]="NOW";TokenEnum["LOCALTIMESTAMP"]="LOCALTIMESTAMP";TokenEnum["EXTRACT"]="EXTRACT";TokenEnum["DATE_SUB"]="DATE_SUB";TokenEnum["DATE_ADD"]="DATE_ADD";TokenEnum["CURTIME"]="CURTIME";TokenEnum["CURDATE"]="CURDATE";TokenEnum["LOCALTIME"]="LOCALTIME";TokenEnum["CURRENT_USER"]="CURRENT_USER";TokenEnum["CURRENT_TIMESTAMP"]="CURRENT_TIMESTAMP";TokenEnum["CURRENT_TIME"]="CURRENT_TIME";TokenEnum["CURRENT_DATE"]="CURRENT_DATE";TokenEnum["QUARTER"]="QUARTER";TokenEnum["VARIANCE"]="VARIANCE";TokenEnum["VAR_SAMP"]="VAR_SAMP";TokenEnum["VAR_POP"]="VAR_POP";TokenEnum["SUM"]="SUM";TokenEnum["STDDEV_SAMP"]="STDDEV_SAMP";TokenEnum["STDDEV_POP"]="STDDEV_POP";TokenEnum["STDDEV"]="STDDEV";TokenEnum["STD"]="STD";TokenEnum["MAX"]="MAX";TokenEnum["GROUP_CONCAT"]="GROUP_CONCAT";TokenEnum["COUNT"]="COUNT";TokenEnum["BIT_XOR"]="BIT_XOR";TokenEnum["BIT_OR"]="BIT_OR";TokenEnum["BIT_AND"]="BIT_AND";TokenEnum["BIT"]="BIT";TokenEnum["AVG"]="AVG";TokenEnum["UTC_TIMESTAMP"]="UTC_TIMESTAMP";TokenEnum["UTC_TIME"]="UTC_TIME";TokenEnum["UTC_DATE"]="UTC_DATE";TokenEnum["TRAILING"]="TRAILING";TokenEnum["LEADING"]="LEADING";TokenEnum["REVERSE"]="REVERSE";TokenEnum["LEVEL"]="LEVEL";TokenEnum["WEEK"]="WEEK";TokenEnum["DAY_MICROSECOND"]="DAY_MICROSECOND";TokenEnum["HOUR_MICROSECOND"]="HOUR_MICROSECOND";TokenEnum["MINUTE_MICROSECOND"]="MINUTE_MICROSECOND";TokenEnum["SECOND_MICROSECOND"]="SECOND_MICROSECOND";TokenEnum["MICROSECOND"]="MICROSECOND";TokenEnum["MINUTE_SECOND"]="MINUTE_SECOND";TokenEnum["HOUR_SECOND"]="HOUR_SECOND";TokenEnum["HOUR_MINUTE"]="HOUR_MINUTE";TokenEnum["DAY_SECOND"]="DAY_SECOND";TokenEnum["SECOND"]="SECOND";TokenEnum["DAY_MINUTE"]="DAY_MINUTE";TokenEnum["MINUTE"]="MINUTE";TokenEnum["DAY_HOUR"]="DAY_HOUR";TokenEnum["HOUR"]="HOUR";TokenEnum["DAY"]="DAY";TokenEnum["YEAR_MONTH"]="YEAR_MONTH";TokenEnum["MONTH"]="MONTH";TokenEnum["YEAR"]="YEAR";TokenEnum["INTEGER"]="INTEGER";TokenEnum["CHARACTER"]="CHARACTER";TokenEnum["NCHAR"]="NCHAR";TokenEnum["CHAR"]="CHAR";TokenEnum["VALUES"]="VALUES";TokenEnum["VALUE"]="VALUE";TokenEnum["EXCHANGE"]="EXCHANGE";TokenEnum["INNER"]="INNER";TokenEnum["ROLE"]="ROLE";TokenEnum["USER"]="USER";TokenEnum["PARTIALSCAN"]="PARTIALSCAN";TokenEnum["NOSCAN"]="NOSCAN";TokenEnum["TRUNCATE"]="TRUNCATE";TokenEnum["SETS"]="SETS";TokenEnum["GROUPING"]="GROUPING";TokenEnum["MORE"]="MORE";TokenEnum["LESS"]="LESS";TokenEnum["CURRENT"]="CURRENT";TokenEnum["FOLLOWING"]="FOLLOWING";TokenEnum["PRECEDING"]="PRECEDING";TokenEnum["UNBOUNDED"]="UNBOUNDED";TokenEnum["WINDOW"]="WINDOW";TokenEnum["DIRECTORIES"]="DIRECTORIES";TokenEnum["CUBE"]="CUBE";TokenEnum["ROLLUP"]="ROLLUP";TokenEnum["SKEWED"]="SKEWED";TokenEnum["CASCADE"]="CASCADE";TokenEnum["RESTRICT"]="RESTRICT";TokenEnum["UPDATE"]="UPDATE";TokenEnum["SHOW_DATABASE"]="SHOW_DATABASE";TokenEnum["CONCATENATE"]="CONCATENATE";TokenEnum["OPTION"]="OPTION";TokenEnum["USE"]="USE";TokenEnum["STATISTICS"]="STATISTICS";TokenEnum["COMPUTE"]="COMPUTE";TokenEnum["UNARCHIVE"]="UNARCHIVE";TokenEnum["ARCHIVE"]="ARCHIVE";TokenEnum["TOUCH"]="TOUCH";TokenEnum["LATERAL"]="LATERAL";TokenEnum["SEMI"]="SEMI";TokenEnum["RECORDWRITER"]="RECORDWRITER";TokenEnum["RECORDREADER"]="RECORDREADER";TokenEnum["TRIGGER"]="TRIGGER";TokenEnum["CURSOR"]="CURSOR";TokenEnum["CONTINUE"]="CONTINUE";TokenEnum["CROSS"]="CROSS";TokenEnum["BINARY"]="BINARY";TokenEnum["BOTH"]="BOTH";TokenEnum["BETWEEN"]="BETWEEN";TokenEnum["BEFORE"]="BEFORE";TokenEnum["ANALYZE"]="ANALYZE";TokenEnum["RANGE"]="RANGE";TokenEnum["PURGE"]="PURGE";TokenEnum["READS"]="READS";TokenEnum["WHILE"]="WHILE";TokenEnum["UNSIGNED"]="UNSIGNED";TokenEnum["SIGNED"]="SIGNED";TokenEnum["PROCEDURE"]="PROCEDURE";TokenEnum["EXCLUSIVE"]="EXCLUSIVE";TokenEnum["SHARED"]="SHARED";TokenEnum["UNLOCK"]="UNLOCK";TokenEnum["LOCKS"]="LOCKS";TokenEnum["LOCK"]="LOCK";TokenEnum["UNDO"]="UNDO";TokenEnum["SSL"]="SSL";TokenEnum["REVOKE"]="REVOKE";TokenEnum["GRANT"]="GRANT";TokenEnum["SCHEMAS"]="SCHEMAS";TokenEnum["SCHEMA"]="SCHEMA";TokenEnum["MATERIALIZED"]="MATERIALIZED";TokenEnum["DATABASES"]="DATABASES";TokenEnum["DATABASE"]="DATABASE";TokenEnum["VIEW"]="VIEW";TokenEnum["INTERSECT"]="INTERSECT";TokenEnum["FETCH"]="FETCH";TokenEnum["KWMINUS"]="KWMINUS";TokenEnum["KWPLUS"]="KWPLUS";TokenEnum["DELETE"]="DELETE";TokenEnum["LONG"]="LONG";TokenEnum["UTCTIMESTAMP"]="UTCTIMESTAMP";TokenEnum["UTC"]="UTC";TokenEnum["CLUSTERSTATUS"]="CLUSTERSTATUS";TokenEnum["HOLD_DDLTIME"]="HOLD_DDLTIME";TokenEnum["STREAMTABLE"]="STREAMTABLE";TokenEnum["MAPJOIN"]="MAPJOIN";TokenEnum["ELSE"]="ELSE";TokenEnum["THEN"]="THEN";TokenEnum["WHEN"]="WHEN";TokenEnum["CASE"]="CASE";TokenEnum["ELEM_TYPE"]="ELEM_TYPE";TokenEnum["VALUE_TYPE"]="VALUE_TYPE";TokenEnum["IDXPROPERTIES"]="IDXPROPERTIES";TokenEnum["TBLPROPERTIES"]="TBLPROPERTIES";TokenEnum["UNSET"]="UNSET";TokenEnum["SET"]="SET";TokenEnum["DBPROPERTIES"]="DBPROPERTIES";TokenEnum["SERDEPROPERTIES"]="SERDEPROPERTIES";TokenEnum["DEFERRED"]="DEFERRED";TokenEnum["WITH"]="WITH";TokenEnum["SERDE"]="SERDE";TokenEnum["LOGICAL"]="LOGICAL";TokenEnum["DEPENDENCY"]="DEPENDENCY";TokenEnum["PRETTY"]="PRETTY";TokenEnum["FORMATTED"]="FORMATTED";TokenEnum["EXTENDED"]="EXTENDED";TokenEnum["END"]="END";TokenEnum["EXPLAIN"]="EXPLAIN";TokenEnum["MACRO"]="MACRO";TokenEnum["TEMPORARY"]="TEMPORARY";TokenEnum["REGEXP"]="REGEXP";TokenEnum["RLIKE"]="RLIKE";TokenEnum["REPLACE"]="REPLACE";TokenEnum["ADD"]="ADD";TokenEnum["CAST"]="CAST";TokenEnum["PERCENT"]="PERCENT";TokenEnum["TABLESAMPLE"]="TABLESAMPLE";TokenEnum["LOCATION"]="LOCATION";TokenEnum["NO_DROP"]="NO_DROP";TokenEnum["CharSetName"]="CharSetName";TokenEnum["READONLY"]="READONLY";TokenEnum["READ"]="READ";TokenEnum["DISABLE"]="DISABLE";TokenEnum["ENABLE"]="ENABLE";TokenEnum["OFFLINE"]="OFFLINE";TokenEnum["OF"]="OF";TokenEnum["OUTPUTDRIVER"]="OUTPUTDRIVER";TokenEnum["INPUTDRIVER"]="INPUTDRIVER";TokenEnum["OUTPUTFORMAT"]="OUTPUTFORMAT";TokenEnum["INPUTFORMAT"]="INPUTFORMAT";TokenEnum["ORCFILE"]="ORCFILE";TokenEnum["RCFILE"]="RCFILE";TokenEnum["TEXTFILE"]="TEXTFILE";TokenEnum["TEXT"]="TEXT";TokenEnum["SEQUENCEFILE"]="SEQUENCEFILE";TokenEnum["FILEFORMAT"]="FILEFORMAT";TokenEnum["STORED"]="STORED";TokenEnum["LINES"]="LINES";TokenEnum["KEY_TYPE"]="KEY_TYPE";TokenEnum["KEYS"]="KEYS";TokenEnum["KEY"]="KEY";TokenEnum["ITEMS"]="ITEMS";TokenEnum["COLLECTION"]="COLLECTION";TokenEnum["ESCAPED"]="ESCAPED";TokenEnum["TERMINATED"]="TERMINATED";TokenEnum["MIN"]="MIN";TokenEnum["FIELDS"]="FIELDS";TokenEnum["DELIMITED"]="DELIMITED";TokenEnum["LIMIT"]="LIMIT";TokenEnum["FORMAT"]="FORMAT";TokenEnum["ROWS"]="ROWS";TokenEnum["ROW"]="ROW";TokenEnum["BUCKETS"]="BUCKETS";TokenEnum["BUCKET"]="BUCKET";TokenEnum["INTO"]="INTO";TokenEnum["SORTED"]="SORTED";TokenEnum["CLUSTERED"]="CLUSTERED";TokenEnum["PARTITIONED"]="PARTITIONED";TokenEnum["REDUCE"]="REDUCE";TokenEnum["UNIONTYPE"]="UNIONTYPE";TokenEnum["MAP"]="MAP";TokenEnum["STRUCT"]="STRUCT";TokenEnum["ARRAY"]="ARRAY";TokenEnum["STRING"]="STRING";TokenEnum["DECIMAL"]="DECIMAL";TokenEnum["TIMESTAMP"]="TIMESTAMP";TokenEnum["DATETIME"]="DATETIME";TokenEnum["TIME"]="TIME";TokenEnum["DATE"]="DATE";TokenEnum["DOUBLE"]="DOUBLE";TokenEnum["FLOAT"]="FLOAT";TokenEnum["BIGINT"]="BIGINT";TokenEnum["SMALLINT"]="SMALLINT";TokenEnum["TINYINT"]="TINYINT";TokenEnum["INT"]="INT";TokenEnum["BOOLEAN"]="BOOLEAN";TokenEnum["BOOL"]="BOOL";TokenEnum["COMMENT"]="COMMENT";TokenEnum["PROTECTION"]="PROTECTION";TokenEnum["IGNORE"]="IGNORE";TokenEnum["NO"]="NO";TokenEnum["RENAME"]="RENAME";TokenEnum["DROP"]="DROP";TokenEnum["DESCRIBE"]="DESCRIBE";TokenEnum["AFTER"]="AFTER";TokenEnum["FIRST"]="FIRST";TokenEnum["CHANGE"]="CHANGE";TokenEnum["ALTER"]="ALTER";TokenEnum["EXTERNAL"]="EXTERNAL";TokenEnum["CREATE"]="CREATE";TokenEnum["NULL"]="NULL";TokenEnum["INPATH"]="INPATH";TokenEnum["DATA"]="DATA";TokenEnum["IMPORT"]="IMPORT";TokenEnum["EXPORT"]="EXPORT";TokenEnum["LOAD"]="LOAD";TokenEnum["UNION"]="UNION";TokenEnum["SORT"]="SORT";TokenEnum["DISTRIBUTE"]="DISTRIBUTE";TokenEnum["CLUSTER"]="CLUSTER";TokenEnum["USING"]="USING";TokenEnum["TRANSFORM"]="TRANSFORM";TokenEnum["FOR"]="FOR";TokenEnum["LOCAL"]="LOCAL";TokenEnum["DIRECTORY"]="DIRECTORY";TokenEnum["TO"]="TO";TokenEnum["REPAIR"]="REPAIR";TokenEnum["MSCK"]="MSCK";TokenEnum["SHOW"]="SHOW";TokenEnum["FUNCTIONS"]="FUNCTIONS";TokenEnum["FUNCTION"]="FUNCTION";TokenEnum["REBUILD"]="REBUILD";TokenEnum["INDEXES"]="INDEXES";TokenEnum["INDEX"]="INDEX";TokenEnum["COLUMNS"]="COLUMNS";TokenEnum["COLUMN"]="COLUMN";TokenEnum["TABLES"]="TABLES";TokenEnum["TABLE"]="TABLE";TokenEnum["PARTITIONS"]="PARTITIONS";TokenEnum["PARTITION"]="PARTITION";TokenEnum["ON"]="ON";TokenEnum["FULL"]="FULL";TokenEnum["RIGHT"]="RIGHT";TokenEnum["LEFT"]="LEFT";TokenEnum["PRESERVE"]="PRESERVE";TokenEnum["UNIQUEJOIN"]="UNIQUEJOIN";TokenEnum["UNIQUE"]="UNIQUE";TokenEnum["OUTER"]="OUTER";TokenEnum["OUT"]="OUT";TokenEnum["OVERWRITE"]="OVERWRITE";TokenEnum["OVER"]="OVER";TokenEnum["INSERT"]="INSERT";TokenEnum["DISTINCT"]="DISTINCT";TokenEnum["SELECT"]="SELECT";TokenEnum["FROM"]="FROM";TokenEnum["WHERE"]="WHERE";TokenEnum["HAVING"]="HAVING";TokenEnum["BY"]="BY";TokenEnum["GROUP"]="GROUP";TokenEnum["ORDER"]="ORDER";TokenEnum["DESC"]="DESC";TokenEnum["ASC"]="ASC";TokenEnum["AS"]="AS";TokenEnum["EXISTS"]="EXISTS";TokenEnum["IS"]="IS";TokenEnum["IF"]="IF";TokenEnum["JOIN"]="JOIN";TokenEnum["IN"]="IN";TokenEnum["LIKE"]="LIKE";TokenEnum["NOT"]="NOT";TokenEnum["OR"]="OR";TokenEnum["AND"]="AND";TokenEnum["ALL"]="ALL";TokenEnum["FALSE"]="FALSE";TokenEnum["TRUE"]="TRUE";TokenEnum["ID"]="ID"})(TokenEnum=exports.TokenEnum||(exports.TokenEnum={}));exports.Tokens={WS:WS,ByteLengthLiteral:ByteLengthLiteral,DecimalLiteral:DecimalLiteral,TinyintLiteral:TinyintLiteral,SmallintLiteral:SmallintLiteral,BigintLiteral:BigintLiteral,CharSetLiteral:CharSetLiteral,STRING_LITERAL:STRING_LITERAL,DOLLAR:DOLLAR,QUESTION:QUESTION,BITWISEXOR:BITWISEXOR,BITWISEOR:BITWISEOR,TILDE:TILDE,AMPERSAND:AMPERSAND,DIV:DIV,MOD:MOD,STAR:STAR,MINUS:MINUS,PLUS:PLUS,DIVIDE:DIVIDE,GREATERTHAN:GREATERTHAN,GREATERTHANOREQUALTO:GREATERTHANOREQUALTO,LESSTHAN:LESSTHAN,LESSTHANOREQUALTO:LESSTHANOREQUALTO,NOTEQUAL:NOTEQUAL,EQUAL_NS:EQUAL_NS,EQUAL:EQUAL,RCURLY:RCURLY,LCURLY:LCURLY,RSQUARE:RSQUARE,LSQUARE:LSQUARE,RPAREN:RPAREN,LPAREN:LPAREN,SEMICOLON:SEMICOLON,COMMA:COMMA,COLON:COLON,DOT:DOT,ONE_DECIMAL:ONE_DECIMAL,ZERO_DECIMAL:ZERO_DECIMAL,Number:Number,LIFECYCLE:LIFECYCLE,TABLESPACE:TABLESPACE,STATS_PERSISTENT:STATS_PERSISTENT,STATS_AUTO_RECALC:STATS_AUTO_RECALC,COMPACT:COMPACT,REDUNDANT:REDUNDANT,COMPRESSED:COMPRESSED,ROW_FORMAT:ROW_FORMAT,PASSWORD:PASSWORD,PACK_KEYS:PACK_KEYS,MIN_ROWS:MIN_ROWS,MAX_ROWS:MAX_ROWS,KEY_BLOCK_SIZE:KEY_BLOCK_SIZE,LAST:LAST,INSERT_METHOD:INSERT_METHOD,ENCRYPTION:ENCRYPTION,DELAY_KEY_WRITE:DELAY_KEY_WRITE,CONNECTION:CONNECTION,COMPRESSION:COMPRESSION,AVG_ROW_LENGTH:AVG_ROW_LENGTH,ENGINE:ENGINE,CHECKSUM:CHECKSUM,CHARSET:CHARSET,PERFOMANCE_SCHEMA:PERFOMANCE_SCHEMA,NDBCLUSTER:NDBCLUSTER,NDB:NDB,MRG_MYISAM:MRG_MYISAM,MYISAM:MYISAM,INNODB:INNODB,FEDERATED:FEDERATED,CSV:CSV,BLACKHOLE:BLACKHOLE,MULTIPOLYGON:MULTIPOLYGON,POLYGON:POLYGON,MULTIPOINT:MULTIPOINT,POINT:POINT,MULTILINESTRING:MULTILINESTRING,LINESTRING:LINESTRING,GEOMETRYCOLLECTION:GEOMETRYCOLLECTION,ENUM:ENUM,VARBINARY:VARBINARY,LONGBLOB:LONGBLOB,MEDIUMBLOB:MEDIUMBLOB,TINYBLOB:TINYBLOB,BLOB:BLOB,NUMERIC:NUMERIC,REAL:REAL,ZEROFILL:ZEROFILL,MEDIUMINT:MEDIUMINT,COLLATE:COLLATE,LONGTEXT:LONGTEXT,MEDIUMTEXT:MEDIUMTEXT,TINYTEXT:TINYTEXT,VARCHAR:VARCHAR,MEMORY:MEMORY,DISK:DISK,STORAGE:STORAGE,DYNAMIC:DYNAMIC,FIXED:FIXED,COLUMN_FORMAT:COLUMN_FORMAT,PRIMARY:PRIMARY,AUTO_INCREMENT:AUTO_INCREMENT,DEFAULT:DEFAULT,STRAIGHT_JOIN:STRAIGHT_JOIN,STARTING:STARTING,ENCLOSED:ENCLOSED,OPTIONALLY:OPTIONALLY,OUTFILE:OUTFILE,DUMPFILE:DUMPFILE,GET_FORMAT:GET_FORMAT,CONVERT:CONVERT,WEIGHT_STRING:WEIGHT_STRING,TRIM:TRIM,SYSDATE:SYSDATE,SUBSTRING:SUBSTRING,SUBSTR:SUBSTR,POSITION:POSITION,NOW:NOW,LOCALTIMESTAMP:LOCALTIMESTAMP,EXTRACT:EXTRACT,DATE_SUB:DATE_SUB,DATE_ADD:DATE_ADD,CURTIME:CURTIME,CURDATE:CURDATE,LOCALTIME:LOCALTIME,CURRENT_USER:CURRENT_USER,CURRENT_TIMESTAMP:CURRENT_TIMESTAMP,CURRENT_TIME:CURRENT_TIME,CURRENT_DATE:CURRENT_DATE,QUARTER:QUARTER,VARIANCE:VARIANCE,VAR_SAMP:VAR_SAMP,VAR_POP:VAR_POP,SUM:SUM,STDDEV_SAMP:STDDEV_SAMP,STDDEV_POP:STDDEV_POP,STDDEV:STDDEV,STD:STD,MAX:MAX,GROUP_CONCAT:GROUP_CONCAT,COUNT:COUNT,BIT_XOR:BIT_XOR,BIT_OR:BIT_OR,BIT_AND:BIT_AND,BIT:BIT,AVG:AVG,UTC_TIMESTAMP:UTC_TIMESTAMP,UTC_TIME:UTC_TIME,UTC_DATE:UTC_DATE,TRAILING:TRAILING,LEADING:LEADING,REVERSE:REVERSE,LEVEL:LEVEL,WEEK:WEEK,DAY_MICROSECOND:DAY_MICROSECOND,HOUR_MICROSECOND:HOUR_MICROSECOND,MINUTE_MICROSECOND:MINUTE_MICROSECOND,SECOND_MICROSECOND:SECOND_MICROSECOND,MICROSECOND:MICROSECOND,MINUTE_SECOND:MINUTE_SECOND,HOUR_SECOND:HOUR_SECOND,HOUR_MINUTE:HOUR_MINUTE,DAY_SECOND:DAY_SECOND,SECOND:SECOND,DAY_MINUTE:DAY_MINUTE,MINUTE:MINUTE,DAY_HOUR:DAY_HOUR,HOUR:HOUR,DAY:DAY,YEAR_MONTH:YEAR_MONTH,MONTH:MONTH,YEAR:YEAR,INTEGER:INTEGER,CHARACTER:CHARACTER,NCHAR:NCHAR,CHAR:CHAR,VALUES:VALUES,VALUE:VALUE,EXCHANGE:EXCHANGE,INNER:INNER,ROLE:ROLE,USER:USER,PARTIALSCAN:PARTIALSCAN,NOSCAN:NOSCAN,TRUNCATE:TRUNCATE,SETS:SETS,GROUPING:GROUPING,MORE:MORE,LESS:LESS,CURRENT:CURRENT,FOLLOWING:FOLLOWING,PRECEDING:PRECEDING,UNBOUNDED:UNBOUNDED,WINDOW:WINDOW,DIRECTORIES:DIRECTORIES,CUBE:CUBE,ROLLUP:ROLLUP,SKEWED:SKEWED,CASCADE:CASCADE,RESTRICT:RESTRICT,UPDATE:UPDATE,SHOW_DATABASE:SHOW_DATABASE,CONCATENATE:CONCATENATE,OPTION:OPTION,USE:USE,STATISTICS:STATISTICS,COMPUTE:COMPUTE,UNARCHIVE:UNARCHIVE,ARCHIVE:ARCHIVE,TOUCH:TOUCH,LATERAL:LATERAL,SEMI:SEMI,RECORDWRITER:RECORDWRITER,RECORDREADER:RECORDREADER,TRIGGER:TRIGGER,CURSOR:CURSOR,CONTINUE:CONTINUE,CROSS:CROSS,BINARY:BINARY,BOTH:BOTH,BETWEEN:BETWEEN,BEFORE:BEFORE,ANALYZE:ANALYZE,RANGE:RANGE,PURGE:PURGE,READS:READS,WHILE:WHILE,UNSIGNED:UNSIGNED,SIGNED:SIGNED,PROCEDURE:PROCEDURE,EXCLUSIVE:EXCLUSIVE,SHARED:SHARED,UNLOCK:UNLOCK,LOCKS:LOCKS,LOCK:LOCK,UNDO:UNDO,SSL:SSL,REVOKE:REVOKE,GRANT:GRANT,SCHEMAS:SCHEMAS,SCHEMA:SCHEMA,MATERIALIZED:MATERIALIZED,DATABASES:DATABASES,DATABASE:DATABASE,VIEW:VIEW,INTERSECT:INTERSECT,FETCH:FETCH,KWMINUS:KWMINUS,KWPLUS:KWPLUS,DELETE:DELETE,LONG:LONG,UTCTIMESTAMP:UTCTIMESTAMP,UTC:UTC,CLUSTERSTATUS:CLUSTERSTATUS,HOLD_DDLTIME:HOLD_DDLTIME,STREAMTABLE:STREAMTABLE,MAPJOIN:MAPJOIN,ELSE:ELSE,THEN:THEN,WHEN:WHEN,CASE:CASE,ELEM_TYPE:ELEM_TYPE,VALUE_TYPE:VALUE_TYPE,IDXPROPERTIES:IDXPROPERTIES,TBLPROPERTIES:TBLPROPERTIES,UNSET:UNSET,SET:SET,DBPROPERTIES:DBPROPERTIES,SERDEPROPERTIES:SERDEPROPERTIES,DEFERRED:DEFERRED,WITH:WITH,SERDE:SERDE,LOGICAL:LOGICAL,DEPENDENCY:DEPENDENCY,PRETTY:PRETTY,FORMATTED:FORMATTED,EXTENDED:EXTENDED,END:END,EXPLAIN:EXPLAIN,MACRO:MACRO,TEMPORARY:TEMPORARY,REGEXP:REGEXP,RLIKE:RLIKE,REPLACE:REPLACE,ADD:ADD,CAST:CAST,PERCENT:PERCENT,TABLESAMPLE:TABLESAMPLE,LOCATION:LOCATION,NO_DROP:NO_DROP,CharSetName:CharSetName,READONLY:READONLY,READ:READ,DISABLE:DISABLE,ENABLE:ENABLE,OFFLINE:OFFLINE,OF:OF,OUTPUTDRIVER:OUTPUTDRIVER,INPUTDRIVER:INPUTDRIVER,OUTPUTFORMAT:OUTPUTFORMAT,INPUTFORMAT:INPUTFORMAT,ORCFILE:ORCFILE,RCFILE:RCFILE,TEXTFILE:TEXTFILE,TEXT:TEXT,SEQUENCEFILE:SEQUENCEFILE,FILEFORMAT:FILEFORMAT,STORED:STORED,LINES:LINES,KEY_TYPE:KEY_TYPE,KEYS:KEYS,KEY:KEY,ITEMS:ITEMS,COLLECTION:COLLECTION,ESCAPED:ESCAPED,TERMINATED:TERMINATED,MIN:MIN,FIELDS:FIELDS,DELIMITED:DELIMITED,LIMIT:LIMIT,FORMAT:FORMAT,ROWS:ROWS,ROW:ROW,BUCKETS:BUCKETS,BUCKET:BUCKET,INTO:INTO,SORTED:SORTED,CLUSTERED:CLUSTERED,PARTITIONED:PARTITIONED,REDUCE:REDUCE,UNIONTYPE:UNIONTYPE,MAP:MAP,STRUCT:STRUCT,ARRAY:ARRAY,STRING:STRING,DECIMAL:DECIMAL,TIMESTAMP:TIMESTAMP,DATETIME:DATETIME,TIME:TIME,DATE:DATE,DOUBLE:DOUBLE,FLOAT:FLOAT,BIGINT:BIGINT,SMALLINT:SMALLINT,TINYINT:TINYINT,INT:INT,BOOLEAN:BOOLEAN,BOOL:BOOL,COMMENT:COMMENT,PROTECTION:PROTECTION,IGNORE:IGNORE,NO:NO,RENAME:RENAME,DROP:DROP,DESCRIBE:DESCRIBE,AFTER:AFTER,FIRST:FIRST,CHANGE:CHANGE,ALTER:ALTER,EXTERNAL:EXTERNAL,CREATE:CREATE,NULL:NULL,INPATH:INPATH,DATA:DATA,IMPORT:IMPORT,EXPORT:EXPORT,LOAD:LOAD,UNION:UNION,SORT:SORT,DISTRIBUTE:DISTRIBUTE,CLUSTER:CLUSTER,USING:USING,TRANSFORM:TRANSFORM,FOR:FOR,LOCAL:LOCAL,DIRECTORY:DIRECTORY,TO:TO,REPAIR:REPAIR,MSCK:MSCK,SHOW:SHOW,FUNCTIONS:FUNCTIONS,FUNCTION:FUNCTION,REBUILD:REBUILD,INDEXES:INDEXES,INDEX:INDEX,COLUMNS:COLUMNS,COLUMN:COLUMN,TABLES:TABLES,TABLE:TABLE,PARTITIONS:PARTITIONS,PARTITION:PARTITION,ON:ON,FULL:FULL,RIGHT:RIGHT,LEFT:LEFT,PRESERVE:PRESERVE,UNIQUEJOIN:UNIQUEJOIN,UNIQUE:UNIQUE,OUTER:OUTER,OUT:OUT,OVERWRITE:OVERWRITE,OVER:OVER,INSERT:INSERT,DISTINCT:DISTINCT,SELECT:SELECT,FROM:FROM,WHERE:WHERE,HAVING:HAVING,BY:BY,GROUP:GROUP,ORDER:ORDER,DESC:DESC,ASC:ASC,AS:AS,EXISTS:EXISTS,IS:IS,IF:IF,JOIN:JOIN,IN:IN,LIKE:LIKE,NOT:NOT,OR:OR,AND:AND,ALL:ALL,FALSE:FALSE,TRUE:TRUE,ID:ID};exports.tokens=[WhiteSpace,WS,ByteLengthLiteral,DecimalLiteral,TinyintLiteral,SmallintLiteral,BigintLiteral,CharSetLiteral,STRING_LITERAL,DOLLAR,QUESTION,BITWISEXOR,BITWISEOR,TILDE,AMPERSAND,DIV,MOD,STAR,MINUS,PLUS,DIVIDE,GREATERTHAN,GREATERTHANOREQUALTO,LESSTHAN,LESSTHANOREQUALTO,NOTEQUAL,EQUAL_NS,EQUAL,RCURLY,LCURLY,RSQUARE,LSQUARE,RPAREN,LPAREN,SEMICOLON,COMMA,COLON,DOT,ONE_DECIMAL,ZERO_DECIMAL,Number,LIFECYCLE,TABLESPACE,STATS_PERSISTENT,STATS_AUTO_RECALC,COMPACT,REDUNDANT,COMPRESSED,ROW_FORMAT,PASSWORD,PACK_KEYS,MIN_ROWS,MAX_ROWS,KEY_BLOCK_SIZE,LAST,INSERT_METHOD,ENCRYPTION,DELAY_KEY_WRITE,CONNECTION,COMPRESSION,AVG_ROW_LENGTH,ENGINE,CHECKSUM,CHARSET,PERFOMANCE_SCHEMA,NDBCLUSTER,NDB,MRG_MYISAM,MYISAM,INNODB,FEDERATED,CSV,BLACKHOLE,MULTIPOLYGON,POLYGON,MULTIPOINT,POINT,MULTILINESTRING,LINESTRING,GEOMETRYCOLLECTION,ENUM,VARBINARY,LONGBLOB,MEDIUMBLOB,TINYBLOB,BLOB,NUMERIC,REAL,ZEROFILL,MEDIUMINT,COLLATE,LONGTEXT,MEDIUMTEXT,TINYTEXT,VARCHAR,MEMORY,DISK,STORAGE,DYNAMIC,FIXED,COLUMN_FORMAT,PRIMARY,AUTO_INCREMENT,DEFAULT,STRAIGHT_JOIN,STARTING,ENCLOSED,OPTIONALLY,OUTFILE,DUMPFILE,GET_FORMAT,CONVERT,WEIGHT_STRING,TRIM,SYSDATE,SUBSTRING,SUBSTR,POSITION,NOW,LOCALTIMESTAMP,EXTRACT,DATE_SUB,DATE_ADD,CURTIME,CURDATE,LOCALTIME,CURRENT_USER,CURRENT_TIMESTAMP,CURRENT_TIME,CURRENT_DATE,QUARTER,VARIANCE,VAR_SAMP,VAR_POP,SUM,STDDEV_SAMP,STDDEV_POP,STDDEV,STD,MAX,GROUP_CONCAT,COUNT,BIT_XOR,BIT_OR,BIT_AND,BIT,AVG,UTC_TIMESTAMP,UTC_TIME,UTC_DATE,TRAILING,LEADING,REVERSE,LEVEL,WEEK,DAY_MICROSECOND,HOUR_MICROSECOND,MINUTE_MICROSECOND,SECOND_MICROSECOND,MICROSECOND,MINUTE_SECOND,HOUR_SECOND,HOUR_MINUTE,DAY_SECOND,SECOND,DAY_MINUTE,MINUTE,DAY_HOUR,HOUR,DAY,YEAR_MONTH,MONTH,YEAR,INTEGER,CHARACTER,NCHAR,CHAR,VALUES,VALUE,EXCHANGE,INNER,ROLE,USER,PARTIALSCAN,NOSCAN,TRUNCATE,SETS,GROUPING,MORE,LESS,CURRENT,FOLLOWING,PRECEDING,UNBOUNDED,WINDOW,DIRECTORIES,CUBE,ROLLUP,SKEWED,CASCADE,RESTRICT,UPDATE,SHOW_DATABASE,CONCATENATE,OPTION,USE,STATISTICS,COMPUTE,UNARCHIVE,ARCHIVE,TOUCH,LATERAL,SEMI,RECORDWRITER,RECORDREADER,TRIGGER,CURSOR,CONTINUE,CROSS,BINARY,BOTH,BETWEEN,BEFORE,ANALYZE,RANGE,PURGE,READS,WHILE,UNSIGNED,SIGNED,PROCEDURE,EXCLUSIVE,SHARED,UNLOCK,LOCKS,LOCK,UNDO,SSL,REVOKE,GRANT,SCHEMAS,SCHEMA,MATERIALIZED,DATABASES,DATABASE,VIEW,INTERSECT,FETCH,KWMINUS,KWPLUS,DELETE,LONG,UTCTIMESTAMP,UTC,CLUSTERSTATUS,HOLD_DDLTIME,STREAMTABLE,MAPJOIN,ELSE,THEN,WHEN,CASE,ELEM_TYPE,VALUE_TYPE,IDXPROPERTIES,TBLPROPERTIES,UNSET,SET,DBPROPERTIES,SERDEPROPERTIES,DEFERRED,WITH,SERDE,LOGICAL,DEPENDENCY,PRETTY,FORMATTED,EXTENDED,END,EXPLAIN,MACRO,TEMPORARY,REGEXP,RLIKE,REPLACE,ADD,CAST,PERCENT,TABLESAMPLE,LOCATION,NO_DROP,CharSetName,READONLY,READ,DISABLE,ENABLE,OFFLINE,OF,OUTPUTDRIVER,INPUTDRIVER,OUTPUTFORMAT,INPUTFORMAT,ORCFILE,RCFILE,TEXTFILE,TEXT,SEQUENCEFILE,FILEFORMAT,STORED,LINES,KEY_TYPE,KEYS,KEY,ITEMS,COLLECTION,ESCAPED,TERMINATED,MIN,FIELDS,DELIMITED,LIMIT,FORMAT,ROWS,ROW,BUCKETS,BUCKET,INTO,SORTED,CLUSTERED,PARTITIONED,REDUCE,UNIONTYPE,MAP,STRUCT,ARRAY,STRING,DECIMAL,TIMESTAMP,DATETIME,TIME,DATE,DOUBLE,FLOAT,BIGINT,SMALLINT,TINYINT,INT,BOOLEAN,BOOL,COMMENT,PROTECTION,IGNORE,NO,RENAME,DROP,DESCRIBE,AFTER,FIRST,CHANGE,ALTER,EXTERNAL,CREATE,NULL,INPATH,DATA,IMPORT,EXPORT,LOAD,UNION,SORT,DISTRIBUTE,CLUSTER,USING,TRANSFORM,FOR,LOCAL,DIRECTORY,TO,REPAIR,MSCK,SHOW,FUNCTIONS,FUNCTION,REBUILD,INDEXES,INDEX,COLUMNS,COLUMN,TABLES,TABLE,PARTITIONS,PARTITION,ON,FULL,RIGHT,LEFT,PRESERVE,UNIQUEJOIN,UNIQUE,OUTER,OUT,OVERWRITE,OVER,INSERT,DISTINCT,SELECT,FROM,WHERE,HAVING,BY,GROUP,ORDER,DESC,ASC,AS,EXISTS,IS,IF,JOIN,IN,LIKE,NOT,OR,AND,ALL,FALSE,TRUE,ID];exports.Lexer=new chevrotain.Lexer(exports.tokens,{positionTracking:"onlyStart"})});
(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","chevrotain"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var chevrotain=require("chevrotain");var WhiteSpace=chevrotain.createToken({name:"WhiteSpace",pattern:/\s+/,group:chevrotain.Lexer.SKIPPED,line_breaks:true});var ID=chevrotain.createToken({name:"ID",pattern:/[A-Za-z_$0-9{}*]+/i});var WS=chevrotain.createToken({name:"WS",pattern:/(\ |\r|\t|\n)/i,longer_alt:ID});var ByteLengthLiteral=chevrotain.createToken({name:"ByteLengthLiteral",pattern:/([0-9])+(b|B|k|K|m|M|g|G)/i,longer_alt:ID});var DecimalLiteral=chevrotain.createToken({name:"DecimalLiteral",pattern:/([0-9])+(\.([0-9])*((e|E)(\+|\-)?([0-9])+)?|(e|E)(\+|\-)?([0-9])+)?BD/i,longer_alt:ID});var TinyintLiteral=chevrotain.createToken({name:"TinyintLiteral",pattern:/([0-9])+Y/i,longer_alt:ID});var SmallintLiteral=chevrotain.createToken({name:"SmallintLiteral",pattern:/([0-9])+S/i,longer_alt:ID});var BigintLiteral=chevrotain.createToken({name:"BigintLiteral",pattern:/([0-9])+L/i,longer_alt:ID});var CharSetLiteral=chevrotain.createToken({name:"CharSetLiteral",pattern:/((\'([^(\'|\\)]|(\\))*\'|\"([^(\"|\\)]|(\\))*\")+|0X([A-Fa-f]|[0-9])+)/i,longer_alt:ID});var STRING_LITERAL=chevrotain.createToken({name:"STRING_LITERAL",pattern:/(\'([^(\'|\\)]|(\\))*\'|\"([^(\"|\\)]|(\\))*\")+/i,longer_alt:ID});var DOLLAR=chevrotain.createToken({name:"DOLLAR",pattern:/\$/i,longer_alt:ID});var QUESTION=chevrotain.createToken({name:"QUESTION",pattern:/\?/i,longer_alt:ID});var BITWISEXOR=chevrotain.createToken({name:"BITWISEXOR",pattern:/\^/i,longer_alt:ID});var BITWISEOR=chevrotain.createToken({name:"BITWISEOR",pattern:/\|/i,longer_alt:ID});var TILDE=chevrotain.createToken({name:"TILDE",pattern:/\~/i,longer_alt:ID});var AMPERSAND=chevrotain.createToken({name:"AMPERSAND",pattern:/\&/i,longer_alt:ID});var DIV=chevrotain.createToken({name:"DIV",pattern:/DIV/i,longer_alt:ID});var MOD=chevrotain.createToken({name:"MOD",pattern:/\%/i,longer_alt:ID});var STAR=chevrotain.createToken({name:"STAR",pattern:/\*/i,longer_alt:ID});var MINUS=chevrotain.createToken({name:"MINUS",pattern:/\-/i,longer_alt:ID});var PLUS=chevrotain.createToken({name:"PLUS",pattern:/\+/i,longer_alt:ID});var DIVIDE=chevrotain.createToken({name:"DIVIDE",pattern:/\//i,longer_alt:ID});var GREATERTHAN=chevrotain.createToken({name:"GREATERTHAN",pattern:/\>/i,longer_alt:ID});var GREATERTHANOREQUALTO=chevrotain.createToken({name:"GREATERTHANOREQUALTO",pattern:/\>\=/i,longer_alt:ID});var LESSTHAN=chevrotain.createToken({name:"LESSTHAN",pattern:/\</i,longer_alt:ID});var LESSTHANOREQUALTO=chevrotain.createToken({name:"LESSTHANOREQUALTO",pattern:/\<\=/i,longer_alt:ID});var NOTEQUAL=chevrotain.createToken({name:"NOTEQUAL",pattern:/(\<\>|\!\=)/i,longer_alt:ID});var EQUAL_NS=chevrotain.createToken({name:"EQUAL_NS",pattern:/\<\=\>/i,longer_alt:ID});var EQUAL=chevrotain.createToken({name:"EQUAL",pattern:/(\=|\=\=)/i,longer_alt:ID});var RCURLY=chevrotain.createToken({name:"RCURLY",pattern:/\}/i,longer_alt:ID});var LCURLY=chevrotain.createToken({name:"LCURLY",pattern:/\{/i,longer_alt:ID});var RSQUARE=chevrotain.createToken({name:"RSQUARE",pattern:/\]/i,longer_alt:ID});var LSQUARE=chevrotain.createToken({name:"LSQUARE",pattern:/\[/i,longer_alt:ID});var RPAREN=chevrotain.createToken({name:"RPAREN",pattern:/\)/i,longer_alt:ID});var LPAREN=chevrotain.createToken({name:"LPAREN",pattern:/\(/i,longer_alt:ID});var COMMA=chevrotain.createToken({name:"COMMA",pattern:/\,/i,longer_alt:ID});var COLON=chevrotain.createToken({name:"COLON",pattern:/\:/i,longer_alt:ID});var DOT=chevrotain.createToken({name:"DOT",pattern:/\./i,longer_alt:ID});var ONE_DECIMAL=chevrotain.createToken({name:"ONE_DECIMAL",pattern:/1/i,longer_alt:ID});var ZERO_DECIMAL=chevrotain.createToken({name:"ZERO_DECIMAL",pattern:/0/i,longer_alt:ID});var Number=chevrotain.createToken({name:"Number",pattern:/([0-9])+(\.([0-9])*((e|E)(\+|\-)?([0-9])+)?|(e|E)(\+|\-)?([0-9])+)?/i,longer_alt:ID});var LIFECYCLE=chevrotain.createToken({name:"LIFECYCLE",pattern:/LIFECYCLE/i,longer_alt:ID});var TABLESPACE=chevrotain.createToken({name:"TABLESPACE",pattern:/TABLESPACE/i,longer_alt:ID});var STATS_PERSISTENT=chevrotain.createToken({name:"STATS_PERSISTENT",pattern:/STATS_PERSISTENT/i,longer_alt:ID});var STATS_AUTO_RECALC=chevrotain.createToken({name:"STATS_AUTO_RECALC",pattern:/STATS_AUTO_RECALC/i,longer_alt:ID});var COMPACT=chevrotain.createToken({name:"COMPACT",pattern:/COMPACT/i,longer_alt:ID});var REDUNDANT=chevrotain.createToken({name:"REDUNDANT",pattern:/REDUNDANT/i,longer_alt:ID});var COMPRESSED=chevrotain.createToken({name:"COMPRESSED",pattern:/COMPRESSED/i,longer_alt:ID});var ROW_FORMAT=chevrotain.createToken({name:"ROW_FORMAT",pattern:/ROW_FORMAT/i,longer_alt:ID});var PASSWORD=chevrotain.createToken({name:"PASSWORD",pattern:/PASSWORD/i,longer_alt:ID});var PACK_KEYS=chevrotain.createToken({name:"PACK_KEYS",pattern:/PACK_KEYS/i,longer_alt:ID});var MIN_ROWS=chevrotain.createToken({name:"MIN_ROWS",pattern:/MIN_ROWS/i,longer_alt:ID});var MAX_ROWS=chevrotain.createToken({name:"MAX_ROWS",pattern:/MAX_ROWS/i,longer_alt:ID});var KEY_BLOCK_SIZE=chevrotain.createToken({name:"KEY_BLOCK_SIZE",pattern:/KEY_BLOCK_SIZE/i,longer_alt:ID});var LAST=chevrotain.createToken({name:"LAST",pattern:/LAST/i,longer_alt:ID});var INSERT_METHOD=chevrotain.createToken({name:"INSERT_METHOD",pattern:/INSERT_METHOD/i,longer_alt:ID});var ENCRYPTION=chevrotain.createToken({name:"ENCRYPTION",pattern:/ENCRYPTION/i,longer_alt:ID});var DELAY_KEY_WRITE=chevrotain.createToken({name:"DELAY_KEY_WRITE",pattern:/DELAY_KEY_WRITE/i,longer_alt:ID});var CONNECTION=chevrotain.createToken({name:"CONNECTION",pattern:/CONNECTION/i,longer_alt:ID});var COMPRESSION=chevrotain.createToken({name:"COMPRESSION",pattern:/COMPRESSION/i,longer_alt:ID});var AVG_ROW_LENGTH=chevrotain.createToken({name:"AVG_ROW_LENGTH",pattern:/AVG_ROW_LENGTH/i,longer_alt:ID});var ENGINE=chevrotain.createToken({name:"ENGINE",pattern:/ENGINE/i,longer_alt:ID});var CHECKSUM=chevrotain.createToken({name:"CHECKSUM",pattern:/CHECKSUM/i,longer_alt:ID});var CHARSET=chevrotain.createToken({name:"CHARSET",pattern:/CHARSET/i,longer_alt:ID});var PERFOMANCE_SCHEMA=chevrotain.createToken({name:"PERFOMANCE_SCHEMA",pattern:/PERFOMANCE_SCHEMA/i,longer_alt:ID});var NDBCLUSTER=chevrotain.createToken({name:"NDBCLUSTER",pattern:/NDBCLUSTER/i,longer_alt:ID});var NDB=chevrotain.createToken({name:"NDB",pattern:/NDB/i,longer_alt:ID});var MRG_MYISAM=chevrotain.createToken({name:"MRG_MYISAM",pattern:/MRG_MYISAM/i,longer_alt:ID});var MYISAM=chevrotain.createToken({name:"MYISAM",pattern:/MYISAM/i,longer_alt:ID});var INNODB=chevrotain.createToken({name:"INNODB",pattern:/INNODB/i,longer_alt:ID});var FEDERATED=chevrotain.createToken({name:"FEDERATED",pattern:/FEDERATED/i,longer_alt:ID});var CSV=chevrotain.createToken({name:"CSV",pattern:/CSV/i,longer_alt:ID});var BLACKHOLE=chevrotain.createToken({name:"BLACKHOLE",pattern:/BLACKHOLE/i,longer_alt:ID});var MULTIPOLYGON=chevrotain.createToken({name:"MULTIPOLYGON",pattern:/MULTIPOLYGON/i,longer_alt:ID});var POLYGON=chevrotain.createToken({name:"POLYGON",pattern:/POLYGON/i,longer_alt:ID});var MULTIPOINT=chevrotain.createToken({name:"MULTIPOINT",pattern:/MULTIPOINT/i,longer_alt:ID});var POINT=chevrotain.createToken({name:"POINT",pattern:/POINT/i,longer_alt:ID});var MULTILINESTRING=chevrotain.createToken({name:"MULTILINESTRING",pattern:/MULTILINESTRING/i,longer_alt:ID});var LINESTRING=chevrotain.createToken({name:"LINESTRING",pattern:/LINESTRING/i,longer_alt:ID});var GEOMETRYCOLLECTION=chevrotain.createToken({name:"GEOMETRYCOLLECTION",pattern:/GEOMETRYCOLLECTION/i,longer_alt:ID});var ENUM=chevrotain.createToken({name:"ENUM",pattern:/ENUM/i,longer_alt:ID});var VARBINARY=chevrotain.createToken({name:"VARBINARY",pattern:/VARBINARY/i,longer_alt:ID});var LONGBLOB=chevrotain.createToken({name:"LONGBLOB",pattern:/LONGBLOB/i,longer_alt:ID});var MEDIUMBLOB=chevrotain.createToken({name:"MEDIUMBLOB",pattern:/MEDIUMBLOB/i,longer_alt:ID});var TINYBLOB=chevrotain.createToken({name:"TINYBLOB",pattern:/TINYBLOB/i,longer_alt:ID});var BLOB=chevrotain.createToken({name:"BLOB",pattern:/BLOB/i,longer_alt:ID});var NUMERIC=chevrotain.createToken({name:"NUMERIC",pattern:/NUMERIC/i,longer_alt:ID});var REAL=chevrotain.createToken({name:"REAL",pattern:/REAL/i,longer_alt:ID});var ZEROFILL=chevrotain.createToken({name:"ZEROFILL",pattern:/ZEROFILL/i,longer_alt:ID});var MEDIUMINT=chevrotain.createToken({name:"MEDIUMINT",pattern:/MEDIUMINT/i,longer_alt:ID});var COLLATE=chevrotain.createToken({name:"COLLATE",pattern:/COLLATE/i,longer_alt:ID});var LONGTEXT=chevrotain.createToken({name:"LONGTEXT",pattern:/LONGTEXT/i,longer_alt:ID});var MEDIUMTEXT=chevrotain.createToken({name:"MEDIUMTEXT",pattern:/MEDIUMTEXT/i,longer_alt:ID});var TINYTEXT=chevrotain.createToken({name:"TINYTEXT",pattern:/TINYTEXT/i,longer_alt:ID});var VARCHAR=chevrotain.createToken({name:"VARCHAR",pattern:/VARCHAR/i,longer_alt:ID});var MEMORY=chevrotain.createToken({name:"MEMORY",pattern:/MEMORY/i,longer_alt:ID});var DISK=chevrotain.createToken({name:"DISK",pattern:/DISK/i,longer_alt:ID});var STORAGE=chevrotain.createToken({name:"STORAGE",pattern:/STORAGE/i,longer_alt:ID});var DYNAMIC=chevrotain.createToken({name:"DYNAMIC",pattern:/DYNAMIC/i,longer_alt:ID});var FIXED=chevrotain.createToken({name:"FIXED",pattern:/FIXED/i,longer_alt:ID});var COLUMN_FORMAT=chevrotain.createToken({name:"COLUMN_FORMAT",pattern:/COLUMN_FORMAT/i,longer_alt:ID});var PRIMARY=chevrotain.createToken({name:"PRIMARY",pattern:/PRIMARY/i,longer_alt:ID});var AUTO_INCREMENT=chevrotain.createToken({name:"AUTO_INCREMENT",pattern:/AUTO_INCREMENT/i,longer_alt:ID});var DEFAULT=chevrotain.createToken({name:"DEFAULT",pattern:/DEFAULT/i,longer_alt:ID});var STRAIGHT_JOIN=chevrotain.createToken({name:"STRAIGHT_JOIN",pattern:/STRAIGHT_JOIN/i,longer_alt:ID});var STARTING=chevrotain.createToken({name:"STARTING",pattern:/STARTING/i,longer_alt:ID});var ENCLOSED=chevrotain.createToken({name:"ENCLOSED",pattern:/ENCLOSED/i,longer_alt:ID});var OPTIONALLY=chevrotain.createToken({name:"OPTIONALLY",pattern:/OPTIONALLY/i,longer_alt:ID});var OUTFILE=chevrotain.createToken({name:"OUTFILE",pattern:/OUTFILE/i,longer_alt:ID});var DUMPFILE=chevrotain.createToken({name:"DUMPFILE",pattern:/DUMPFILE/i,longer_alt:ID});var GET_FORMAT=chevrotain.createToken({name:"GET_FORMAT",pattern:/GET_FORMAT/i,longer_alt:ID});var CONVERT=chevrotain.createToken({name:"CONVERT",pattern:/CONVERT/i,longer_alt:ID});var WEIGHT_STRING=chevrotain.createToken({name:"WEIGHT_STRING",pattern:/WEIGHT_STRING/i,longer_alt:ID});var TRIM=chevrotain.createToken({name:"TRIM",pattern:/TRIM/i,longer_alt:ID});var SYSDATE=chevrotain.createToken({name:"SYSDATE",pattern:/SYSDATE/i,longer_alt:ID});var SUBSTRING=chevrotain.createToken({name:"SUBSTRING",pattern:/SUBSTRING/i,longer_alt:ID});var SUBSTR=chevrotain.createToken({name:"SUBSTR",pattern:/SUBSTR/i,longer_alt:ID});var POSITION=chevrotain.createToken({name:"POSITION",pattern:/POSITION/i,longer_alt:ID});var NOW=chevrotain.createToken({name:"NOW",pattern:/NOW/i,longer_alt:ID});var LOCALTIMESTAMP=chevrotain.createToken({name:"LOCALTIMESTAMP",pattern:/LOCALTIMESTAMP/i,longer_alt:ID});var EXTRACT=chevrotain.createToken({name:"EXTRACT",pattern:/EXTRACT/i,longer_alt:ID});var DATE_SUB=chevrotain.createToken({name:"DATE_SUB",pattern:/DATE_SUB/i,longer_alt:ID});var DATE_ADD=chevrotain.createToken({name:"DATE_ADD",pattern:/DATE_ADD/i,longer_alt:ID});var CURTIME=chevrotain.createToken({name:"CURTIME",pattern:/CURTIME/i,longer_alt:ID});var CURDATE=chevrotain.createToken({name:"CURDATE",pattern:/CURDATE/i,longer_alt:ID});var LOCALTIME=chevrotain.createToken({name:"LOCALTIME",pattern:/LOCALTIME/i,longer_alt:ID});var CURRENT_USER=chevrotain.createToken({name:"CURRENT_USER",pattern:/CURRENT_USER/i,longer_alt:ID});var CURRENT_TIMESTAMP=chevrotain.createToken({name:"CURRENT_TIMESTAMP",pattern:/CURRENT_TIMESTAMP/i,longer_alt:ID});var CURRENT_TIME=chevrotain.createToken({name:"CURRENT_TIME",pattern:/CURRENT_TIME/i,longer_alt:ID});var CURRENT_DATE=chevrotain.createToken({name:"CURRENT_DATE",pattern:/CURRENT_DATE/i,longer_alt:ID});var QUARTER=chevrotain.createToken({name:"QUARTER",pattern:/QUARTER/i,longer_alt:ID});var VARIANCE=chevrotain.createToken({name:"VARIANCE",pattern:/VARIANCE/i,longer_alt:ID});var VAR_SAMP=chevrotain.createToken({name:"VAR_SAMP",pattern:/VAR_SAMP/i,longer_alt:ID});var VAR_POP=chevrotain.createToken({name:"VAR_POP",pattern:/VAR_POP/i,longer_alt:ID});var SUM=chevrotain.createToken({name:"SUM",pattern:/SUM/i,longer_alt:ID});var STDDEV_SAMP=chevrotain.createToken({name:"STDDEV_SAMP",pattern:/STDDEV_SAMP/i,longer_alt:ID});var STDDEV_POP=chevrotain.createToken({name:"STDDEV_POP",pattern:/STDDEV_POP/i,longer_alt:ID});var STDDEV=chevrotain.createToken({name:"STDDEV",pattern:/STDDEV/i,longer_alt:ID});var STD=chevrotain.createToken({name:"STD",pattern:/STD/i,longer_alt:ID});var MAX=chevrotain.createToken({name:"MAX",pattern:/MAX/i,longer_alt:ID});var GROUP_CONCAT=chevrotain.createToken({name:"GROUP_CONCAT",pattern:/GROUP_CONCAT/i,longer_alt:ID});var COUNT=chevrotain.createToken({name:"COUNT",pattern:/COUNT/i,longer_alt:ID});var BIT_XOR=chevrotain.createToken({name:"BIT_XOR",pattern:/BIT_XOR/i,longer_alt:ID});var BIT_OR=chevrotain.createToken({name:"BIT_OR",pattern:/BIT_OR/i,longer_alt:ID});var BIT_AND=chevrotain.createToken({name:"BIT_AND",pattern:/BIT_AND/i,longer_alt:ID});var BIT=chevrotain.createToken({name:"BIT",pattern:/BIT/i,longer_alt:ID});var AVG=chevrotain.createToken({name:"AVG",pattern:/AVG/i,longer_alt:ID});var UTC_TIMESTAMP=chevrotain.createToken({name:"UTC_TIMESTAMP",pattern:/UTC_TIMESTAMP/i,longer_alt:ID});var UTC_TIME=chevrotain.createToken({name:"UTC_TIME",pattern:/UTC_TIME/i,longer_alt:ID});var UTC_DATE=chevrotain.createToken({name:"UTC_DATE",pattern:/UTC_DATE/i,longer_alt:ID});var TRAILING=chevrotain.createToken({name:"TRAILING",pattern:/TRAILING/i,longer_alt:ID});var LEADING=chevrotain.createToken({name:"LEADING",pattern:/LEADING/i,longer_alt:ID});var REVERSE=chevrotain.createToken({name:"REVERSE",pattern:/REVERSE/i,longer_alt:ID});var LEVEL=chevrotain.createToken({name:"LEVEL",pattern:/LEVEL/i,longer_alt:ID});var WEEK=chevrotain.createToken({name:"WEEK",pattern:/WEEK/i,longer_alt:ID});var DAY_MICROSECOND=chevrotain.createToken({name:"DAY_MICROSECOND",pattern:/DAY_MICROSECOND/i,longer_alt:ID});var HOUR_MICROSECOND=chevrotain.createToken({name:"HOUR_MICROSECOND",pattern:/HOUR_MICROSECOND/i,longer_alt:ID});var MINUTE_MICROSECOND=chevrotain.createToken({name:"MINUTE_MICROSECOND",pattern:/MINUTE_MICROSECOND/i,longer_alt:ID});var SECOND_MICROSECOND=chevrotain.createToken({name:"SECOND_MICROSECOND",pattern:/SECOND_MICROSECOND/i,longer_alt:ID});var MICROSECOND=chevrotain.createToken({name:"MICROSECOND",pattern:/MICROSECOND/i,longer_alt:ID});var MINUTE_SECOND=chevrotain.createToken({name:"MINUTE_SECOND",pattern:/MINUTE_SECOND/i,longer_alt:ID});var HOUR_SECOND=chevrotain.createToken({name:"HOUR_SECOND",pattern:/HOUR_SECOND/i,longer_alt:ID});var HOUR_MINUTE=chevrotain.createToken({name:"HOUR_MINUTE",pattern:/HOUR_MINUTE/i,longer_alt:ID});var DAY_SECOND=chevrotain.createToken({name:"DAY_SECOND",pattern:/DAY_SECOND/i,longer_alt:ID});var SECOND=chevrotain.createToken({name:"SECOND",pattern:/SECOND/i,longer_alt:ID});var DAY_MINUTE=chevrotain.createToken({name:"DAY_MINUTE",pattern:/DAY_MINUTE/i,longer_alt:ID});var MINUTE=chevrotain.createToken({name:"MINUTE",pattern:/MINUTE/i,longer_alt:ID});var DAY_HOUR=chevrotain.createToken({name:"DAY_HOUR",pattern:/DAY_HOUR/i,longer_alt:ID});var HOUR=chevrotain.createToken({name:"HOUR",pattern:/HOUR/i,longer_alt:ID});var DAY=chevrotain.createToken({name:"DAY",pattern:/DAY/i,longer_alt:ID});var YEAR_MONTH=chevrotain.createToken({name:"YEAR_MONTH",pattern:/YEAR_MONTH/i,longer_alt:ID});var MONTH=chevrotain.createToken({name:"MONTH",pattern:/MONTH/i,longer_alt:ID});var YEAR=chevrotain.createToken({name:"YEAR",pattern:/YEAR/i,longer_alt:ID});var INTEGER=chevrotain.createToken({name:"INTEGER",pattern:/INTEGER/i,longer_alt:ID});var CHARACTER=chevrotain.createToken({name:"CHARACTER",pattern:/CHARACTER/i,longer_alt:ID});var NCHAR=chevrotain.createToken({name:"NCHAR",pattern:/NCHAR/i,longer_alt:ID});var CHAR=chevrotain.createToken({name:"CHAR",pattern:/CHAR/i,longer_alt:ID});var VALUES=chevrotain.createToken({name:"VALUES",pattern:/VALUES/i,longer_alt:ID});var VALUE=chevrotain.createToken({name:"VALUE",pattern:/VALUE/i,longer_alt:ID});var EXCHANGE=chevrotain.createToken({name:"EXCHANGE",pattern:/EXCHANGE/i,longer_alt:ID});var INNER=chevrotain.createToken({name:"INNER",pattern:/INNER/i,longer_alt:ID});var ROLE=chevrotain.createToken({name:"ROLE",pattern:/ROLE/i,longer_alt:ID});var USER=chevrotain.createToken({name:"USER",pattern:/USER/i,longer_alt:ID});var PARTIALSCAN=chevrotain.createToken({name:"PARTIALSCAN",pattern:/PARTIALSCAN/i,longer_alt:ID});var NOSCAN=chevrotain.createToken({name:"NOSCAN",pattern:/NOSCAN/i,longer_alt:ID});var TRUNCATE=chevrotain.createToken({name:"TRUNCATE",pattern:/TRUNCATE/i,longer_alt:ID});var SETS=chevrotain.createToken({name:"SETS",pattern:/SETS/i,longer_alt:ID});var GROUPING=chevrotain.createToken({name:"GROUPING",pattern:/GROUPING/i,longer_alt:ID});var MORE=chevrotain.createToken({name:"MORE",pattern:/MORE/i,longer_alt:ID});var LESS=chevrotain.createToken({name:"LESS",pattern:/LESS/i,longer_alt:ID});var CURRENT=chevrotain.createToken({name:"CURRENT",pattern:/CURRENT/i,longer_alt:ID});var FOLLOWING=chevrotain.createToken({name:"FOLLOWING",pattern:/FOLLOWING/i,longer_alt:ID});var PRECEDING=chevrotain.createToken({name:"PRECEDING",pattern:/PRECEDING/i,longer_alt:ID});var UNBOUNDED=chevrotain.createToken({name:"UNBOUNDED",pattern:/UNBOUNDED/i,longer_alt:ID});var WINDOW=chevrotain.createToken({name:"WINDOW",pattern:/WINDOW/i,longer_alt:ID});var DIRECTORIES=chevrotain.createToken({name:"DIRECTORIES",pattern:/DIRECTORIES/i,longer_alt:ID});var CUBE=chevrotain.createToken({name:"CUBE",pattern:/CUBE/i,longer_alt:ID});var ROLLUP=chevrotain.createToken({name:"ROLLUP",pattern:/ROLLUP/i,longer_alt:ID});var SKEWED=chevrotain.createToken({name:"SKEWED",pattern:/SKEWED/i,longer_alt:ID});var CASCADE=chevrotain.createToken({name:"CASCADE",pattern:/CASCADE/i,longer_alt:ID});var RESTRICT=chevrotain.createToken({name:"RESTRICT",pattern:/RESTRICT/i,longer_alt:ID});var UPDATE=chevrotain.createToken({name:"UPDATE",pattern:/UPDATE/i,longer_alt:ID});var SHOW_DATABASE=chevrotain.createToken({name:"SHOW_DATABASE",pattern:/SHOW_DATABASE/i,longer_alt:ID});var CONCATENATE=chevrotain.createToken({name:"CONCATENATE",pattern:/CONCATENATE/i,longer_alt:ID});var OPTION=chevrotain.createToken({name:"OPTION",pattern:/OPTION/i,longer_alt:ID});var USE=chevrotain.createToken({name:"USE",pattern:/USE/i,longer_alt:ID});var STATISTICS=chevrotain.createToken({name:"STATISTICS",pattern:/STATISTICS/i,longer_alt:ID});var COMPUTE=chevrotain.createToken({name:"COMPUTE",pattern:/COMPUTE/i,longer_alt:ID});var UNARCHIVE=chevrotain.createToken({name:"UNARCHIVE",pattern:/UNARCHIVE/i,longer_alt:ID});var ARCHIVE=chevrotain.createToken({name:"ARCHIVE",pattern:/ARCHIVE/i,longer_alt:ID});var TOUCH=chevrotain.createToken({name:"TOUCH",pattern:/TOUCH/i,longer_alt:ID});var LATERAL=chevrotain.createToken({name:"LATERAL",pattern:/LATERAL/i,longer_alt:ID});var SEMI=chevrotain.createToken({name:"SEMI",pattern:/\;/i,longer_alt:ID});var RECORDWRITER=chevrotain.createToken({name:"RECORDWRITER",pattern:/RECORDWRITER/i,longer_alt:ID});var RECORDREADER=chevrotain.createToken({name:"RECORDREADER",pattern:/RECORDREADER/i,longer_alt:ID});var TRIGGER=chevrotain.createToken({name:"TRIGGER",pattern:/TRIGGER/i,longer_alt:ID});var CURSOR=chevrotain.createToken({name:"CURSOR",pattern:/CURSOR/i,longer_alt:ID});var CONTINUE=chevrotain.createToken({name:"CONTINUE",pattern:/CONTINUE/i,longer_alt:ID});var CROSS=chevrotain.createToken({name:"CROSS",pattern:/CROSS/i,longer_alt:ID});var BINARY=chevrotain.createToken({name:"BINARY",pattern:/BINARY/i,longer_alt:ID});var BOTH=chevrotain.createToken({name:"BOTH",pattern:/BOTH/i,longer_alt:ID});var BETWEEN=chevrotain.createToken({name:"BETWEEN",pattern:/BETWEEN/i,longer_alt:ID});var BEFORE=chevrotain.createToken({name:"BEFORE",pattern:/BEFORE/i,longer_alt:ID});var ANALYZE=chevrotain.createToken({name:"ANALYZE",pattern:/ANALYZE/i,longer_alt:ID});var RANGE=chevrotain.createToken({name:"RANGE",pattern:/RANGE/i,longer_alt:ID});var PURGE=chevrotain.createToken({name:"PURGE",pattern:/PURGE/i,longer_alt:ID});var READS=chevrotain.createToken({name:"READS",pattern:/READS/i,longer_alt:ID});var WHILE=chevrotain.createToken({name:"WHILE",pattern:/WHILE/i,longer_alt:ID});var UNSIGNED=chevrotain.createToken({name:"UNSIGNED",pattern:/UNSIGNED/i,longer_alt:ID});var SIGNED=chevrotain.createToken({name:"SIGNED",pattern:/SIGNED/i,longer_alt:ID});var PROCEDURE=chevrotain.createToken({name:"PROCEDURE",pattern:/PROCEDURE/i,longer_alt:ID});var EXCLUSIVE=chevrotain.createToken({name:"EXCLUSIVE",pattern:/EXCLUSIVE/i,longer_alt:ID});var SHARED=chevrotain.createToken({name:"SHARED",pattern:/SHARED/i,longer_alt:ID});var UNLOCK=chevrotain.createToken({name:"UNLOCK",pattern:/UNLOCK/i,longer_alt:ID});var LOCKS=chevrotain.createToken({name:"LOCKS",pattern:/LOCKS/i,longer_alt:ID});var LOCK=chevrotain.createToken({name:"LOCK",pattern:/LOCK/i,longer_alt:ID});var UNDO=chevrotain.createToken({name:"UNDO",pattern:/UNDO/i,longer_alt:ID});var SSL=chevrotain.createToken({name:"SSL",pattern:/SSL/i,longer_alt:ID});var REVOKE=chevrotain.createToken({name:"REVOKE",pattern:/REVOKE/i,longer_alt:ID});var GRANT=chevrotain.createToken({name:"GRANT",pattern:/GRANT/i,longer_alt:ID});var SCHEMAS=chevrotain.createToken({name:"SCHEMAS",pattern:/SCHEMAS/i,longer_alt:ID});var SCHEMA=chevrotain.createToken({name:"SCHEMA",pattern:/SCHEMA/i,longer_alt:ID});var MATERIALIZED=chevrotain.createToken({name:"MATERIALIZED",pattern:/MATERIALIZED/i,longer_alt:ID});var DATABASES=chevrotain.createToken({name:"DATABASES",pattern:/DATABASES/i,longer_alt:ID});var DATABASE=chevrotain.createToken({name:"DATABASE",pattern:/DATABASE/i,longer_alt:ID});var VIEW=chevrotain.createToken({name:"VIEW",pattern:/VIEW/i,longer_alt:ID});var INTERSECT=chevrotain.createToken({name:"INTERSECT",pattern:/INTERSECT/i,longer_alt:ID});var FETCH=chevrotain.createToken({name:"FETCH",pattern:/FETCH/i,longer_alt:ID});var KWMINUS=chevrotain.createToken({name:"KWMINUS",pattern:/KWMINUS/i,longer_alt:ID});var KWPLUS=chevrotain.createToken({name:"KWPLUS",pattern:/KWPLUS/i,longer_alt:ID});var DELETE=chevrotain.createToken({name:"DELETE",pattern:/DELETE/i,longer_alt:ID});var LONG=chevrotain.createToken({name:"LONG",pattern:/LONG/i,longer_alt:ID});var UTCTIMESTAMP=chevrotain.createToken({name:"UTCTIMESTAMP",pattern:/UTC_TMESTAMP/i,longer_alt:ID});var UTC=chevrotain.createToken({name:"UTC",pattern:/UTC/i,longer_alt:ID});var CLUSTERSTATUS=chevrotain.createToken({name:"CLUSTERSTATUS",pattern:/CLUSTERSTATUS/i,longer_alt:ID});var HOLD_DDLTIME=chevrotain.createToken({name:"HOLD_DDLTIME",pattern:/HOLD_DDLTIME/i,longer_alt:ID});var STREAMTABLE=chevrotain.createToken({name:"STREAMTABLE",pattern:/STREAMTABLE/i,longer_alt:ID});var MAPJOIN=chevrotain.createToken({name:"MAPJOIN",pattern:/MAPJOIN/i,longer_alt:ID});var ELSE=chevrotain.createToken({name:"ELSE",pattern:/ELSE/i,longer_alt:ID});var THEN=chevrotain.createToken({name:"THEN",pattern:/THEN/i,longer_alt:ID});var WHEN=chevrotain.createToken({name:"WHEN",pattern:/WHEN/i,longer_alt:ID});var CASE=chevrotain.createToken({name:"CASE",pattern:/CASE/i,longer_alt:ID});var ELEM_TYPE=chevrotain.createToken({name:"ELEM_TYPE",pattern:/\$ELEM\$/i,longer_alt:ID});var VALUE_TYPE=chevrotain.createToken({name:"VALUE_TYPE",pattern:/\$VALUE\$/i,longer_alt:ID});var IDXPROPERTIES=chevrotain.createToken({name:"IDXPROPERTIES",pattern:/IDXPROPERTIES/i,longer_alt:ID});var TBLPROPERTIES=chevrotain.createToken({name:"TBLPROPERTIES",pattern:/TBLPROPERTIES/i,longer_alt:ID});var UNSET=chevrotain.createToken({name:"UNSET",pattern:/UNSET/i,longer_alt:ID});var SET=chevrotain.createToken({name:"SET",pattern:/SET/i,longer_alt:ID});var DBPROPERTIES=chevrotain.createToken({name:"DBPROPERTIES",pattern:/DBPROPERTIES/i,longer_alt:ID});var SERDEPROPERTIES=chevrotain.createToken({name:"SERDEPROPERTIES",pattern:/SERDEPROPERTIES/i,longer_alt:ID});var DEFERRED=chevrotain.createToken({name:"DEFERRED",pattern:/DEFERRED/i,longer_alt:ID});var WITH=chevrotain.createToken({name:"WITH",pattern:/WITH/i,longer_alt:ID});var SERDE=chevrotain.createToken({name:"SERDE",pattern:/SERDE/i,longer_alt:ID});var LOGICAL=chevrotain.createToken({name:"LOGICAL",pattern:/LOGICAL/i,longer_alt:ID});var DEPENDENCY=chevrotain.createToken({name:"DEPENDENCY",pattern:/DEPENDENCY/i,longer_alt:ID});var PRETTY=chevrotain.createToken({name:"PRETTY",pattern:/PRETTY/i,longer_alt:ID});var FORMATTED=chevrotain.createToken({name:"FORMATTED",pattern:/FORMATTED/i,longer_alt:ID});var EXTENDED=chevrotain.createToken({name:"EXTENDED",pattern:/EXTENDED/i,longer_alt:ID});var END=chevrotain.createToken({name:"END",pattern:/END/i,longer_alt:ID});var EXPLAIN=chevrotain.createToken({name:"EXPLAIN",pattern:/EXPLAIN/i,longer_alt:ID});var MACRO=chevrotain.createToken({name:"MACRO",pattern:/MACRO/i,longer_alt:ID});var TEMPORARY=chevrotain.createToken({name:"TEMPORARY",pattern:/TEMPORARY/i,longer_alt:ID});var REGEXP=chevrotain.createToken({name:"REGEXP",pattern:/REGEXP/i,longer_alt:ID});var RLIKE=chevrotain.createToken({name:"RLIKE",pattern:/RLIKE/i,longer_alt:ID});var REPLACE=chevrotain.createToken({name:"REPLACE",pattern:/REPLACE/i,longer_alt:ID});var ADD=chevrotain.createToken({name:"ADD",pattern:/ADD/i,longer_alt:ID});var CAST=chevrotain.createToken({name:"CAST",pattern:/CAST/i,longer_alt:ID});var PERCENT=chevrotain.createToken({name:"PERCENT",pattern:/PERCENT/i,longer_alt:ID});var TABLESAMPLE=chevrotain.createToken({name:"TABLESAMPLE",pattern:/TABLESAMPLE/i,longer_alt:ID});var LOCATION=chevrotain.createToken({name:"LOCATION",pattern:/LOCATION/i,longer_alt:ID});var NO_DROP=chevrotain.createToken({name:"NO_DROP",pattern:/NO_DROP/i,longer_alt:ID});var CharSetName=chevrotain.createToken({name:"CharSetName",pattern:/_([A-Za-z]|[0-9]|_|\-|\.|\:)+/i,longer_alt:ID});var READONLY=chevrotain.createToken({name:"READONLY",pattern:/READONLY/i,longer_alt:ID});var READ=chevrotain.createToken({name:"READ",pattern:/READ/i,longer_alt:ID});var DISABLE=chevrotain.createToken({name:"DISABLE",pattern:/DISABLE/i,longer_alt:ID});var ENABLE=chevrotain.createToken({name:"ENABLE",pattern:/ENABLE/i,longer_alt:ID});var OFFLINE=chevrotain.createToken({name:"OFFLINE",pattern:/OFFLINE/i,longer_alt:ID});var OF=chevrotain.createToken({name:"OF",pattern:/OF/i,longer_alt:ID});var OUTPUTDRIVER=chevrotain.createToken({name:"OUTPUTDRIVER",pattern:/OUTPUTDRIVER/i,longer_alt:ID});var INPUTDRIVER=chevrotain.createToken({name:"INPUTDRIVER",pattern:/INPUTDRIVER/i,longer_alt:ID});var OUTPUTFORMAT=chevrotain.createToken({name:"OUTPUTFORMAT",pattern:/OUTPUTFORMAT/i,longer_alt:ID});var INPUTFORMAT=chevrotain.createToken({name:"INPUTFORMAT",pattern:/INPUTFORMAT/i,longer_alt:ID});var ORCFILE=chevrotain.createToken({name:"ORCFILE",pattern:/ORC/i,longer_alt:ID});var RCFILE=chevrotain.createToken({name:"RCFILE",pattern:/RCFILE/i,longer_alt:ID});var TEXTFILE=chevrotain.createToken({name:"TEXTFILE",pattern:/TEXTFILE/i,longer_alt:ID});var TEXT=chevrotain.createToken({name:"TEXT",pattern:/TEXT/i,longer_alt:ID});var SEQUENCEFILE=chevrotain.createToken({name:"SEQUENCEFILE",pattern:/SEQUENCEFILE/i,longer_alt:ID});var FILEFORMAT=chevrotain.createToken({name:"FILEFORMAT",pattern:/FILEFORMAT/i,longer_alt:ID});var STORED=chevrotain.createToken({name:"STORED",pattern:/STORED/i,longer_alt:ID});var LINES=chevrotain.createToken({name:"LINES",pattern:/LINES/i,longer_alt:ID});var KEY_TYPE=chevrotain.createToken({name:"KEY_TYPE",pattern:/\$KEY\$/i,longer_alt:ID});var KEYS=chevrotain.createToken({name:"KEYS",pattern:/KEYS/i,longer_alt:ID});var KEY=chevrotain.createToken({name:"KEY",pattern:/KEY/i,longer_alt:ID});var ITEMS=chevrotain.createToken({name:"ITEMS",pattern:/ITEMS/i,longer_alt:ID});var COLLECTION=chevrotain.createToken({name:"COLLECTION",pattern:/COLLECTION/i,longer_alt:ID});var ESCAPED=chevrotain.createToken({name:"ESCAPED",pattern:/ESCAPED/i,longer_alt:ID});var TERMINATED=chevrotain.createToken({name:"TERMINATED",pattern:/TERMINATED/i,longer_alt:ID});var MIN=chevrotain.createToken({name:"MIN",pattern:/MIN/i,longer_alt:ID});var FIELDS=chevrotain.createToken({name:"FIELDS",pattern:/FIELDS/i,longer_alt:ID});var DELIMITED=chevrotain.createToken({name:"DELIMITED",pattern:/DELIMITED/i,longer_alt:ID});var LIMIT=chevrotain.createToken({name:"LIMIT",pattern:/LIMIT/i,longer_alt:ID});var FORMAT=chevrotain.createToken({name:"FORMAT",pattern:/FORMAT/i,longer_alt:ID});var ROWS=chevrotain.createToken({name:"ROWS",pattern:/ROWS/i,longer_alt:ID});var ROW=chevrotain.createToken({name:"ROW",pattern:/ROW/i,longer_alt:ID});var BUCKETS=chevrotain.createToken({name:"BUCKETS",pattern:/BUCKETS/i,longer_alt:ID});var BUCKET=chevrotain.createToken({name:"BUCKET",pattern:/BUCKET/i,longer_alt:ID});var INTO=chevrotain.createToken({name:"INTO",pattern:/INTO/i,longer_alt:ID});var SORTED=chevrotain.createToken({name:"SORTED",pattern:/SORTED/i,longer_alt:ID});var CLUSTERED=chevrotain.createToken({name:"CLUSTERED",pattern:/CLUSTERED/i,longer_alt:ID});var PARTITIONED=chevrotain.createToken({name:"PARTITIONED",pattern:/PARTITIONED/i,longer_alt:ID});var REDUCE=chevrotain.createToken({name:"REDUCE",pattern:/REDUCE/i,longer_alt:ID});var UNIONTYPE=chevrotain.createToken({name:"UNIONTYPE",pattern:/UNIONTYPE/i,longer_alt:ID});var MAP=chevrotain.createToken({name:"MAP",pattern:/MAP/i,longer_alt:ID});var STRUCT=chevrotain.createToken({name:"STRUCT",pattern:/STRUCT/i,longer_alt:ID});var ARRAY=chevrotain.createToken({name:"ARRAY",pattern:/ARRAY/i,longer_alt:ID});var STRING=chevrotain.createToken({name:"STRING",pattern:/STRING/i,longer_alt:ID});var DECIMAL=chevrotain.createToken({name:"DECIMAL",pattern:/DECIMAL/i,longer_alt:ID});var TIMESTAMP=chevrotain.createToken({name:"TIMESTAMP",pattern:/TIMESTAMP/i,longer_alt:ID});var DATETIME=chevrotain.createToken({name:"DATETIME",pattern:/DATETIME/i,longer_alt:ID});var TIME=chevrotain.createToken({name:"TIME",pattern:/TIME/i,longer_alt:ID});var DATE=chevrotain.createToken({name:"DATE",pattern:/DATE/i,longer_alt:ID});var DOUBLE=chevrotain.createToken({name:"DOUBLE",pattern:/DOUBLE/i,longer_alt:ID});var FLOAT=chevrotain.createToken({name:"FLOAT",pattern:/FLOAT/i,longer_alt:ID});var BIGINT=chevrotain.createToken({name:"BIGINT",pattern:/BIGINT/i,longer_alt:ID});var SMALLINT=chevrotain.createToken({name:"SMALLINT",pattern:/SMALLINT/i,longer_alt:ID});var TINYINT=chevrotain.createToken({name:"TINYINT",pattern:/TINYINT/i,longer_alt:ID});var INT=chevrotain.createToken({name:"INT",pattern:/INT/i,longer_alt:ID});var BOOLEAN=chevrotain.createToken({name:"BOOLEAN",pattern:/BOOLEAN/i,longer_alt:ID});var BOOL=chevrotain.createToken({name:"BOOL",pattern:/BOOL/i,longer_alt:ID});var COMMENT=chevrotain.createToken({name:"COMMENT",pattern:/KWCOMMENT/i,longer_alt:ID});var PROTECTION=chevrotain.createToken({name:"PROTECTION",pattern:/PROTECTION/i,longer_alt:ID});var IGNORE=chevrotain.createToken({name:"IGNORE",pattern:/IGNORE/i,longer_alt:ID});var NO=chevrotain.createToken({name:"NO",pattern:/NO/i,longer_alt:ID});var RENAME=chevrotain.createToken({name:"RENAME",pattern:/RENAME/i,longer_alt:ID});var DROP=chevrotain.createToken({name:"DROP",pattern:/DROP/i,longer_alt:ID});var DESCRIBE=chevrotain.createToken({name:"DESCRIBE",pattern:/DESCRIBE/i,longer_alt:ID});var AFTER=chevrotain.createToken({name:"AFTER",pattern:/AFTER/i,longer_alt:ID});var FIRST=chevrotain.createToken({name:"FIRST",pattern:/FIRST/i,longer_alt:ID});var CHANGE=chevrotain.createToken({name:"CHANGE",pattern:/CHANGE/i,longer_alt:ID});var ALTER=chevrotain.createToken({name:"ALTER",pattern:/ALTER/i,longer_alt:ID});var EXTERNAL=chevrotain.createToken({name:"EXTERNAL",pattern:/EXTERNAL/i,longer_alt:ID});var CREATE=chevrotain.createToken({name:"CREATE",pattern:/CREATE/i,longer_alt:ID});var NULL=chevrotain.createToken({name:"NULL",pattern:/NULL/i,longer_alt:ID});var INPATH=chevrotain.createToken({name:"INPATH",pattern:/INPATH/i,longer_alt:ID});var DATA=chevrotain.createToken({name:"DATA",pattern:/DATA/i,longer_alt:ID});var IMPORT=chevrotain.createToken({name:"IMPORT",pattern:/IMPORT/i,longer_alt:ID});var EXPORT=chevrotain.createToken({name:"EXPORT",pattern:/EXPORT/i,longer_alt:ID});var LOAD=chevrotain.createToken({name:"LOAD",pattern:/LOAD/i,longer_alt:ID});var UNION=chevrotain.createToken({name:"UNION",pattern:/UNION/i,longer_alt:ID});var SORT=chevrotain.createToken({name:"SORT",pattern:/SORT/i,longer_alt:ID});var DISTRIBUTE=chevrotain.createToken({name:"DISTRIBUTE",pattern:/DISTRIBUTE/i,longer_alt:ID});var CLUSTER=chevrotain.createToken({name:"CLUSTER",pattern:/CLUSTER/i,longer_alt:ID});var USING=chevrotain.createToken({name:"USING",pattern:/USING/i,longer_alt:ID});var TRANSFORM=chevrotain.createToken({name:"TRANSFORM",pattern:/TRANSFORM/i,longer_alt:ID});var FOR=chevrotain.createToken({name:"FOR",pattern:/FOR/i,longer_alt:ID});var LOCAL=chevrotain.createToken({name:"LOCAL",pattern:/LOCAL/i,longer_alt:ID});var DIRECTORY=chevrotain.createToken({name:"DIRECTORY",pattern:/DIRECTORY/i,longer_alt:ID});var TO=chevrotain.createToken({name:"TO",pattern:/TO/i,longer_alt:ID});var REPAIR=chevrotain.createToken({name:"REPAIR",pattern:/REPAIR/i,longer_alt:ID});var MSCK=chevrotain.createToken({name:"MSCK",pattern:/MSCK/i,longer_alt:ID});var SHOW=chevrotain.createToken({name:"SHOW",pattern:/SHOW/i,longer_alt:ID});var FUNCTIONS=chevrotain.createToken({name:"FUNCTIONS",pattern:/FUNCTIONS/i,longer_alt:ID});var FUNCTION=chevrotain.createToken({name:"FUNCTION",pattern:/FUNCTION/i,longer_alt:ID});var REBUILD=chevrotain.createToken({name:"REBUILD",pattern:/REBUILD/i,longer_alt:ID});var INDEXES=chevrotain.createToken({name:"INDEXES",pattern:/INDEXES/i,longer_alt:ID});var INDEX=chevrotain.createToken({name:"INDEX",pattern:/INDEX/i,longer_alt:ID});var COLUMNS=chevrotain.createToken({name:"COLUMNS",pattern:/COLUMNS/i,longer_alt:ID});var COLUMN=chevrotain.createToken({name:"COLUMN",pattern:/COLUMN/i,longer_alt:ID});var TABLES=chevrotain.createToken({name:"TABLES",pattern:/TABLES/i,longer_alt:ID});var TABLE=chevrotain.createToken({name:"TABLE",pattern:/TABLE/i,longer_alt:ID});var PARTITIONS=chevrotain.createToken({name:"PARTITIONS",pattern:/PARTITIONS/i,longer_alt:ID});var PARTITION=chevrotain.createToken({name:"PARTITION",pattern:/PARTITION/i,longer_alt:ID});var ON=chevrotain.createToken({name:"ON",pattern:/ON/i,longer_alt:ID});var FULL=chevrotain.createToken({name:"FULL",pattern:/FULL/i,longer_alt:ID});var RIGHT=chevrotain.createToken({name:"RIGHT",pattern:/RIGHT/i,longer_alt:ID});var LEFT=chevrotain.createToken({name:"LEFT",pattern:/LEFT/i,longer_alt:ID});var PRESERVE=chevrotain.createToken({name:"PRESERVE",pattern:/PRESERVE/i,longer_alt:ID});var UNIQUEJOIN=chevrotain.createToken({name:"UNIQUEJOIN",pattern:/UNIQUEJOIN/i,longer_alt:ID});var UNIQUE=chevrotain.createToken({name:"UNIQUE",pattern:/UNIQUE/i,longer_alt:ID});var OUTER=chevrotain.createToken({name:"OUTER",pattern:/OUTER/i,longer_alt:ID});var OUT=chevrotain.createToken({name:"OUT",pattern:/OUT/i,longer_alt:ID});var OVERWRITE=chevrotain.createToken({name:"OVERWRITE",pattern:/OVERWRITE/i,longer_alt:ID});var OVER=chevrotain.createToken({name:"OVER",pattern:/OVER/i,longer_alt:ID});var INSERT=chevrotain.createToken({name:"INSERT",pattern:/INSERT/i,longer_alt:ID});var DISTINCT=chevrotain.createToken({name:"DISTINCT",pattern:/DISTINCT/i,longer_alt:ID});var SELECT=chevrotain.createToken({name:"SELECT",pattern:/SELECT/i,longer_alt:ID});var FROM=chevrotain.createToken({name:"FROM",pattern:/FROM/i,longer_alt:ID});var WHERE=chevrotain.createToken({name:"WHERE",pattern:/WHERE/i,longer_alt:ID});var HAVING=chevrotain.createToken({name:"HAVING",pattern:/HAVING/i,longer_alt:ID});var BY=chevrotain.createToken({name:"BY",pattern:/BY/i,longer_alt:ID});var GROUP=chevrotain.createToken({name:"GROUP",pattern:/GROUP/i,longer_alt:ID});var ORDER=chevrotain.createToken({name:"ORDER",pattern:/ORDER/i,longer_alt:ID});var DESC=chevrotain.createToken({name:"DESC",pattern:/DESC/i,longer_alt:ID});var ASC=chevrotain.createToken({name:"ASC",pattern:/ASC/i,longer_alt:ID});var AS=chevrotain.createToken({name:"AS",pattern:/AS/i,longer_alt:ID});var EXISTS=chevrotain.createToken({name:"EXISTS",pattern:/EXISTS/i,longer_alt:ID});var IS=chevrotain.createToken({name:"IS",pattern:/IS/i,longer_alt:ID});var IF=chevrotain.createToken({name:"IF",pattern:/IF/i,longer_alt:ID});var JOIN=chevrotain.createToken({name:"JOIN",pattern:/JOIN/i,longer_alt:ID});var IN=chevrotain.createToken({name:"IN",pattern:/IN/i,longer_alt:ID});var LIKE=chevrotain.createToken({name:"LIKE",pattern:/LIKE/i,longer_alt:ID});var NOT=chevrotain.createToken({name:"NOT",pattern:/(NOT|\!)/i,longer_alt:ID});var OR=chevrotain.createToken({name:"OR",pattern:/OR/i,longer_alt:ID});var AND=chevrotain.createToken({name:"AND",pattern:/AND/i,longer_alt:ID});var ALL=chevrotain.createToken({name:"ALL",pattern:/ALL/i,longer_alt:ID});var FALSE=chevrotain.createToken({name:"FALSE",pattern:/FALSE/i,longer_alt:ID});var TRUE=chevrotain.createToken({name:"TRUE",pattern:/TRUE/i,longer_alt:ID});var TokenEnum;(function(TokenEnum){TokenEnum["WS"]="WS";TokenEnum["ByteLengthLiteral"]="ByteLengthLiteral";TokenEnum["DecimalLiteral"]="DecimalLiteral";TokenEnum["TinyintLiteral"]="TinyintLiteral";TokenEnum["SmallintLiteral"]="SmallintLiteral";TokenEnum["BigintLiteral"]="BigintLiteral";TokenEnum["CharSetLiteral"]="CharSetLiteral";TokenEnum["STRING_LITERAL"]="STRING_LITERAL";TokenEnum["DOLLAR"]="DOLLAR";TokenEnum["QUESTION"]="QUESTION";TokenEnum["BITWISEXOR"]="BITWISEXOR";TokenEnum["BITWISEOR"]="BITWISEOR";TokenEnum["TILDE"]="TILDE";TokenEnum["AMPERSAND"]="AMPERSAND";TokenEnum["DIV"]="DIV";TokenEnum["MOD"]="MOD";TokenEnum["STAR"]="STAR";TokenEnum["MINUS"]="MINUS";TokenEnum["PLUS"]="PLUS";TokenEnum["DIVIDE"]="DIVIDE";TokenEnum["GREATERTHAN"]="GREATERTHAN";TokenEnum["GREATERTHANOREQUALTO"]="GREATERTHANOREQUALTO";TokenEnum["LESSTHAN"]="LESSTHAN";TokenEnum["LESSTHANOREQUALTO"]="LESSTHANOREQUALTO";TokenEnum["NOTEQUAL"]="NOTEQUAL";TokenEnum["EQUAL_NS"]="EQUAL_NS";TokenEnum["EQUAL"]="EQUAL";TokenEnum["RCURLY"]="RCURLY";TokenEnum["LCURLY"]="LCURLY";TokenEnum["RSQUARE"]="RSQUARE";TokenEnum["LSQUARE"]="LSQUARE";TokenEnum["RPAREN"]="RPAREN";TokenEnum["LPAREN"]="LPAREN";TokenEnum["COMMA"]="COMMA";TokenEnum["COLON"]="COLON";TokenEnum["DOT"]="DOT";TokenEnum["ONE_DECIMAL"]="ONE_DECIMAL";TokenEnum["ZERO_DECIMAL"]="ZERO_DECIMAL";TokenEnum["Number"]="Number";TokenEnum["LIFECYCLE"]="LIFECYCLE";TokenEnum["TABLESPACE"]="TABLESPACE";TokenEnum["STATS_PERSISTENT"]="STATS_PERSISTENT";TokenEnum["STATS_AUTO_RECALC"]="STATS_AUTO_RECALC";TokenEnum["COMPACT"]="COMPACT";TokenEnum["REDUNDANT"]="REDUNDANT";TokenEnum["COMPRESSED"]="COMPRESSED";TokenEnum["ROW_FORMAT"]="ROW_FORMAT";TokenEnum["PASSWORD"]="PASSWORD";TokenEnum["PACK_KEYS"]="PACK_KEYS";TokenEnum["MIN_ROWS"]="MIN_ROWS";TokenEnum["MAX_ROWS"]="MAX_ROWS";TokenEnum["KEY_BLOCK_SIZE"]="KEY_BLOCK_SIZE";TokenEnum["LAST"]="LAST";TokenEnum["INSERT_METHOD"]="INSERT_METHOD";TokenEnum["ENCRYPTION"]="ENCRYPTION";TokenEnum["DELAY_KEY_WRITE"]="DELAY_KEY_WRITE";TokenEnum["CONNECTION"]="CONNECTION";TokenEnum["COMPRESSION"]="COMPRESSION";TokenEnum["AVG_ROW_LENGTH"]="AVG_ROW_LENGTH";TokenEnum["ENGINE"]="ENGINE";TokenEnum["CHECKSUM"]="CHECKSUM";TokenEnum["CHARSET"]="CHARSET";TokenEnum["PERFOMANCE_SCHEMA"]="PERFOMANCE_SCHEMA";TokenEnum["NDBCLUSTER"]="NDBCLUSTER";TokenEnum["NDB"]="NDB";TokenEnum["MRG_MYISAM"]="MRG_MYISAM";TokenEnum["MYISAM"]="MYISAM";TokenEnum["INNODB"]="INNODB";TokenEnum["FEDERATED"]="FEDERATED";TokenEnum["CSV"]="CSV";TokenEnum["BLACKHOLE"]="BLACKHOLE";TokenEnum["MULTIPOLYGON"]="MULTIPOLYGON";TokenEnum["POLYGON"]="POLYGON";TokenEnum["MULTIPOINT"]="MULTIPOINT";TokenEnum["POINT"]="POINT";TokenEnum["MULTILINESTRING"]="MULTILINESTRING";TokenEnum["LINESTRING"]="LINESTRING";TokenEnum["GEOMETRYCOLLECTION"]="GEOMETRYCOLLECTION";TokenEnum["ENUM"]="ENUM";TokenEnum["VARBINARY"]="VARBINARY";TokenEnum["LONGBLOB"]="LONGBLOB";TokenEnum["MEDIUMBLOB"]="MEDIUMBLOB";TokenEnum["TINYBLOB"]="TINYBLOB";TokenEnum["BLOB"]="BLOB";TokenEnum["NUMERIC"]="NUMERIC";TokenEnum["REAL"]="REAL";TokenEnum["ZEROFILL"]="ZEROFILL";TokenEnum["MEDIUMINT"]="MEDIUMINT";TokenEnum["COLLATE"]="COLLATE";TokenEnum["LONGTEXT"]="LONGTEXT";TokenEnum["MEDIUMTEXT"]="MEDIUMTEXT";TokenEnum["TINYTEXT"]="TINYTEXT";TokenEnum["VARCHAR"]="VARCHAR";TokenEnum["MEMORY"]="MEMORY";TokenEnum["DISK"]="DISK";TokenEnum["STORAGE"]="STORAGE";TokenEnum["DYNAMIC"]="DYNAMIC";TokenEnum["FIXED"]="FIXED";TokenEnum["COLUMN_FORMAT"]="COLUMN_FORMAT";TokenEnum["PRIMARY"]="PRIMARY";TokenEnum["AUTO_INCREMENT"]="AUTO_INCREMENT";TokenEnum["DEFAULT"]="DEFAULT";TokenEnum["STRAIGHT_JOIN"]="STRAIGHT_JOIN";TokenEnum["STARTING"]="STARTING";TokenEnum["ENCLOSED"]="ENCLOSED";TokenEnum["OPTIONALLY"]="OPTIONALLY";TokenEnum["OUTFILE"]="OUTFILE";TokenEnum["DUMPFILE"]="DUMPFILE";TokenEnum["GET_FORMAT"]="GET_FORMAT";TokenEnum["CONVERT"]="CONVERT";TokenEnum["WEIGHT_STRING"]="WEIGHT_STRING";TokenEnum["TRIM"]="TRIM";TokenEnum["SYSDATE"]="SYSDATE";TokenEnum["SUBSTRING"]="SUBSTRING";TokenEnum["SUBSTR"]="SUBSTR";TokenEnum["POSITION"]="POSITION";TokenEnum["NOW"]="NOW";TokenEnum["LOCALTIMESTAMP"]="LOCALTIMESTAMP";TokenEnum["EXTRACT"]="EXTRACT";TokenEnum["DATE_SUB"]="DATE_SUB";TokenEnum["DATE_ADD"]="DATE_ADD";TokenEnum["CURTIME"]="CURTIME";TokenEnum["CURDATE"]="CURDATE";TokenEnum["LOCALTIME"]="LOCALTIME";TokenEnum["CURRENT_USER"]="CURRENT_USER";TokenEnum["CURRENT_TIMESTAMP"]="CURRENT_TIMESTAMP";TokenEnum["CURRENT_TIME"]="CURRENT_TIME";TokenEnum["CURRENT_DATE"]="CURRENT_DATE";TokenEnum["QUARTER"]="QUARTER";TokenEnum["VARIANCE"]="VARIANCE";TokenEnum["VAR_SAMP"]="VAR_SAMP";TokenEnum["VAR_POP"]="VAR_POP";TokenEnum["SUM"]="SUM";TokenEnum["STDDEV_SAMP"]="STDDEV_SAMP";TokenEnum["STDDEV_POP"]="STDDEV_POP";TokenEnum["STDDEV"]="STDDEV";TokenEnum["STD"]="STD";TokenEnum["MAX"]="MAX";TokenEnum["GROUP_CONCAT"]="GROUP_CONCAT";TokenEnum["COUNT"]="COUNT";TokenEnum["BIT_XOR"]="BIT_XOR";TokenEnum["BIT_OR"]="BIT_OR";TokenEnum["BIT_AND"]="BIT_AND";TokenEnum["BIT"]="BIT";TokenEnum["AVG"]="AVG";TokenEnum["UTC_TIMESTAMP"]="UTC_TIMESTAMP";TokenEnum["UTC_TIME"]="UTC_TIME";TokenEnum["UTC_DATE"]="UTC_DATE";TokenEnum["TRAILING"]="TRAILING";TokenEnum["LEADING"]="LEADING";TokenEnum["REVERSE"]="REVERSE";TokenEnum["LEVEL"]="LEVEL";TokenEnum["WEEK"]="WEEK";TokenEnum["DAY_MICROSECOND"]="DAY_MICROSECOND";TokenEnum["HOUR_MICROSECOND"]="HOUR_MICROSECOND";TokenEnum["MINUTE_MICROSECOND"]="MINUTE_MICROSECOND";TokenEnum["SECOND_MICROSECOND"]="SECOND_MICROSECOND";TokenEnum["MICROSECOND"]="MICROSECOND";TokenEnum["MINUTE_SECOND"]="MINUTE_SECOND";TokenEnum["HOUR_SECOND"]="HOUR_SECOND";TokenEnum["HOUR_MINUTE"]="HOUR_MINUTE";TokenEnum["DAY_SECOND"]="DAY_SECOND";TokenEnum["SECOND"]="SECOND";TokenEnum["DAY_MINUTE"]="DAY_MINUTE";TokenEnum["MINUTE"]="MINUTE";TokenEnum["DAY_HOUR"]="DAY_HOUR";TokenEnum["HOUR"]="HOUR";TokenEnum["DAY"]="DAY";TokenEnum["YEAR_MONTH"]="YEAR_MONTH";TokenEnum["MONTH"]="MONTH";TokenEnum["YEAR"]="YEAR";TokenEnum["INTEGER"]="INTEGER";TokenEnum["CHARACTER"]="CHARACTER";TokenEnum["NCHAR"]="NCHAR";TokenEnum["CHAR"]="CHAR";TokenEnum["VALUES"]="VALUES";TokenEnum["VALUE"]="VALUE";TokenEnum["EXCHANGE"]="EXCHANGE";TokenEnum["INNER"]="INNER";TokenEnum["ROLE"]="ROLE";TokenEnum["USER"]="USER";TokenEnum["PARTIALSCAN"]="PARTIALSCAN";TokenEnum["NOSCAN"]="NOSCAN";TokenEnum["TRUNCATE"]="TRUNCATE";TokenEnum["SETS"]="SETS";TokenEnum["GROUPING"]="GROUPING";TokenEnum["MORE"]="MORE";TokenEnum["LESS"]="LESS";TokenEnum["CURRENT"]="CURRENT";TokenEnum["FOLLOWING"]="FOLLOWING";TokenEnum["PRECEDING"]="PRECEDING";TokenEnum["UNBOUNDED"]="UNBOUNDED";TokenEnum["WINDOW"]="WINDOW";TokenEnum["DIRECTORIES"]="DIRECTORIES";TokenEnum["CUBE"]="CUBE";TokenEnum["ROLLUP"]="ROLLUP";TokenEnum["SKEWED"]="SKEWED";TokenEnum["CASCADE"]="CASCADE";TokenEnum["RESTRICT"]="RESTRICT";TokenEnum["UPDATE"]="UPDATE";TokenEnum["SHOW_DATABASE"]="SHOW_DATABASE";TokenEnum["CONCATENATE"]="CONCATENATE";TokenEnum["OPTION"]="OPTION";TokenEnum["USE"]="USE";TokenEnum["STATISTICS"]="STATISTICS";TokenEnum["COMPUTE"]="COMPUTE";TokenEnum["UNARCHIVE"]="UNARCHIVE";TokenEnum["ARCHIVE"]="ARCHIVE";TokenEnum["TOUCH"]="TOUCH";TokenEnum["LATERAL"]="LATERAL";TokenEnum["SEMI"]="SEMI";TokenEnum["RECORDWRITER"]="RECORDWRITER";TokenEnum["RECORDREADER"]="RECORDREADER";TokenEnum["TRIGGER"]="TRIGGER";TokenEnum["CURSOR"]="CURSOR";TokenEnum["CONTINUE"]="CONTINUE";TokenEnum["CROSS"]="CROSS";TokenEnum["BINARY"]="BINARY";TokenEnum["BOTH"]="BOTH";TokenEnum["BETWEEN"]="BETWEEN";TokenEnum["BEFORE"]="BEFORE";TokenEnum["ANALYZE"]="ANALYZE";TokenEnum["RANGE"]="RANGE";TokenEnum["PURGE"]="PURGE";TokenEnum["READS"]="READS";TokenEnum["WHILE"]="WHILE";TokenEnum["UNSIGNED"]="UNSIGNED";TokenEnum["SIGNED"]="SIGNED";TokenEnum["PROCEDURE"]="PROCEDURE";TokenEnum["EXCLUSIVE"]="EXCLUSIVE";TokenEnum["SHARED"]="SHARED";TokenEnum["UNLOCK"]="UNLOCK";TokenEnum["LOCKS"]="LOCKS";TokenEnum["LOCK"]="LOCK";TokenEnum["UNDO"]="UNDO";TokenEnum["SSL"]="SSL";TokenEnum["REVOKE"]="REVOKE";TokenEnum["GRANT"]="GRANT";TokenEnum["SCHEMAS"]="SCHEMAS";TokenEnum["SCHEMA"]="SCHEMA";TokenEnum["MATERIALIZED"]="MATERIALIZED";TokenEnum["DATABASES"]="DATABASES";TokenEnum["DATABASE"]="DATABASE";TokenEnum["VIEW"]="VIEW";TokenEnum["INTERSECT"]="INTERSECT";TokenEnum["FETCH"]="FETCH";TokenEnum["KWMINUS"]="KWMINUS";TokenEnum["KWPLUS"]="KWPLUS";TokenEnum["DELETE"]="DELETE";TokenEnum["LONG"]="LONG";TokenEnum["UTCTIMESTAMP"]="UTCTIMESTAMP";TokenEnum["UTC"]="UTC";TokenEnum["CLUSTERSTATUS"]="CLUSTERSTATUS";TokenEnum["HOLD_DDLTIME"]="HOLD_DDLTIME";TokenEnum["STREAMTABLE"]="STREAMTABLE";TokenEnum["MAPJOIN"]="MAPJOIN";TokenEnum["ELSE"]="ELSE";TokenEnum["THEN"]="THEN";TokenEnum["WHEN"]="WHEN";TokenEnum["CASE"]="CASE";TokenEnum["ELEM_TYPE"]="ELEM_TYPE";TokenEnum["VALUE_TYPE"]="VALUE_TYPE";TokenEnum["IDXPROPERTIES"]="IDXPROPERTIES";TokenEnum["TBLPROPERTIES"]="TBLPROPERTIES";TokenEnum["UNSET"]="UNSET";TokenEnum["SET"]="SET";TokenEnum["DBPROPERTIES"]="DBPROPERTIES";TokenEnum["SERDEPROPERTIES"]="SERDEPROPERTIES";TokenEnum["DEFERRED"]="DEFERRED";TokenEnum["WITH"]="WITH";TokenEnum["SERDE"]="SERDE";TokenEnum["LOGICAL"]="LOGICAL";TokenEnum["DEPENDENCY"]="DEPENDENCY";TokenEnum["PRETTY"]="PRETTY";TokenEnum["FORMATTED"]="FORMATTED";TokenEnum["EXTENDED"]="EXTENDED";TokenEnum["END"]="END";TokenEnum["EXPLAIN"]="EXPLAIN";TokenEnum["MACRO"]="MACRO";TokenEnum["TEMPORARY"]="TEMPORARY";TokenEnum["REGEXP"]="REGEXP";TokenEnum["RLIKE"]="RLIKE";TokenEnum["REPLACE"]="REPLACE";TokenEnum["ADD"]="ADD";TokenEnum["CAST"]="CAST";TokenEnum["PERCENT"]="PERCENT";TokenEnum["TABLESAMPLE"]="TABLESAMPLE";TokenEnum["LOCATION"]="LOCATION";TokenEnum["NO_DROP"]="NO_DROP";TokenEnum["CharSetName"]="CharSetName";TokenEnum["READONLY"]="READONLY";TokenEnum["READ"]="READ";TokenEnum["DISABLE"]="DISABLE";TokenEnum["ENABLE"]="ENABLE";TokenEnum["OFFLINE"]="OFFLINE";TokenEnum["OF"]="OF";TokenEnum["OUTPUTDRIVER"]="OUTPUTDRIVER";TokenEnum["INPUTDRIVER"]="INPUTDRIVER";TokenEnum["OUTPUTFORMAT"]="OUTPUTFORMAT";TokenEnum["INPUTFORMAT"]="INPUTFORMAT";TokenEnum["ORCFILE"]="ORCFILE";TokenEnum["RCFILE"]="RCFILE";TokenEnum["TEXTFILE"]="TEXTFILE";TokenEnum["TEXT"]="TEXT";TokenEnum["SEQUENCEFILE"]="SEQUENCEFILE";TokenEnum["FILEFORMAT"]="FILEFORMAT";TokenEnum["STORED"]="STORED";TokenEnum["LINES"]="LINES";TokenEnum["KEY_TYPE"]="KEY_TYPE";TokenEnum["KEYS"]="KEYS";TokenEnum["KEY"]="KEY";TokenEnum["ITEMS"]="ITEMS";TokenEnum["COLLECTION"]="COLLECTION";TokenEnum["ESCAPED"]="ESCAPED";TokenEnum["TERMINATED"]="TERMINATED";TokenEnum["MIN"]="MIN";TokenEnum["FIELDS"]="FIELDS";TokenEnum["DELIMITED"]="DELIMITED";TokenEnum["LIMIT"]="LIMIT";TokenEnum["FORMAT"]="FORMAT";TokenEnum["ROWS"]="ROWS";TokenEnum["ROW"]="ROW";TokenEnum["BUCKETS"]="BUCKETS";TokenEnum["BUCKET"]="BUCKET";TokenEnum["INTO"]="INTO";TokenEnum["SORTED"]="SORTED";TokenEnum["CLUSTERED"]="CLUSTERED";TokenEnum["PARTITIONED"]="PARTITIONED";TokenEnum["REDUCE"]="REDUCE";TokenEnum["UNIONTYPE"]="UNIONTYPE";TokenEnum["MAP"]="MAP";TokenEnum["STRUCT"]="STRUCT";TokenEnum["ARRAY"]="ARRAY";TokenEnum["STRING"]="STRING";TokenEnum["DECIMAL"]="DECIMAL";TokenEnum["TIMESTAMP"]="TIMESTAMP";TokenEnum["DATETIME"]="DATETIME";TokenEnum["TIME"]="TIME";TokenEnum["DATE"]="DATE";TokenEnum["DOUBLE"]="DOUBLE";TokenEnum["FLOAT"]="FLOAT";TokenEnum["BIGINT"]="BIGINT";TokenEnum["SMALLINT"]="SMALLINT";TokenEnum["TINYINT"]="TINYINT";TokenEnum["INT"]="INT";TokenEnum["BOOLEAN"]="BOOLEAN";TokenEnum["BOOL"]="BOOL";TokenEnum["COMMENT"]="COMMENT";TokenEnum["PROTECTION"]="PROTECTION";TokenEnum["IGNORE"]="IGNORE";TokenEnum["NO"]="NO";TokenEnum["RENAME"]="RENAME";TokenEnum["DROP"]="DROP";TokenEnum["DESCRIBE"]="DESCRIBE";TokenEnum["AFTER"]="AFTER";TokenEnum["FIRST"]="FIRST";TokenEnum["CHANGE"]="CHANGE";TokenEnum["ALTER"]="ALTER";TokenEnum["EXTERNAL"]="EXTERNAL";TokenEnum["CREATE"]="CREATE";TokenEnum["NULL"]="NULL";TokenEnum["INPATH"]="INPATH";TokenEnum["DATA"]="DATA";TokenEnum["IMPORT"]="IMPORT";TokenEnum["EXPORT"]="EXPORT";TokenEnum["LOAD"]="LOAD";TokenEnum["UNION"]="UNION";TokenEnum["SORT"]="SORT";TokenEnum["DISTRIBUTE"]="DISTRIBUTE";TokenEnum["CLUSTER"]="CLUSTER";TokenEnum["USING"]="USING";TokenEnum["TRANSFORM"]="TRANSFORM";TokenEnum["FOR"]="FOR";TokenEnum["LOCAL"]="LOCAL";TokenEnum["DIRECTORY"]="DIRECTORY";TokenEnum["TO"]="TO";TokenEnum["REPAIR"]="REPAIR";TokenEnum["MSCK"]="MSCK";TokenEnum["SHOW"]="SHOW";TokenEnum["FUNCTIONS"]="FUNCTIONS";TokenEnum["FUNCTION"]="FUNCTION";TokenEnum["REBUILD"]="REBUILD";TokenEnum["INDEXES"]="INDEXES";TokenEnum["INDEX"]="INDEX";TokenEnum["COLUMNS"]="COLUMNS";TokenEnum["COLUMN"]="COLUMN";TokenEnum["TABLES"]="TABLES";TokenEnum["TABLE"]="TABLE";TokenEnum["PARTITIONS"]="PARTITIONS";TokenEnum["PARTITION"]="PARTITION";TokenEnum["ON"]="ON";TokenEnum["FULL"]="FULL";TokenEnum["RIGHT"]="RIGHT";TokenEnum["LEFT"]="LEFT";TokenEnum["PRESERVE"]="PRESERVE";TokenEnum["UNIQUEJOIN"]="UNIQUEJOIN";TokenEnum["UNIQUE"]="UNIQUE";TokenEnum["OUTER"]="OUTER";TokenEnum["OUT"]="OUT";TokenEnum["OVERWRITE"]="OVERWRITE";TokenEnum["OVER"]="OVER";TokenEnum["INSERT"]="INSERT";TokenEnum["DISTINCT"]="DISTINCT";TokenEnum["SELECT"]="SELECT";TokenEnum["FROM"]="FROM";TokenEnum["WHERE"]="WHERE";TokenEnum["HAVING"]="HAVING";TokenEnum["BY"]="BY";TokenEnum["GROUP"]="GROUP";TokenEnum["ORDER"]="ORDER";TokenEnum["DESC"]="DESC";TokenEnum["ASC"]="ASC";TokenEnum["AS"]="AS";TokenEnum["EXISTS"]="EXISTS";TokenEnum["IS"]="IS";TokenEnum["IF"]="IF";TokenEnum["JOIN"]="JOIN";TokenEnum["IN"]="IN";TokenEnum["LIKE"]="LIKE";TokenEnum["NOT"]="NOT";TokenEnum["OR"]="OR";TokenEnum["AND"]="AND";TokenEnum["ALL"]="ALL";TokenEnum["FALSE"]="FALSE";TokenEnum["TRUE"]="TRUE";TokenEnum["ID"]="ID"})(TokenEnum=exports.TokenEnum||(exports.TokenEnum={}));exports.Tokens={WS:WS,ByteLengthLiteral:ByteLengthLiteral,DecimalLiteral:DecimalLiteral,TinyintLiteral:TinyintLiteral,SmallintLiteral:SmallintLiteral,BigintLiteral:BigintLiteral,CharSetLiteral:CharSetLiteral,STRING_LITERAL:STRING_LITERAL,DOLLAR:DOLLAR,QUESTION:QUESTION,BITWISEXOR:BITWISEXOR,BITWISEOR:BITWISEOR,TILDE:TILDE,AMPERSAND:AMPERSAND,DIV:DIV,MOD:MOD,STAR:STAR,MINUS:MINUS,PLUS:PLUS,DIVIDE:DIVIDE,GREATERTHAN:GREATERTHAN,GREATERTHANOREQUALTO:GREATERTHANOREQUALTO,LESSTHAN:LESSTHAN,LESSTHANOREQUALTO:LESSTHANOREQUALTO,NOTEQUAL:NOTEQUAL,EQUAL_NS:EQUAL_NS,EQUAL:EQUAL,RCURLY:RCURLY,LCURLY:LCURLY,RSQUARE:RSQUARE,LSQUARE:LSQUARE,RPAREN:RPAREN,LPAREN:LPAREN,COMMA:COMMA,COLON:COLON,DOT:DOT,ONE_DECIMAL:ONE_DECIMAL,ZERO_DECIMAL:ZERO_DECIMAL,Number:Number,LIFECYCLE:LIFECYCLE,TABLESPACE:TABLESPACE,STATS_PERSISTENT:STATS_PERSISTENT,STATS_AUTO_RECALC:STATS_AUTO_RECALC,COMPACT:COMPACT,REDUNDANT:REDUNDANT,COMPRESSED:COMPRESSED,ROW_FORMAT:ROW_FORMAT,PASSWORD:PASSWORD,PACK_KEYS:PACK_KEYS,MIN_ROWS:MIN_ROWS,MAX_ROWS:MAX_ROWS,KEY_BLOCK_SIZE:KEY_BLOCK_SIZE,LAST:LAST,INSERT_METHOD:INSERT_METHOD,ENCRYPTION:ENCRYPTION,DELAY_KEY_WRITE:DELAY_KEY_WRITE,CONNECTION:CONNECTION,COMPRESSION:COMPRESSION,AVG_ROW_LENGTH:AVG_ROW_LENGTH,ENGINE:ENGINE,CHECKSUM:CHECKSUM,CHARSET:CHARSET,PERFOMANCE_SCHEMA:PERFOMANCE_SCHEMA,NDBCLUSTER:NDBCLUSTER,NDB:NDB,MRG_MYISAM:MRG_MYISAM,MYISAM:MYISAM,INNODB:INNODB,FEDERATED:FEDERATED,CSV:CSV,BLACKHOLE:BLACKHOLE,MULTIPOLYGON:MULTIPOLYGON,POLYGON:POLYGON,MULTIPOINT:MULTIPOINT,POINT:POINT,MULTILINESTRING:MULTILINESTRING,LINESTRING:LINESTRING,GEOMETRYCOLLECTION:GEOMETRYCOLLECTION,ENUM:ENUM,VARBINARY:VARBINARY,LONGBLOB:LONGBLOB,MEDIUMBLOB:MEDIUMBLOB,TINYBLOB:TINYBLOB,BLOB:BLOB,NUMERIC:NUMERIC,REAL:REAL,ZEROFILL:ZEROFILL,MEDIUMINT:MEDIUMINT,COLLATE:COLLATE,LONGTEXT:LONGTEXT,MEDIUMTEXT:MEDIUMTEXT,TINYTEXT:TINYTEXT,VARCHAR:VARCHAR,MEMORY:MEMORY,DISK:DISK,STORAGE:STORAGE,DYNAMIC:DYNAMIC,FIXED:FIXED,COLUMN_FORMAT:COLUMN_FORMAT,PRIMARY:PRIMARY,AUTO_INCREMENT:AUTO_INCREMENT,DEFAULT:DEFAULT,STRAIGHT_JOIN:STRAIGHT_JOIN,STARTING:STARTING,ENCLOSED:ENCLOSED,OPTIONALLY:OPTIONALLY,OUTFILE:OUTFILE,DUMPFILE:DUMPFILE,GET_FORMAT:GET_FORMAT,CONVERT:CONVERT,WEIGHT_STRING:WEIGHT_STRING,TRIM:TRIM,SYSDATE:SYSDATE,SUBSTRING:SUBSTRING,SUBSTR:SUBSTR,POSITION:POSITION,NOW:NOW,LOCALTIMESTAMP:LOCALTIMESTAMP,EXTRACT:EXTRACT,DATE_SUB:DATE_SUB,DATE_ADD:DATE_ADD,CURTIME:CURTIME,CURDATE:CURDATE,LOCALTIME:LOCALTIME,CURRENT_USER:CURRENT_USER,CURRENT_TIMESTAMP:CURRENT_TIMESTAMP,CURRENT_TIME:CURRENT_TIME,CURRENT_DATE:CURRENT_DATE,QUARTER:QUARTER,VARIANCE:VARIANCE,VAR_SAMP:VAR_SAMP,VAR_POP:VAR_POP,SUM:SUM,STDDEV_SAMP:STDDEV_SAMP,STDDEV_POP:STDDEV_POP,STDDEV:STDDEV,STD:STD,MAX:MAX,GROUP_CONCAT:GROUP_CONCAT,COUNT:COUNT,BIT_XOR:BIT_XOR,BIT_OR:BIT_OR,BIT_AND:BIT_AND,BIT:BIT,AVG:AVG,UTC_TIMESTAMP:UTC_TIMESTAMP,UTC_TIME:UTC_TIME,UTC_DATE:UTC_DATE,TRAILING:TRAILING,LEADING:LEADING,REVERSE:REVERSE,LEVEL:LEVEL,WEEK:WEEK,DAY_MICROSECOND:DAY_MICROSECOND,HOUR_MICROSECOND:HOUR_MICROSECOND,MINUTE_MICROSECOND:MINUTE_MICROSECOND,SECOND_MICROSECOND:SECOND_MICROSECOND,MICROSECOND:MICROSECOND,MINUTE_SECOND:MINUTE_SECOND,HOUR_SECOND:HOUR_SECOND,HOUR_MINUTE:HOUR_MINUTE,DAY_SECOND:DAY_SECOND,SECOND:SECOND,DAY_MINUTE:DAY_MINUTE,MINUTE:MINUTE,DAY_HOUR:DAY_HOUR,HOUR:HOUR,DAY:DAY,YEAR_MONTH:YEAR_MONTH,MONTH:MONTH,YEAR:YEAR,INTEGER:INTEGER,CHARACTER:CHARACTER,NCHAR:NCHAR,CHAR:CHAR,VALUES:VALUES,VALUE:VALUE,EXCHANGE:EXCHANGE,INNER:INNER,ROLE:ROLE,USER:USER,PARTIALSCAN:PARTIALSCAN,NOSCAN:NOSCAN,TRUNCATE:TRUNCATE,SETS:SETS,GROUPING:GROUPING,MORE:MORE,LESS:LESS,CURRENT:CURRENT,FOLLOWING:FOLLOWING,PRECEDING:PRECEDING,UNBOUNDED:UNBOUNDED,WINDOW:WINDOW,DIRECTORIES:DIRECTORIES,CUBE:CUBE,ROLLUP:ROLLUP,SKEWED:SKEWED,CASCADE:CASCADE,RESTRICT:RESTRICT,UPDATE:UPDATE,SHOW_DATABASE:SHOW_DATABASE,CONCATENATE:CONCATENATE,OPTION:OPTION,USE:USE,STATISTICS:STATISTICS,COMPUTE:COMPUTE,UNARCHIVE:UNARCHIVE,ARCHIVE:ARCHIVE,TOUCH:TOUCH,LATERAL:LATERAL,SEMI:SEMI,RECORDWRITER:RECORDWRITER,RECORDREADER:RECORDREADER,TRIGGER:TRIGGER,CURSOR:CURSOR,CONTINUE:CONTINUE,CROSS:CROSS,BINARY:BINARY,BOTH:BOTH,BETWEEN:BETWEEN,BEFORE:BEFORE,ANALYZE:ANALYZE,RANGE:RANGE,PURGE:PURGE,READS:READS,WHILE:WHILE,UNSIGNED:UNSIGNED,SIGNED:SIGNED,PROCEDURE:PROCEDURE,EXCLUSIVE:EXCLUSIVE,SHARED:SHARED,UNLOCK:UNLOCK,LOCKS:LOCKS,LOCK:LOCK,UNDO:UNDO,SSL:SSL,REVOKE:REVOKE,GRANT:GRANT,SCHEMAS:SCHEMAS,SCHEMA:SCHEMA,MATERIALIZED:MATERIALIZED,DATABASES:DATABASES,DATABASE:DATABASE,VIEW:VIEW,INTERSECT:INTERSECT,FETCH:FETCH,KWMINUS:KWMINUS,KWPLUS:KWPLUS,DELETE:DELETE,LONG:LONG,UTCTIMESTAMP:UTCTIMESTAMP,UTC:UTC,CLUSTERSTATUS:CLUSTERSTATUS,HOLD_DDLTIME:HOLD_DDLTIME,STREAMTABLE:STREAMTABLE,MAPJOIN:MAPJOIN,ELSE:ELSE,THEN:THEN,WHEN:WHEN,CASE:CASE,ELEM_TYPE:ELEM_TYPE,VALUE_TYPE:VALUE_TYPE,IDXPROPERTIES:IDXPROPERTIES,TBLPROPERTIES:TBLPROPERTIES,UNSET:UNSET,SET:SET,DBPROPERTIES:DBPROPERTIES,SERDEPROPERTIES:SERDEPROPERTIES,DEFERRED:DEFERRED,WITH:WITH,SERDE:SERDE,LOGICAL:LOGICAL,DEPENDENCY:DEPENDENCY,PRETTY:PRETTY,FORMATTED:FORMATTED,EXTENDED:EXTENDED,END:END,EXPLAIN:EXPLAIN,MACRO:MACRO,TEMPORARY:TEMPORARY,REGEXP:REGEXP,RLIKE:RLIKE,REPLACE:REPLACE,ADD:ADD,CAST:CAST,PERCENT:PERCENT,TABLESAMPLE:TABLESAMPLE,LOCATION:LOCATION,NO_DROP:NO_DROP,CharSetName:CharSetName,READONLY:READONLY,READ:READ,DISABLE:DISABLE,ENABLE:ENABLE,OFFLINE:OFFLINE,OF:OF,OUTPUTDRIVER:OUTPUTDRIVER,INPUTDRIVER:INPUTDRIVER,OUTPUTFORMAT:OUTPUTFORMAT,INPUTFORMAT:INPUTFORMAT,ORCFILE:ORCFILE,RCFILE:RCFILE,TEXTFILE:TEXTFILE,TEXT:TEXT,SEQUENCEFILE:SEQUENCEFILE,FILEFORMAT:FILEFORMAT,STORED:STORED,LINES:LINES,KEY_TYPE:KEY_TYPE,KEYS:KEYS,KEY:KEY,ITEMS:ITEMS,COLLECTION:COLLECTION,ESCAPED:ESCAPED,TERMINATED:TERMINATED,MIN:MIN,FIELDS:FIELDS,DELIMITED:DELIMITED,LIMIT:LIMIT,FORMAT:FORMAT,ROWS:ROWS,ROW:ROW,BUCKETS:BUCKETS,BUCKET:BUCKET,INTO:INTO,SORTED:SORTED,CLUSTERED:CLUSTERED,PARTITIONED:PARTITIONED,REDUCE:REDUCE,UNIONTYPE:UNIONTYPE,MAP:MAP,STRUCT:STRUCT,ARRAY:ARRAY,STRING:STRING,DECIMAL:DECIMAL,TIMESTAMP:TIMESTAMP,DATETIME:DATETIME,TIME:TIME,DATE:DATE,DOUBLE:DOUBLE,FLOAT:FLOAT,BIGINT:BIGINT,SMALLINT:SMALLINT,TINYINT:TINYINT,INT:INT,BOOLEAN:BOOLEAN,BOOL:BOOL,COMMENT:COMMENT,PROTECTION:PROTECTION,IGNORE:IGNORE,NO:NO,RENAME:RENAME,DROP:DROP,DESCRIBE:DESCRIBE,AFTER:AFTER,FIRST:FIRST,CHANGE:CHANGE,ALTER:ALTER,EXTERNAL:EXTERNAL,CREATE:CREATE,NULL:NULL,INPATH:INPATH,DATA:DATA,IMPORT:IMPORT,EXPORT:EXPORT,LOAD:LOAD,UNION:UNION,SORT:SORT,DISTRIBUTE:DISTRIBUTE,CLUSTER:CLUSTER,USING:USING,TRANSFORM:TRANSFORM,FOR:FOR,LOCAL:LOCAL,DIRECTORY:DIRECTORY,TO:TO,REPAIR:REPAIR,MSCK:MSCK,SHOW:SHOW,FUNCTIONS:FUNCTIONS,FUNCTION:FUNCTION,REBUILD:REBUILD,INDEXES:INDEXES,INDEX:INDEX,COLUMNS:COLUMNS,COLUMN:COLUMN,TABLES:TABLES,TABLE:TABLE,PARTITIONS:PARTITIONS,PARTITION:PARTITION,ON:ON,FULL:FULL,RIGHT:RIGHT,LEFT:LEFT,PRESERVE:PRESERVE,UNIQUEJOIN:UNIQUEJOIN,UNIQUE:UNIQUE,OUTER:OUTER,OUT:OUT,OVERWRITE:OVERWRITE,OVER:OVER,INSERT:INSERT,DISTINCT:DISTINCT,SELECT:SELECT,FROM:FROM,WHERE:WHERE,HAVING:HAVING,BY:BY,GROUP:GROUP,ORDER:ORDER,DESC:DESC,ASC:ASC,AS:AS,EXISTS:EXISTS,IS:IS,IF:IF,JOIN:JOIN,IN:IN,LIKE:LIKE,NOT:NOT,OR:OR,AND:AND,ALL:ALL,FALSE:FALSE,TRUE:TRUE,ID:ID};exports.tokens=[WhiteSpace,WS,ByteLengthLiteral,DecimalLiteral,TinyintLiteral,SmallintLiteral,BigintLiteral,CharSetLiteral,STRING_LITERAL,DOLLAR,QUESTION,BITWISEXOR,BITWISEOR,TILDE,AMPERSAND,DIV,MOD,STAR,MINUS,PLUS,DIVIDE,GREATERTHAN,GREATERTHANOREQUALTO,LESSTHAN,LESSTHANOREQUALTO,NOTEQUAL,EQUAL_NS,EQUAL,RCURLY,LCURLY,RSQUARE,LSQUARE,RPAREN,LPAREN,COMMA,COLON,DOT,ONE_DECIMAL,ZERO_DECIMAL,Number,LIFECYCLE,TABLESPACE,STATS_PERSISTENT,STATS_AUTO_RECALC,COMPACT,REDUNDANT,COMPRESSED,ROW_FORMAT,PASSWORD,PACK_KEYS,MIN_ROWS,MAX_ROWS,KEY_BLOCK_SIZE,LAST,INSERT_METHOD,ENCRYPTION,DELAY_KEY_WRITE,CONNECTION,COMPRESSION,AVG_ROW_LENGTH,ENGINE,CHECKSUM,CHARSET,PERFOMANCE_SCHEMA,NDBCLUSTER,NDB,MRG_MYISAM,MYISAM,INNODB,FEDERATED,CSV,BLACKHOLE,MULTIPOLYGON,POLYGON,MULTIPOINT,POINT,MULTILINESTRING,LINESTRING,GEOMETRYCOLLECTION,ENUM,VARBINARY,LONGBLOB,MEDIUMBLOB,TINYBLOB,BLOB,NUMERIC,REAL,ZEROFILL,MEDIUMINT,COLLATE,LONGTEXT,MEDIUMTEXT,TINYTEXT,VARCHAR,MEMORY,DISK,STORAGE,DYNAMIC,FIXED,COLUMN_FORMAT,PRIMARY,AUTO_INCREMENT,DEFAULT,STRAIGHT_JOIN,STARTING,ENCLOSED,OPTIONALLY,OUTFILE,DUMPFILE,GET_FORMAT,CONVERT,WEIGHT_STRING,TRIM,SYSDATE,SUBSTRING,SUBSTR,POSITION,NOW,LOCALTIMESTAMP,EXTRACT,DATE_SUB,DATE_ADD,CURTIME,CURDATE,LOCALTIME,CURRENT_USER,CURRENT_TIMESTAMP,CURRENT_TIME,CURRENT_DATE,QUARTER,VARIANCE,VAR_SAMP,VAR_POP,SUM,STDDEV_SAMP,STDDEV_POP,STDDEV,STD,MAX,GROUP_CONCAT,COUNT,BIT_XOR,BIT_OR,BIT_AND,BIT,AVG,UTC_TIMESTAMP,UTC_TIME,UTC_DATE,TRAILING,LEADING,REVERSE,LEVEL,WEEK,DAY_MICROSECOND,HOUR_MICROSECOND,MINUTE_MICROSECOND,SECOND_MICROSECOND,MICROSECOND,MINUTE_SECOND,HOUR_SECOND,HOUR_MINUTE,DAY_SECOND,SECOND,DAY_MINUTE,MINUTE,DAY_HOUR,HOUR,DAY,YEAR_MONTH,MONTH,YEAR,INTEGER,CHARACTER,NCHAR,CHAR,VALUES,VALUE,EXCHANGE,INNER,ROLE,USER,PARTIALSCAN,NOSCAN,TRUNCATE,SETS,GROUPING,MORE,LESS,CURRENT,FOLLOWING,PRECEDING,UNBOUNDED,WINDOW,DIRECTORIES,CUBE,ROLLUP,SKEWED,CASCADE,RESTRICT,UPDATE,SHOW_DATABASE,CONCATENATE,OPTION,USE,STATISTICS,COMPUTE,UNARCHIVE,ARCHIVE,TOUCH,LATERAL,SEMI,RECORDWRITER,RECORDREADER,TRIGGER,CURSOR,CONTINUE,CROSS,BINARY,BOTH,BETWEEN,BEFORE,ANALYZE,RANGE,PURGE,READS,WHILE,UNSIGNED,SIGNED,PROCEDURE,EXCLUSIVE,SHARED,UNLOCK,LOCKS,LOCK,UNDO,SSL,REVOKE,GRANT,SCHEMAS,SCHEMA,MATERIALIZED,DATABASES,DATABASE,VIEW,INTERSECT,FETCH,KWMINUS,KWPLUS,DELETE,LONG,UTCTIMESTAMP,UTC,CLUSTERSTATUS,HOLD_DDLTIME,STREAMTABLE,MAPJOIN,ELSE,THEN,WHEN,CASE,ELEM_TYPE,VALUE_TYPE,IDXPROPERTIES,TBLPROPERTIES,UNSET,SET,DBPROPERTIES,SERDEPROPERTIES,DEFERRED,WITH,SERDE,LOGICAL,DEPENDENCY,PRETTY,FORMATTED,EXTENDED,END,EXPLAIN,MACRO,TEMPORARY,REGEXP,RLIKE,REPLACE,ADD,CAST,PERCENT,TABLESAMPLE,LOCATION,NO_DROP,CharSetName,READONLY,READ,DISABLE,ENABLE,OFFLINE,OF,OUTPUTDRIVER,INPUTDRIVER,OUTPUTFORMAT,INPUTFORMAT,ORCFILE,RCFILE,TEXTFILE,TEXT,SEQUENCEFILE,FILEFORMAT,STORED,LINES,KEY_TYPE,KEYS,KEY,ITEMS,COLLECTION,ESCAPED,TERMINATED,MIN,FIELDS,DELIMITED,LIMIT,FORMAT,ROWS,ROW,BUCKETS,BUCKET,INTO,SORTED,CLUSTERED,PARTITIONED,REDUCE,UNIONTYPE,MAP,STRUCT,ARRAY,STRING,DECIMAL,TIMESTAMP,DATETIME,TIME,DATE,DOUBLE,FLOAT,BIGINT,SMALLINT,TINYINT,INT,BOOLEAN,BOOL,COMMENT,PROTECTION,IGNORE,NO,RENAME,DROP,DESCRIBE,AFTER,FIRST,CHANGE,ALTER,EXTERNAL,CREATE,NULL,INPATH,DATA,IMPORT,EXPORT,LOAD,UNION,SORT,DISTRIBUTE,CLUSTER,USING,TRANSFORM,FOR,LOCAL,DIRECTORY,TO,REPAIR,MSCK,SHOW,FUNCTIONS,FUNCTION,REBUILD,INDEXES,INDEX,COLUMNS,COLUMN,TABLES,TABLE,PARTITIONS,PARTITION,ON,FULL,RIGHT,LEFT,PRESERVE,UNIQUEJOIN,UNIQUE,OUTER,OUT,OVERWRITE,OVER,INSERT,DISTINCT,SELECT,FROM,WHERE,HAVING,BY,GROUP,ORDER,DESC,ASC,AS,EXISTS,IS,IF,JOIN,IN,LIKE,NOT,OR,AND,ALL,FALSE,TRUE,ID];exports.Lexer=new chevrotain.Lexer(exports.tokens,{positionTracking:"onlyStart"})});

@@ -1,1 +0,1 @@

var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","chevrotain","./lexer.g"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var chevrotain=require("chevrotain");var lexer_g_1=require("./lexer.g");exports.tokens=lexer_g_1.tokens;exports.Lexer=lexer_g_1.Lexer;exports.Tokens=lexer_g_1.Tokens;exports.TokenEnum=lexer_g_1.TokenEnum;var SyntaxKind;(function(SyntaxKind){SyntaxKind["root"]="root";SyntaxKind["sqlStatements"]="sqlStatements";SyntaxKind["sqlStatement"]="sqlStatement";SyntaxKind["dqlStatement"]="dqlStatement";SyntaxKind["ddlStatement"]="ddlStatement";SyntaxKind["dmlStatement"]="dmlStatement";SyntaxKind["showTable"]="showTable";SyntaxKind["selectStatement"]="selectStatement";SyntaxKind["unionStatement"]="unionStatement";SyntaxKind["queryExpression"]="queryExpression";SyntaxKind["querySpecification"]="querySpecification";SyntaxKind["selectElements"]="selectElements";SyntaxKind["selectIntoExpression"]="selectIntoExpression";SyntaxKind["selectFieldsInto"]="selectFieldsInto";SyntaxKind["selectLinesInto"]="selectLinesInto";SyntaxKind["selectElement"]="selectElement";SyntaxKind["fullColumnName"]="fullColumnName";SyntaxKind["dottedId"]="dottedId";SyntaxKind["functionCall"]="functionCall";SyntaxKind["functionArgs"]="functionArgs";SyntaxKind["functionArg"]="functionArg";SyntaxKind["customFunction"]="customFunction";SyntaxKind["scalarFunctionName"]="scalarFunctionName";SyntaxKind["specificFunction"]="specificFunction";SyntaxKind["expressionAtom"]="expressionAtom";SyntaxKind["intervalTypeBase"]="intervalTypeBase";SyntaxKind["intervalType"]="intervalType";SyntaxKind["levelsInWeightString"]="levelsInWeightString";SyntaxKind["levelInWeightListElement"]="levelInWeightListElement";SyntaxKind["convertedDataType"]="convertedDataType";SyntaxKind["caseFuncAlternative"]="caseFuncAlternative";SyntaxKind["lengthOneDimension"]="lengthOneDimension";SyntaxKind["lengthTwoDimension"]="lengthTwoDimension";SyntaxKind["lengthTwoOptionalDimension"]="lengthTwoOptionalDimension";SyntaxKind["fromClause"]="fromClause";SyntaxKind["tableSources"]="tableSources";SyntaxKind["tableSource"]="tableSource";SyntaxKind["joinPart"]="joinPart";SyntaxKind["tableSourceItem"]="tableSourceItem";SyntaxKind["uid"]="uid";SyntaxKind["fullId"]="fullId";SyntaxKind["tableName"]="tableName";SyntaxKind["insertStatement"]="insertStatement";SyntaxKind["partitionInsertDefinitions"]="partitionInsertDefinitions";SyntaxKind["insertStatementValue"]="insertStatementValue";SyntaxKind["updateStatement"]="updateStatement";SyntaxKind["updatedElement"]="updatedElement";SyntaxKind["deleteStatement"]="deleteStatement";SyntaxKind["createDatabaseStatement"]="createDatabaseStatement";SyntaxKind["ifExists"]="ifExists";SyntaxKind["switchDatabaseStatement"]="switchDatabaseStatement";SyntaxKind["dropDatabaseStatement"]="dropDatabaseStatement";SyntaxKind["createTable"]="createTable";SyntaxKind["createDefinitions"]="createDefinitions";SyntaxKind["createDefinition"]="createDefinition";SyntaxKind["columnDefinition"]="columnDefinition";SyntaxKind["columnConstraint"]="columnConstraint";SyntaxKind["dataType"]="dataType";SyntaxKind["dataType1"]="dataType1";SyntaxKind["collationName"]="collationName";SyntaxKind["dataType2"]="dataType2";SyntaxKind["dataType3"]="dataType3";SyntaxKind["dataType4"]="dataType4";SyntaxKind["dataType5"]="dataType5";SyntaxKind["dataType6"]="dataType6";SyntaxKind["dataType7"]="dataType7";SyntaxKind["tableOption"]="tableOption";SyntaxKind["tableOption1"]="tableOption1";SyntaxKind["tableOption2"]="tableOption2";SyntaxKind["tableOption3"]="tableOption3";SyntaxKind["tableOption4"]="tableOption4";SyntaxKind["tableOption5"]="tableOption5";SyntaxKind["tablespaceStorage"]="tablespaceStorage";SyntaxKind["tables"]="tables";SyntaxKind["fileSizeLiteral"]="fileSizeLiteral";SyntaxKind["engineName"]="engineName";SyntaxKind["partitionDefinitions"]="partitionDefinitions";SyntaxKind["dropTable"]="dropTable";SyntaxKind["alterTable"]="alterTable";SyntaxKind["alterTableStatementSuffix"]="alterTableStatementSuffix";SyntaxKind["alterStatementSuffixRename"]="alterStatementSuffixRename";SyntaxKind["alterStatementSuffixRenameCol"]="alterStatementSuffixRenameCol";SyntaxKind["alterStatementChangeColPosition"]="alterStatementChangeColPosition";SyntaxKind["alterStatementSuffixAddCol"]="alterStatementSuffixAddCol";SyntaxKind["columnNameTypeList"]="columnNameTypeList";SyntaxKind["columnNameType"]="columnNameType";SyntaxKind["colType"]="colType";SyntaxKind["colTypeList"]="colTypeList";SyntaxKind["type"]="type";SyntaxKind["primitiveType"]="primitiveType";SyntaxKind["listType"]="listType";SyntaxKind["mapType"]="mapType";SyntaxKind["unionType"]="unionType";SyntaxKind["ifNotExists"]="ifNotExists";SyntaxKind["columnNameList"]="columnNameList";SyntaxKind["columnName"]="columnName";SyntaxKind["columnRefOrder"]="columnRefOrder";SyntaxKind["queryOperator"]="queryOperator";SyntaxKind["whereClause"]="whereClause";SyntaxKind["whereClauseCondtionGroups"]="whereClauseCondtionGroups";SyntaxKind["groupByClause"]="groupByClause";SyntaxKind["groupingSetExpression"]="groupingSetExpression";SyntaxKind["groupByExpression"]="groupByExpression";SyntaxKind["havingClause"]="havingClause";SyntaxKind["distributeByClause"]="distributeByClause";SyntaxKind["havingCondition"]="havingCondition";SyntaxKind["expression"]="expression";SyntaxKind["atomExpression"]="atomExpression";SyntaxKind["tableOrColumn"]="tableOrColumn";SyntaxKind["dateLiteral"]="dateLiteral";SyntaxKind["constant"]="constant";SyntaxKind["charSetStringLiteral"]="charSetStringLiteral";SyntaxKind["booleanValue"]="booleanValue";SyntaxKind["precedenceFieldExpression"]="precedenceFieldExpression";SyntaxKind["precedenceUnaryOperator"]="precedenceUnaryOperator";SyntaxKind["nullCondition"]="nullCondition";SyntaxKind["precedenceUnaryPrefixExpression"]="precedenceUnaryPrefixExpression";SyntaxKind["precedenceUnarySuffixExpression"]="precedenceUnarySuffixExpression";SyntaxKind["precedenceBitwiseXorOperator"]="precedenceBitwiseXorOperator";SyntaxKind["precedenceBitwiseXorExpression"]="precedenceBitwiseXorExpression";SyntaxKind["precedenceStarOperator"]="precedenceStarOperator";SyntaxKind["precedenceStarExpression"]="precedenceStarExpression";SyntaxKind["precedencePlusOperator"]="precedencePlusOperator";SyntaxKind["precedencePlusExpression"]="precedencePlusExpression";SyntaxKind["precedenceAmpersandOperator"]="precedenceAmpersandOperator";SyntaxKind["precedenceAmpersandExpression"]="precedenceAmpersandExpression";SyntaxKind["precedenceBitwiseOrOperator"]="precedenceBitwiseOrOperator";SyntaxKind["precedenceBitwiseOrExpression"]="precedenceBitwiseOrExpression";SyntaxKind["precedenceEqualNegatableOperator"]="precedenceEqualNegatableOperator";SyntaxKind["precedenceEqualOperator"]="precedenceEqualOperator";SyntaxKind["precedenceEqualExpression"]="precedenceEqualExpression";SyntaxKind["expressions"]="expressions";SyntaxKind["precedenceNotOperator"]="precedenceNotOperator";SyntaxKind["precedenceNotExpression"]="precedenceNotExpression";SyntaxKind["precedenceAndOperator"]="precedenceAndOperator";SyntaxKind["precedenceAndExpression"]="precedenceAndExpression";SyntaxKind["precedenceOrOperator"]="precedenceOrOperator";SyntaxKind["precedenceOrExpression"]="precedenceOrExpression";SyntaxKind["limitClause"]="limitClause";SyntaxKind["orderByClause"]="orderByClause";SyntaxKind["sortByClause"]="sortByClause";SyntaxKind["identifier"]="identifier";SyntaxKind["uidList"]="uidList"})(SyntaxKind=exports.SyntaxKind||(exports.SyntaxKind={}));var BaseNode=function(){function BaseNode(){this._source=""}Object.defineProperty(BaseNode.prototype,"width",{get:function(){return this.end-this.pos},enumerable:true,configurable:true});Object.defineProperty(BaseNode.prototype,"fullText",{get:function(){return this._source.slice(this.pos,this.end)},enumerable:true,configurable:true});Object.defineProperty(BaseNode.prototype,"children",{get:function(){return[]},enumerable:true,configurable:true});BaseNode.prototype.forEach=function(callback){if(!this.children.length){return}this.children.forEach(callback)};return BaseNode}();exports.BaseNode=BaseNode;var Parser=function(_super){__extends(Parser,_super);function Parser(input){var _this=_super.call(this,input,lexer_g_1.tokens,{recoveryEnabled:true,outputCst:true,maxLookahead:6})||this;_this.RULE("root",function(){_this.OPTION(function(){_this.SUBRULE(_this.sqlStatements)})});_this.RULE("sqlStatements",function(){_this.MANY(function(){_this.SUBRULE(_this.sqlStatement);_this.CONSUME(lexer_g_1.Tokens.SEMI)})});_this.RULE("sqlStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.ddlStatement)}},{ALT:function(){_this.SUBRULE(_this.dmlStatement)}},{ALT:function(){_this.SUBRULE(_this.dqlStatement)}}])});_this.RULE("dqlStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.selectStatement)}},{ALT:function(){_this.SUBRULE(_this.showTable)}}])});_this.RULE("ddlStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.createTable)}},{ALT:function(){_this.SUBRULE(_this.dropTable)}},{ALT:function(){_this.SUBRULE(_this.alterTable)}},{ALT:function(){_this.SUBRULE(_this.createDatabaseStatement)}},{ALT:function(){_this.SUBRULE(_this.switchDatabaseStatement)}},{ALT:function(){_this.SUBRULE(_this.dropDatabaseStatement)}}])});_this.RULE("dmlStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.insertStatement)}},{ALT:function(){_this.SUBRULE(_this.updateStatement)}},{ALT:function(){_this.SUBRULE(_this.deleteStatement)}}])});_this.RULE("showTable",function(){_this.CONSUME(lexer_g_1.Tokens.SHOW);_this.SUBRULE(_this.tableName)});_this.RULE("selectStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.queryExpression)}},{ALT:function(){_this.SUBRULE(_this.querySpecification);_this.OPTION(function(){_this.MANY(function(){_this.SUBRULE(_this.unionStatement)})})}}])});_this.RULE("unionStatement",function(){_this.CONSUME(lexer_g_1.Tokens.UNION);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ALL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISTINCT)}}])});_this.OR3([{ALT:function(){_this.SUBRULE(_this.querySpecification)}},{ALT:function(){_this.SUBRULE(_this.queryExpression)}}])});_this.RULE("queryExpression",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.querySpecification);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.queryExpression);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("querySpecification",function(){_this.CONSUME(lexer_g_1.Tokens.SELECT);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ALL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISTINCT)}}])});_this.SUBRULE(_this.selectElements);_this.OPTION2(function(){_this.SUBRULE(_this.selectIntoExpression)});_this.SUBRULE(_this.fromClause);_this.OPTION3(function(){_this.SUBRULE(_this.whereClause)});_this.OPTION4(function(){_this.SUBRULE(_this.groupByClause)});_this.OPTION5(function(){_this.SUBRULE(_this.havingClause)});_this.OPTION6(function(){_this.SUBRULE(_this.orderByClause)});_this.OPTION7(function(){_this.SUBRULE(_this.distributeByClause)});_this.OPTION8(function(){_this.SUBRULE(_this.sortByClause)});_this.OPTION9(function(){_this.SUBRULE(_this.limitClause)})});_this.RULE("selectElements",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STAR)}},{ALT:function(){_this.SUBRULE(_this.selectElement)}}]);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.selectElement)})});_this.RULE("selectIntoExpression",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INTO);_this.SUBRULE(_this.uid);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.uid)})}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.INTO);_this.CONSUME(lexer_g_1.Tokens.DUMPFILE);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME3(lexer_g_1.Tokens.INTO);_this.CONSUME(lexer_g_1.Tokens.OUTFILE);_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME(lexer_g_1.Tokens.SET);_this.CONSUME(lexer_g_1.Tokens.CharSetName)});_this.OPTION2(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIELDS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COLUMNS)}}]);_this.AT_LEAST_ONE(function(){_this.SUBRULE(_this.selectFieldsInto)})});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.LINES);_this.AT_LEAST_ONE2(function(){_this.SUBRULE(_this.selectLinesInto)})})}}])});_this.RULE("selectFieldsInto",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TERMINATED);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.OPTIONALLY)});_this.CONSUME(lexer_g_1.Tokens.ENCLOSED);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ESCAPED);_this.CONSUME3(lexer_g_1.Tokens.BY);_this.CONSUME3(lexer_g_1.Tokens.STRING_LITERAL)}}])});_this.RULE("selectLinesInto",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STARTING);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TERMINATED);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL)}}])});_this.RULE("selectElement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.fullId);_this.CONSUME(lexer_g_1.Tokens.STAR)}},{ALT:function(){_this.SUBRULE(_this.functionCall);_this.OPTION(function(){_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.AS)});_this.SUBRULE(_this.uid)})}},{ALT:function(){_this.SUBRULE(_this.fullColumnName);_this.OPTION3(function(){_this.OPTION4(function(){_this.CONSUME2(lexer_g_1.Tokens.AS)});_this.SUBRULE2(_this.uid)})}}])});_this.RULE("fullColumnName",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.constant)}},{ALT:function(){_this.SUBRULE(_this.uid);_this.OPTION(function(){_this.SUBRULE(_this.dottedId);_this.OPTION2(function(){_this.SUBRULE2(_this.dottedId)})})}}])});_this.RULE("dottedId",function(){_this.CONSUME(lexer_g_1.Tokens.DOT);_this.SUBRULE(_this.uid)});_this.RULE("functionCall",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.specificFunction)}},{ALT:function(){_this.SUBRULE(_this.scalarFunctionName)}},{ALT:function(){_this.SUBRULE(_this.customFunction)}}])});_this.RULE("functionArgs",function(){_this.SUBRULE(_this.functionArg);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.functionArg)})});_this.RULE("functionArg",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.functionCall)}},{ALT:function(){_this.SUBRULE(_this.expression)}}])});_this.RULE("customFunction",function(){_this.SUBRULE(_this.fullId);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.OPTION(function(){_this.SUBRULE(_this.functionArgs)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("scalarFunctionName",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COUNT);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.OPTION(function(){_this.SUBRULE(_this.functionArgs)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SUBSTR);_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.OPTION2(function(){_this.SUBRULE2(_this.functionArgs)});_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("specificFunction",function(){_this.OR([{ALT:function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CURRENT_DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CURRENT_TIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CURRENT_TIMESTAMP)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CURRENT_USER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LOCALTIME)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CONVERT);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.expression);_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE(_this.convertedDataType)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.USING);_this.CONSUME(lexer_g_1.Tokens.CharSetLiteral)}}]);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CAST);_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.SUBRULE2(_this.expression);_this.CONSUME(lexer_g_1.Tokens.AS);_this.SUBRULE2(_this.convertedDataType);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VALUES);_this.CONSUME3(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.fullColumnName);_this.CONSUME3(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CASE);_this.SUBRULE3(_this.expression);_this.AT_LEAST_ONE(function(){_this.SUBRULE(_this.caseFuncAlternative)});_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.ELSE);_this.SUBRULE(_this.functionArg)});_this.CONSUME(lexer_g_1.Tokens.END)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.CASE);_this.AT_LEAST_ONE2(function(){_this.SUBRULE2(_this.caseFuncAlternative)});_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.ELSE);_this.SUBRULE2(_this.functionArg)});_this.CONSUME2(lexer_g_1.Tokens.END);_this.OPTION3(function(){_this.CONSUME2(lexer_g_1.Tokens.AS);_this.SUBRULE(_this.expressionAtom)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHAR);_this.CONSUME4(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.functionArgs);_this.OPTION4(function(){_this.CONSUME2(lexer_g_1.Tokens.USING);_this.CONSUME2(lexer_g_1.Tokens.CharSetLiteral)});_this.CONSUME4(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.POSITION);_this.CONSUME5(lexer_g_1.Tokens.LPAREN);_this.SUBRULE4(_this.expression);_this.CONSUME(lexer_g_1.Tokens.IN);_this.SUBRULE5(_this.expression);_this.CONSUME5(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TRIM);_this.CONSUME6(lexer_g_1.Tokens.LPAREN);_this.OR4([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BOTH)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LEADING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TRAILING)}}]);_this.OPTION5(function(){_this.SUBRULE6(_this.expression)});_this.CONSUME(lexer_g_1.Tokens.FROM);_this.SUBRULE7(_this.expression);_this.CONSUME6(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.TRIM);_this.CONSUME7(lexer_g_1.Tokens.LPAREN);_this.SUBRULE8(_this.expression);_this.CONSUME2(lexer_g_1.Tokens.FROM);_this.SUBRULE9(_this.expression);_this.CONSUME7(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.WEIGHT_STRING);_this.CONSUME8(lexer_g_1.Tokens.LPAREN);_this.SUBRULE10(_this.expression);_this.OPTION6(function(){_this.CONSUME3(lexer_g_1.Tokens.AS);_this.OR5([{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.CHAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)}}]);_this.CONSUME9(lexer_g_1.Tokens.LPAREN);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.CONSUME8(lexer_g_1.Tokens.RPAREN)});_this.OPTION7(function(){_this.SUBRULE(_this.levelsInWeightString)});_this.CONSUME9(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.EXTRACT);_this.CONSUME10(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.intervalType);_this.CONSUME3(lexer_g_1.Tokens.FROM);_this.SUBRULE11(_this.expression);_this.CONSUME10(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.GET_FORMAT);_this.CONSUME11(lexer_g_1.Tokens.LPAREN);_this.OR6([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATETIME)}}]);_this.CONSUME2(lexer_g_1.Tokens.COMMA);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL);_this.CONSUME11(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("expressionAtom",function(){_this.SUBRULE(_this.fullColumnName)});_this.RULE("intervalTypeBase",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.QUARTER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MONTH)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.HOUR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUTE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.WEEK)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MICROSECOND)}}])});_this.RULE("intervalType",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.intervalTypeBase)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.YEAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.YEAR_MONTH)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY_HOUR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY_MINUTE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY_SECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.HOUR_MINUTE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.HOUR_SECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUTE_SECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SECOND_MICROSECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUTE_MICROSECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.HOUR_MICROSECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY_MICROSECOND)}}])});_this.RULE("levelsInWeightString",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LEVEL);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ASC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DESC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REVERSE)}}])});_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE(_this.levelInWeightListElement)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUS);_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral)}}])});_this.RULE("levelInWeightListElement",function(){_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ASC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DESC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REVERSE)}}])})});_this.RULE("convertedDataType",function(){_this.OR([{ALT:function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NCHAR)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthOneDimension)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHAR);_this.OPTION2(function(){_this.SUBRULE2(_this.lengthOneDimension)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME(lexer_g_1.Tokens.SET);_this.CONSUME(lexer_g_1.Tokens.CharSetLiteral)})}},{ALT:function(){_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATETIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIME)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DECIMAL);_this.OPTION4(function(){_this.SUBRULE(_this.lengthTwoDimension)})}},{ALT:function(){_this.OR4([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SIGNED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.UNSIGNED)}}]);_this.OPTION5(function(){_this.CONSUME(lexer_g_1.Tokens.INTEGER)})}}])});_this.RULE("caseFuncAlternative",function(){_this.CONSUME(lexer_g_1.Tokens.WHEN);_this.SUBRULE(_this.functionArg);_this.CONSUME(lexer_g_1.Tokens.THEN);_this.SUBRULE2(_this.functionArg)});_this.RULE("lengthOneDimension",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.AT_LEAST_ONE(function(){_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("lengthTwoDimension",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral);_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("lengthTwoOptionalDimension",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("fromClause",function(){_this.CONSUME(lexer_g_1.Tokens.FROM);_this.SUBRULE(_this.tableSources)});_this.RULE("tableSources",function(){_this.SUBRULE(_this.tableSource);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.tableSource)})});_this.RULE("tableSource",function(){_this.SUBRULE(_this.tableSourceItem);_this.MANY(function(){_this.SUBRULE(_this.joinPart)})});_this.RULE("joinPart",function(){_this.OR([{ALT:function(){_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INNER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CROSS)}}])});_this.CONSUME(lexer_g_1.Tokens.JOIN);_this.SUBRULE(_this.tableSourceItem);_this.OPTION2(function(){_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ON);_this.SUBRULE(_this.expression)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.USING);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.uidList);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}}])})}},{ALT:function(){_this.OR4([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LEFT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.RIGHT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FULL)}}]);_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.OUTER)});_this.CONSUME2(lexer_g_1.Tokens.JOIN);_this.SUBRULE2(_this.tableSourceItem);_this.OR5([{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.ON);_this.SUBRULE2(_this.expression)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.USING);_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.SUBRULE2(_this.uidList);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}}])}}])});_this.RULE("tableSourceItem",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.tableName);_this.OPTION(function(){_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.AS)});_this.SUBRULE(_this.uid)})}},{ALT:function(){_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN)});_this.SUBRULE(_this.selectStatement);_this.OPTION4(function(){_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.OPTION5(function(){_this.CONSUME2(lexer_g_1.Tokens.AS)});_this.OPTION6(function(){_this.SUBRULE2(_this.uid)})}}])});_this.RULE("uid",function(){_this.CONSUME(lexer_g_1.Tokens.ID)});_this.RULE("fullId",function(){_this.SUBRULE(_this.uid);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.DOT);_this.SUBRULE2(_this.uid)})});_this.RULE("tableName",function(){_this.SUBRULE(_this.fullId)});_this.RULE("insertStatement",function(){_this.CONSUME(lexer_g_1.Tokens.INSERT);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.INTO)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.OVERWRITE)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.TABLE)});_this.SUBRULE(_this.tableName);_this.OPTION4(function(){_this.SUBRULE(_this.partitionInsertDefinitions)});_this.OPTION5(function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.uidList);_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.SUBRULE(_this.insertStatementValue)});_this.RULE("partitionInsertDefinitions",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PARTITIONED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PARTITION)}}]);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.BY)});_this.OR3([{ALT:function(){_this.SUBRULE(_this.uidList)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.fullColumnName);_this.CONSUME(lexer_g_1.Tokens.EQUAL);_this.SUBRULE(_this.constant);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("insertStatementValue",function(){_this.OR([{ALT:function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VALUES)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VALUE)}}]);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.expression);_this.CONSUME(lexer_g_1.Tokens.RPAREN);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.SUBRULE2(_this.expression);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)})}},{ALT:function(){_this.SUBRULE(_this.selectStatement)}}])});_this.RULE("updateStatement",function(){_this.CONSUME(lexer_g_1.Tokens.UPDATE);_this.SUBRULE(_this.tableName);_this.OPTION(function(){_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.AS)});_this.SUBRULE(_this.uid)});_this.CONSUME(lexer_g_1.Tokens.SET);_this.SUBRULE(_this.updatedElement);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.updatedElement)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.WHERE);_this.SUBRULE(_this.expression)})});_this.RULE("updatedElement",function(){_this.SUBRULE(_this.fullColumnName);_this.CONSUME(lexer_g_1.Tokens.EQUAL);_this.SUBRULE(_this.expression)});_this.RULE("deleteStatement",function(){_this.CONSUME(lexer_g_1.Tokens.DELETE);_this.CONSUME(lexer_g_1.Tokens.FROM);_this.SUBRULE(_this.tableName);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.WHERE);_this.SUBRULE(_this.expression)})});_this.RULE("createDatabaseStatement",function(){_this.CONSUME(lexer_g_1.Tokens.CREATE);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATABASE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SCHEMA)}}]);_this.OPTION(function(){_this.SUBRULE(_this.ifNotExists)});_this.SUBRULE(_this.identifier)});_this.RULE("ifExists",function(){_this.CONSUME(lexer_g_1.Tokens.IF);_this.CONSUME(lexer_g_1.Tokens.EXISTS)});_this.RULE("switchDatabaseStatement",function(){_this.CONSUME(lexer_g_1.Tokens.USE);_this.SUBRULE(_this.identifier)});_this.RULE("dropDatabaseStatement",function(){_this.CONSUME(lexer_g_1.Tokens.DROP);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATABASE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SCHEMA)}}]);_this.OPTION(function(){_this.SUBRULE(_this.ifExists)});_this.SUBRULE(_this.identifier)});_this.RULE("createTable",function(){_this.CONSUME(lexer_g_1.Tokens.CREATE);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.TEMPORARY)});_this.CONSUME(lexer_g_1.Tokens.TABLE);_this.OPTION2(function(){_this.SUBRULE(_this.ifNotExists)});_this.SUBRULE(_this.tableName);_this.SUBRULE(_this.createDefinitions);_this.OPTION3(function(){_this.SUBRULE(_this.tableOption);_this.MANY(function(){_this.OPTION4(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA)});_this.SUBRULE2(_this.tableOption)})})});_this.RULE("createDefinitions",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.createDefinition);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.createDefinition)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("createDefinition",function(){_this.SUBRULE(_this.uid);_this.SUBRULE(_this.columnDefinition)});_this.RULE("columnDefinition",function(){_this.SUBRULE(_this.dataType);_this.MANY(function(){_this.SUBRULE(_this.columnConstraint)})});_this.RULE("columnConstraint",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.nullCondition)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT);_this.SUBRULE(_this.constant)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.AUTO_INCREMENT)}},{ALT:function(){_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.PRIMARY)});_this.CONSUME(lexer_g_1.Tokens.KEY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.UNIQUE);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.KEY)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMMENT);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COLUMN_FORMAT);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIXED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DYNAMIC)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.DEFAULT)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STORAGE);_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISK)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEMORY)}},{ALT:function(){_this.CONSUME3(lexer_g_1.Tokens.DEFAULT)}}])}}])});_this.RULE("dataType",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.dataType1)}},{ALT:function(){_this.SUBRULE(_this.dataType2)}},{ALT:function(){_this.SUBRULE(_this.dataType3)}},{ALT:function(){_this.SUBRULE(_this.dataType4)}},{ALT:function(){_this.SUBRULE(_this.dataType5)}},{ALT:function(){_this.SUBRULE(_this.dataType6)}},{ALT:function(){_this.SUBRULE(_this.dataType7)}}])});_this.RULE("dataType1",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VARCHAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TINYTEXT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TEXT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEDIUMTEXT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LONGTEXT)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthOneDimension)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME(lexer_g_1.Tokens.SET);_this.CONSUME(lexer_g_1.Tokens.CharSetName)});_this.OPTION4(function(){_this.CONSUME(lexer_g_1.Tokens.COLLATE);_this.SUBRULE(_this.collationName)})});_this.RULE("collationName",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.uid)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}}])});_this.RULE("dataType2",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TINYINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SMALLINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEDIUMINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INTEGER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BIGINT)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthOneDimension)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.UNSIGNED)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.ZEROFILL)})});_this.RULE("dataType3",function(){_this.OR([{ALT:function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DOUBLE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FLOAT)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthTwoDimension)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.UNSIGNED)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.ZEROFILL)})}},{ALT:function(){_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NUMERIC)}}]);_this.OPTION4(function(){_this.SUBRULE(_this.lengthTwoOptionalDimension)});_this.OPTION5(function(){_this.CONSUME2(lexer_g_1.Tokens.UNSIGNED)});_this.OPTION6(function(){_this.CONSUME2(lexer_g_1.Tokens.ZEROFILL)})}}])});_this.RULE("dataType4",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TINYBLOB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BLOB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEDIUMBLOB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LONGBLOB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BOOL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BOOLEAN)}}])});_this.RULE("dataType5",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BIT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIMESTAMP)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATETIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VARBINARY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.YEAR)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthOneDimension)})});_this.RULE("dataType6",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ENUM)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SET)}}]);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL)});_this.CONSUME(lexer_g_1.Tokens.RPAREN);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME2(lexer_g_1.Tokens.SET);_this.CONSUME(lexer_g_1.Tokens.CharSetName)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.COLLATE);_this.SUBRULE(_this.collationName)})});_this.RULE("dataType7",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.GEOMETRYCOLLECTION)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LINESTRING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STRING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MULTILINESTRING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MULTIPOINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MULTIPOLYGON)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.POINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.POLYGON)}}])});_this.RULE("tableOption",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.tableOption1)}},{ALT:function(){_this.SUBRULE(_this.tableOption2)}},{ALT:function(){_this.SUBRULE(_this.tableOption3)}},{ALT:function(){_this.SUBRULE(_this.tableOption4)}},{ALT:function(){_this.SUBRULE(_this.tableOption5)}}])});_this.RULE("tableOption1",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ENGINE);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.SUBRULE(_this.engineName)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.AUTO_INCREMENT);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.AVG_ROW_LENGTH);_this.OPTION3(function(){_this.CONSUME3(lexer_g_1.Tokens.EQUAL)});_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.OPTION4(function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME(lexer_g_1.Tokens.SET)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHARSET)}}]);_this.OPTION5(function(){_this.CONSUME4(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.CharSetName)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHECKSUM);_this.OPTION6(function(){_this.CONSUME5(lexer_g_1.Tokens.EQUAL)});_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ONE_DECIMAL)}}])}},{ALT:function(){_this.OPTION7(function(){_this.CONSUME2(lexer_g_1.Tokens.DEFAULT)});_this.CONSUME(lexer_g_1.Tokens.COLLATE);_this.OPTION8(function(){_this.CONSUME6(lexer_g_1.Tokens.EQUAL)});_this.SUBRULE(_this.collationName)}}])});_this.RULE("tableOption2",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMMENT);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMPRESSION);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CONNECTION);_this.OPTION3(function(){_this.CONSUME3(lexer_g_1.Tokens.EQUAL)});_this.CONSUME3(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATA);_this.CONSUME(lexer_g_1.Tokens.DIRECTORY);_this.OPTION4(function(){_this.CONSUME4(lexer_g_1.Tokens.EQUAL)});_this.CONSUME4(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DELAY_KEY_WRITE);_this.OPTION5(function(){_this.CONSUME5(lexer_g_1.Tokens.EQUAL)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ONE_DECIMAL)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ENCRYPTION);_this.OPTION6(function(){_this.CONSUME6(lexer_g_1.Tokens.EQUAL)});_this.CONSUME5(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INDEX);_this.CONSUME2(lexer_g_1.Tokens.DIRECTORY);_this.OPTION7(function(){_this.CONSUME7(lexer_g_1.Tokens.EQUAL)});_this.CONSUME6(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.SUBRULE(_this.partitionDefinitions)}}])});_this.RULE("tableOption3",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INSERT_METHOD);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NO)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIRST)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LAST)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.KEY_BLOCK_SIZE);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.SUBRULE(_this.fileSizeLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MAX_ROWS);_this.OPTION3(function(){_this.CONSUME3(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MIN_ROWS);_this.OPTION4(function(){_this.CONSUME4(lexer_g_1.Tokens.EQUAL)});_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PACK_KEYS);_this.OPTION5(function(){_this.CONSUME5(lexer_g_1.Tokens.EQUAL)});_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ONE_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)}}])}}])});_this.RULE("tableOption4",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PASSWORD);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ROW_FORMAT);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DYNAMIC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIXED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMPRESSED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REDUNDANT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMPACT)}}])}}])});_this.RULE("tableOption5",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STATS_AUTO_RECALC);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ONE_DECIMAL)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STATS_PERSISTENT);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.OR3([{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.DEFAULT)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.ONE_DECIMAL)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TABLESPACE);_this.SUBRULE(_this.uid);_this.OPTION3(function(){_this.SUBRULE(_this.tablespaceStorage)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LIFECYCLE);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.UNION);_this.OPTION4(function(){_this.CONSUME3(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.tables);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("tablespaceStorage",function(){_this.CONSUME(lexer_g_1.Tokens.STORAGE);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISK)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEMORY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)}}])});_this.RULE("tables",function(){_this.SUBRULE(_this.tableName);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.tableName)})});_this.RULE("fileSizeLiteral",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ByteLengthLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}}])});_this.RULE("engineName",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ARCHIVE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BLACKHOLE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CSV)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FEDERATED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INNODB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEMORY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MRG_MYISAM)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MYISAM)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NDB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NDBCLUSTER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PERFOMANCE_SCHEMA)}}])});_this.RULE("partitionDefinitions",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PARTITIONED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PARTITION)}}]);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.createDefinitions);_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("dropTable",function(){_this.CONSUME(lexer_g_1.Tokens.DROP);_this.CONSUME(lexer_g_1.Tokens.TABLE);_this.OPTION(function(){_this.SUBRULE(_this.ifExists)});_this.SUBRULE(_this.tableName)});_this.RULE("alterTable",function(){_this.CONSUME(lexer_g_1.Tokens.ALTER);_this.CONSUME(lexer_g_1.Tokens.TABLE);_this.SUBRULE(_this.alterTableStatementSuffix)});_this.RULE("alterTableStatementSuffix",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.alterStatementSuffixRename)}},{ALT:function(){_this.SUBRULE(_this.alterStatementSuffixAddCol)}},{ALT:function(){_this.SUBRULE(_this.alterStatementSuffixRenameCol)}}])});_this.RULE("alterStatementSuffixRename",function(){_this.SUBRULE(_this.identifier);_this.CONSUME(lexer_g_1.Tokens.RENAME);_this.CONSUME(lexer_g_1.Tokens.TO);_this.SUBRULE2(_this.identifier)});_this.RULE("alterStatementSuffixRenameCol",function(){_this.SUBRULE(_this.identifier);_this.CONSUME(lexer_g_1.Tokens.CHANGE);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.COLUMN)});_this.SUBRULE2(_this.identifier);_this.SUBRULE3(_this.identifier);_this.SUBRULE(_this.colType);_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.COMMENT);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)});_this.OPTION3(function(){_this.SUBRULE(_this.alterStatementChangeColPosition)})});_this.RULE("alterStatementChangeColPosition",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIRST)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.AFTER);_this.SUBRULE(_this.identifier)}}])});_this.RULE("alterStatementSuffixAddCol",function(){_this.SUBRULE(_this.identifier);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ADD)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REPLACE)}}]);_this.CONSUME(lexer_g_1.Tokens.COLUMNS);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.columnNameTypeList);_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("columnNameTypeList",function(){_this.SUBRULE(_this.columnNameType);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.columnNameType)})});_this.RULE("columnNameType",function(){_this.SUBRULE(_this.identifier);_this.SUBRULE(_this.colType);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.COMMENT);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)})});_this.RULE("colType",function(){_this.SUBRULE(_this.type)});_this.RULE("colTypeList",function(){_this.SUBRULE(_this.colType);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.colType)})});_this.RULE("type",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.primitiveType)}},{ALT:function(){_this.SUBRULE(_this.listType)}},{ALT:function(){_this.SUBRULE(_this.mapType)}},{ALT:function(){_this.SUBRULE(_this.unionType)}}])});_this.RULE("primitiveType",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TINYINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SMALLINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BIGINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BOOLEAN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FLOAT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DOUBLE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATETIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIMESTAMP)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STRING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DECIMAL)}}])});_this.RULE("listType",function(){_this.CONSUME(lexer_g_1.Tokens.ARRAY);_this.CONSUME(lexer_g_1.Tokens.LESSTHAN);_this.SUBRULE(_this.type);_this.CONSUME(lexer_g_1.Tokens.GREATERTHAN)});_this.RULE("mapType",function(){_this.CONSUME(lexer_g_1.Tokens.MAP);_this.CONSUME(lexer_g_1.Tokens.LESSTHAN);_this.SUBRULE(_this.primitiveType);_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE(_this.type);_this.CONSUME(lexer_g_1.Tokens.GREATERTHAN)});_this.RULE("unionType",function(){_this.CONSUME(lexer_g_1.Tokens.UNIONTYPE);_this.CONSUME(lexer_g_1.Tokens.LESSTHAN);_this.SUBRULE(_this.colTypeList);_this.CONSUME(lexer_g_1.Tokens.GREATERTHAN)});_this.RULE("ifNotExists",function(){_this.CONSUME(lexer_g_1.Tokens.IF);_this.CONSUME(lexer_g_1.Tokens.NOT);_this.CONSUME(lexer_g_1.Tokens.EXISTS)});_this.RULE("columnNameList",function(){_this.SUBRULE(_this.columnName);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.columnName)})});_this.RULE("columnName",function(){_this.SUBRULE(_this.identifier)});_this.RULE("columnRefOrder",function(){_this.SUBRULE(_this.expression);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ASC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DESC)}}])})});_this.RULE("queryOperator",function(){_this.CONSUME(lexer_g_1.Tokens.UNION);_this.CONSUME(lexer_g_1.Tokens.ALL)});_this.RULE("whereClause",function(){_this.CONSUME(lexer_g_1.Tokens.WHERE);_this.SUBRULE(_this.whereClauseCondtionGroups)});_this.RULE("whereClauseCondtionGroups",function(){_this.SUBRULE(_this.predicate);_this.MANY(function(){_this.SUBRULE(_this.logicalOperator);_this.SUBRULE2(_this.predicate)})});_this.RULE("groupByClause",function(){_this.CONSUME(lexer_g_1.Tokens.GROUP);_this.CONSUME(lexer_g_1.Tokens.BY);_this.SUBRULE(_this.groupByExpression);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.groupByExpression)});_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.WITH);_this.CONSUME(lexer_g_1.Tokens.ROLLUP)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.WITH);_this.CONSUME(lexer_g_1.Tokens.CUBE)}}])});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.GROUPING);_this.CONSUME(lexer_g_1.Tokens.SETS);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.groupingSetExpression);_this.MANY2(function(){_this.CONSUME2(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.groupingSetExpression)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)})});_this.RULE("groupingSetExpression",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.groupByExpression)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE2(_this.groupByExpression);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE3(_this.groupByExpression)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("groupByExpression",function(){_this.SUBRULE(_this.expression)});_this.RULE("havingClause",function(){_this.CONSUME(lexer_g_1.Tokens.HAVING);_this.SUBRULE(_this.havingCondition)});_this.RULE("distributeByClause",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISTRIBUTE);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.expression);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.expression)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.DISTRIBUTE);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.SUBRULE3(_this.expression)}}])});_this.RULE("havingCondition",function(){_this.SUBRULE(_this.expression)});_this.RULE("expression",function(){_this.SUBRULE(_this.precedenceOrExpression)});_this.RULE("atomExpression",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.constant)}},{ALT:function(){_this.SUBRULE(_this.tableOrColumn)}}])});_this.RULE("tableOrColumn",function(){_this.SUBRULE(_this.identifier)});_this.RULE("dateLiteral",function(){_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.DATE)});_this.AT_LEAST_ONE(function(){_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)})});_this.RULE("constant",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.Number)}},{ALT:function(){_this.SUBRULE(_this.dateLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BigintLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SmallintLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TinyintLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.SUBRULE(_this.charSetStringLiteral)}}])});_this.RULE("charSetStringLiteral",function(){_this.CONSUME(lexer_g_1.Tokens.CharSetName);_this.CONSUME(lexer_g_1.Tokens.CharSetLiteral)});_this.RULE("booleanValue",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TRUE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FALSE)}}])});_this.RULE("precedenceFieldExpression",function(){_this.SUBRULE(_this.atomExpression);_this.MANY(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LSQUARE);_this.SUBRULE(_this.expression);_this.CONSUME(lexer_g_1.Tokens.RSQUARE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DOT);_this.SUBRULE(_this.identifier)}}])})});_this.RULE("precedenceUnaryOperator",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PLUS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TILDE)}}])});_this.RULE("nullCondition",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NULL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NOT);_this.CONSUME2(lexer_g_1.Tokens.NULL)}}])});_this.RULE("precedenceUnaryPrefixExpression",function(){_this.OPTION(function(){_this.SUBRULE(_this.precedenceUnaryOperator)});_this.SUBRULE(_this.precedenceFieldExpression)});_this.RULE("precedenceUnarySuffixExpression",function(){_this.SUBRULE(_this.precedenceUnaryPrefixExpression);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.IS);_this.SUBRULE(_this.nullCondition)})});_this.RULE("precedenceBitwiseXorOperator",function(){_this.CONSUME(lexer_g_1.Tokens.BITWISEXOR)});_this.RULE("precedenceBitwiseXorExpression",function(){_this.SUBRULE(_this.precedenceUnarySuffixExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceBitwiseXorOperator);_this.SUBRULE2(_this.precedenceUnarySuffixExpression)})});_this.RULE("precedenceStarOperator",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DIVIDE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MOD)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DIV)}}])});_this.RULE("precedenceStarExpression",function(){_this.SUBRULE(_this.precedenceBitwiseXorExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceStarOperator);_this.SUBRULE2(_this.precedenceBitwiseXorExpression)})});_this.RULE("precedencePlusOperator",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PLUS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUS)}}])});_this.RULE("precedencePlusExpression",function(){_this.SUBRULE(_this.precedenceStarExpression);_this.MANY(function(){_this.SUBRULE(_this.precedencePlusOperator);_this.SUBRULE2(_this.precedenceStarExpression)})});_this.RULE("precedenceAmpersandOperator",function(){_this.CONSUME(lexer_g_1.Tokens.AMPERSAND)});_this.RULE("precedenceAmpersandExpression",function(){_this.SUBRULE(_this.precedencePlusExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceAmpersandOperator);_this.SUBRULE2(_this.precedencePlusExpression)})});_this.RULE("precedenceBitwiseOrOperator",function(){_this.CONSUME(lexer_g_1.Tokens.BITWISEOR)});_this.RULE("precedenceBitwiseOrExpression",function(){_this.SUBRULE(_this.precedenceAmpersandExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceBitwiseOrOperator);_this.SUBRULE2(_this.precedenceAmpersandExpression)})});_this.RULE("precedenceEqualNegatableOperator",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LIKE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.RLIKE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REGEXP)}}])});_this.RULE("precedenceEqualOperator",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.precedenceEqualNegatableOperator)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL_NS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NOTEQUAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LESSTHANOREQUALTO)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LESSTHAN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.GREATERTHANOREQUALTO)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.GREATERTHAN)}}])});_this.RULE("precedenceEqualExpression",function(){_this.SUBRULE(_this.precedenceBitwiseOrExpression);_this.MANY(function(){_this.OR2([{ALT:function(){_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.NOT)});_this.SUBRULE(_this.precedenceEqualOperator);_this.SUBRULE2(_this.precedenceBitwiseOrExpression)}},{ALT:function(){_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.NOT)});_this.CONSUME(lexer_g_1.Tokens.IN);_this.SUBRULE(_this.expressions)}},{ALT:function(){_this.OPTION3(function(){_this.CONSUME3(lexer_g_1.Tokens.NOT)});_this.CONSUME(lexer_g_1.Tokens.BETWEEN);_this.SUBRULE3(_this.precedenceBitwiseOrExpression);_this.CONSUME(lexer_g_1.Tokens.AND);_this.SUBRULE4(_this.precedenceBitwiseOrExpression)}}])})});_this.RULE("expressions",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.expression);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.expression)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("precedenceNotOperator",function(){_this.CONSUME(lexer_g_1.Tokens.NOT)});_this.RULE("precedenceNotExpression",function(){_this.OPTION(function(){_this.SUBRULE(_this.precedenceNotOperator)});_this.SUBRULE(_this.precedenceEqualExpression)});_this.RULE("precedenceAndOperator",function(){_this.CONSUME(lexer_g_1.Tokens.AND)});_this.RULE("precedenceAndExpression",function(){_this.SUBRULE(_this.precedenceNotExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceAndOperator);_this.SUBRULE2(_this.precedenceNotExpression)})});_this.RULE("precedenceOrOperator",function(){_this.CONSUME(lexer_g_1.Tokens.OR)});_this.RULE("precedenceOrExpression",function(){_this.SUBRULE(_this.precedenceAndExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceOrOperator);_this.SUBRULE2(_this.precedenceAndExpression)})});_this.RULE("limitClause",function(){_this.CONSUME(lexer_g_1.Tokens.LIMIT);_this.CONSUME(lexer_g_1.Tokens.Number)});_this.RULE("orderByClause",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ORDER);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.columnRefOrder);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.columnRefOrder)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.ORDER);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.SUBRULE3(_this.columnRefOrder);_this.MANY2(function(){_this.CONSUME2(lexer_g_1.Tokens.COMMA);_this.SUBRULE4(_this.columnRefOrder)})}}])});_this.RULE("sortByClause",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SORT);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.columnRefOrder);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.columnRefOrder)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.SORT);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.SUBRULE3(_this.columnRefOrder)}}])});_this.RULE("identifier",function(){_this.SUBRULE(_this.uid)});_this.RULE("uidList",function(){_this.SUBRULE(_this.uid);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.uid)})});chevrotain.Parser.performSelfAnalysis(_this);return _this}return Parser}(chevrotain.Parser);exports.Parser=Parser});
var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","chevrotain","./lexer.g"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var chevrotain=require("chevrotain");var lexer_g_1=require("./lexer.g");exports.tokens=lexer_g_1.tokens;exports.Lexer=lexer_g_1.Lexer;exports.Tokens=lexer_g_1.Tokens;exports.TokenEnum=lexer_g_1.TokenEnum;var SyntaxKind;(function(SyntaxKind){SyntaxKind["root"]="root";SyntaxKind["sqlStatements"]="sqlStatements";SyntaxKind["sqlStatement"]="sqlStatement";SyntaxKind["dqlStatement"]="dqlStatement";SyntaxKind["ddlStatement"]="ddlStatement";SyntaxKind["dmlStatement"]="dmlStatement";SyntaxKind["showTable"]="showTable";SyntaxKind["selectStatement"]="selectStatement";SyntaxKind["unionStatement"]="unionStatement";SyntaxKind["queryExpression"]="queryExpression";SyntaxKind["querySpecification"]="querySpecification";SyntaxKind["selectElements"]="selectElements";SyntaxKind["selectIntoExpression"]="selectIntoExpression";SyntaxKind["selectFieldsInto"]="selectFieldsInto";SyntaxKind["selectLinesInto"]="selectLinesInto";SyntaxKind["selectElement"]="selectElement";SyntaxKind["fullColumnName"]="fullColumnName";SyntaxKind["dottedId"]="dottedId";SyntaxKind["functionCall"]="functionCall";SyntaxKind["functionArgs"]="functionArgs";SyntaxKind["functionArg"]="functionArg";SyntaxKind["customFunction"]="customFunction";SyntaxKind["scalarFunctionName"]="scalarFunctionName";SyntaxKind["specificFunction"]="specificFunction";SyntaxKind["expressionAtom"]="expressionAtom";SyntaxKind["intervalTypeBase"]="intervalTypeBase";SyntaxKind["intervalType"]="intervalType";SyntaxKind["levelsInWeightString"]="levelsInWeightString";SyntaxKind["levelInWeightListElement"]="levelInWeightListElement";SyntaxKind["convertedDataType"]="convertedDataType";SyntaxKind["caseFuncAlternative"]="caseFuncAlternative";SyntaxKind["lengthOneDimension"]="lengthOneDimension";SyntaxKind["lengthTwoDimension"]="lengthTwoDimension";SyntaxKind["lengthTwoOptionalDimension"]="lengthTwoOptionalDimension";SyntaxKind["fromClause"]="fromClause";SyntaxKind["tableSources"]="tableSources";SyntaxKind["tableSource"]="tableSource";SyntaxKind["joinPart"]="joinPart";SyntaxKind["tableSourceItem"]="tableSourceItem";SyntaxKind["uid"]="uid";SyntaxKind["fullId"]="fullId";SyntaxKind["tableName"]="tableName";SyntaxKind["insertStatement"]="insertStatement";SyntaxKind["partitionInsertDefinitions"]="partitionInsertDefinitions";SyntaxKind["insertStatementValue"]="insertStatementValue";SyntaxKind["updateStatement"]="updateStatement";SyntaxKind["updatedElement"]="updatedElement";SyntaxKind["deleteStatement"]="deleteStatement";SyntaxKind["createDatabaseStatement"]="createDatabaseStatement";SyntaxKind["ifExists"]="ifExists";SyntaxKind["switchDatabaseStatement"]="switchDatabaseStatement";SyntaxKind["dropDatabaseStatement"]="dropDatabaseStatement";SyntaxKind["createTable"]="createTable";SyntaxKind["createDefinitions"]="createDefinitions";SyntaxKind["createDefinition"]="createDefinition";SyntaxKind["columnDefinition"]="columnDefinition";SyntaxKind["columnConstraint"]="columnConstraint";SyntaxKind["dataType"]="dataType";SyntaxKind["dataType1"]="dataType1";SyntaxKind["collationName"]="collationName";SyntaxKind["dataType2"]="dataType2";SyntaxKind["dataType3"]="dataType3";SyntaxKind["dataType4"]="dataType4";SyntaxKind["dataType5"]="dataType5";SyntaxKind["dataType6"]="dataType6";SyntaxKind["dataType7"]="dataType7";SyntaxKind["tableOption"]="tableOption";SyntaxKind["tableOption1"]="tableOption1";SyntaxKind["tableOption2"]="tableOption2";SyntaxKind["tableOption3"]="tableOption3";SyntaxKind["tableOption4"]="tableOption4";SyntaxKind["tableOption5"]="tableOption5";SyntaxKind["tablespaceStorage"]="tablespaceStorage";SyntaxKind["tables"]="tables";SyntaxKind["fileSizeLiteral"]="fileSizeLiteral";SyntaxKind["engineName"]="engineName";SyntaxKind["partitionDefinitions"]="partitionDefinitions";SyntaxKind["dropTable"]="dropTable";SyntaxKind["alterTable"]="alterTable";SyntaxKind["alterTableStatementSuffix"]="alterTableStatementSuffix";SyntaxKind["alterStatementSuffixRename"]="alterStatementSuffixRename";SyntaxKind["alterStatementSuffixRenameCol"]="alterStatementSuffixRenameCol";SyntaxKind["alterStatementChangeColPosition"]="alterStatementChangeColPosition";SyntaxKind["alterStatementSuffixAddCol"]="alterStatementSuffixAddCol";SyntaxKind["columnNameTypeList"]="columnNameTypeList";SyntaxKind["columnNameType"]="columnNameType";SyntaxKind["colType"]="colType";SyntaxKind["colTypeList"]="colTypeList";SyntaxKind["type"]="type";SyntaxKind["primitiveType"]="primitiveType";SyntaxKind["listType"]="listType";SyntaxKind["mapType"]="mapType";SyntaxKind["unionType"]="unionType";SyntaxKind["ifNotExists"]="ifNotExists";SyntaxKind["columnNameList"]="columnNameList";SyntaxKind["columnName"]="columnName";SyntaxKind["columnRefOrder"]="columnRefOrder";SyntaxKind["queryOperator"]="queryOperator";SyntaxKind["whereClause"]="whereClause";SyntaxKind["searchCondition"]="searchCondition";SyntaxKind["groupByClause"]="groupByClause";SyntaxKind["groupingSetExpression"]="groupingSetExpression";SyntaxKind["groupByExpression"]="groupByExpression";SyntaxKind["havingClause"]="havingClause";SyntaxKind["distributeByClause"]="distributeByClause";SyntaxKind["havingCondition"]="havingCondition";SyntaxKind["expression"]="expression";SyntaxKind["atomExpression"]="atomExpression";SyntaxKind["tableOrColumn"]="tableOrColumn";SyntaxKind["dateLiteral"]="dateLiteral";SyntaxKind["constant"]="constant";SyntaxKind["charSetStringLiteral"]="charSetStringLiteral";SyntaxKind["booleanValue"]="booleanValue";SyntaxKind["precedenceFieldExpression"]="precedenceFieldExpression";SyntaxKind["precedenceUnaryOperator"]="precedenceUnaryOperator";SyntaxKind["nullCondition"]="nullCondition";SyntaxKind["precedenceUnaryPrefixExpression"]="precedenceUnaryPrefixExpression";SyntaxKind["precedenceUnarySuffixExpression"]="precedenceUnarySuffixExpression";SyntaxKind["precedenceBitwiseXorOperator"]="precedenceBitwiseXorOperator";SyntaxKind["precedenceBitwiseXorExpression"]="precedenceBitwiseXorExpression";SyntaxKind["precedenceStarOperator"]="precedenceStarOperator";SyntaxKind["precedenceStarExpression"]="precedenceStarExpression";SyntaxKind["precedencePlusOperator"]="precedencePlusOperator";SyntaxKind["precedencePlusExpression"]="precedencePlusExpression";SyntaxKind["precedenceAmpersandOperator"]="precedenceAmpersandOperator";SyntaxKind["precedenceAmpersandExpression"]="precedenceAmpersandExpression";SyntaxKind["precedenceBitwiseOrOperator"]="precedenceBitwiseOrOperator";SyntaxKind["precedenceBitwiseOrExpression"]="precedenceBitwiseOrExpression";SyntaxKind["precedenceEqualNegatableOperator"]="precedenceEqualNegatableOperator";SyntaxKind["precedenceEqualOperator"]="precedenceEqualOperator";SyntaxKind["precedenceEqualExpression"]="precedenceEqualExpression";SyntaxKind["expressions"]="expressions";SyntaxKind["precedenceNotOperator"]="precedenceNotOperator";SyntaxKind["precedenceNotExpression"]="precedenceNotExpression";SyntaxKind["precedenceAndOperator"]="precedenceAndOperator";SyntaxKind["precedenceAndExpression"]="precedenceAndExpression";SyntaxKind["precedenceOrOperator"]="precedenceOrOperator";SyntaxKind["precedenceOrExpression"]="precedenceOrExpression";SyntaxKind["limitClause"]="limitClause";SyntaxKind["orderByClause"]="orderByClause";SyntaxKind["sortByClause"]="sortByClause";SyntaxKind["identifier"]="identifier";SyntaxKind["uidList"]="uidList"})(SyntaxKind=exports.SyntaxKind||(exports.SyntaxKind={}));var BaseNode=function(){function BaseNode(){this._source=""}Object.defineProperty(BaseNode.prototype,"width",{get:function(){return this.end-this.pos},enumerable:true,configurable:true});Object.defineProperty(BaseNode.prototype,"fullText",{get:function(){return this._source.slice(this.pos,this.end)},enumerable:true,configurable:true});Object.defineProperty(BaseNode.prototype,"children",{get:function(){return[]},enumerable:true,configurable:true});BaseNode.prototype.forEach=function(callback){if(!this.children.length){return}this.children.forEach(callback)};return BaseNode}();exports.BaseNode=BaseNode;var Parser=function(_super){__extends(Parser,_super);function Parser(input){var _this=_super.call(this,input,lexer_g_1.tokens,{recoveryEnabled:true,outputCst:true,maxLookahead:6})||this;_this.RULE("root",function(){_this.OPTION(function(){_this.SUBRULE(_this.sqlStatements)})});_this.RULE("sqlStatements",function(){_this.MANY(function(){_this.SUBRULE(_this.sqlStatement);_this.CONSUME(lexer_g_1.Tokens.SEMI)})});_this.RULE("sqlStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.ddlStatement)}},{ALT:function(){_this.SUBRULE(_this.dmlStatement)}},{ALT:function(){_this.SUBRULE(_this.dqlStatement)}}])});_this.RULE("dqlStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.selectStatement)}},{ALT:function(){_this.SUBRULE(_this.showTable)}}])});_this.RULE("ddlStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.createTable)}},{ALT:function(){_this.SUBRULE(_this.dropTable)}},{ALT:function(){_this.SUBRULE(_this.alterTable)}},{ALT:function(){_this.SUBRULE(_this.createDatabaseStatement)}},{ALT:function(){_this.SUBRULE(_this.switchDatabaseStatement)}},{ALT:function(){_this.SUBRULE(_this.dropDatabaseStatement)}}])});_this.RULE("dmlStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.insertStatement)}},{ALT:function(){_this.SUBRULE(_this.updateStatement)}},{ALT:function(){_this.SUBRULE(_this.deleteStatement)}}])});_this.RULE("showTable",function(){_this.CONSUME(lexer_g_1.Tokens.SHOW);_this.CONSUME(lexer_g_1.Tokens.TABLES)});_this.RULE("selectStatement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.queryExpression)}},{ALT:function(){_this.SUBRULE(_this.querySpecification);_this.OPTION(function(){_this.MANY(function(){_this.SUBRULE(_this.unionStatement)})})}}])});_this.RULE("unionStatement",function(){_this.CONSUME(lexer_g_1.Tokens.UNION);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ALL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISTINCT)}}])});_this.OR3([{ALT:function(){_this.SUBRULE(_this.querySpecification)}},{ALT:function(){_this.SUBRULE(_this.queryExpression)}}])});_this.RULE("queryExpression",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.querySpecification);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.queryExpression);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("querySpecification",function(){_this.CONSUME(lexer_g_1.Tokens.SELECT);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ALL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISTINCT)}}])});_this.SUBRULE(_this.selectElements);_this.OPTION2(function(){_this.SUBRULE(_this.selectIntoExpression)});_this.SUBRULE(_this.fromClause);_this.OPTION3(function(){_this.SUBRULE(_this.whereClause)});_this.OPTION4(function(){_this.SUBRULE(_this.groupByClause)});_this.OPTION5(function(){_this.SUBRULE(_this.havingClause)});_this.OPTION6(function(){_this.SUBRULE(_this.orderByClause)});_this.OPTION7(function(){_this.SUBRULE(_this.distributeByClause)});_this.OPTION8(function(){_this.SUBRULE(_this.sortByClause)});_this.OPTION9(function(){_this.SUBRULE(_this.limitClause)})});_this.RULE("selectElements",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STAR)}},{ALT:function(){_this.SUBRULE(_this.selectElement)}}]);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.selectElement)})});_this.RULE("selectIntoExpression",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INTO);_this.SUBRULE(_this.uid);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.uid)})}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.INTO);_this.CONSUME(lexer_g_1.Tokens.DUMPFILE);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME3(lexer_g_1.Tokens.INTO);_this.CONSUME(lexer_g_1.Tokens.OUTFILE);_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME(lexer_g_1.Tokens.SET);_this.CONSUME(lexer_g_1.Tokens.CharSetName)});_this.OPTION2(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIELDS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COLUMNS)}}]);_this.AT_LEAST_ONE(function(){_this.SUBRULE(_this.selectFieldsInto)})});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.LINES);_this.AT_LEAST_ONE2(function(){_this.SUBRULE(_this.selectLinesInto)})})}}])});_this.RULE("selectFieldsInto",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TERMINATED);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.OPTIONALLY)});_this.CONSUME(lexer_g_1.Tokens.ENCLOSED);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ESCAPED);_this.CONSUME3(lexer_g_1.Tokens.BY);_this.CONSUME3(lexer_g_1.Tokens.STRING_LITERAL)}}])});_this.RULE("selectLinesInto",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STARTING);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TERMINATED);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL)}}])});_this.RULE("selectElement",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.fullId);_this.CONSUME(lexer_g_1.Tokens.STAR)}},{ALT:function(){_this.SUBRULE(_this.functionCall);_this.OPTION(function(){_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.AS)});_this.SUBRULE(_this.uid)})}},{ALT:function(){_this.SUBRULE(_this.fullColumnName);_this.OPTION3(function(){_this.OPTION4(function(){_this.CONSUME2(lexer_g_1.Tokens.AS)});_this.SUBRULE2(_this.uid)})}}])});_this.RULE("fullColumnName",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.constant)}},{ALT:function(){_this.SUBRULE(_this.uid);_this.OPTION(function(){_this.SUBRULE(_this.dottedId);_this.OPTION2(function(){_this.SUBRULE2(_this.dottedId)})})}}])});_this.RULE("dottedId",function(){_this.CONSUME(lexer_g_1.Tokens.DOT);_this.SUBRULE(_this.uid)});_this.RULE("functionCall",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.specificFunction)}},{ALT:function(){_this.SUBRULE(_this.scalarFunctionName)}},{ALT:function(){_this.SUBRULE(_this.customFunction)}}])});_this.RULE("functionArgs",function(){_this.SUBRULE(_this.functionArg);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.functionArg)})});_this.RULE("functionArg",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.functionCall)}},{ALT:function(){_this.SUBRULE(_this.expression)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STAR)}}])});_this.RULE("customFunction",function(){_this.SUBRULE(_this.fullId);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.OPTION(function(){_this.SUBRULE(_this.functionArgs)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("scalarFunctionName",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COUNT);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.OPTION(function(){_this.SUBRULE(_this.functionArgs)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SUBSTR);_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.OPTION2(function(){_this.SUBRULE2(_this.functionArgs)});_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("specificFunction",function(){_this.OR([{ALT:function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CURRENT_DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CURRENT_TIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CURRENT_TIMESTAMP)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CURRENT_USER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LOCALTIME)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CONVERT);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.expression);_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE(_this.convertedDataType)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.USING);_this.CONSUME(lexer_g_1.Tokens.CharSetLiteral)}}]);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CAST);_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.SUBRULE2(_this.expression);_this.CONSUME(lexer_g_1.Tokens.AS);_this.SUBRULE2(_this.convertedDataType);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VALUES);_this.CONSUME3(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.fullColumnName);_this.CONSUME3(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CASE);_this.SUBRULE3(_this.expression);_this.AT_LEAST_ONE(function(){_this.SUBRULE(_this.caseFuncAlternative)});_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.ELSE);_this.SUBRULE(_this.functionArg)});_this.CONSUME(lexer_g_1.Tokens.END)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.CASE);_this.AT_LEAST_ONE2(function(){_this.SUBRULE2(_this.caseFuncAlternative)});_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.ELSE);_this.SUBRULE2(_this.functionArg)});_this.CONSUME2(lexer_g_1.Tokens.END);_this.OPTION3(function(){_this.CONSUME2(lexer_g_1.Tokens.AS);_this.SUBRULE(_this.expressionAtom)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHAR);_this.CONSUME4(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.functionArgs);_this.OPTION4(function(){_this.CONSUME2(lexer_g_1.Tokens.USING);_this.CONSUME2(lexer_g_1.Tokens.CharSetLiteral)});_this.CONSUME4(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.POSITION);_this.CONSUME5(lexer_g_1.Tokens.LPAREN);_this.SUBRULE4(_this.expression);_this.CONSUME(lexer_g_1.Tokens.IN);_this.SUBRULE5(_this.expression);_this.CONSUME5(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TRIM);_this.CONSUME6(lexer_g_1.Tokens.LPAREN);_this.OR4([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BOTH)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LEADING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TRAILING)}}]);_this.OPTION5(function(){_this.SUBRULE6(_this.expression)});_this.CONSUME(lexer_g_1.Tokens.FROM);_this.SUBRULE7(_this.expression);_this.CONSUME6(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.TRIM);_this.CONSUME7(lexer_g_1.Tokens.LPAREN);_this.SUBRULE8(_this.expression);_this.CONSUME2(lexer_g_1.Tokens.FROM);_this.SUBRULE9(_this.expression);_this.CONSUME7(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.WEIGHT_STRING);_this.CONSUME8(lexer_g_1.Tokens.LPAREN);_this.SUBRULE10(_this.expression);_this.OPTION6(function(){_this.CONSUME3(lexer_g_1.Tokens.AS);_this.OR5([{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.CHAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)}}]);_this.CONSUME9(lexer_g_1.Tokens.LPAREN);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.CONSUME8(lexer_g_1.Tokens.RPAREN)});_this.OPTION7(function(){_this.SUBRULE(_this.levelsInWeightString)});_this.CONSUME9(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.EXTRACT);_this.CONSUME10(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.intervalType);_this.CONSUME3(lexer_g_1.Tokens.FROM);_this.SUBRULE11(_this.expression);_this.CONSUME10(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.GET_FORMAT);_this.CONSUME11(lexer_g_1.Tokens.LPAREN);_this.OR6([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATETIME)}}]);_this.CONSUME2(lexer_g_1.Tokens.COMMA);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL);_this.CONSUME11(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("expressionAtom",function(){_this.SUBRULE(_this.fullColumnName)});_this.RULE("intervalTypeBase",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.QUARTER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MONTH)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.HOUR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUTE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.WEEK)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MICROSECOND)}}])});_this.RULE("intervalType",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.intervalTypeBase)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.YEAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.YEAR_MONTH)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY_HOUR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY_MINUTE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY_SECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.HOUR_MINUTE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.HOUR_SECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUTE_SECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SECOND_MICROSECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUTE_MICROSECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.HOUR_MICROSECOND)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DAY_MICROSECOND)}}])});_this.RULE("levelsInWeightString",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LEVEL);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ASC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DESC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REVERSE)}}])});_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE(_this.levelInWeightListElement)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUS);_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral)}}])});_this.RULE("levelInWeightListElement",function(){_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ASC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DESC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REVERSE)}}])})});_this.RULE("convertedDataType",function(){_this.OR([{ALT:function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NCHAR)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthOneDimension)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHAR);_this.OPTION2(function(){_this.SUBRULE2(_this.lengthOneDimension)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME(lexer_g_1.Tokens.SET);_this.CONSUME(lexer_g_1.Tokens.CharSetLiteral)})}},{ALT:function(){_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATETIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIME)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DECIMAL);_this.OPTION4(function(){_this.SUBRULE(_this.lengthTwoDimension)})}},{ALT:function(){_this.OR4([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SIGNED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.UNSIGNED)}}]);_this.OPTION5(function(){_this.CONSUME(lexer_g_1.Tokens.INTEGER)})}}])});_this.RULE("caseFuncAlternative",function(){_this.CONSUME(lexer_g_1.Tokens.WHEN);_this.SUBRULE(_this.functionArg);_this.CONSUME(lexer_g_1.Tokens.THEN);_this.SUBRULE2(_this.functionArg)});_this.RULE("lengthOneDimension",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.AT_LEAST_ONE(function(){_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("lengthTwoDimension",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral);_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("lengthTwoOptionalDimension",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("fromClause",function(){_this.CONSUME(lexer_g_1.Tokens.FROM);_this.SUBRULE(_this.tableSources)});_this.RULE("tableSources",function(){_this.SUBRULE(_this.tableSource);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.tableSource)})});_this.RULE("tableSource",function(){_this.SUBRULE(_this.tableSourceItem);_this.MANY(function(){_this.SUBRULE(_this.joinPart)})});_this.RULE("joinPart",function(){_this.OR([{ALT:function(){_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INNER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CROSS)}}])});_this.CONSUME(lexer_g_1.Tokens.JOIN);_this.SUBRULE(_this.tableSourceItem);_this.OPTION2(function(){_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ON);_this.SUBRULE(_this.expression)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.USING);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.uidList);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}}])})}},{ALT:function(){_this.OR4([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LEFT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.RIGHT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FULL)}}]);_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.OUTER)});_this.CONSUME2(lexer_g_1.Tokens.JOIN);_this.SUBRULE2(_this.tableSourceItem);_this.OR5([{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.ON);_this.SUBRULE2(_this.expression)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.USING);_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.SUBRULE2(_this.uidList);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}}])}}])});_this.RULE("tableSourceItem",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.tableName);_this.OPTION(function(){_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.AS)});_this.SUBRULE(_this.uid)})}},{ALT:function(){_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN)});_this.SUBRULE(_this.selectStatement);_this.OPTION4(function(){_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.OPTION5(function(){_this.CONSUME2(lexer_g_1.Tokens.AS)});_this.OPTION6(function(){_this.SUBRULE2(_this.uid)})}}])});_this.RULE("uid",function(){_this.CONSUME(lexer_g_1.Tokens.ID)});_this.RULE("fullId",function(){_this.SUBRULE(_this.uid);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.DOT);_this.SUBRULE2(_this.uid)})});_this.RULE("tableName",function(){_this.SUBRULE(_this.fullId)});_this.RULE("insertStatement",function(){_this.CONSUME(lexer_g_1.Tokens.INSERT);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.INTO)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.OVERWRITE)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.TABLE)});_this.SUBRULE(_this.tableName);_this.OPTION4(function(){_this.SUBRULE(_this.partitionInsertDefinitions)});_this.OPTION5(function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.uidList);_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.SUBRULE(_this.insertStatementValue)});_this.RULE("partitionInsertDefinitions",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PARTITIONED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PARTITION)}}]);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.BY)});_this.OR3([{ALT:function(){_this.SUBRULE(_this.uidList)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.fullColumnName);_this.CONSUME(lexer_g_1.Tokens.EQUAL);_this.SUBRULE(_this.constant);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("insertStatementValue",function(){_this.OR([{ALT:function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VALUES)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VALUE)}}]);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.expression);_this.CONSUME(lexer_g_1.Tokens.RPAREN);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.SUBRULE2(_this.expression);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)})}},{ALT:function(){_this.SUBRULE(_this.selectStatement)}}])});_this.RULE("updateStatement",function(){_this.CONSUME(lexer_g_1.Tokens.UPDATE);_this.SUBRULE(_this.tableName);_this.OPTION(function(){_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.AS)});_this.SUBRULE(_this.uid)});_this.CONSUME(lexer_g_1.Tokens.SET);_this.SUBRULE(_this.updatedElement);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.updatedElement)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.WHERE);_this.SUBRULE(_this.expression)})});_this.RULE("updatedElement",function(){_this.SUBRULE(_this.fullColumnName);_this.CONSUME(lexer_g_1.Tokens.EQUAL);_this.SUBRULE(_this.expression)});_this.RULE("deleteStatement",function(){_this.CONSUME(lexer_g_1.Tokens.DELETE);_this.CONSUME(lexer_g_1.Tokens.FROM);_this.SUBRULE(_this.tableName);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.WHERE);_this.SUBRULE(_this.expression)})});_this.RULE("createDatabaseStatement",function(){_this.CONSUME(lexer_g_1.Tokens.CREATE);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATABASE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SCHEMA)}}]);_this.OPTION(function(){_this.SUBRULE(_this.ifNotExists)});_this.SUBRULE(_this.identifier)});_this.RULE("ifExists",function(){_this.CONSUME(lexer_g_1.Tokens.IF);_this.CONSUME(lexer_g_1.Tokens.EXISTS)});_this.RULE("switchDatabaseStatement",function(){_this.CONSUME(lexer_g_1.Tokens.USE);_this.SUBRULE(_this.identifier)});_this.RULE("dropDatabaseStatement",function(){_this.CONSUME(lexer_g_1.Tokens.DROP);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATABASE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SCHEMA)}}]);_this.OPTION(function(){_this.SUBRULE(_this.ifExists)});_this.SUBRULE(_this.identifier)});_this.RULE("createTable",function(){_this.CONSUME(lexer_g_1.Tokens.CREATE);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.TEMPORARY)});_this.CONSUME(lexer_g_1.Tokens.TABLE);_this.OPTION2(function(){_this.SUBRULE(_this.ifNotExists)});_this.SUBRULE(_this.tableName);_this.SUBRULE(_this.createDefinitions);_this.OPTION3(function(){_this.SUBRULE(_this.tableOption);_this.MANY(function(){_this.OPTION4(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA)});_this.SUBRULE2(_this.tableOption)})})});_this.RULE("createDefinitions",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.createDefinition);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.createDefinition)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("createDefinition",function(){_this.SUBRULE(_this.uid);_this.SUBRULE(_this.columnDefinition)});_this.RULE("columnDefinition",function(){_this.SUBRULE(_this.dataType);_this.MANY(function(){_this.SUBRULE(_this.columnConstraint)})});_this.RULE("columnConstraint",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.nullCondition)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT);_this.SUBRULE(_this.constant)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.AUTO_INCREMENT)}},{ALT:function(){_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.PRIMARY)});_this.CONSUME(lexer_g_1.Tokens.KEY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.UNIQUE);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.KEY)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMMENT);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COLUMN_FORMAT);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIXED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DYNAMIC)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.DEFAULT)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STORAGE);_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISK)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEMORY)}},{ALT:function(){_this.CONSUME3(lexer_g_1.Tokens.DEFAULT)}}])}}])});_this.RULE("dataType",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.dataType1)}},{ALT:function(){_this.SUBRULE(_this.dataType2)}},{ALT:function(){_this.SUBRULE(_this.dataType3)}},{ALT:function(){_this.SUBRULE(_this.dataType4)}},{ALT:function(){_this.SUBRULE(_this.dataType5)}},{ALT:function(){_this.SUBRULE(_this.dataType6)}},{ALT:function(){_this.SUBRULE(_this.dataType7)}}])});_this.RULE("dataType1",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VARCHAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TINYTEXT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TEXT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEDIUMTEXT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LONGTEXT)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthOneDimension)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME(lexer_g_1.Tokens.SET);_this.CONSUME(lexer_g_1.Tokens.CharSetName)});_this.OPTION4(function(){_this.CONSUME(lexer_g_1.Tokens.COLLATE);_this.SUBRULE(_this.collationName)})});_this.RULE("collationName",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.uid)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}}])});_this.RULE("dataType2",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TINYINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SMALLINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEDIUMINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INTEGER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BIGINT)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthOneDimension)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.UNSIGNED)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.ZEROFILL)})});_this.RULE("dataType3",function(){_this.OR([{ALT:function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DOUBLE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FLOAT)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthTwoDimension)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.UNSIGNED)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.ZEROFILL)})}},{ALT:function(){_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NUMERIC)}}]);_this.OPTION4(function(){_this.SUBRULE(_this.lengthTwoOptionalDimension)});_this.OPTION5(function(){_this.CONSUME2(lexer_g_1.Tokens.UNSIGNED)});_this.OPTION6(function(){_this.CONSUME2(lexer_g_1.Tokens.ZEROFILL)})}}])});_this.RULE("dataType4",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TINYBLOB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BLOB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEDIUMBLOB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LONGBLOB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BOOL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BOOLEAN)}}])});_this.RULE("dataType5",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BIT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIMESTAMP)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATETIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.VARBINARY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.YEAR)}}]);_this.OPTION(function(){_this.SUBRULE(_this.lengthOneDimension)})});_this.RULE("dataType6",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ENUM)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SET)}}]);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL)});_this.CONSUME(lexer_g_1.Tokens.RPAREN);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME2(lexer_g_1.Tokens.SET);_this.CONSUME(lexer_g_1.Tokens.CharSetName)});_this.OPTION3(function(){_this.CONSUME(lexer_g_1.Tokens.COLLATE);_this.SUBRULE(_this.collationName)})});_this.RULE("dataType7",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.GEOMETRYCOLLECTION)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LINESTRING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STRING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MULTILINESTRING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MULTIPOINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MULTIPOLYGON)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.POINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.POLYGON)}}])});_this.RULE("tableOption",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.tableOption1)}},{ALT:function(){_this.SUBRULE(_this.tableOption2)}},{ALT:function(){_this.SUBRULE(_this.tableOption3)}},{ALT:function(){_this.SUBRULE(_this.tableOption4)}},{ALT:function(){_this.SUBRULE(_this.tableOption5)}}])});_this.RULE("tableOption1",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ENGINE);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.SUBRULE(_this.engineName)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.AUTO_INCREMENT);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.AVG_ROW_LENGTH);_this.OPTION3(function(){_this.CONSUME3(lexer_g_1.Tokens.EQUAL)});_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.OPTION4(function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHARACTER);_this.CONSUME(lexer_g_1.Tokens.SET)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHARSET)}}]);_this.OPTION5(function(){_this.CONSUME4(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.CharSetName)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CHECKSUM);_this.OPTION6(function(){_this.CONSUME5(lexer_g_1.Tokens.EQUAL)});_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ONE_DECIMAL)}}])}},{ALT:function(){_this.OPTION7(function(){_this.CONSUME2(lexer_g_1.Tokens.DEFAULT)});_this.CONSUME(lexer_g_1.Tokens.COLLATE);_this.OPTION8(function(){_this.CONSUME6(lexer_g_1.Tokens.EQUAL)});_this.SUBRULE(_this.collationName)}}])});_this.RULE("tableOption2",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMMENT);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMPRESSION);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.CONSUME2(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CONNECTION);_this.OPTION3(function(){_this.CONSUME3(lexer_g_1.Tokens.EQUAL)});_this.CONSUME3(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATA);_this.CONSUME(lexer_g_1.Tokens.DIRECTORY);_this.OPTION4(function(){_this.CONSUME4(lexer_g_1.Tokens.EQUAL)});_this.CONSUME4(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DELAY_KEY_WRITE);_this.OPTION5(function(){_this.CONSUME5(lexer_g_1.Tokens.EQUAL)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ONE_DECIMAL)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ENCRYPTION);_this.OPTION6(function(){_this.CONSUME6(lexer_g_1.Tokens.EQUAL)});_this.CONSUME5(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INDEX);_this.CONSUME2(lexer_g_1.Tokens.DIRECTORY);_this.OPTION7(function(){_this.CONSUME7(lexer_g_1.Tokens.EQUAL)});_this.CONSUME6(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.SUBRULE(_this.partitionDefinitions)}}])});_this.RULE("tableOption3",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INSERT_METHOD);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NO)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIRST)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LAST)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.KEY_BLOCK_SIZE);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.SUBRULE(_this.fileSizeLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MAX_ROWS);_this.OPTION3(function(){_this.CONSUME3(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MIN_ROWS);_this.OPTION4(function(){_this.CONSUME4(lexer_g_1.Tokens.EQUAL)});_this.CONSUME2(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PACK_KEYS);_this.OPTION5(function(){_this.CONSUME5(lexer_g_1.Tokens.EQUAL)});_this.OR3([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ONE_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)}}])}}])});_this.RULE("tableOption4",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PASSWORD);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ROW_FORMAT);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DYNAMIC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIXED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMPRESSED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REDUNDANT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.COMPACT)}}])}}])});_this.RULE("tableOption5",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STATS_AUTO_RECALC);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)});_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ONE_DECIMAL)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STATS_PERSISTENT);_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.EQUAL)});_this.OR3([{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.DEFAULT)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.ZERO_DECIMAL)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.ONE_DECIMAL)}}])}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TABLESPACE);_this.SUBRULE(_this.uid);_this.OPTION3(function(){_this.SUBRULE(_this.tablespaceStorage)})}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LIFECYCLE);_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.UNION);_this.OPTION4(function(){_this.CONSUME3(lexer_g_1.Tokens.EQUAL)});_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.tables);_this.CONSUME(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("tablespaceStorage",function(){_this.CONSUME(lexer_g_1.Tokens.STORAGE);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISK)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEMORY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DEFAULT)}}])});_this.RULE("tables",function(){_this.SUBRULE(_this.tableName);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.tableName)})});_this.RULE("fileSizeLiteral",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ByteLengthLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}}])});_this.RULE("engineName",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ARCHIVE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BLACKHOLE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.CSV)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FEDERATED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INNODB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MEMORY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MRG_MYISAM)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MYISAM)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NDB)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NDBCLUSTER)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PERFOMANCE_SCHEMA)}}])});_this.RULE("partitionDefinitions",function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PARTITIONED)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PARTITION)}}]);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.createDefinitions);_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("dropTable",function(){_this.CONSUME(lexer_g_1.Tokens.DROP);_this.CONSUME(lexer_g_1.Tokens.TABLE);_this.OPTION(function(){_this.SUBRULE(_this.ifExists)});_this.SUBRULE(_this.tableName)});_this.RULE("alterTable",function(){_this.CONSUME(lexer_g_1.Tokens.ALTER);_this.CONSUME(lexer_g_1.Tokens.TABLE);_this.SUBRULE(_this.alterTableStatementSuffix)});_this.RULE("alterTableStatementSuffix",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.alterStatementSuffixRename)}},{ALT:function(){_this.SUBRULE(_this.alterStatementSuffixAddCol)}},{ALT:function(){_this.SUBRULE(_this.alterStatementSuffixRenameCol)}}])});_this.RULE("alterStatementSuffixRename",function(){_this.SUBRULE(_this.identifier);_this.CONSUME(lexer_g_1.Tokens.RENAME);_this.CONSUME(lexer_g_1.Tokens.TO);_this.SUBRULE2(_this.identifier)});_this.RULE("alterStatementSuffixRenameCol",function(){_this.SUBRULE(_this.identifier);_this.CONSUME(lexer_g_1.Tokens.CHANGE);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.COLUMN)});_this.SUBRULE2(_this.identifier);_this.SUBRULE3(_this.identifier);_this.SUBRULE(_this.colType);_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.COMMENT);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)});_this.OPTION3(function(){_this.SUBRULE(_this.alterStatementChangeColPosition)})});_this.RULE("alterStatementChangeColPosition",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FIRST)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.AFTER);_this.SUBRULE(_this.identifier)}}])});_this.RULE("alterStatementSuffixAddCol",function(){_this.SUBRULE(_this.identifier);_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ADD)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REPLACE)}}]);_this.CONSUME(lexer_g_1.Tokens.COLUMNS);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.columnNameTypeList);_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("columnNameTypeList",function(){_this.SUBRULE(_this.columnNameType);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.columnNameType)})});_this.RULE("columnNameType",function(){_this.SUBRULE(_this.identifier);_this.SUBRULE(_this.colType);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.COMMENT);_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)})});_this.RULE("colType",function(){_this.SUBRULE(_this.type)});_this.RULE("colTypeList",function(){_this.SUBRULE(_this.colType);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.colType)})});_this.RULE("type",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.primitiveType)}},{ALT:function(){_this.SUBRULE(_this.listType)}},{ALT:function(){_this.SUBRULE(_this.mapType)}},{ALT:function(){_this.SUBRULE(_this.unionType)}}])});_this.RULE("primitiveType",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TINYINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SMALLINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.INT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BIGINT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BOOLEAN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FLOAT)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DOUBLE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DATETIME)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TIMESTAMP)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STRING)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BINARY)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DECIMAL)}}])});_this.RULE("listType",function(){_this.CONSUME(lexer_g_1.Tokens.ARRAY);_this.CONSUME(lexer_g_1.Tokens.LESSTHAN);_this.SUBRULE(_this.type);_this.CONSUME(lexer_g_1.Tokens.GREATERTHAN)});_this.RULE("mapType",function(){_this.CONSUME(lexer_g_1.Tokens.MAP);_this.CONSUME(lexer_g_1.Tokens.LESSTHAN);_this.SUBRULE(_this.primitiveType);_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE(_this.type);_this.CONSUME(lexer_g_1.Tokens.GREATERTHAN)});_this.RULE("unionType",function(){_this.CONSUME(lexer_g_1.Tokens.UNIONTYPE);_this.CONSUME(lexer_g_1.Tokens.LESSTHAN);_this.SUBRULE(_this.colTypeList);_this.CONSUME(lexer_g_1.Tokens.GREATERTHAN)});_this.RULE("ifNotExists",function(){_this.CONSUME(lexer_g_1.Tokens.IF);_this.CONSUME(lexer_g_1.Tokens.NOT);_this.CONSUME(lexer_g_1.Tokens.EXISTS)});_this.RULE("columnNameList",function(){_this.SUBRULE(_this.columnName);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.columnName)})});_this.RULE("columnName",function(){_this.SUBRULE(_this.identifier)});_this.RULE("columnRefOrder",function(){_this.SUBRULE(_this.expression);_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ASC)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DESC)}}])})});_this.RULE("queryOperator",function(){_this.CONSUME(lexer_g_1.Tokens.UNION);_this.CONSUME(lexer_g_1.Tokens.ALL)});_this.RULE("whereClause",function(){_this.CONSUME(lexer_g_1.Tokens.WHERE);_this.SUBRULE(_this.searchCondition)});_this.RULE("searchCondition",function(){_this.SUBRULE(_this.expression)});_this.RULE("groupByClause",function(){_this.CONSUME(lexer_g_1.Tokens.GROUP);_this.CONSUME(lexer_g_1.Tokens.BY);_this.SUBRULE(_this.groupByExpression);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.groupByExpression)});_this.OPTION(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.WITH);_this.CONSUME(lexer_g_1.Tokens.ROLLUP)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.WITH);_this.CONSUME(lexer_g_1.Tokens.CUBE)}}])});_this.OPTION2(function(){_this.CONSUME(lexer_g_1.Tokens.GROUPING);_this.CONSUME(lexer_g_1.Tokens.SETS);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.groupingSetExpression);_this.MANY2(function(){_this.CONSUME2(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.groupingSetExpression)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)})});_this.RULE("groupingSetExpression",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.groupByExpression)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE2(_this.groupByExpression);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE3(_this.groupByExpression)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.LPAREN);_this.CONSUME2(lexer_g_1.Tokens.RPAREN)}}])});_this.RULE("groupByExpression",function(){_this.SUBRULE(_this.expression)});_this.RULE("havingClause",function(){_this.CONSUME(lexer_g_1.Tokens.HAVING);_this.SUBRULE(_this.havingCondition)});_this.RULE("distributeByClause",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DISTRIBUTE);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.expression);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.expression)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.DISTRIBUTE);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.SUBRULE3(_this.expression)}}])});_this.RULE("havingCondition",function(){_this.SUBRULE(_this.expression)});_this.RULE("expression",function(){_this.SUBRULE(_this.precedenceOrExpression)});_this.RULE("atomExpression",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.constant)}},{ALT:function(){_this.SUBRULE(_this.tableOrColumn)}}])});_this.RULE("tableOrColumn",function(){_this.SUBRULE(_this.identifier)});_this.RULE("dateLiteral",function(){_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.DATE)});_this.AT_LEAST_ONE(function(){_this.CONSUME(lexer_g_1.Tokens.STRING_LITERAL)})});_this.RULE("constant",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.Number)}},{ALT:function(){_this.SUBRULE(_this.dateLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.BigintLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SmallintLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TinyintLiteral)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DecimalLiteral)}},{ALT:function(){_this.SUBRULE(_this.charSetStringLiteral)}}])});_this.RULE("charSetStringLiteral",function(){_this.CONSUME(lexer_g_1.Tokens.CharSetName);_this.CONSUME(lexer_g_1.Tokens.CharSetLiteral)});_this.RULE("booleanValue",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TRUE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.FALSE)}}])});_this.RULE("precedenceFieldExpression",function(){_this.SUBRULE(_this.atomExpression);_this.MANY(function(){_this.OR2([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LSQUARE);_this.SUBRULE(_this.expression);_this.CONSUME(lexer_g_1.Tokens.RSQUARE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DOT);_this.SUBRULE(_this.identifier)}}])})});_this.RULE("precedenceUnaryOperator",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PLUS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.TILDE)}}])});_this.RULE("nullCondition",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NULL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NOT);_this.CONSUME2(lexer_g_1.Tokens.NULL)}}])});_this.RULE("precedenceUnaryPrefixExpression",function(){_this.OPTION(function(){_this.SUBRULE(_this.precedenceUnaryOperator)});_this.SUBRULE(_this.precedenceFieldExpression)});_this.RULE("precedenceUnarySuffixExpression",function(){_this.SUBRULE(_this.precedenceUnaryPrefixExpression);_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.IS);_this.SUBRULE(_this.nullCondition)})});_this.RULE("precedenceBitwiseXorOperator",function(){_this.CONSUME(lexer_g_1.Tokens.BITWISEXOR)});_this.RULE("precedenceBitwiseXorExpression",function(){_this.SUBRULE(_this.precedenceUnarySuffixExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceBitwiseXorOperator);_this.SUBRULE2(_this.precedenceUnarySuffixExpression)})});_this.RULE("precedenceStarOperator",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.STAR)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DIVIDE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MOD)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.DIV)}}])});_this.RULE("precedenceStarExpression",function(){_this.SUBRULE(_this.precedenceBitwiseXorExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceStarOperator);_this.SUBRULE2(_this.precedenceBitwiseXorExpression)})});_this.RULE("precedencePlusOperator",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.PLUS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.MINUS)}}])});_this.RULE("precedencePlusExpression",function(){_this.SUBRULE(_this.precedenceStarExpression);_this.MANY(function(){_this.SUBRULE(_this.precedencePlusOperator);_this.SUBRULE2(_this.precedenceStarExpression)})});_this.RULE("precedenceAmpersandOperator",function(){_this.CONSUME(lexer_g_1.Tokens.AMPERSAND)});_this.RULE("precedenceAmpersandExpression",function(){_this.SUBRULE(_this.precedencePlusExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceAmpersandOperator);_this.SUBRULE2(_this.precedencePlusExpression)})});_this.RULE("precedenceBitwiseOrOperator",function(){_this.CONSUME(lexer_g_1.Tokens.BITWISEOR)});_this.RULE("precedenceBitwiseOrExpression",function(){_this.SUBRULE(_this.precedenceAmpersandExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceBitwiseOrOperator);_this.SUBRULE2(_this.precedenceAmpersandExpression)})});_this.RULE("precedenceEqualNegatableOperator",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LIKE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.RLIKE)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.REGEXP)}}])});_this.RULE("precedenceEqualOperator",function(){_this.OR([{ALT:function(){_this.SUBRULE(_this.precedenceEqualNegatableOperator)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.EQUAL_NS)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.NOTEQUAL)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LESSTHANOREQUALTO)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.LESSTHAN)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.GREATERTHANOREQUALTO)}},{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.GREATERTHAN)}}])});_this.RULE("precedenceEqualExpression",function(){_this.SUBRULE(_this.precedenceBitwiseOrExpression);_this.MANY(function(){_this.OR2([{ALT:function(){_this.OPTION(function(){_this.CONSUME(lexer_g_1.Tokens.NOT)});_this.SUBRULE(_this.precedenceEqualOperator);_this.SUBRULE2(_this.precedenceBitwiseOrExpression)}},{ALT:function(){_this.OPTION2(function(){_this.CONSUME2(lexer_g_1.Tokens.NOT)});_this.CONSUME(lexer_g_1.Tokens.IN);_this.SUBRULE(_this.expressions)}},{ALT:function(){_this.OPTION3(function(){_this.CONSUME3(lexer_g_1.Tokens.NOT)});_this.CONSUME(lexer_g_1.Tokens.BETWEEN);_this.SUBRULE3(_this.precedenceBitwiseOrExpression);_this.CONSUME(lexer_g_1.Tokens.AND);_this.SUBRULE4(_this.precedenceBitwiseOrExpression)}}])})});_this.RULE("expressions",function(){_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.expression);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.expression)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)});_this.RULE("precedenceNotOperator",function(){_this.CONSUME(lexer_g_1.Tokens.NOT)});_this.RULE("precedenceNotExpression",function(){_this.OPTION(function(){_this.SUBRULE(_this.precedenceNotOperator)});_this.SUBRULE(_this.precedenceEqualExpression)});_this.RULE("precedenceAndOperator",function(){_this.CONSUME(lexer_g_1.Tokens.AND)});_this.RULE("precedenceAndExpression",function(){_this.SUBRULE(_this.precedenceNotExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceAndOperator);_this.SUBRULE2(_this.precedenceNotExpression)})});_this.RULE("precedenceOrOperator",function(){_this.CONSUME(lexer_g_1.Tokens.OR)});_this.RULE("precedenceOrExpression",function(){_this.SUBRULE(_this.precedenceAndExpression);_this.MANY(function(){_this.SUBRULE(_this.precedenceOrOperator);_this.SUBRULE2(_this.precedenceAndExpression)})});_this.RULE("limitClause",function(){_this.CONSUME(lexer_g_1.Tokens.LIMIT);_this.CONSUME(lexer_g_1.Tokens.Number)});_this.RULE("orderByClause",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.ORDER);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.columnRefOrder);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.columnRefOrder)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.ORDER);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.SUBRULE3(_this.columnRefOrder);_this.MANY2(function(){_this.CONSUME2(lexer_g_1.Tokens.COMMA);_this.SUBRULE4(_this.columnRefOrder)})}}])});_this.RULE("sortByClause",function(){_this.OR([{ALT:function(){_this.CONSUME(lexer_g_1.Tokens.SORT);_this.CONSUME(lexer_g_1.Tokens.BY);_this.CONSUME(lexer_g_1.Tokens.LPAREN);_this.SUBRULE(_this.columnRefOrder);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.columnRefOrder)});_this.CONSUME(lexer_g_1.Tokens.RPAREN)}},{ALT:function(){_this.CONSUME2(lexer_g_1.Tokens.SORT);_this.CONSUME2(lexer_g_1.Tokens.BY);_this.SUBRULE3(_this.columnRefOrder)}}])});_this.RULE("identifier",function(){_this.SUBRULE(_this.uid)});_this.RULE("uidList",function(){_this.SUBRULE(_this.uid);_this.MANY(function(){_this.CONSUME(lexer_g_1.Tokens.COMMA);_this.SUBRULE2(_this.uid)})});chevrotain.Parser.performSelfAnalysis(_this);return _this}return Parser}(chevrotain.Parser);exports.Parser=Parser});

@@ -1,1 +0,1 @@

(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./lexer.g","./parser.g"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var lexer_g_1=require("./lexer.g");var parser_g_1=require("./parser.g");var CstNode=function(){function CstNode(){this.startOffset=0}return CstNode}();var parser=new parser_g_1.Parser([]);function parseMysql(mysqlCode){var lexResult=lexer_g_1.Lexer.tokenize(mysqlCode);parser.input=lexResult.tokens;var cst=parser.root();return{cst:cst,lexErrors:lexResult.errors,parseErrors:parser.errors}}exports.parseMysql=parseMysql;function getAvailableTokens(text){var lexResult=lexer_g_1.Lexer.tokenize(text);if(lexResult.errors.length>0){throw new Error("sad sad panda, lexing errors detected")}var parser=new parser_g_1.Parser([]);var assistanceTokenVector=lexResult.tokens;var syntacticSuggestions=parser.computeContentAssist("root",assistanceTokenVector);var finalSuggestions=syntacticSuggestions.map(function(item){return item.nextTokenType.tokenName});return Array.from(new Set(finalSuggestions))}exports.getAvailableTokens=getAvailableTokens});
(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./lexer.g","./parser.g"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var lexer_g_1=require("./lexer.g");var parser_g_1=require("./parser.g");var CstNode=function(){function CstNode(){this.startOffset=0}return CstNode}();var parser=new parser_g_1.Parser([]);function parseMysql(mysqlCode){var processedCode=mysqlCode.replace(/--[\s\S]*?\n/g,"").replace(/\/\*[\s\S]*\*\/\n/g,"");var lexResult=lexer_g_1.Lexer.tokenize(processedCode);parser.input=lexResult.tokens;var cst=parser.root();return{cst:cst,lexErrors:lexResult.errors,parseErrors:parser.errors}}exports.parseMysql=parseMysql;function getAvailableTokens(text){var processedCode=text.replace(/--[\s\S]*?\n/g,"").replace(/\/\*[\s\S]*\*\/\n/g,"");var lexResult=lexer_g_1.Lexer.tokenize(processedCode);if(lexResult.errors.length>0){throw new Error("sad sad panda, lexing errors detected")}var parser=new parser_g_1.Parser([]);var assistanceTokenVector=lexResult.tokens;var syntacticSuggestions=parser.computeContentAssist("root",assistanceTokenVector);var finalSuggestions=syntacticSuggestions.map(function(item){return item.nextTokenType.tokenName});return Array.from(new Set(finalSuggestions))}exports.getAvailableTokens=getAvailableTokens});

@@ -1,1 +0,1 @@

(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./lexer.g","./parser.g"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var lexer_g_1=require("./lexer.g");var parser_g_1=require("./parser.g");var CstNode=function(){function CstNode(){this.startOffset=0}return CstNode}();var parser=new parser_g_1.Parser([]);function parseMysql(mysqlCode){var lexResult=lexer_g_1.Lexer.tokenize(mysqlCode);parser.input=lexResult.tokens;var cst=parser.root();return{cst:cst,lexErrors:lexResult.errors,parseErrors:parser.errors}}exports.parseMysql=parseMysql;function getAvailableTokens(text){var lexResult=lexer_g_1.Lexer.tokenize(text);if(lexResult.errors.length>0){throw new Error("sad sad panda, lexing errors detected")}var parser=new parser_g_1.Parser([]);var assistanceTokenVector=lexResult.tokens;var syntacticSuggestions=parser.computeContentAssist("root",assistanceTokenVector);var finalSuggestions=syntacticSuggestions.map(function(item){return item.nextTokenType.tokenName});return Array.from(new Set(finalSuggestions))}exports.getAvailableTokens=getAvailableTokens});
(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./lexer.g","./parser.g"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var lexer_g_1=require("./lexer.g");var parser_g_1=require("./parser.g");var CstNode=function(){function CstNode(){this.startOffset=0}return CstNode}();var parser=new parser_g_1.Parser([]);function parseMysql(mysqlCode){var processedCode=mysqlCode.replace(/#[\s\S]*?\n/g,"").replace(/\/\*[\s\S]*\*\/\n/g,"");var lexResult=lexer_g_1.Lexer.tokenize(processedCode);parser.input=lexResult.tokens;var cst=parser.root();return{cst:cst,lexErrors:lexResult.errors,parseErrors:parser.errors}}exports.parseMysql=parseMysql;function getAvailableTokens(text){var processedCode=text.replace(/--[\s\S]*?\n/g,"").replace(/\/\*[\s\S]*\*\/\n/g,"");var lexResult=lexer_g_1.Lexer.tokenize(processedCode);if(lexResult.errors.length>0){throw new Error("sad sad panda, lexing errors detected")}var parser=new parser_g_1.Parser([]);var assistanceTokenVector=lexResult.tokens;var syntacticSuggestions=parser.computeContentAssist("root",assistanceTokenVector);var finalSuggestions=syntacticSuggestions.map(function(item){return item.nextTokenType.tokenName});return Array.from(new Set(finalSuggestions))}exports.getAvailableTokens=getAvailableTokens});

@@ -1,1 +0,1 @@

var __assign=this&&this.__assign||Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./definations","../sql-parser/ODPS/parser.g","lodash"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var definations_1=require("./definations");var parser_g_1=require("../sql-parser/ODPS/parser.g");var _=require("lodash");var getLeafNode=function(cst,global){return getFilteredNode(cst,function(target){return target.image},global)};var getPositiondNode=function(cst,pos){var virtualMinOffset=1e4;var virtualLineLength=1e3;var targetToken;var nearestRecoveredNode;getFilteredNode(cst,function(target){if(target.image){var newOffset=(+pos.line-target.startLine)*virtualLineLength+ +pos.offset-target.startColumn+1;if(newOffset>0&&newOffset<virtualMinOffset){virtualMinOffset=newOffset;targetToken=target}if(newOffset===1){return true}}return false});if(targetToken.image!=="."){nearestRecoveredNode=getFilteredNode(_.findLast(targetToken.ruleStack,{recoveredNode:true}),function(target){return target.recoveredNode&&_.isEmpty(target.children)})[0]}if(nearestRecoveredNode){return[__assign({},nearestRecoveredNode,{ruleStack:targetToken.ruleStack.concat(nearestRecoveredNode.ruleStack.slice(1))})]}else{return[targetToken]}};exports.getPositiondNode=getPositiondNode;var getNearestTargetNode=function(cst,pos,parentName){var target=getPositiondNode(cst,pos)[0];if(target){return[].concat(_.findLast(target.ruleStack,{name:parentName}))}return[]};exports.getNearestTargetNode=getNearestTargetNode;var getFilteredNode=function(cst,filter,global){var queue=[__assign({},cst,{ruleStack:[]})];var result=[];var _loop_1=function(){var target=queue.shift();if(target){queue.push.apply(queue,_.flatten(Object.values(target.children||[])).reduce(function(sum,item){return sum.concat(__assign({},item,{ruleStack:target.ruleStack.concat(target)}))},[]));if(filter(target)){if(global){result.push(target)}else{return{value:[target]}}}}else{return{value:result}}};while(true){var state_1=_loop_1();if(typeof state_1==="object")return state_1.value}};exports.getFilteredNode=getFilteredNode;var getClassification=function(ast,pos){return getFilteredNode(ast.cst,function(target){return target.startColumn&&target.startLine-1===pos.line&&target.startColumn-1<=pos.character&&target.image.length+target.startColumn-1>=pos.character})};exports.getClassification=getClassification;var getCompleteInfo=function(ast,pos,languageId){var errorMsg=[];ast.parseErrors.forEach(function(err){var singleError={previousToken:err.previousToken,completeType:[]};var errorType=definations_1.ErrorPrefix.filter(function(item){return err.message.match(item.key)})[0]||{};if(errorType.type===definations_1.ErrorToken.singleMissingToken){singleError.completeType.push(__assign({errType:err.message.match(errorType.pattern)[1]},err))}else if(errorType.type===definations_1.ErrorToken.multiMissingToken||errorType.type===definations_1.ErrorToken.earlyExitException){(err.message.match(errorType.pattern)||[]).forEach(function(item){var content=item.slice(1,-1);if(parser_g_1.Tokens[content]){console.log(parser_g_1.Tokens[content])}singleError.completeType.push(__assign({errType:content},err))})}else if(errorType.type===definations_1.ErrorToken.initMissingToken){definations_1.CommonStartToken[languageId].filter(function(item){return item.toLowerCase().indexOf(err.message.match(errorType.pattern)[1].toLowerCase())===0}).forEach(function(errType){singleError.completeType.push(__assign({errType:errType},err))})}errorMsg.push(singleError)});return errorMsg};exports.getCompleteInfo=getCompleteInfo;var getTabelDetails=function(init,fromClause,more){return _.flattenDeep(_.get(getFilteredNode(fromClause,function(target){return target.name===parser_g_1.SyntaxKind.tableSources}),"[0].children.tableSource",[]).map(function(tableSource){var tableSourceItems=[];if(tableSource.children[parser_g_1.SyntaxKind.joinPart]){tableSource.children[parser_g_1.SyntaxKind.joinPart].forEach(function(join){tableSourceItems.push(getFilteredNode(join,function(target){return target.name===parser_g_1.SyntaxKind.tableSourceItem}))})}if(tableSource.children[parser_g_1.SyntaxKind.tableSourceItem]){tableSourceItems.push(tableSource.children[parser_g_1.SyntaxKind.tableSourceItem])}return tableSourceItems})).map(function(table){var tableInfo=__assign({exportsFields:[],availableFields:[],alias:"",table:"SUBQUERY"},init);if(table.children[parser_g_1.SyntaxKind.uid]){tableInfo.alias=getLeafNode(table.children[parser_g_1.SyntaxKind.uid][0])[0].image}if(table.children[parser_g_1.SyntaxKind.tableName]){var tableName_1=_.sortBy(getLeafNode(table.children[parser_g_1.SyntaxKind.tableName][0],true),["startOffset"],["asc"]).map(function(item){return item.image}).join("");tableInfo.table=tableName_1;tableInfo.availableFields=[{name:"*",alias:"",origin:tableName_1}];tableInfo.exportsFields=tableInfo.exportsFields.map(function(item){return __assign({},item,{origin:tableName_1})})}if(more&&table.children[parser_g_1.SyntaxKind.selectStatement]){var recurive=_.flattenDeep(Object.values(table.children[parser_g_1.SyntaxKind.selectStatement][0].children)).map(function(child){return peel(child)});tableInfo.availableFields=recurive;if(tableInfo.exportsFields[0]&&tableInfo.exportsFields[0].name==="*"){tableInfo.exportsFields=recurive}}return tableInfo})};var peel=function(cst){var query=getFilteredNode(cst,function(target){return target.name===parser_g_1.SyntaxKind.querySpecification})[0];var hasStar=query&&query.children[parser_g_1.SyntaxKind.selectElements][0].children[parser_g_1.TokenEnum.STAR];var exportsFields=[];if(hasStar){exportsFields.push({name:"*",alias:""})}if(query){exportsFields=_.uniqBy(exportsFields.concat(_.flatten((query.children[parser_g_1.SyntaxKind.selectElements][0].children[parser_g_1.SyntaxKind.selectElement]||[]).map(function(fields){var name="";var alias=fields.children[parser_g_1.SyntaxKind.uid]?_.get(getLeafNode(fields.children[parser_g_1.SyntaxKind.uid][0]),"[0].image"):"";if(fields.children[parser_g_1.SyntaxKind.functionCall]){var functionCallStructure=fields.children[parser_g_1.SyntaxKind.functionCall][0].children;var args=functionCallStructure[parser_g_1.SyntaxKind.functionArgs]?_.filter(getLeafNode(functionCallStructure[parser_g_1.SyntaxKind.functionArgs][0],true),function(leaf){return leaf.tokenTypeIdx!==parser_g_1.Tokens.COMMA.tokenTypeIdx}):[];var func=(getLeafNode((functionCallStructure[parser_g_1.SyntaxKind.scalarFunctionName]||[])[0]||(functionCallStructure[parser_g_1.SyntaxKind.specificFunction]||[])[0])[0]||{}).image;if(func===parser_g_1.TokenEnum.CASE){var caseAlias=functionCallStructure[parser_g_1.SyntaxKind.specificFunction][0].children[parser_g_1.SyntaxKind.expressionAtom]||[];alias=caseAlias[0]?getLeafNode(caseAlias[0])[0].image:""}name=func?func+"("+args.map(function(arg){return arg.image}).join(", ")+")":""}else if(fields.children[parser_g_1.SyntaxKind.fullColumnName]&&!hasStar){var fullColumnNameStructure=fields.children[parser_g_1.SyntaxKind.fullColumnName][0].children;if(fullColumnNameStructure[parser_g_1.SyntaxKind.dottedId]){name=getLeafNode(fullColumnNameStructure[parser_g_1.SyntaxKind.dottedId].slice(-1)[0])[0].image.slice(1)}else if(fullColumnNameStructure[parser_g_1.SyntaxKind.constant]){name=getLeafNode(fullColumnNameStructure[parser_g_1.SyntaxKind.constant][0])[0].image}else{name=getLeafNode(fullColumnNameStructure[parser_g_1.SyntaxKind.uid][0])[0].image}}else{name="*";alias=""}return{name:name,alias:alias}}))),"name")}var tableInfo={exportsFields:exportsFields};return query?getTabelDetails(tableInfo,(query.children[parser_g_1.SyntaxKind.fromClause]||[])[0],true):{}};var getAliasMap=function(ast){var topSQl=getFilteredNode(ast.cst,function(target){return target.name===parser_g_1.SyntaxKind.sqlStatements})[0].children[parser_g_1.SyntaxKind.sqlStatement];var topSelect=[];(topSQl||[]).forEach(function(sql){var isSelect=getFilteredNode(sql,function(target){return target.name===parser_g_1.SyntaxKind.querySpecification})[0];isSelect&&topSelect.push(isSelect)});return _.flatten(topSelect.map(function(select){return peel(select)}))};exports.getAliasMap=getAliasMap;var getNextTableSource=function(ast,token,more){var parent=getFilteredNode(ast.cst,function(target){return target.name===parser_g_1.SyntaxKind.fromClause&&target.children[parser_g_1.TokenEnum.FROM][0].startOffset>=token.startOffset});return parent?getTabelDetails({},parent[0],more):[]};exports.getNextTableSource=getNextTableSource;var getTotalPath=function(cst,token){var columnRoot=getFilteredNode(cst,function(target){return target.name===parser_g_1.SyntaxKind.fullColumnName||target.name===parser_g_1.SyntaxKind.tableName},true);var targetColumn=_.find(columnRoot,function(o){return getFilteredNode(o,function(target){return target.image&&target.image.indexOf(token.image)===0&&target.startColumn===token.startColumn&&target.startLine===token.startLine})[0]});var leafNodes=targetColumn?_.flatten(_.flatten(Object.values(targetColumn.children)).map(function(node){return getLeafNode(node,true)})):[];return _.orderBy(leafNodes,["startOffset"],["asc"]).map(function(item){return item.image}).join("")};exports.getTotalPath=getTotalPath;var getKeywords=function(){return parser_g_1.TokenEnum};exports.getKeywords=getKeywords});
var __assign=this&&this.__assign||Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./definations","../sql-parser/ODPS/parser.g","lodash"],factory)}})(function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var definations_1=require("./definations");var parser_g_1=require("../sql-parser/ODPS/parser.g");var _=require("lodash");var getLeafNode=function(cst,global){return getFilteredNode(cst,function(target){return target.image},global)};var getPositiondNode=function(cst,pos){var virtualMinOffset=1e4;var virtualLineLength=1e3;var targetToken;var nearestRecoveredNode;getFilteredNode(cst,function(target){if(target.image){var newOffset=(+pos.line-target.startLine)*virtualLineLength+ +pos.offset-target.startColumn+1;if(newOffset>0&&newOffset<virtualMinOffset){virtualMinOffset=newOffset;targetToken=target}if(newOffset===1){return true}}return false});if(targetToken.image!=="."){var ruleStackLength=targetToken.ruleStack.length-1;for(var i=ruleStackLength;i>-1;i--){nearestRecoveredNode=getFilteredNode(targetToken.ruleStack[i],function(target){return target.recoveredNode&&_.isEmpty(target.children)})[0];if(nearestRecoveredNode){break}}}if(nearestRecoveredNode){return[__assign({},nearestRecoveredNode,{ruleStack:targetToken.ruleStack.concat(nearestRecoveredNode.ruleStack.slice(1))})]}else{return[targetToken]}};exports.getPositiondNode=getPositiondNode;var getNearestTargetNode=function(cst,pos,parentName){var target=getPositiondNode(cst,pos)[0];if(target){return[].concat(_.findLast(target.ruleStack,{name:parentName}))}return[]};exports.getNearestTargetNode=getNearestTargetNode;var getFilteredNode=function(cst,filter,global){var queue=[__assign({},cst,{ruleStack:[]})];var result=[];var _loop_1=function(){var target=queue.shift();if(target){queue.push.apply(queue,_.flatten(Object.values(target.children||[])).reduce(function(sum,item){return sum.concat(__assign({},item,{ruleStack:target.ruleStack.concat(target)}))},[]));if(filter(target)){if(global){result.push(target)}else{return{value:[target]}}}}else{return{value:result}}};while(true){var state_1=_loop_1();if(typeof state_1==="object")return state_1.value}};exports.getFilteredNode=getFilteredNode;var getClassification=function(ast,pos){return getFilteredNode(ast.cst,function(target){return target.startColumn&&target.startLine-1===pos.line&&target.startColumn-1<=pos.character&&target.image.length+target.startColumn-1>=pos.character})};exports.getClassification=getClassification;var getCompleteInfo=function(ast,pos,languageId){var errorMsg=[];ast.parseErrors.forEach(function(err){var singleError={previousToken:err.previousToken,completeType:[]};var errorType=definations_1.ErrorPrefix.filter(function(item){return err.message.match(item.key)})[0]||{};if(errorType.type===definations_1.ErrorToken.singleMissingToken){singleError.completeType.push(__assign({errType:err.message.match(errorType.pattern)[1]},err))}else if(errorType.type===definations_1.ErrorToken.multiMissingToken||errorType.type===definations_1.ErrorToken.earlyExitException){(err.message.match(errorType.pattern)||[]).forEach(function(item){var content=item.slice(1,-1);if(parser_g_1.Tokens[content]){console.log(parser_g_1.Tokens[content])}singleError.completeType.push(__assign({errType:content},err))})}else if(errorType.type===definations_1.ErrorToken.initMissingToken){definations_1.CommonStartToken[languageId].filter(function(item){return item.toLowerCase().indexOf(err.message.match(errorType.pattern)[1].toLowerCase())===0}).forEach(function(errType){singleError.completeType.push(__assign({errType:errType},err))})}errorMsg.push(singleError)});return errorMsg};exports.getCompleteInfo=getCompleteInfo;var getTabelDetails=function(init,fromClause,more){return _.flattenDeep(_.get(getFilteredNode(fromClause,function(target){return target.name===parser_g_1.SyntaxKind.tableSources}),"[0].children.tableSource",[]).map(function(tableSource){var tableSourceItems=[];if(tableSource.children[parser_g_1.SyntaxKind.joinPart]){tableSource.children[parser_g_1.SyntaxKind.joinPart].forEach(function(join){tableSourceItems.push(getFilteredNode(join,function(target){return target.name===parser_g_1.SyntaxKind.tableSourceItem}))})}if(tableSource.children[parser_g_1.SyntaxKind.tableSourceItem]){tableSourceItems.push(tableSource.children[parser_g_1.SyntaxKind.tableSourceItem])}return tableSourceItems})).map(function(table){var tableInfo=__assign({exportsFields:[],availableFields:[],alias:"",table:"SUBQUERY"},init);if(table.children[parser_g_1.SyntaxKind.uid]){tableInfo.alias=_.get(getLeafNode(table.children[parser_g_1.SyntaxKind.uid][0]),"[0].image")}if(table.children[parser_g_1.SyntaxKind.tableName]){var tableName_1=_.sortBy(getLeafNode(table.children[parser_g_1.SyntaxKind.tableName][0],true),["startOffset"],["asc"]).map(function(item){return item.image}).join("");tableInfo.table=tableName_1;tableInfo.availableFields=[{name:"*",alias:"",origin:tableName_1}];tableInfo.exportsFields=tableInfo.exportsFields.map(function(item){return __assign({},item,{origin:tableName_1})})}if(more&&table.children[parser_g_1.SyntaxKind.selectStatement]){var recurive=_.flattenDeep(Object.values(table.children[parser_g_1.SyntaxKind.selectStatement][0].children)).map(function(child){return peel(child)});tableInfo.availableFields=recurive;if(tableInfo.exportsFields[0]&&tableInfo.exportsFields[0].name==="*"){tableInfo.exportsFields=recurive}}return tableInfo})};var peel=function(cst){var query=getFilteredNode(cst,function(target){return target.name===parser_g_1.SyntaxKind.querySpecification})[0];var hasStar=query&&query.children[parser_g_1.SyntaxKind.selectElements][0].children[parser_g_1.TokenEnum.STAR];var exportsFields=[];if(hasStar){exportsFields.push({name:"*",alias:""})}if(query){exportsFields=_.uniqBy(exportsFields.concat(_.flatten((query.children[parser_g_1.SyntaxKind.selectElements][0].children[parser_g_1.SyntaxKind.selectElement]||[]).map(function(fields){var name="";var alias=fields.children[parser_g_1.SyntaxKind.uid]?_.get(getLeafNode(fields.children[parser_g_1.SyntaxKind.uid][0]),"[0].image"):"";if(fields.children[parser_g_1.SyntaxKind.functionCall]){var functionCallStructure=fields.children[parser_g_1.SyntaxKind.functionCall][0].children;var args=functionCallStructure[parser_g_1.SyntaxKind.functionArgs]?_.filter(getLeafNode(functionCallStructure[parser_g_1.SyntaxKind.functionArgs][0],true),function(leaf){return leaf.tokenTypeIdx!==parser_g_1.Tokens.COMMA.tokenTypeIdx}):[];var func=(getLeafNode((functionCallStructure[parser_g_1.SyntaxKind.scalarFunctionName]||[])[0]||(functionCallStructure[parser_g_1.SyntaxKind.specificFunction]||[])[0])[0]||{}).image;if(func===parser_g_1.TokenEnum.CASE){var caseAlias=functionCallStructure[parser_g_1.SyntaxKind.specificFunction][0].children[parser_g_1.SyntaxKind.expressionAtom]||[];alias=caseAlias[0]?getLeafNode(caseAlias[0])[0].image:""}name=func?func+"("+args.map(function(arg){return arg.image}).join(", ")+")":""}else if(fields.children[parser_g_1.SyntaxKind.fullColumnName]&&!hasStar){var fullColumnNameStructure=fields.children[parser_g_1.SyntaxKind.fullColumnName][0].children;if(fullColumnNameStructure[parser_g_1.SyntaxKind.dottedId]){name=getLeafNode(fullColumnNameStructure[parser_g_1.SyntaxKind.dottedId].slice(-1)[0])[0].image.slice(1)}else if(fullColumnNameStructure[parser_g_1.SyntaxKind.constant]){name=getLeafNode(fullColumnNameStructure[parser_g_1.SyntaxKind.constant][0])[0].image}else{name=getLeafNode(fullColumnNameStructure[parser_g_1.SyntaxKind.uid][0])[0].image}}else{name="*";alias=""}return{name:name,alias:alias}}))),"name")}var tableInfo={exportsFields:exportsFields};return query?getTabelDetails(tableInfo,(query.children[parser_g_1.SyntaxKind.fromClause]||[])[0],true):{}};var getAliasMap=function(ast){var topSQl=getFilteredNode(ast.cst,function(target){return target.name===parser_g_1.SyntaxKind.sqlStatements})[0].children[parser_g_1.SyntaxKind.sqlStatement];var topSelect=[];(topSQl||[]).forEach(function(sql){var isSelect=getFilteredNode(sql,function(target){return target.name===parser_g_1.SyntaxKind.querySpecification})[0];isSelect&&topSelect.push(isSelect)});return _.flatten(topSelect.map(function(select){return peel(select)}))};exports.getAliasMap=getAliasMap;var getNextTableSource=function(ast,token,more){var parent=getFilteredNode(ast.cst,function(target){return target.name===parser_g_1.SyntaxKind.fromClause&&target.children[parser_g_1.TokenEnum.FROM][0].startOffset>=token.startOffset});return parent?getTabelDetails({},parent[0],more):[]};exports.getNextTableSource=getNextTableSource;var getTotalPath=function(cst,token){var columnRoot=getFilteredNode(cst,function(target){return target.name===parser_g_1.SyntaxKind.fullColumnName||target.name===parser_g_1.SyntaxKind.tableName},true);var targetColumn=_.find(columnRoot,function(o){return getFilteredNode(o,function(target){return target.image&&target.image.indexOf(token.image)===0&&target.startColumn===token.startColumn&&target.startLine===token.startLine})[0]});var leafNodes=targetColumn?_.flatten(_.flatten(Object.values(targetColumn.children)).map(function(node){return getLeafNode(node,true)})):[];return _.orderBy(leafNodes,["startOffset"],["asc"]).map(function(item){return item.image}).join("")};exports.getTotalPath=getTotalPath;var getKeywords=function(){return parser_g_1.TokenEnum};exports.getKeywords=getKeywords});
{
"name": "intellij-parser",
"version": "1.0.3",
"version": "1.0.12",
"description": "",

@@ -12,2 +12,3 @@ "main": "lib/index.js",

"dev": "tsc -w",
"start": "cross-env UV_THREADPOOL_SIZE=100 NODE_ENV=development webpack-dev-server --config webpack.config.dev.js",
"test": "tsc && node lib/test.js"

@@ -28,2 +29,4 @@ },

"@types/prettier": "^1.10.0",
"cross-env": "^5.2.0",
"fs-extra": "^8.0.1",
"monaco-editor-core": "0.12.0",

@@ -34,11 +37,16 @@ "monaco-languages": "1.0.0",

"typescript": "2.7.2",
"vscode-languageserver-types": "3.6.1"
"uglify-js": "^3.3.14",
"vscode-languageserver-types": "3.6.1",
"webpack": "^4.6.0",
"webpack-cli": "^2.0.15",
"worker-loader": "^1.1.1",
"ts-loader": "^4.2.0",
"chalk": "^2.3.0",
"lodash-amd": "^4.17.10",
"prettier": "1.9",
"vscode-nls": "^3.2.2"
},
"dependencies": {
"chevrotain": "^3.1.0",
"fs-extra": "^5.0.0",
"prettier": "1.9",
"typescript": "^2.6.1",
"vscode-nls": "^3.2.2"
"chevrotain": "^3.1.0"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc