Define structure for docs and improve grammar
The keywords inside SqlBase are now sorted alphabetically - much easier to read and update the docs Original commit: elastic/x-pack-elasticsearch@5aa89c5950
This commit is contained in:
parent
62b8e54247
commit
c48d2b14dc
|
@ -0,0 +1,39 @@
|
|||
[role="xpack"]
|
||||
[[sql-cli]]
|
||||
== SQL CLI
|
||||
|
||||
The SQL CLI is a stand alone Java application for quick interaction
|
||||
with X-Pack SQL. You can run it like this:
|
||||
|
||||
["source","bash",subs="attributes,callouts"]
|
||||
--------------------------------------------------
|
||||
$ java -jar cli-{version}.jar
|
||||
--------------------------------------------------
|
||||
|
||||
You can pass the URL of the Elasticsearch instance to connect to as
|
||||
the first parameter:
|
||||
|
||||
["source","bash",subs="attributes,callouts"]
|
||||
--------------------------------------------------
|
||||
$ java -jar cli-{version}.jar https://some.server:9200
|
||||
--------------------------------------------------
|
||||
|
||||
The cli jar is entirely stand alone and can be moved whereever it is
|
||||
needed.
|
||||
|
||||
Once the CLI is running you can use any <<sql-query-dsl,query>> that
|
||||
Elasticsearch supports:
|
||||
|
||||
[source,sqlcli]
|
||||
--------------------------------------------------
|
||||
sql> SELECT * FROM library WHERE page_count > 500 ORDER BY page_count DESC;
|
||||
author | name | page_count
|
||||
----------------------------+-----------------------+---------------
|
||||
Victor Hugo |Les Misérables |1463
|
||||
Miguel De Cervantes Saavedra|Don Quixote |1072
|
||||
Miguel De Cervantes Saavedra|Don Quixote |1072
|
||||
Herman Melville |Moby-Dick or, The Whale|720
|
||||
Charles Dickens |Oliver Twist |608
|
||||
--------------------------------------------------
|
||||
// TODO it'd be lovely to be able to assert that this is correct but
|
||||
// that is probably more work then it is worth right now.
|
|
@ -0,0 +1,4 @@
|
|||
include::sql-rest.asciidoc[]
|
||||
include::sql-translate.asciidoc[]
|
||||
include::sql-cli.asciidoc[]
|
||||
include::sql-jdbc.asciidoc[]
|
|
@ -0,0 +1,31 @@
|
|||
[role="xpack"]
|
||||
[[sql-jdbc]]
|
||||
== SQL JDBC
|
||||
|
||||
Elasticsearch's SQL jdbc driver is a fully featured JDBC driver
|
||||
for Elasticsearch. You can connect to it with:
|
||||
|
||||
["source","java",subs="attributes,callouts,macros"]
|
||||
--------------------------------------------------
|
||||
include-tagged::{jdbc-tests}/JdbcIntegrationTestCase.java[connect]
|
||||
--------------------------------------------------
|
||||
<1> The server and port on which Elasticsearch is listening for
|
||||
HTTP traffic. The port is usually 9200.
|
||||
<2> Properties for connecting to Elasticsearch. An empty `Properties`
|
||||
instance is fine for unsecured Elasticsearch.
|
||||
|
||||
To connect to a secured Elasticsearch server the `Properties`
|
||||
should look like:
|
||||
|
||||
["source","java",subs="attributes,callouts,macros"]
|
||||
--------------------------------------------------
|
||||
include-tagged::{security-tests}/JdbcSecurityIT.java[admin_properties]
|
||||
--------------------------------------------------
|
||||
|
||||
Once you have the connection you can use it like any other JDBC
|
||||
connection. For example:
|
||||
|
||||
["source","java",subs="attributes,callouts,macros"]
|
||||
--------------------------------------------------
|
||||
include-tagged::{jdbc-tests}/SimpleExampleTestCase.java[simple_example]
|
||||
--------------------------------------------------
|
|
@ -0,0 +1,90 @@
|
|||
[role="xpack"]
|
||||
[[sql-rest]]
|
||||
== SQL REST API
|
||||
|
||||
The SQL REST API accepts SQL in a JSON document, executes it,
|
||||
and returns the results. For example:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
POST /_sql
|
||||
{
|
||||
"query": "SELECT * FROM library ORDER BY page_count DESC",
|
||||
"fetch_size": 5
|
||||
}
|
||||
--------------------------------------------------
|
||||
// CONSOLE
|
||||
// TEST[setup:library]
|
||||
|
||||
Which returns:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
{
|
||||
"columns": [
|
||||
{"name": "author", "type": "keyword"},
|
||||
{"name": "name", "type": "keyword"},
|
||||
{"name": "page_count", "type": "short"},
|
||||
{"name": "release_date", "type": "date"}
|
||||
],
|
||||
"size": 5,
|
||||
"rows": [
|
||||
["Peter F. Hamilton", "Pandora's Star", 768, 1078185600000],
|
||||
["Vernor Vinge", "A Fire Upon the Deep", 613, 707356800000],
|
||||
["Frank Herbert", "Dune", 604, -144720000000],
|
||||
["Alastair Reynolds", "Revelation Space", 585, 953078400000],
|
||||
["James S.A. Corey", "Leviathan Wakes", 561, 1306972800000]
|
||||
],
|
||||
"cursor": "sDXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAAEWWWdrRlVfSS1TbDYtcW9lc1FJNmlYdw==:BAFmBmF1dGhvcgFmBG5hbWUBZgpwYWdlX2NvdW50AWYMcmVsZWFzZV9kYXRl+v///w8="
|
||||
}
|
||||
--------------------------------------------------
|
||||
// TESTRESPONSE[s/sDXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAAEWWWdrRlVfSS1TbDYtcW9lc1FJNmlYdw==:BAFmBmF1dGhvcgFmBG5hbWUBZgpwYWdlX2NvdW50AWYMcmVsZWFzZV9kYXRl\+v\/\/\/w8=/$body.cursor/]
|
||||
|
||||
You can continue to the next page by sending back the `cursor` field:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
POST /_sql
|
||||
{
|
||||
"cursor": "sDXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAAEWYUpOYklQMHhRUEtld3RsNnFtYU1hQQ==:BAFmBGRhdGUBZgVsaWtlcwFzB21lc3NhZ2UBZgR1c2Vy9f///w8="
|
||||
}
|
||||
--------------------------------------------------
|
||||
// CONSOLE
|
||||
// TEST[continued]
|
||||
// TEST[s/sDXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAAEWYUpOYklQMHhRUEtld3RsNnFtYU1hQQ==:BAFmBGRhdGUBZgVsaWtlcwFzB21lc3NhZ2UBZgR1c2Vy9f\/\/\/w8=/$body.cursor/]
|
||||
|
||||
Which looks like:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
{
|
||||
"size" : 5,
|
||||
"rows" : [
|
||||
["Dan Simmons", "Hyperion", 482, 612144000000],
|
||||
["Iain M. Banks", "Consider Phlebas", 471, 546134400000],
|
||||
["Neal Stephenson", "Snow Crash", 470, 707356800000],
|
||||
["Robert A. Heinlein", "Starship Troopers", 335, -318297600000],
|
||||
["George Orwell", "1984", 328, 486432000000]
|
||||
],
|
||||
"cursor" : "sDXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAAEWODRMaXBUaVlRN21iTlRyWHZWYUdrdw==:BAFmBmF1dGhvcgFmBG5hbWUBZgpwYWdlX2NvdW50AWYMcmVsZWFzZV9kYXRl9f///w8="
|
||||
}
|
||||
--------------------------------------------------
|
||||
// TESTRESPONSE[s/sDXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAAEWODRMaXBUaVlRN21iTlRyWHZWYUdrdw==:BAFmBmF1dGhvcgFmBG5hbWUBZgpwYWdlX2NvdW50AWYMcmVsZWFzZV9kYXRl9f\/\/\/w8=/$body.cursor/]
|
||||
|
||||
Note that the `column` object is only part of the first page.
|
||||
|
||||
You've reached the last page when there is no `cursor` returned
|
||||
in the results. Like Elasticsearch's <<search-request-scroll,scroll>>,
|
||||
SQL may keep state in Elasticsearch to support the cursor. Unlike
|
||||
scroll, receiving the last page is enough to guarantee that the
|
||||
Elasticsearch state is cleared. For now, that is the only way to
|
||||
clear the state.
|
||||
|
||||
[[sql-rest-fields]]
|
||||
In addition to the `query` and `cursor` fields, the request can
|
||||
contain `fetch_size` and `time_zone`. `fetch_size` is a hint for how
|
||||
many results to return in each page. SQL might chose to return more
|
||||
or fewer results though. `time_zone` is the time zone to use for date
|
||||
functions and date parsing. `time_zone` defaults to `utc` and can take
|
||||
any values documented
|
||||
http://www.joda.org/joda-time/apidocs/org/joda/time/DateTimeZone.html[here].
|
|
@ -0,0 +1,48 @@
|
|||
[role="xpack"]
|
||||
[[sql-translate]]
|
||||
== SQL Translate API
|
||||
|
||||
The SQL Translate API accepts SQL in a JSON document and translates it
|
||||
into native Elasticsearch queries. For example:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
POST /_sql/translate
|
||||
{
|
||||
"query": "SELECT * FROM library ORDER BY page_count DESC",
|
||||
"fetch_size": 10
|
||||
}
|
||||
--------------------------------------------------
|
||||
// CONSOLE
|
||||
// TEST[setup:library]
|
||||
|
||||
Which returns:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
{
|
||||
"size" : 10,
|
||||
"docvalue_fields" : [
|
||||
"author",
|
||||
"name",
|
||||
"page_count",
|
||||
"release_date"
|
||||
],
|
||||
"sort" : [
|
||||
{
|
||||
"page_count" : {
|
||||
"order" : "desc"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
--------------------------------------------------
|
||||
// TESTRESPONSE
|
||||
|
||||
Which is the request that SQL will run to provide the results.
|
||||
In this case, SQL will use the <<search-request-scroll,scroll>>
|
||||
API. If the result contained an aggregation then SQL would use
|
||||
the normal <<search-request-body,search>> API.
|
||||
|
||||
The request body accepts all of the <<sql-rest-fields,fields>> that
|
||||
the <<sql-rest,SQL REST API>> accepts except `cursor`.
|
|
@ -0,0 +1,12 @@
|
|||
[[sql-functions]]
|
||||
== Functions and Operators
|
||||
|
||||
|
||||
// logical operators
|
||||
// comparison
|
||||
// conversion
|
||||
// math
|
||||
// date time
|
||||
// aggregate
|
||||
|
||||
// geospatial
|
|
@ -2,7 +2,7 @@
|
|||
[[xpack-sql]]
|
||||
= SQL Access
|
||||
|
||||
:sql-tests: {docdir}/../../qa/sql
|
||||
:sql-tests: {docdir}/../../../qa/sql
|
||||
:sql-specs: {sql-tests}/src/main/resources
|
||||
:jdbc-tests: {sql-tests}/src/main/java/org/elasticsearch/xpack/qa/sql/jdbc
|
||||
:security-tests: {sql-tests}/security/src/test/java/org/elasticsearch/xpack/qa/sql/security
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[[sql-data-types]]
|
||||
=== Data Type and Mapping
|
||||
|
||||
List of data types in SQL and how they actually map to Elasticsearch.
|
||||
Also mention the corner cases - multi-fields, names with dots, etc...
|
|
@ -0,0 +1,9 @@
|
|||
[[sql-spec]]
|
||||
== SQL Language
|
||||
|
||||
This chapter describes the SQL syntax and data types supported in X-Pack.
|
||||
As a general rule, the syntax tries to adhere as much as possible to ANSI SQL to make the transition seamless.
|
||||
|
||||
include::sql-data-types.asciidoc[]
|
||||
include::sql-syntax.asciidoc[]
|
||||
include::sql-reserved.asciidoc[]
|
|
@ -0,0 +1,78 @@
|
|||
[[sql-spec-reserved]]
|
||||
=== Reserved Keywords
|
||||
|
||||
Table with reserved keywords that need to be quoted. Also provide an example to make it more obvious.
|
||||
|
||||
The following table lists all of the keywords that are reserved in Presto,
|
||||
along with their status in the SQL standard. These reserved keywords must
|
||||
be quoted (using double quotes) in order to be used as an identifier, for example:
|
||||
|
||||
[source, sql]
|
||||
----
|
||||
SELECT "AS" FROM index
|
||||
----
|
||||
|
||||
[cols="^,^,^",options="header"]
|
||||
|
||||
|===
|
||||
|
||||
|Keyword |SQL:2016 |SQL-92
|
||||
|
||||
|
||||
|`ALL` |reserved |reserved
|
||||
|`AND` |reserved |reserved
|
||||
|`ANY` |reserved |reserved
|
||||
|`AS` |reserved |reserved
|
||||
|`ASC` |reserved |reserved
|
||||
|`BETWEEN` |reserved |reserved
|
||||
|`BY` |reserved |reserved
|
||||
|`CAST` |reserved |reserved
|
||||
|`COLUMN` |reserved |reserved
|
||||
|`CROSS` |reserved |reserved
|
||||
|`DESC` |reserved |reserved
|
||||
|`DESCRIBE` |reserved |reserved
|
||||
|`DISTINCT` |reserved |reserved
|
||||
|`EXISTS` |reserved |reserved
|
||||
|`EXPLAIN` |reserved |reserved
|
||||
|`EXTRACT` |reserved |reserved
|
||||
|`FALSE` |reserved |reserved
|
||||
|`FOR` |reserved |reserved
|
||||
|`FROM` |reserved |reserved
|
||||
|`FULL` |reserved |reserved
|
||||
|`GROUP` |reserved |reserved
|
||||
|`GROUPING` |reserved |reserved
|
||||
|`HAVING` |reserved |reserved
|
||||
|`IN` |reserved |reserved
|
||||
|`INNER` |reserved |reserved
|
||||
|`INTEGER` |reserved |reserved
|
||||
|`INTO` |reserved |reserved
|
||||
|`IS` |reserved |reserved
|
||||
|`JOIN` |reserved |reserved
|
||||
|`LAST` |reserved |reserved
|
||||
|`LEFT` |reserved |reserved
|
||||
|`LIKE` |reserved |reserved
|
||||
|`LIMIT` |reserved |reserved
|
||||
|`MATCH` |reserved |reserved
|
||||
|`NATURAL` |reserved |reserved
|
||||
|`NO` |reserved |reserved
|
||||
|`NOT` |reserved |reserved
|
||||
|`NULL` |reserved |reserved
|
||||
|`ON` |reserved |reserved
|
||||
|`OPTION` |reserved |reserved
|
||||
|`OR` |reserved |reserved
|
||||
|`ORDER` |reserved |reserved
|
||||
|`OUTER` |reserved |reserved
|
||||
|`RIGHT` |reserved |reserved
|
||||
|`SELECT` |reserved |reserved
|
||||
|`SESSION` | |reserved
|
||||
|`SET` |reserved |reserved
|
||||
|`TABLE` |reserved |reserved
|
||||
|`THEN` |reserved |reserved
|
||||
|`TO` |reserved |reserved
|
||||
|`TRUE` |reserved |reserved
|
||||
|`USING` |reserved |reserved
|
||||
|`WHEN` |reserved |reserved
|
||||
|`WHERE` |reserved |reserved
|
||||
|`WITH` |reserved |reserved
|
||||
|
||||
|===
|
|
@ -0,0 +1,11 @@
|
|||
[[sql-spec-syntax]]
|
||||
=== SQL Statement Syntax
|
||||
|
||||
Big list of the entire syntax in SQL
|
||||
|
||||
Each entry might get its own file and code snippet
|
||||
|
||||
["source","sql",subs="attributes,callouts,macros"]
|
||||
--------------------------------------------------
|
||||
include-tagged::{sql-spec}/select.sql-spec[wildcardWithOrder]
|
||||
--------------------------------------------------
|
|
@ -0,0 +1,5 @@
|
|||
[[sql-getting-started]]
|
||||
== Getting Started with SQL
|
||||
|
||||
Basic chapter on using REST, CLI and JDBC to run some basic queries and return some results.
|
||||
To keep this chapter should be about adding 3-4 entries of data, then using each technology to get the results out.
|
|
@ -0,0 +1,4 @@
|
|||
[[sql-overview]]
|
||||
== Overview
|
||||
|
||||
Overview of the difference chapters in SQL docs.
|
|
@ -0,0 +1,9 @@
|
|||
[[elasticsearch-sql-standalone]]
|
||||
= Elasticsearch SQL Standalone
|
||||
|
||||
:es-repo-dir: {docdir}/../../../../../elasticsearch/docs
|
||||
|
||||
:edit_url:
|
||||
include::{es-repo-dir}/reference/index-shared3.asciidoc[]
|
||||
:edit_url!:
|
||||
include::index.asciidoc[]
|
|
@ -255,90 +255,91 @@ number
|
|||
|
||||
// http://developer.mimer.se/validator/sql-reserved-words.tml
|
||||
nonReserved
|
||||
: SHOW | TABLES | COLUMNS | COLUMN | FUNCTIONS
|
||||
| EXPLAIN | ANALYZE | FORMAT | TYPE | TEXT | GRAPHVIZ | LOGICAL | PHYSICAL | VERIFY
|
||||
: ANALYZE | ANALYZED | COLUMNS | DEBUG | EXECUTABLE | EXPLAIN | FORMAT | FUNCTIONS | FROM
|
||||
| GRAPHVIZ | LOGICAL | MAPPED | OPTIMIZED | PARSED | PHYSICAL | PLAN | QUERY | RESET
|
||||
| RLIKE | SCHEMAS | SESSION | SETS | SHOW | TABLES | TEXT | TYPE | USE | VERIFY
|
||||
;
|
||||
|
||||
SELECT: 'SELECT';
|
||||
FROM: 'FROM';
|
||||
AS: 'AS';
|
||||
ALL: 'ALL';
|
||||
WHEN: 'WHEN';
|
||||
THEN: 'THEN';
|
||||
ANY: 'ANY';
|
||||
DISTINCT: 'DISTINCT';
|
||||
WHERE: 'WHERE';
|
||||
GROUP: 'GROUP';
|
||||
BY: 'BY';
|
||||
GROUPING: 'GROUPING';
|
||||
SETS: 'SETS';
|
||||
ORDER: 'ORDER';
|
||||
HAVING: 'HAVING';
|
||||
LIMIT: 'LIMIT';
|
||||
OR: 'OR';
|
||||
AND: 'AND';
|
||||
IN: 'IN';
|
||||
NOT: 'NOT';
|
||||
NO: 'NO';
|
||||
EXISTS: 'EXISTS';
|
||||
BETWEEN: 'BETWEEN';
|
||||
LIKE: 'LIKE';
|
||||
RLIKE: 'RLIKE';
|
||||
IS: 'IS';
|
||||
NULL: 'NULL';
|
||||
TRUE: 'TRUE';
|
||||
FALSE: 'FALSE';
|
||||
LAST: 'LAST';
|
||||
ASC: 'ASC';
|
||||
DESC: 'DESC';
|
||||
FOR: 'FOR';
|
||||
INTEGER: 'INTEGER';
|
||||
JOIN: 'JOIN';
|
||||
CROSS: 'CROSS';
|
||||
OUTER: 'OUTER';
|
||||
INNER: 'INNER';
|
||||
LEFT: 'LEFT';
|
||||
RIGHT: 'RIGHT';
|
||||
FULL: 'FULL';
|
||||
NATURAL: 'NATURAL';
|
||||
USING: 'USING';
|
||||
ON: 'ON';
|
||||
WITH: 'WITH';
|
||||
TABLE: 'TABLE';
|
||||
INTO: 'INTO';
|
||||
DESCRIBE: 'DESCRIBE';
|
||||
OPTION: 'OPTION';
|
||||
EXPLAIN: 'EXPLAIN';
|
||||
ANALYZE: 'ANALYZE';
|
||||
FORMAT: 'FORMAT';
|
||||
TYPE: 'TYPE';
|
||||
TEXT: 'TEXT';
|
||||
VERIFY: 'VERIFY';
|
||||
GRAPHVIZ: 'GRAPHVIZ';
|
||||
LOGICAL: 'LOGICAL';
|
||||
PHYSICAL: 'PHYSICAL';
|
||||
SHOW: 'SHOW';
|
||||
TABLES: 'TABLES';
|
||||
COLUMNS: 'COLUMNS';
|
||||
COLUMN: 'COLUMN';
|
||||
FUNCTIONS: 'FUNCTIONS';
|
||||
TO: 'TO';
|
||||
DEBUG: 'DEBUG';
|
||||
PLAN: 'PLAN';
|
||||
PARSED: 'PARSED';
|
||||
ANALYZED: 'ANALYZED';
|
||||
OPTIMIZED: 'OPTIMIZED';
|
||||
MAPPED: 'MAPPED';
|
||||
EXECUTABLE: 'EXECUTABLE';
|
||||
USE: 'USE';
|
||||
SET: 'SET';
|
||||
RESET: 'RESET';
|
||||
SESSION: 'SESSION';
|
||||
SCHEMAS: 'SCHEMAS';
|
||||
EXTRACT: 'EXTRACT';
|
||||
QUERY: 'QUERY';
|
||||
MATCH: 'MATCH';
|
||||
AND: 'AND';
|
||||
ANY: 'ANY';
|
||||
AS: 'AS';
|
||||
ASC: 'ASC';
|
||||
BETWEEN: 'BETWEEN';
|
||||
BY: 'BY';
|
||||
CAST: 'CAST';
|
||||
COLUMN: 'COLUMN';
|
||||
COLUMNS: 'COLUMNS';
|
||||
CROSS: 'CROSS';
|
||||
DEBUG: 'DEBUG';
|
||||
DESC: 'DESC';
|
||||
DESCRIBE: 'DESCRIBE';
|
||||
DISTINCT: 'DISTINCT';
|
||||
EXECUTABLE: 'EXECUTABLE';
|
||||
EXISTS: 'EXISTS';
|
||||
EXPLAIN: 'EXPLAIN';
|
||||
EXTRACT: 'EXTRACT';
|
||||
FALSE: 'FALSE';
|
||||
FOR: 'FOR';
|
||||
FORMAT: 'FORMAT';
|
||||
FROM: 'FROM';
|
||||
FULL: 'FULL';
|
||||
FUNCTIONS: 'FUNCTIONS';
|
||||
GRAPHVIZ: 'GRAPHVIZ';
|
||||
GROUP: 'GROUP';
|
||||
GROUPING: 'GROUPING';
|
||||
HAVING: 'HAVING';
|
||||
IN: 'IN';
|
||||
INNER: 'INNER';
|
||||
INTEGER: 'INTEGER';
|
||||
INTO: 'INTO';
|
||||
IS: 'IS';
|
||||
JOIN: 'JOIN';
|
||||
LAST: 'LAST';
|
||||
LEFT: 'LEFT';
|
||||
LIKE: 'LIKE';
|
||||
LIMIT: 'LIMIT';
|
||||
LOGICAL: 'LOGICAL';
|
||||
MAPPED: 'MAPPED';
|
||||
MATCH: 'MATCH';
|
||||
NATURAL: 'NATURAL';
|
||||
NO: 'NO';
|
||||
NOT: 'NOT';
|
||||
NULL: 'NULL';
|
||||
ON: 'ON';
|
||||
OPTIMIZED: 'OPTIMIZED';
|
||||
OPTION: 'OPTION';
|
||||
OR: 'OR';
|
||||
ORDER: 'ORDER';
|
||||
OUTER: 'OUTER';
|
||||
PARSED: 'PARSED';
|
||||
PHYSICAL: 'PHYSICAL';
|
||||
PLAN: 'PLAN';
|
||||
QUERY: 'QUERY';
|
||||
RESET: 'RESET';
|
||||
RIGHT: 'RIGHT';
|
||||
RLIKE: 'RLIKE';
|
||||
SCHEMAS: 'SCHEMAS';
|
||||
SELECT: 'SELECT';
|
||||
SESSION: 'SESSION';
|
||||
SET: 'SET';
|
||||
SETS: 'SETS';
|
||||
SHOW: 'SHOW';
|
||||
TABLE: 'TABLE';
|
||||
TABLES: 'TABLES';
|
||||
TEXT: 'TEXT';
|
||||
THEN: 'THEN';
|
||||
TO: 'TO';
|
||||
TRUE: 'TRUE';
|
||||
TYPE: 'TYPE';
|
||||
USE: 'USE';
|
||||
USING: 'USING';
|
||||
VERIFY: 'VERIFY';
|
||||
WHEN: 'WHEN';
|
||||
WHERE: 'WHERE';
|
||||
WITH: 'WITH';
|
||||
|
||||
EQ : '=';
|
||||
NEQ : '<>' | '!=' | '<=>';
|
||||
|
|
|
@ -2,86 +2,86 @@ T__0=1
|
|||
T__1=2
|
||||
T__2=3
|
||||
T__3=4
|
||||
SELECT=5
|
||||
FROM=6
|
||||
AS=7
|
||||
ALL=8
|
||||
WHEN=9
|
||||
THEN=10
|
||||
ANY=11
|
||||
DISTINCT=12
|
||||
WHERE=13
|
||||
GROUP=14
|
||||
BY=15
|
||||
GROUPING=16
|
||||
SETS=17
|
||||
ORDER=18
|
||||
HAVING=19
|
||||
LIMIT=20
|
||||
OR=21
|
||||
AND=22
|
||||
IN=23
|
||||
NOT=24
|
||||
NO=25
|
||||
EXISTS=26
|
||||
BETWEEN=27
|
||||
LIKE=28
|
||||
RLIKE=29
|
||||
IS=30
|
||||
NULL=31
|
||||
TRUE=32
|
||||
FALSE=33
|
||||
LAST=34
|
||||
ASC=35
|
||||
DESC=36
|
||||
FOR=37
|
||||
ALL=5
|
||||
ANALYZE=6
|
||||
ANALYZED=7
|
||||
AND=8
|
||||
ANY=9
|
||||
AS=10
|
||||
ASC=11
|
||||
BETWEEN=12
|
||||
BY=13
|
||||
CAST=14
|
||||
COLUMN=15
|
||||
COLUMNS=16
|
||||
CROSS=17
|
||||
DEBUG=18
|
||||
DESC=19
|
||||
DESCRIBE=20
|
||||
DISTINCT=21
|
||||
EXECUTABLE=22
|
||||
EXISTS=23
|
||||
EXPLAIN=24
|
||||
EXTRACT=25
|
||||
FALSE=26
|
||||
FOR=27
|
||||
FORMAT=28
|
||||
FROM=29
|
||||
FULL=30
|
||||
FUNCTIONS=31
|
||||
GRAPHVIZ=32
|
||||
GROUP=33
|
||||
GROUPING=34
|
||||
HAVING=35
|
||||
IN=36
|
||||
INNER=37
|
||||
INTEGER=38
|
||||
JOIN=39
|
||||
CROSS=40
|
||||
OUTER=41
|
||||
INNER=42
|
||||
INTO=39
|
||||
IS=40
|
||||
JOIN=41
|
||||
LAST=42
|
||||
LEFT=43
|
||||
RIGHT=44
|
||||
FULL=45
|
||||
NATURAL=46
|
||||
USING=47
|
||||
ON=48
|
||||
WITH=49
|
||||
TABLE=50
|
||||
INTO=51
|
||||
DESCRIBE=52
|
||||
OPTION=53
|
||||
EXPLAIN=54
|
||||
ANALYZE=55
|
||||
FORMAT=56
|
||||
TYPE=57
|
||||
TEXT=58
|
||||
VERIFY=59
|
||||
GRAPHVIZ=60
|
||||
LOGICAL=61
|
||||
PHYSICAL=62
|
||||
SHOW=63
|
||||
TABLES=64
|
||||
COLUMNS=65
|
||||
COLUMN=66
|
||||
FUNCTIONS=67
|
||||
TO=68
|
||||
DEBUG=69
|
||||
PLAN=70
|
||||
PARSED=71
|
||||
ANALYZED=72
|
||||
OPTIMIZED=73
|
||||
MAPPED=74
|
||||
EXECUTABLE=75
|
||||
USE=76
|
||||
SET=77
|
||||
RESET=78
|
||||
SESSION=79
|
||||
SCHEMAS=80
|
||||
EXTRACT=81
|
||||
QUERY=82
|
||||
MATCH=83
|
||||
CAST=84
|
||||
LIKE=44
|
||||
LIMIT=45
|
||||
LOGICAL=46
|
||||
MAPPED=47
|
||||
MATCH=48
|
||||
NATURAL=49
|
||||
NO=50
|
||||
NOT=51
|
||||
NULL=52
|
||||
ON=53
|
||||
OPTIMIZED=54
|
||||
OPTION=55
|
||||
OR=56
|
||||
ORDER=57
|
||||
OUTER=58
|
||||
PARSED=59
|
||||
PHYSICAL=60
|
||||
PLAN=61
|
||||
QUERY=62
|
||||
RESET=63
|
||||
RIGHT=64
|
||||
RLIKE=65
|
||||
SCHEMAS=66
|
||||
SELECT=67
|
||||
SESSION=68
|
||||
SET=69
|
||||
SETS=70
|
||||
SHOW=71
|
||||
TABLE=72
|
||||
TABLES=73
|
||||
TEXT=74
|
||||
THEN=75
|
||||
TO=76
|
||||
TRUE=77
|
||||
TYPE=78
|
||||
USE=79
|
||||
USING=80
|
||||
VERIFY=81
|
||||
WHEN=82
|
||||
WHERE=83
|
||||
WITH=84
|
||||
EQ=85
|
||||
NEQ=86
|
||||
LT=87
|
||||
|
@ -110,86 +110,86 @@ DELIMITER=108
|
|||
')'=2
|
||||
','=3
|
||||
'.'=4
|
||||
'SELECT'=5
|
||||
'FROM'=6
|
||||
'AS'=7
|
||||
'ALL'=8
|
||||
'WHEN'=9
|
||||
'THEN'=10
|
||||
'ANY'=11
|
||||
'DISTINCT'=12
|
||||
'WHERE'=13
|
||||
'GROUP'=14
|
||||
'BY'=15
|
||||
'GROUPING'=16
|
||||
'SETS'=17
|
||||
'ORDER'=18
|
||||
'HAVING'=19
|
||||
'LIMIT'=20
|
||||
'OR'=21
|
||||
'AND'=22
|
||||
'IN'=23
|
||||
'NOT'=24
|
||||
'NO'=25
|
||||
'EXISTS'=26
|
||||
'BETWEEN'=27
|
||||
'LIKE'=28
|
||||
'RLIKE'=29
|
||||
'IS'=30
|
||||
'NULL'=31
|
||||
'TRUE'=32
|
||||
'FALSE'=33
|
||||
'LAST'=34
|
||||
'ASC'=35
|
||||
'DESC'=36
|
||||
'FOR'=37
|
||||
'ALL'=5
|
||||
'ANALYZE'=6
|
||||
'ANALYZED'=7
|
||||
'AND'=8
|
||||
'ANY'=9
|
||||
'AS'=10
|
||||
'ASC'=11
|
||||
'BETWEEN'=12
|
||||
'BY'=13
|
||||
'CAST'=14
|
||||
'COLUMN'=15
|
||||
'COLUMNS'=16
|
||||
'CROSS'=17
|
||||
'DEBUG'=18
|
||||
'DESC'=19
|
||||
'DESCRIBE'=20
|
||||
'DISTINCT'=21
|
||||
'EXECUTABLE'=22
|
||||
'EXISTS'=23
|
||||
'EXPLAIN'=24
|
||||
'EXTRACT'=25
|
||||
'FALSE'=26
|
||||
'FOR'=27
|
||||
'FORMAT'=28
|
||||
'FROM'=29
|
||||
'FULL'=30
|
||||
'FUNCTIONS'=31
|
||||
'GRAPHVIZ'=32
|
||||
'GROUP'=33
|
||||
'GROUPING'=34
|
||||
'HAVING'=35
|
||||
'IN'=36
|
||||
'INNER'=37
|
||||
'INTEGER'=38
|
||||
'JOIN'=39
|
||||
'CROSS'=40
|
||||
'OUTER'=41
|
||||
'INNER'=42
|
||||
'INTO'=39
|
||||
'IS'=40
|
||||
'JOIN'=41
|
||||
'LAST'=42
|
||||
'LEFT'=43
|
||||
'RIGHT'=44
|
||||
'FULL'=45
|
||||
'NATURAL'=46
|
||||
'USING'=47
|
||||
'ON'=48
|
||||
'WITH'=49
|
||||
'TABLE'=50
|
||||
'INTO'=51
|
||||
'DESCRIBE'=52
|
||||
'OPTION'=53
|
||||
'EXPLAIN'=54
|
||||
'ANALYZE'=55
|
||||
'FORMAT'=56
|
||||
'TYPE'=57
|
||||
'TEXT'=58
|
||||
'VERIFY'=59
|
||||
'GRAPHVIZ'=60
|
||||
'LOGICAL'=61
|
||||
'PHYSICAL'=62
|
||||
'SHOW'=63
|
||||
'TABLES'=64
|
||||
'COLUMNS'=65
|
||||
'COLUMN'=66
|
||||
'FUNCTIONS'=67
|
||||
'TO'=68
|
||||
'DEBUG'=69
|
||||
'PLAN'=70
|
||||
'PARSED'=71
|
||||
'ANALYZED'=72
|
||||
'OPTIMIZED'=73
|
||||
'MAPPED'=74
|
||||
'EXECUTABLE'=75
|
||||
'USE'=76
|
||||
'SET'=77
|
||||
'RESET'=78
|
||||
'SESSION'=79
|
||||
'SCHEMAS'=80
|
||||
'EXTRACT'=81
|
||||
'QUERY'=82
|
||||
'MATCH'=83
|
||||
'CAST'=84
|
||||
'LIKE'=44
|
||||
'LIMIT'=45
|
||||
'LOGICAL'=46
|
||||
'MAPPED'=47
|
||||
'MATCH'=48
|
||||
'NATURAL'=49
|
||||
'NO'=50
|
||||
'NOT'=51
|
||||
'NULL'=52
|
||||
'ON'=53
|
||||
'OPTIMIZED'=54
|
||||
'OPTION'=55
|
||||
'OR'=56
|
||||
'ORDER'=57
|
||||
'OUTER'=58
|
||||
'PARSED'=59
|
||||
'PHYSICAL'=60
|
||||
'PLAN'=61
|
||||
'QUERY'=62
|
||||
'RESET'=63
|
||||
'RIGHT'=64
|
||||
'RLIKE'=65
|
||||
'SCHEMAS'=66
|
||||
'SELECT'=67
|
||||
'SESSION'=68
|
||||
'SET'=69
|
||||
'SETS'=70
|
||||
'SHOW'=71
|
||||
'TABLE'=72
|
||||
'TABLES'=73
|
||||
'TEXT'=74
|
||||
'THEN'=75
|
||||
'TO'=76
|
||||
'TRUE'=77
|
||||
'TYPE'=78
|
||||
'USE'=79
|
||||
'USING'=80
|
||||
'VERIFY'=81
|
||||
'WHEN'=82
|
||||
'WHERE'=83
|
||||
'WITH'=84
|
||||
'='=85
|
||||
'<'=87
|
||||
'<='=88
|
||||
|
|
|
@ -2,86 +2,86 @@ T__0=1
|
|||
T__1=2
|
||||
T__2=3
|
||||
T__3=4
|
||||
SELECT=5
|
||||
FROM=6
|
||||
AS=7
|
||||
ALL=8
|
||||
WHEN=9
|
||||
THEN=10
|
||||
ANY=11
|
||||
DISTINCT=12
|
||||
WHERE=13
|
||||
GROUP=14
|
||||
BY=15
|
||||
GROUPING=16
|
||||
SETS=17
|
||||
ORDER=18
|
||||
HAVING=19
|
||||
LIMIT=20
|
||||
OR=21
|
||||
AND=22
|
||||
IN=23
|
||||
NOT=24
|
||||
NO=25
|
||||
EXISTS=26
|
||||
BETWEEN=27
|
||||
LIKE=28
|
||||
RLIKE=29
|
||||
IS=30
|
||||
NULL=31
|
||||
TRUE=32
|
||||
FALSE=33
|
||||
LAST=34
|
||||
ASC=35
|
||||
DESC=36
|
||||
FOR=37
|
||||
ALL=5
|
||||
ANALYZE=6
|
||||
ANALYZED=7
|
||||
AND=8
|
||||
ANY=9
|
||||
AS=10
|
||||
ASC=11
|
||||
BETWEEN=12
|
||||
BY=13
|
||||
CAST=14
|
||||
COLUMN=15
|
||||
COLUMNS=16
|
||||
CROSS=17
|
||||
DEBUG=18
|
||||
DESC=19
|
||||
DESCRIBE=20
|
||||
DISTINCT=21
|
||||
EXECUTABLE=22
|
||||
EXISTS=23
|
||||
EXPLAIN=24
|
||||
EXTRACT=25
|
||||
FALSE=26
|
||||
FOR=27
|
||||
FORMAT=28
|
||||
FROM=29
|
||||
FULL=30
|
||||
FUNCTIONS=31
|
||||
GRAPHVIZ=32
|
||||
GROUP=33
|
||||
GROUPING=34
|
||||
HAVING=35
|
||||
IN=36
|
||||
INNER=37
|
||||
INTEGER=38
|
||||
JOIN=39
|
||||
CROSS=40
|
||||
OUTER=41
|
||||
INNER=42
|
||||
INTO=39
|
||||
IS=40
|
||||
JOIN=41
|
||||
LAST=42
|
||||
LEFT=43
|
||||
RIGHT=44
|
||||
FULL=45
|
||||
NATURAL=46
|
||||
USING=47
|
||||
ON=48
|
||||
WITH=49
|
||||
TABLE=50
|
||||
INTO=51
|
||||
DESCRIBE=52
|
||||
OPTION=53
|
||||
EXPLAIN=54
|
||||
ANALYZE=55
|
||||
FORMAT=56
|
||||
TYPE=57
|
||||
TEXT=58
|
||||
VERIFY=59
|
||||
GRAPHVIZ=60
|
||||
LOGICAL=61
|
||||
PHYSICAL=62
|
||||
SHOW=63
|
||||
TABLES=64
|
||||
COLUMNS=65
|
||||
COLUMN=66
|
||||
FUNCTIONS=67
|
||||
TO=68
|
||||
DEBUG=69
|
||||
PLAN=70
|
||||
PARSED=71
|
||||
ANALYZED=72
|
||||
OPTIMIZED=73
|
||||
MAPPED=74
|
||||
EXECUTABLE=75
|
||||
USE=76
|
||||
SET=77
|
||||
RESET=78
|
||||
SESSION=79
|
||||
SCHEMAS=80
|
||||
EXTRACT=81
|
||||
QUERY=82
|
||||
MATCH=83
|
||||
CAST=84
|
||||
LIKE=44
|
||||
LIMIT=45
|
||||
LOGICAL=46
|
||||
MAPPED=47
|
||||
MATCH=48
|
||||
NATURAL=49
|
||||
NO=50
|
||||
NOT=51
|
||||
NULL=52
|
||||
ON=53
|
||||
OPTIMIZED=54
|
||||
OPTION=55
|
||||
OR=56
|
||||
ORDER=57
|
||||
OUTER=58
|
||||
PARSED=59
|
||||
PHYSICAL=60
|
||||
PLAN=61
|
||||
QUERY=62
|
||||
RESET=63
|
||||
RIGHT=64
|
||||
RLIKE=65
|
||||
SCHEMAS=66
|
||||
SELECT=67
|
||||
SESSION=68
|
||||
SET=69
|
||||
SETS=70
|
||||
SHOW=71
|
||||
TABLE=72
|
||||
TABLES=73
|
||||
TEXT=74
|
||||
THEN=75
|
||||
TO=76
|
||||
TRUE=77
|
||||
TYPE=78
|
||||
USE=79
|
||||
USING=80
|
||||
VERIFY=81
|
||||
WHEN=82
|
||||
WHERE=83
|
||||
WITH=84
|
||||
EQ=85
|
||||
NEQ=86
|
||||
LT=87
|
||||
|
@ -109,86 +109,86 @@ UNRECOGNIZED=107
|
|||
')'=2
|
||||
','=3
|
||||
'.'=4
|
||||
'SELECT'=5
|
||||
'FROM'=6
|
||||
'AS'=7
|
||||
'ALL'=8
|
||||
'WHEN'=9
|
||||
'THEN'=10
|
||||
'ANY'=11
|
||||
'DISTINCT'=12
|
||||
'WHERE'=13
|
||||
'GROUP'=14
|
||||
'BY'=15
|
||||
'GROUPING'=16
|
||||
'SETS'=17
|
||||
'ORDER'=18
|
||||
'HAVING'=19
|
||||
'LIMIT'=20
|
||||
'OR'=21
|
||||
'AND'=22
|
||||
'IN'=23
|
||||
'NOT'=24
|
||||
'NO'=25
|
||||
'EXISTS'=26
|
||||
'BETWEEN'=27
|
||||
'LIKE'=28
|
||||
'RLIKE'=29
|
||||
'IS'=30
|
||||
'NULL'=31
|
||||
'TRUE'=32
|
||||
'FALSE'=33
|
||||
'LAST'=34
|
||||
'ASC'=35
|
||||
'DESC'=36
|
||||
'FOR'=37
|
||||
'ALL'=5
|
||||
'ANALYZE'=6
|
||||
'ANALYZED'=7
|
||||
'AND'=8
|
||||
'ANY'=9
|
||||
'AS'=10
|
||||
'ASC'=11
|
||||
'BETWEEN'=12
|
||||
'BY'=13
|
||||
'CAST'=14
|
||||
'COLUMN'=15
|
||||
'COLUMNS'=16
|
||||
'CROSS'=17
|
||||
'DEBUG'=18
|
||||
'DESC'=19
|
||||
'DESCRIBE'=20
|
||||
'DISTINCT'=21
|
||||
'EXECUTABLE'=22
|
||||
'EXISTS'=23
|
||||
'EXPLAIN'=24
|
||||
'EXTRACT'=25
|
||||
'FALSE'=26
|
||||
'FOR'=27
|
||||
'FORMAT'=28
|
||||
'FROM'=29
|
||||
'FULL'=30
|
||||
'FUNCTIONS'=31
|
||||
'GRAPHVIZ'=32
|
||||
'GROUP'=33
|
||||
'GROUPING'=34
|
||||
'HAVING'=35
|
||||
'IN'=36
|
||||
'INNER'=37
|
||||
'INTEGER'=38
|
||||
'JOIN'=39
|
||||
'CROSS'=40
|
||||
'OUTER'=41
|
||||
'INNER'=42
|
||||
'INTO'=39
|
||||
'IS'=40
|
||||
'JOIN'=41
|
||||
'LAST'=42
|
||||
'LEFT'=43
|
||||
'RIGHT'=44
|
||||
'FULL'=45
|
||||
'NATURAL'=46
|
||||
'USING'=47
|
||||
'ON'=48
|
||||
'WITH'=49
|
||||
'TABLE'=50
|
||||
'INTO'=51
|
||||
'DESCRIBE'=52
|
||||
'OPTION'=53
|
||||
'EXPLAIN'=54
|
||||
'ANALYZE'=55
|
||||
'FORMAT'=56
|
||||
'TYPE'=57
|
||||
'TEXT'=58
|
||||
'VERIFY'=59
|
||||
'GRAPHVIZ'=60
|
||||
'LOGICAL'=61
|
||||
'PHYSICAL'=62
|
||||
'SHOW'=63
|
||||
'TABLES'=64
|
||||
'COLUMNS'=65
|
||||
'COLUMN'=66
|
||||
'FUNCTIONS'=67
|
||||
'TO'=68
|
||||
'DEBUG'=69
|
||||
'PLAN'=70
|
||||
'PARSED'=71
|
||||
'ANALYZED'=72
|
||||
'OPTIMIZED'=73
|
||||
'MAPPED'=74
|
||||
'EXECUTABLE'=75
|
||||
'USE'=76
|
||||
'SET'=77
|
||||
'RESET'=78
|
||||
'SESSION'=79
|
||||
'SCHEMAS'=80
|
||||
'EXTRACT'=81
|
||||
'QUERY'=82
|
||||
'MATCH'=83
|
||||
'CAST'=84
|
||||
'LIKE'=44
|
||||
'LIMIT'=45
|
||||
'LOGICAL'=46
|
||||
'MAPPED'=47
|
||||
'MATCH'=48
|
||||
'NATURAL'=49
|
||||
'NO'=50
|
||||
'NOT'=51
|
||||
'NULL'=52
|
||||
'ON'=53
|
||||
'OPTIMIZED'=54
|
||||
'OPTION'=55
|
||||
'OR'=56
|
||||
'ORDER'=57
|
||||
'OUTER'=58
|
||||
'PARSED'=59
|
||||
'PHYSICAL'=60
|
||||
'PLAN'=61
|
||||
'QUERY'=62
|
||||
'RESET'=63
|
||||
'RIGHT'=64
|
||||
'RLIKE'=65
|
||||
'SCHEMAS'=66
|
||||
'SELECT'=67
|
||||
'SESSION'=68
|
||||
'SET'=69
|
||||
'SETS'=70
|
||||
'SHOW'=71
|
||||
'TABLE'=72
|
||||
'TABLES'=73
|
||||
'TEXT'=74
|
||||
'THEN'=75
|
||||
'TO'=76
|
||||
'TRUE'=77
|
||||
'TYPE'=78
|
||||
'USE'=79
|
||||
'USING'=80
|
||||
'VERIFY'=81
|
||||
'WHEN'=82
|
||||
'WHERE'=83
|
||||
'WITH'=84
|
||||
'='=85
|
||||
'<'=87
|
||||
'<='=88
|
||||
|
|
|
@ -22,38 +22,38 @@ class SqlBaseLexer extends Lexer {
|
|||
protected static final PredictionContextCache _sharedContextCache =
|
||||
new PredictionContextCache();
|
||||
public static final int
|
||||
T__0=1, T__1=2, T__2=3, T__3=4, SELECT=5, FROM=6, AS=7, ALL=8, WHEN=9,
|
||||
THEN=10, ANY=11, DISTINCT=12, WHERE=13, GROUP=14, BY=15, GROUPING=16,
|
||||
SETS=17, ORDER=18, HAVING=19, LIMIT=20, OR=21, AND=22, IN=23, NOT=24,
|
||||
NO=25, EXISTS=26, BETWEEN=27, LIKE=28, RLIKE=29, IS=30, NULL=31, TRUE=32,
|
||||
FALSE=33, LAST=34, ASC=35, DESC=36, FOR=37, INTEGER=38, JOIN=39, CROSS=40,
|
||||
OUTER=41, INNER=42, LEFT=43, RIGHT=44, FULL=45, NATURAL=46, USING=47,
|
||||
ON=48, WITH=49, TABLE=50, INTO=51, DESCRIBE=52, OPTION=53, EXPLAIN=54,
|
||||
ANALYZE=55, FORMAT=56, TYPE=57, TEXT=58, VERIFY=59, GRAPHVIZ=60, LOGICAL=61,
|
||||
PHYSICAL=62, SHOW=63, TABLES=64, COLUMNS=65, COLUMN=66, FUNCTIONS=67,
|
||||
TO=68, DEBUG=69, PLAN=70, PARSED=71, ANALYZED=72, OPTIMIZED=73, MAPPED=74,
|
||||
EXECUTABLE=75, USE=76, SET=77, RESET=78, SESSION=79, SCHEMAS=80, EXTRACT=81,
|
||||
QUERY=82, MATCH=83, CAST=84, EQ=85, NEQ=86, LT=87, LTE=88, GT=89, GTE=90,
|
||||
PLUS=91, MINUS=92, ASTERISK=93, SLASH=94, PERCENT=95, CONCAT=96, STRING=97,
|
||||
INTEGER_VALUE=98, DECIMAL_VALUE=99, IDENTIFIER=100, DIGIT_IDENTIFIER=101,
|
||||
QUOTED_IDENTIFIER=102, BACKQUOTED_IDENTIFIER=103, SIMPLE_COMMENT=104,
|
||||
BRACKETED_COMMENT=105, WS=106, UNRECOGNIZED=107;
|
||||
T__0=1, T__1=2, T__2=3, T__3=4, ALL=5, ANALYZE=6, ANALYZED=7, AND=8, ANY=9,
|
||||
AS=10, ASC=11, BETWEEN=12, BY=13, CAST=14, COLUMN=15, COLUMNS=16, CROSS=17,
|
||||
DEBUG=18, DESC=19, DESCRIBE=20, DISTINCT=21, EXECUTABLE=22, EXISTS=23,
|
||||
EXPLAIN=24, EXTRACT=25, FALSE=26, FOR=27, FORMAT=28, FROM=29, FULL=30,
|
||||
FUNCTIONS=31, GRAPHVIZ=32, GROUP=33, GROUPING=34, HAVING=35, IN=36, INNER=37,
|
||||
INTEGER=38, INTO=39, IS=40, JOIN=41, LAST=42, LEFT=43, LIKE=44, LIMIT=45,
|
||||
LOGICAL=46, MAPPED=47, MATCH=48, NATURAL=49, NO=50, NOT=51, NULL=52, ON=53,
|
||||
OPTIMIZED=54, OPTION=55, OR=56, ORDER=57, OUTER=58, PARSED=59, PHYSICAL=60,
|
||||
PLAN=61, QUERY=62, RESET=63, RIGHT=64, RLIKE=65, SCHEMAS=66, SELECT=67,
|
||||
SESSION=68, SET=69, SETS=70, SHOW=71, TABLE=72, TABLES=73, TEXT=74, THEN=75,
|
||||
TO=76, TRUE=77, TYPE=78, USE=79, USING=80, VERIFY=81, WHEN=82, WHERE=83,
|
||||
WITH=84, EQ=85, NEQ=86, LT=87, LTE=88, GT=89, GTE=90, PLUS=91, MINUS=92,
|
||||
ASTERISK=93, SLASH=94, PERCENT=95, CONCAT=96, STRING=97, INTEGER_VALUE=98,
|
||||
DECIMAL_VALUE=99, IDENTIFIER=100, DIGIT_IDENTIFIER=101, QUOTED_IDENTIFIER=102,
|
||||
BACKQUOTED_IDENTIFIER=103, SIMPLE_COMMENT=104, BRACKETED_COMMENT=105,
|
||||
WS=106, UNRECOGNIZED=107;
|
||||
public static String[] modeNames = {
|
||||
"DEFAULT_MODE"
|
||||
};
|
||||
|
||||
public static final String[] ruleNames = {
|
||||
"T__0", "T__1", "T__2", "T__3", "SELECT", "FROM", "AS", "ALL", "WHEN",
|
||||
"THEN", "ANY", "DISTINCT", "WHERE", "GROUP", "BY", "GROUPING", "SETS",
|
||||
"ORDER", "HAVING", "LIMIT", "OR", "AND", "IN", "NOT", "NO", "EXISTS",
|
||||
"BETWEEN", "LIKE", "RLIKE", "IS", "NULL", "TRUE", "FALSE", "LAST", "ASC",
|
||||
"DESC", "FOR", "INTEGER", "JOIN", "CROSS", "OUTER", "INNER", "LEFT", "RIGHT",
|
||||
"FULL", "NATURAL", "USING", "ON", "WITH", "TABLE", "INTO", "DESCRIBE",
|
||||
"OPTION", "EXPLAIN", "ANALYZE", "FORMAT", "TYPE", "TEXT", "VERIFY", "GRAPHVIZ",
|
||||
"LOGICAL", "PHYSICAL", "SHOW", "TABLES", "COLUMNS", "COLUMN", "FUNCTIONS",
|
||||
"TO", "DEBUG", "PLAN", "PARSED", "ANALYZED", "OPTIMIZED", "MAPPED", "EXECUTABLE",
|
||||
"USE", "SET", "RESET", "SESSION", "SCHEMAS", "EXTRACT", "QUERY", "MATCH",
|
||||
"CAST", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK",
|
||||
"T__0", "T__1", "T__2", "T__3", "ALL", "ANALYZE", "ANALYZED", "AND", "ANY",
|
||||
"AS", "ASC", "BETWEEN", "BY", "CAST", "COLUMN", "COLUMNS", "CROSS", "DEBUG",
|
||||
"DESC", "DESCRIBE", "DISTINCT", "EXECUTABLE", "EXISTS", "EXPLAIN", "EXTRACT",
|
||||
"FALSE", "FOR", "FORMAT", "FROM", "FULL", "FUNCTIONS", "GRAPHVIZ", "GROUP",
|
||||
"GROUPING", "HAVING", "IN", "INNER", "INTEGER", "INTO", "IS", "JOIN",
|
||||
"LAST", "LEFT", "LIKE", "LIMIT", "LOGICAL", "MAPPED", "MATCH", "NATURAL",
|
||||
"NO", "NOT", "NULL", "ON", "OPTIMIZED", "OPTION", "OR", "ORDER", "OUTER",
|
||||
"PARSED", "PHYSICAL", "PLAN", "QUERY", "RESET", "RIGHT", "RLIKE", "SCHEMAS",
|
||||
"SELECT", "SESSION", "SET", "SETS", "SHOW", "TABLE", "TABLES", "TEXT",
|
||||
"THEN", "TO", "TRUE", "TYPE", "USE", "USING", "VERIFY", "WHEN", "WHERE",
|
||||
"WITH", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK",
|
||||
"SLASH", "PERCENT", "CONCAT", "STRING", "INTEGER_VALUE", "DECIMAL_VALUE",
|
||||
"IDENTIFIER", "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER",
|
||||
"EXPONENT", "DIGIT", "LETTER", "SIMPLE_COMMENT", "BRACKETED_COMMENT",
|
||||
|
@ -61,33 +61,33 @@ class SqlBaseLexer extends Lexer {
|
|||
};
|
||||
|
||||
private static final String[] _LITERAL_NAMES = {
|
||||
null, "'('", "')'", "','", "'.'", "'SELECT'", "'FROM'", "'AS'", "'ALL'",
|
||||
"'WHEN'", "'THEN'", "'ANY'", "'DISTINCT'", "'WHERE'", "'GROUP'", "'BY'",
|
||||
"'GROUPING'", "'SETS'", "'ORDER'", "'HAVING'", "'LIMIT'", "'OR'", "'AND'",
|
||||
"'IN'", "'NOT'", "'NO'", "'EXISTS'", "'BETWEEN'", "'LIKE'", "'RLIKE'",
|
||||
"'IS'", "'NULL'", "'TRUE'", "'FALSE'", "'LAST'", "'ASC'", "'DESC'", "'FOR'",
|
||||
"'INTEGER'", "'JOIN'", "'CROSS'", "'OUTER'", "'INNER'", "'LEFT'", "'RIGHT'",
|
||||
"'FULL'", "'NATURAL'", "'USING'", "'ON'", "'WITH'", "'TABLE'", "'INTO'",
|
||||
"'DESCRIBE'", "'OPTION'", "'EXPLAIN'", "'ANALYZE'", "'FORMAT'", "'TYPE'",
|
||||
"'TEXT'", "'VERIFY'", "'GRAPHVIZ'", "'LOGICAL'", "'PHYSICAL'", "'SHOW'",
|
||||
"'TABLES'", "'COLUMNS'", "'COLUMN'", "'FUNCTIONS'", "'TO'", "'DEBUG'",
|
||||
"'PLAN'", "'PARSED'", "'ANALYZED'", "'OPTIMIZED'", "'MAPPED'", "'EXECUTABLE'",
|
||||
"'USE'", "'SET'", "'RESET'", "'SESSION'", "'SCHEMAS'", "'EXTRACT'", "'QUERY'",
|
||||
"'MATCH'", "'CAST'", "'='", null, "'<'", "'<='", "'>'", "'>='", "'+'",
|
||||
null, "'('", "')'", "','", "'.'", "'ALL'", "'ANALYZE'", "'ANALYZED'",
|
||||
"'AND'", "'ANY'", "'AS'", "'ASC'", "'BETWEEN'", "'BY'", "'CAST'", "'COLUMN'",
|
||||
"'COLUMNS'", "'CROSS'", "'DEBUG'", "'DESC'", "'DESCRIBE'", "'DISTINCT'",
|
||||
"'EXECUTABLE'", "'EXISTS'", "'EXPLAIN'", "'EXTRACT'", "'FALSE'", "'FOR'",
|
||||
"'FORMAT'", "'FROM'", "'FULL'", "'FUNCTIONS'", "'GRAPHVIZ'", "'GROUP'",
|
||||
"'GROUPING'", "'HAVING'", "'IN'", "'INNER'", "'INTEGER'", "'INTO'", "'IS'",
|
||||
"'JOIN'", "'LAST'", "'LEFT'", "'LIKE'", "'LIMIT'", "'LOGICAL'", "'MAPPED'",
|
||||
"'MATCH'", "'NATURAL'", "'NO'", "'NOT'", "'NULL'", "'ON'", "'OPTIMIZED'",
|
||||
"'OPTION'", "'OR'", "'ORDER'", "'OUTER'", "'PARSED'", "'PHYSICAL'", "'PLAN'",
|
||||
"'QUERY'", "'RESET'", "'RIGHT'", "'RLIKE'", "'SCHEMAS'", "'SELECT'", "'SESSION'",
|
||||
"'SET'", "'SETS'", "'SHOW'", "'TABLE'", "'TABLES'", "'TEXT'", "'THEN'",
|
||||
"'TO'", "'TRUE'", "'TYPE'", "'USE'", "'USING'", "'VERIFY'", "'WHEN'",
|
||||
"'WHERE'", "'WITH'", "'='", null, "'<'", "'<='", "'>'", "'>='", "'+'",
|
||||
"'-'", "'*'", "'/'", "'%'", "'||'"
|
||||
};
|
||||
private static final String[] _SYMBOLIC_NAMES = {
|
||||
null, null, null, null, null, "SELECT", "FROM", "AS", "ALL", "WHEN", "THEN",
|
||||
"ANY", "DISTINCT", "WHERE", "GROUP", "BY", "GROUPING", "SETS", "ORDER",
|
||||
"HAVING", "LIMIT", "OR", "AND", "IN", "NOT", "NO", "EXISTS", "BETWEEN",
|
||||
"LIKE", "RLIKE", "IS", "NULL", "TRUE", "FALSE", "LAST", "ASC", "DESC",
|
||||
"FOR", "INTEGER", "JOIN", "CROSS", "OUTER", "INNER", "LEFT", "RIGHT",
|
||||
"FULL", "NATURAL", "USING", "ON", "WITH", "TABLE", "INTO", "DESCRIBE",
|
||||
"OPTION", "EXPLAIN", "ANALYZE", "FORMAT", "TYPE", "TEXT", "VERIFY", "GRAPHVIZ",
|
||||
"LOGICAL", "PHYSICAL", "SHOW", "TABLES", "COLUMNS", "COLUMN", "FUNCTIONS",
|
||||
"TO", "DEBUG", "PLAN", "PARSED", "ANALYZED", "OPTIMIZED", "MAPPED", "EXECUTABLE",
|
||||
"USE", "SET", "RESET", "SESSION", "SCHEMAS", "EXTRACT", "QUERY", "MATCH",
|
||||
"CAST", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK",
|
||||
null, null, null, null, null, "ALL", "ANALYZE", "ANALYZED", "AND", "ANY",
|
||||
"AS", "ASC", "BETWEEN", "BY", "CAST", "COLUMN", "COLUMNS", "CROSS", "DEBUG",
|
||||
"DESC", "DESCRIBE", "DISTINCT", "EXECUTABLE", "EXISTS", "EXPLAIN", "EXTRACT",
|
||||
"FALSE", "FOR", "FORMAT", "FROM", "FULL", "FUNCTIONS", "GRAPHVIZ", "GROUP",
|
||||
"GROUPING", "HAVING", "IN", "INNER", "INTEGER", "INTO", "IS", "JOIN",
|
||||
"LAST", "LEFT", "LIKE", "LIMIT", "LOGICAL", "MAPPED", "MATCH", "NATURAL",
|
||||
"NO", "NOT", "NULL", "ON", "OPTIMIZED", "OPTION", "OR", "ORDER", "OUTER",
|
||||
"PARSED", "PHYSICAL", "PLAN", "QUERY", "RESET", "RIGHT", "RLIKE", "SCHEMAS",
|
||||
"SELECT", "SESSION", "SET", "SETS", "SHOW", "TABLE", "TABLES", "TEXT",
|
||||
"THEN", "TO", "TRUE", "TYPE", "USE", "USING", "VERIFY", "WHEN", "WHERE",
|
||||
"WITH", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK",
|
||||
"SLASH", "PERCENT", "CONCAT", "STRING", "INTEGER_VALUE", "DECIMAL_VALUE",
|
||||
"IDENTIFIER", "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER",
|
||||
"SIMPLE_COMMENT", "BRACKETED_COMMENT", "WS", "UNRECOGNIZED"
|
||||
|
@ -160,230 +160,230 @@ class SqlBaseLexer extends Lexer {
|
|||
"\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+
|
||||
"`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+
|
||||
"k\4l\tl\4m\tm\4n\tn\4o\to\3\2\3\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\6"+
|
||||
"\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\n\3"+
|
||||
"\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3"+
|
||||
"\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3"+
|
||||
"\17\3\17\3\17\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3"+
|
||||
"\21\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3\24\3"+
|
||||
"\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3\26\3\26\3"+
|
||||
"\27\3\27\3\27\3\27\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3"+
|
||||
"\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3"+
|
||||
"\34\3\35\3\35\3\35\3\35\3\35\3\36\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3"+
|
||||
"\37\3 \3 \3 \3 \3 \3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#"+
|
||||
"\3#\3$\3$\3$\3$\3%\3%\3%\3%\3%\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3\'"+
|
||||
"\3\'\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3*\3*\3*\3*\3*\3*\3+\3+\3+\3+\3"+
|
||||
"+\3+\3,\3,\3,\3,\3,\3-\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3"+
|
||||
"/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\62\3\62\3\62\3"+
|
||||
"\62\3\62\3\63\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\65\3"+
|
||||
"\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\66\3\66\3"+
|
||||
"\66\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\38\38\38\38\38\38\38\38\3"+
|
||||
"9\39\39\39\39\39\39\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3<\3<\3<\3<\3<\3<\3"+
|
||||
"<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3>\3?\3?\3?\3?\3?\3"+
|
||||
"?\3?\3?\3?\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3"+
|
||||
"B\3C\3C\3C\3C\3C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3E\3E\3E\3F\3F\3"+
|
||||
"F\3F\3F\3F\3G\3G\3G\3G\3G\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+
|
||||
"I\3I\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3K\3K\3K\3K\3L\3L\3L\3L\3"+
|
||||
"L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3N\3N\3N\3N\3O\3O\3O\3O\3O\3O\3P\3P\3"+
|
||||
"P\3P\3P\3P\3P\3P\3Q\3Q\3Q\3Q\3Q\3Q\3Q\3Q\3R\3R\3R\3R\3R\3R\3R\3R\3S\3"+
|
||||
"S\3S\3S\3S\3S\3T\3T\3T\3T\3T\3T\3U\3U\3U\3U\3U\3V\3V\3W\3W\3W\3W\3W\3"+
|
||||
"W\3W\5W\u02d3\nW\3X\3X\3Y\3Y\3Y\3Z\3Z\3[\3[\3[\3\\\3\\\3]\3]\3^\3^\3_"+
|
||||
"\3_\3`\3`\3a\3a\3a\3b\3b\3b\3b\7b\u02f0\nb\fb\16b\u02f3\13b\3b\3b\3c\6"+
|
||||
"c\u02f8\nc\rc\16c\u02f9\3d\6d\u02fd\nd\rd\16d\u02fe\3d\3d\7d\u0303\nd"+
|
||||
"\fd\16d\u0306\13d\3d\3d\6d\u030a\nd\rd\16d\u030b\3d\6d\u030f\nd\rd\16"+
|
||||
"d\u0310\3d\3d\7d\u0315\nd\fd\16d\u0318\13d\5d\u031a\nd\3d\3d\3d\3d\6d"+
|
||||
"\u0320\nd\rd\16d\u0321\3d\3d\5d\u0326\nd\3e\3e\5e\u032a\ne\3e\3e\3e\7"+
|
||||
"e\u032f\ne\fe\16e\u0332\13e\3f\3f\3f\3f\6f\u0338\nf\rf\16f\u0339\3g\3"+
|
||||
"g\3g\7g\u033f\ng\fg\16g\u0342\13g\3g\3g\3h\3h\3h\3h\7h\u034a\nh\fh\16"+
|
||||
"h\u034d\13h\3h\3h\3i\3i\5i\u0353\ni\3i\6i\u0356\ni\ri\16i\u0357\3j\3j"+
|
||||
"\3k\3k\3l\3l\3l\3l\7l\u0362\nl\fl\16l\u0365\13l\3l\5l\u0368\nl\3l\5l\u036b"+
|
||||
"\nl\3l\3l\3m\3m\3m\3m\3m\7m\u0374\nm\fm\16m\u0377\13m\3m\3m\3m\3m\3m\3"+
|
||||
"n\6n\u037f\nn\rn\16n\u0380\3n\3n\3o\3o\3\u0375\2p\3\3\5\4\7\5\t\6\13\7"+
|
||||
"\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'\25"+
|
||||
")\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O"+
|
||||
")Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u<w=y>{?}@\177A\u0081"+
|
||||
"B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095"+
|
||||
"L\u0097M\u0099N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9"+
|
||||
"V\u00abW\u00adX\u00afY\u00b1Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb_\u00bd"+
|
||||
"`\u00bfa\u00c1b\u00c3c\u00c5d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1"+
|
||||
"\2\u00d3\2\u00d5\2\u00d7j\u00d9k\u00dbl\u00ddm\3\2\13\3\2))\5\2<<BBaa"+
|
||||
"\6\2$$))\60\60~~\6\2))\60\60bb~~\4\2--//\3\2\62;\3\2C\\\4\2\f\f\17\17"+
|
||||
"\5\2\13\f\17\17\"\"\u03a4\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2"+
|
||||
"\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2"+
|
||||
"\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3"+
|
||||
"\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2"+
|
||||
"\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67"+
|
||||
"\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2"+
|
||||
"\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2"+
|
||||
"\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]"+
|
||||
"\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2"+
|
||||
"\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2"+
|
||||
"\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2"+
|
||||
"\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2"+
|
||||
"\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u0093"+
|
||||
"\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\2\u009b\3\2\2"+
|
||||
"\2\2\u009d\3\2\2\2\2\u009f\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5"+
|
||||
"\3\2\2\2\2\u00a7\3\2\2\2\2\u00a9\3\2\2\2\2\u00ab\3\2\2\2\2\u00ad\3\2\2"+
|
||||
"\2\2\u00af\3\2\2\2\2\u00b1\3\2\2\2\2\u00b3\3\2\2\2\2\u00b5\3\2\2\2\2\u00b7"+
|
||||
"\3\2\2\2\2\u00b9\3\2\2\2\2\u00bb\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\3\2\2"+
|
||||
"\2\2\u00c1\3\2\2\2\2\u00c3\3\2\2\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9"+
|
||||
"\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d7\3\2\2"+
|
||||
"\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\3\u00df\3\2\2\2\5\u00e1"+
|
||||
"\3\2\2\2\7\u00e3\3\2\2\2\t\u00e5\3\2\2\2\13\u00e7\3\2\2\2\r\u00ee\3\2"+
|
||||
"\2\2\17\u00f3\3\2\2\2\21\u00f6\3\2\2\2\23\u00fa\3\2\2\2\25\u00ff\3\2\2"+
|
||||
"\2\27\u0104\3\2\2\2\31\u0108\3\2\2\2\33\u0111\3\2\2\2\35\u0117\3\2\2\2"+
|
||||
"\37\u011d\3\2\2\2!\u0120\3\2\2\2#\u0129\3\2\2\2%\u012e\3\2\2\2\'\u0134"+
|
||||
"\3\2\2\2)\u013b\3\2\2\2+\u0141\3\2\2\2-\u0144\3\2\2\2/\u0148\3\2\2\2\61"+
|
||||
"\u014b\3\2\2\2\63\u014f\3\2\2\2\65\u0152\3\2\2\2\67\u0159\3\2\2\29\u0161"+
|
||||
"\3\2\2\2;\u0166\3\2\2\2=\u016c\3\2\2\2?\u016f\3\2\2\2A\u0174\3\2\2\2C"+
|
||||
"\u0179\3\2\2\2E\u017f\3\2\2\2G\u0184\3\2\2\2I\u0188\3\2\2\2K\u018d\3\2"+
|
||||
"\2\2M\u0191\3\2\2\2O\u0199\3\2\2\2Q\u019e\3\2\2\2S\u01a4\3\2\2\2U\u01aa"+
|
||||
"\3\2\2\2W\u01b0\3\2\2\2Y\u01b5\3\2\2\2[\u01bb\3\2\2\2]\u01c0\3\2\2\2_"+
|
||||
"\u01c8\3\2\2\2a\u01ce\3\2\2\2c\u01d1\3\2\2\2e\u01d6\3\2\2\2g\u01dc\3\2"+
|
||||
"\2\2i\u01e1\3\2\2\2k\u01ea\3\2\2\2m\u01f1\3\2\2\2o\u01f9\3\2\2\2q\u0201"+
|
||||
"\3\2\2\2s\u0208\3\2\2\2u\u020d\3\2\2\2w\u0212\3\2\2\2y\u0219\3\2\2\2{"+
|
||||
"\u0222\3\2\2\2}\u022a\3\2\2\2\177\u0233\3\2\2\2\u0081\u0238\3\2\2\2\u0083"+
|
||||
"\u023f\3\2\2\2\u0085\u0247\3\2\2\2\u0087\u024e\3\2\2\2\u0089\u0258\3\2"+
|
||||
"\2\2\u008b\u025b\3\2\2\2\u008d\u0261\3\2\2\2\u008f\u0266\3\2\2\2\u0091"+
|
||||
"\u026d\3\2\2\2\u0093\u0276\3\2\2\2\u0095\u0280\3\2\2\2\u0097\u0287\3\2"+
|
||||
"\2\2\u0099\u0292\3\2\2\2\u009b\u0296\3\2\2\2\u009d\u029a\3\2\2\2\u009f"+
|
||||
"\u02a0\3\2\2\2\u00a1\u02a8\3\2\2\2\u00a3\u02b0\3\2\2\2\u00a5\u02b8\3\2"+
|
||||
"\2\2\u00a7\u02be\3\2\2\2\u00a9\u02c4\3\2\2\2\u00ab\u02c9\3\2\2\2\u00ad"+
|
||||
"\u02d2\3\2\2\2\u00af\u02d4\3\2\2\2\u00b1\u02d6\3\2\2\2\u00b3\u02d9\3\2"+
|
||||
"\2\2\u00b5\u02db\3\2\2\2\u00b7\u02de\3\2\2\2\u00b9\u02e0\3\2\2\2\u00bb"+
|
||||
"\u02e2\3\2\2\2\u00bd\u02e4\3\2\2\2\u00bf\u02e6\3\2\2\2\u00c1\u02e8\3\2"+
|
||||
"\2\2\u00c3\u02eb\3\2\2\2\u00c5\u02f7\3\2\2\2\u00c7\u0325\3\2\2\2\u00c9"+
|
||||
"\u0329\3\2\2\2\u00cb\u0333\3\2\2\2\u00cd\u033b\3\2\2\2\u00cf\u0345\3\2"+
|
||||
"\2\2\u00d1\u0350\3\2\2\2\u00d3\u0359\3\2\2\2\u00d5\u035b\3\2\2\2\u00d7"+
|
||||
"\u035d\3\2\2\2\u00d9\u036e\3\2\2\2\u00db\u037e\3\2\2\2\u00dd\u0384\3\2"+
|
||||
"\2\2\u00df\u00e0\7*\2\2\u00e0\4\3\2\2\2\u00e1\u00e2\7+\2\2\u00e2\6\3\2"+
|
||||
"\2\2\u00e3\u00e4\7.\2\2\u00e4\b\3\2\2\2\u00e5\u00e6\7\60\2\2\u00e6\n\3"+
|
||||
"\2\2\2\u00e7\u00e8\7U\2\2\u00e8\u00e9\7G\2\2\u00e9\u00ea\7N\2\2\u00ea"+
|
||||
"\u00eb\7G\2\2\u00eb\u00ec\7E\2\2\u00ec\u00ed\7V\2\2\u00ed\f\3\2\2\2\u00ee"+
|
||||
"\u00ef\7H\2\2\u00ef\u00f0\7T\2\2\u00f0\u00f1\7Q\2\2\u00f1\u00f2\7O\2\2"+
|
||||
"\u00f2\16\3\2\2\2\u00f3\u00f4\7C\2\2\u00f4\u00f5\7U\2\2\u00f5\20\3\2\2"+
|
||||
"\2\u00f6\u00f7\7C\2\2\u00f7\u00f8\7N\2\2\u00f8\u00f9\7N\2\2\u00f9\22\3"+
|
||||
"\2\2\2\u00fa\u00fb\7Y\2\2\u00fb\u00fc\7J\2\2\u00fc\u00fd\7G\2\2\u00fd"+
|
||||
"\u00fe\7P\2\2\u00fe\24\3\2\2\2\u00ff\u0100\7V\2\2\u0100\u0101\7J\2\2\u0101"+
|
||||
"\u0102\7G\2\2\u0102\u0103\7P\2\2\u0103\26\3\2\2\2\u0104\u0105\7C\2\2\u0105"+
|
||||
"\u0106\7P\2\2\u0106\u0107\7[\2\2\u0107\30\3\2\2\2\u0108\u0109\7F\2\2\u0109"+
|
||||
"\u010a\7K\2\2\u010a\u010b\7U\2\2\u010b\u010c\7V\2\2\u010c\u010d\7K\2\2"+
|
||||
"\u010d\u010e\7P\2\2\u010e\u010f\7E\2\2\u010f\u0110\7V\2\2\u0110\32\3\2"+
|
||||
"\2\2\u0111\u0112\7Y\2\2\u0112\u0113\7J\2\2\u0113\u0114\7G\2\2\u0114\u0115"+
|
||||
"\7T\2\2\u0115\u0116\7G\2\2\u0116\34\3\2\2\2\u0117\u0118\7I\2\2\u0118\u0119"+
|
||||
"\7T\2\2\u0119\u011a\7Q\2\2\u011a\u011b\7W\2\2\u011b\u011c\7R\2\2\u011c"+
|
||||
"\36\3\2\2\2\u011d\u011e\7D\2\2\u011e\u011f\7[\2\2\u011f \3\2\2\2\u0120"+
|
||||
"\u0121\7I\2\2\u0121\u0122\7T\2\2\u0122\u0123\7Q\2\2\u0123\u0124\7W\2\2"+
|
||||
"\u0124\u0125\7R\2\2\u0125\u0126\7K\2\2\u0126\u0127\7P\2\2\u0127\u0128"+
|
||||
"\7I\2\2\u0128\"\3\2\2\2\u0129\u012a\7U\2\2\u012a\u012b\7G\2\2\u012b\u012c"+
|
||||
"\7V\2\2\u012c\u012d\7U\2\2\u012d$\3\2\2\2\u012e\u012f\7Q\2\2\u012f\u0130"+
|
||||
"\7T\2\2\u0130\u0131\7F\2\2\u0131\u0132\7G\2\2\u0132\u0133\7T\2\2\u0133"+
|
||||
"&\3\2\2\2\u0134\u0135\7J\2\2\u0135\u0136\7C\2\2\u0136\u0137\7X\2\2\u0137"+
|
||||
"\u0138\7K\2\2\u0138\u0139\7P\2\2\u0139\u013a\7I\2\2\u013a(\3\2\2\2\u013b"+
|
||||
"\u013c\7N\2\2\u013c\u013d\7K\2\2\u013d\u013e\7O\2\2\u013e\u013f\7K\2\2"+
|
||||
"\u013f\u0140\7V\2\2\u0140*\3\2\2\2\u0141\u0142\7Q\2\2\u0142\u0143\7T\2"+
|
||||
"\2\u0143,\3\2\2\2\u0144\u0145\7C\2\2\u0145\u0146\7P\2\2\u0146\u0147\7"+
|
||||
"F\2\2\u0147.\3\2\2\2\u0148\u0149\7K\2\2\u0149\u014a\7P\2\2\u014a\60\3"+
|
||||
"\2\2\2\u014b\u014c\7P\2\2\u014c\u014d\7Q\2\2\u014d\u014e\7V\2\2\u014e"+
|
||||
"\62\3\2\2\2\u014f\u0150\7P\2\2\u0150\u0151\7Q\2\2\u0151\64\3\2\2\2\u0152"+
|
||||
"\u0153\7G\2\2\u0153\u0154\7Z\2\2\u0154\u0155\7K\2\2\u0155\u0156\7U\2\2"+
|
||||
"\u0156\u0157\7V\2\2\u0157\u0158\7U\2\2\u0158\66\3\2\2\2\u0159\u015a\7"+
|
||||
"D\2\2\u015a\u015b\7G\2\2\u015b\u015c\7V\2\2\u015c\u015d\7Y\2\2\u015d\u015e"+
|
||||
"\7G\2\2\u015e\u015f\7G\2\2\u015f\u0160\7P\2\2\u01608\3\2\2\2\u0161\u0162"+
|
||||
"\7N\2\2\u0162\u0163\7K\2\2\u0163\u0164\7M\2\2\u0164\u0165\7G\2\2\u0165"+
|
||||
":\3\2\2\2\u0166\u0167\7T\2\2\u0167\u0168\7N\2\2\u0168\u0169\7K\2\2\u0169"+
|
||||
"\u016a\7M\2\2\u016a\u016b\7G\2\2\u016b<\3\2\2\2\u016c\u016d\7K\2\2\u016d"+
|
||||
"\u016e\7U\2\2\u016e>\3\2\2\2\u016f\u0170\7P\2\2\u0170\u0171\7W\2\2\u0171"+
|
||||
"\u0172\7N\2\2\u0172\u0173\7N\2\2\u0173@\3\2\2\2\u0174\u0175\7V\2\2\u0175"+
|
||||
"\u0176\7T\2\2\u0176\u0177\7W\2\2\u0177\u0178\7G\2\2\u0178B\3\2\2\2\u0179"+
|
||||
"\u017a\7H\2\2\u017a\u017b\7C\2\2\u017b\u017c\7N\2\2\u017c\u017d\7U\2\2"+
|
||||
"\u017d\u017e\7G\2\2\u017eD\3\2\2\2\u017f\u0180\7N\2\2\u0180\u0181\7C\2"+
|
||||
"\2\u0181\u0182\7U\2\2\u0182\u0183\7V\2\2\u0183F\3\2\2\2\u0184\u0185\7"+
|
||||
"C\2\2\u0185\u0186\7U\2\2\u0186\u0187\7E\2\2\u0187H\3\2\2\2\u0188\u0189"+
|
||||
"\7F\2\2\u0189\u018a\7G\2\2\u018a\u018b\7U\2\2\u018b\u018c\7E\2\2\u018c"+
|
||||
"J\3\2\2\2\u018d\u018e\7H\2\2\u018e\u018f\7Q\2\2\u018f\u0190\7T\2\2\u0190"+
|
||||
"L\3\2\2\2\u0191\u0192\7K\2\2\u0192\u0193\7P\2\2\u0193\u0194\7V\2\2\u0194"+
|
||||
"\u0195\7G\2\2\u0195\u0196\7I\2\2\u0196\u0197\7G\2\2\u0197\u0198\7T\2\2"+
|
||||
"\u0198N\3\2\2\2\u0199\u019a\7L\2\2\u019a\u019b\7Q\2\2\u019b\u019c\7K\2"+
|
||||
"\2\u019c\u019d\7P\2\2\u019dP\3\2\2\2\u019e\u019f\7E\2\2\u019f\u01a0\7"+
|
||||
"T\2\2\u01a0\u01a1\7Q\2\2\u01a1\u01a2\7U\2\2\u01a2\u01a3\7U\2\2\u01a3R"+
|
||||
"\3\2\2\2\u01a4\u01a5\7Q\2\2\u01a5\u01a6\7W\2\2\u01a6\u01a7\7V\2\2\u01a7"+
|
||||
"\u01a8\7G\2\2\u01a8\u01a9\7T\2\2\u01a9T\3\2\2\2\u01aa\u01ab\7K\2\2\u01ab"+
|
||||
"\u01ac\7P\2\2\u01ac\u01ad\7P\2\2\u01ad\u01ae\7G\2\2\u01ae\u01af\7T\2\2"+
|
||||
"\u01afV\3\2\2\2\u01b0\u01b1\7N\2\2\u01b1\u01b2\7G\2\2\u01b2\u01b3\7H\2"+
|
||||
"\2\u01b3\u01b4\7V\2\2\u01b4X\3\2\2\2\u01b5\u01b6\7T\2\2\u01b6\u01b7\7"+
|
||||
"K\2\2\u01b7\u01b8\7I\2\2\u01b8\u01b9\7J\2\2\u01b9\u01ba\7V\2\2\u01baZ"+
|
||||
"\3\2\2\2\u01bb\u01bc\7H\2\2\u01bc\u01bd\7W\2\2\u01bd\u01be\7N\2\2\u01be"+
|
||||
"\u01bf\7N\2\2\u01bf\\\3\2\2\2\u01c0\u01c1\7P\2\2\u01c1\u01c2\7C\2\2\u01c2"+
|
||||
"\u01c3\7V\2\2\u01c3\u01c4\7W\2\2\u01c4\u01c5\7T\2\2\u01c5\u01c6\7C\2\2"+
|
||||
"\u01c6\u01c7\7N\2\2\u01c7^\3\2\2\2\u01c8\u01c9\7W\2\2\u01c9\u01ca\7U\2"+
|
||||
"\2\u01ca\u01cb\7K\2\2\u01cb\u01cc\7P\2\2\u01cc\u01cd\7I\2\2\u01cd`\3\2"+
|
||||
"\2\2\u01ce\u01cf\7Q\2\2\u01cf\u01d0\7P\2\2\u01d0b\3\2\2\2\u01d1\u01d2"+
|
||||
"\7Y\2\2\u01d2\u01d3\7K\2\2\u01d3\u01d4\7V\2\2\u01d4\u01d5\7J\2\2\u01d5"+
|
||||
"d\3\2\2\2\u01d6\u01d7\7V\2\2\u01d7\u01d8\7C\2\2\u01d8\u01d9\7D\2\2\u01d9"+
|
||||
"\u01da\7N\2\2\u01da\u01db\7G\2\2\u01dbf\3\2\2\2\u01dc\u01dd\7K\2\2\u01dd"+
|
||||
"\u01de\7P\2\2\u01de\u01df\7V\2\2\u01df\u01e0\7Q\2\2\u01e0h\3\2\2\2\u01e1"+
|
||||
"\u01e2\7F\2\2\u01e2\u01e3\7G\2\2\u01e3\u01e4\7U\2\2\u01e4\u01e5\7E\2\2"+
|
||||
"\u01e5\u01e6\7T\2\2\u01e6\u01e7\7K\2\2\u01e7\u01e8\7D\2\2\u01e8\u01e9"+
|
||||
"\7G\2\2\u01e9j\3\2\2\2\u01ea\u01eb\7Q\2\2\u01eb\u01ec\7R\2\2\u01ec\u01ed"+
|
||||
"\7V\2\2\u01ed\u01ee\7K\2\2\u01ee\u01ef\7Q\2\2\u01ef\u01f0\7P\2\2\u01f0"+
|
||||
"l\3\2\2\2\u01f1\u01f2\7G\2\2\u01f2\u01f3\7Z\2\2\u01f3\u01f4\7R\2\2\u01f4"+
|
||||
"\u01f5\7N\2\2\u01f5\u01f6\7C\2\2\u01f6\u01f7\7K\2\2\u01f7\u01f8\7P\2\2"+
|
||||
"\u01f8n\3\2\2\2\u01f9\u01fa\7C\2\2\u01fa\u01fb\7P\2\2\u01fb\u01fc\7C\2"+
|
||||
"\2\u01fc\u01fd\7N\2\2\u01fd\u01fe\7[\2\2\u01fe\u01ff\7\\\2\2\u01ff\u0200"+
|
||||
"\7G\2\2\u0200p\3\2\2\2\u0201\u0202\7H\2\2\u0202\u0203\7Q\2\2\u0203\u0204"+
|
||||
"\7T\2\2\u0204\u0205\7O\2\2\u0205\u0206\7C\2\2\u0206\u0207\7V\2\2\u0207"+
|
||||
"r\3\2\2\2\u0208\u0209\7V\2\2\u0209\u020a\7[\2\2\u020a\u020b\7R\2\2\u020b"+
|
||||
"\u020c\7G\2\2\u020ct\3\2\2\2\u020d\u020e\7V\2\2\u020e\u020f\7G\2\2\u020f"+
|
||||
"\u0210\7Z\2\2\u0210\u0211\7V\2\2\u0211v\3\2\2\2\u0212\u0213\7X\2\2\u0213"+
|
||||
"\u0214\7G\2\2\u0214\u0215\7T\2\2\u0215\u0216\7K\2\2\u0216\u0217\7H\2\2"+
|
||||
"\u0217\u0218\7[\2\2\u0218x\3\2\2\2\u0219\u021a\7I\2\2\u021a\u021b\7T\2"+
|
||||
"\2\u021b\u021c\7C\2\2\u021c\u021d\7R\2\2\u021d\u021e\7J\2\2\u021e\u021f"+
|
||||
"\7X\2\2\u021f\u0220\7K\2\2\u0220\u0221\7\\\2\2\u0221z\3\2\2\2\u0222\u0223"+
|
||||
"\7N\2\2\u0223\u0224\7Q\2\2\u0224\u0225\7I\2\2\u0225\u0226\7K\2\2\u0226"+
|
||||
"\u0227\7E\2\2\u0227\u0228\7C\2\2\u0228\u0229\7N\2\2\u0229|\3\2\2\2\u022a"+
|
||||
"\u022b\7R\2\2\u022b\u022c\7J\2\2\u022c\u022d\7[\2\2\u022d\u022e\7U\2\2"+
|
||||
"\u022e\u022f\7K\2\2\u022f\u0230\7E\2\2\u0230\u0231\7C\2\2\u0231\u0232"+
|
||||
"\7N\2\2\u0232~\3\2\2\2\u0233\u0234\7U\2\2\u0234\u0235\7J\2\2\u0235\u0236"+
|
||||
"\7Q\2\2\u0236\u0237\7Y\2\2\u0237\u0080\3\2\2\2\u0238\u0239\7V\2\2\u0239"+
|
||||
"\u023a\7C\2\2\u023a\u023b\7D\2\2\u023b\u023c\7N\2\2\u023c\u023d\7G\2\2"+
|
||||
"\u023d\u023e\7U\2\2\u023e\u0082\3\2\2\2\u023f\u0240\7E\2\2\u0240\u0241"+
|
||||
"\7Q\2\2\u0241\u0242\7N\2\2\u0242\u0243\7W\2\2\u0243\u0244\7O\2\2\u0244"+
|
||||
"\u0245\7P\2\2\u0245\u0246\7U\2\2\u0246\u0084\3\2\2\2\u0247\u0248\7E\2"+
|
||||
"\2\u0248\u0249\7Q\2\2\u0249\u024a\7N\2\2\u024a\u024b\7W\2\2\u024b\u024c"+
|
||||
"\7O\2\2\u024c\u024d\7P\2\2\u024d\u0086\3\2\2\2\u024e\u024f\7H\2\2\u024f"+
|
||||
"\u0250\7W\2\2\u0250\u0251\7P\2\2\u0251\u0252\7E\2\2\u0252\u0253\7V\2\2"+
|
||||
"\u0253\u0254\7K\2\2\u0254\u0255\7Q\2\2\u0255\u0256\7P\2\2\u0256\u0257"+
|
||||
"\7U\2\2\u0257\u0088\3\2\2\2\u0258\u0259\7V\2\2\u0259\u025a\7Q\2\2\u025a"+
|
||||
"\u008a\3\2\2\2\u025b\u025c\7F\2\2\u025c\u025d\7G\2\2\u025d\u025e\7D\2"+
|
||||
"\2\u025e\u025f\7W\2\2\u025f\u0260\7I\2\2\u0260\u008c\3\2\2\2\u0261\u0262"+
|
||||
"\7R\2\2\u0262\u0263\7N\2\2\u0263\u0264\7C\2\2\u0264\u0265\7P\2\2\u0265"+
|
||||
"\u008e\3\2\2\2\u0266\u0267\7R\2\2\u0267\u0268\7C\2\2\u0268\u0269\7T\2"+
|
||||
"\2\u0269\u026a\7U\2\2\u026a\u026b\7G\2\2\u026b\u026c\7F\2\2\u026c\u0090"+
|
||||
"\3\2\2\2\u026d\u026e\7C\2\2\u026e\u026f\7P\2\2\u026f\u0270\7C\2\2\u0270"+
|
||||
"\u0271\7N\2\2\u0271\u0272\7[\2\2\u0272\u0273\7\\\2\2\u0273\u0274\7G\2"+
|
||||
"\2\u0274\u0275\7F\2\2\u0275\u0092\3\2\2\2\u0276\u0277\7Q\2\2\u0277\u0278"+
|
||||
"\7R\2\2\u0278\u0279\7V\2\2\u0279\u027a\7K\2\2\u027a\u027b\7O\2\2\u027b"+
|
||||
"\u027c\7K\2\2\u027c\u027d\7\\\2\2\u027d\u027e\7G\2\2\u027e\u027f\7F\2"+
|
||||
"\2\u027f\u0094\3\2\2\2\u0280\u0281\7O\2\2\u0281\u0282\7C\2\2\u0282\u0283"+
|
||||
"\7R\2\2\u0283\u0284\7R\2\2\u0284\u0285\7G\2\2\u0285\u0286\7F\2\2\u0286"+
|
||||
"\u0096\3\2\2\2\u0287\u0288\7G\2\2\u0288\u0289\7Z\2\2\u0289\u028a\7G\2"+
|
||||
"\2\u028a\u028b\7E\2\2\u028b\u028c\7W\2\2\u028c\u028d\7V\2\2\u028d\u028e"+
|
||||
"\7C\2\2\u028e\u028f\7D\2\2\u028f\u0290\7N\2\2\u0290\u0291\7G\2\2\u0291"+
|
||||
"\u0098\3\2\2\2\u0292\u0293\7W\2\2\u0293\u0294\7U\2\2\u0294\u0295\7G\2"+
|
||||
"\2\u0295\u009a\3\2\2\2\u0296\u0297\7U\2\2\u0297\u0298\7G\2\2\u0298\u0299"+
|
||||
"\7V\2\2\u0299\u009c\3\2\2\2\u029a\u029b\7T\2\2\u029b\u029c\7G\2\2\u029c"+
|
||||
"\u029d\7U\2\2\u029d\u029e\7G\2\2\u029e\u029f\7V\2\2\u029f\u009e\3\2\2"+
|
||||
"\2\u02a0\u02a1\7U\2\2\u02a1\u02a2\7G\2\2\u02a2\u02a3\7U\2\2\u02a3\u02a4"+
|
||||
"\7U\2\2\u02a4\u02a5\7K\2\2\u02a5\u02a6\7Q\2\2\u02a6\u02a7\7P\2\2\u02a7"+
|
||||
"\u00a0\3\2\2\2\u02a8\u02a9\7U\2\2\u02a9\u02aa\7E\2\2\u02aa\u02ab\7J\2"+
|
||||
"\2\u02ab\u02ac\7G\2\2\u02ac\u02ad\7O\2\2\u02ad\u02ae\7C\2\2\u02ae\u02af"+
|
||||
"\7U\2\2\u02af\u00a2\3\2\2\2\u02b0\u02b1\7G\2\2\u02b1\u02b2\7Z\2\2\u02b2"+
|
||||
"\u02b3\7V\2\2\u02b3\u02b4\7T\2\2\u02b4\u02b5\7C\2\2\u02b5\u02b6\7E\2\2"+
|
||||
"\u02b6\u02b7\7V\2\2\u02b7\u00a4\3\2\2\2\u02b8\u02b9\7S\2\2\u02b9\u02ba"+
|
||||
"\7W\2\2\u02ba\u02bb\7G\2\2\u02bb\u02bc\7T\2\2\u02bc\u02bd\7[\2\2\u02bd"+
|
||||
"\u00a6\3\2\2\2\u02be\u02bf\7O\2\2\u02bf\u02c0\7C\2\2\u02c0\u02c1\7V\2"+
|
||||
"\2\u02c1\u02c2\7E\2\2\u02c2\u02c3\7J\2\2\u02c3\u00a8\3\2\2\2\u02c4\u02c5"+
|
||||
"\7E\2\2\u02c5\u02c6\7C\2\2\u02c6\u02c7\7U\2\2\u02c7\u02c8\7V\2\2\u02c8"+
|
||||
"\3\6\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3"+
|
||||
"\b\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\r"+
|
||||
"\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3"+
|
||||
"\20\3\20\3\20\3\20\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3"+
|
||||
"\21\3\22\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3"+
|
||||
"\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3"+
|
||||
"\26\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\27\3\27\3"+
|
||||
"\27\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3"+
|
||||
"\31\3\31\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3"+
|
||||
"\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3"+
|
||||
"\35\3\35\3\35\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3 \3 "+
|
||||
"\3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3!\3!\3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3"+
|
||||
"\"\3\"\3#\3#\3#\3#\3#\3#\3#\3#\3#\3$\3$\3$\3$\3$\3$\3$\3%\3%\3%\3&\3&"+
|
||||
"\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3)\3)\3)\3"+
|
||||
"*\3*\3*\3*\3*\3+\3+\3+\3+\3+\3,\3,\3,\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3"+
|
||||
".\3.\3.\3/\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\3\60\3\61"+
|
||||
"\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\62\3\62\3\62\3\63"+
|
||||
"\3\63\3\63\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66"+
|
||||
"\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\38\38\38\38\38\38\3"+
|
||||
"8\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3;\3<\3<\3<\3<\3<\3<\3<\3"+
|
||||
"=\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3?\3?\3?\3?\3?\3?\3@\3@\3@\3"+
|
||||
"@\3@\3@\3A\3A\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3"+
|
||||
"D\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3G\3G\3G\3G\3"+
|
||||
"G\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3K\3"+
|
||||
"K\3L\3L\3L\3L\3L\3M\3M\3M\3N\3N\3N\3N\3N\3O\3O\3O\3O\3O\3P\3P\3P\3P\3"+
|
||||
"Q\3Q\3Q\3Q\3Q\3Q\3R\3R\3R\3R\3R\3R\3R\3S\3S\3S\3S\3S\3T\3T\3T\3T\3T\3"+
|
||||
"T\3U\3U\3U\3U\3U\3V\3V\3W\3W\3W\3W\3W\3W\3W\5W\u02d3\nW\3X\3X\3Y\3Y\3"+
|
||||
"Y\3Z\3Z\3[\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`\3a\3a\3a\3b\3b\3b\3b"+
|
||||
"\7b\u02f0\nb\fb\16b\u02f3\13b\3b\3b\3c\6c\u02f8\nc\rc\16c\u02f9\3d\6d"+
|
||||
"\u02fd\nd\rd\16d\u02fe\3d\3d\7d\u0303\nd\fd\16d\u0306\13d\3d\3d\6d\u030a"+
|
||||
"\nd\rd\16d\u030b\3d\6d\u030f\nd\rd\16d\u0310\3d\3d\7d\u0315\nd\fd\16d"+
|
||||
"\u0318\13d\5d\u031a\nd\3d\3d\3d\3d\6d\u0320\nd\rd\16d\u0321\3d\3d\5d\u0326"+
|
||||
"\nd\3e\3e\5e\u032a\ne\3e\3e\3e\7e\u032f\ne\fe\16e\u0332\13e\3f\3f\3f\3"+
|
||||
"f\6f\u0338\nf\rf\16f\u0339\3g\3g\3g\7g\u033f\ng\fg\16g\u0342\13g\3g\3"+
|
||||
"g\3h\3h\3h\3h\7h\u034a\nh\fh\16h\u034d\13h\3h\3h\3i\3i\5i\u0353\ni\3i"+
|
||||
"\6i\u0356\ni\ri\16i\u0357\3j\3j\3k\3k\3l\3l\3l\3l\7l\u0362\nl\fl\16l\u0365"+
|
||||
"\13l\3l\5l\u0368\nl\3l\5l\u036b\nl\3l\3l\3m\3m\3m\3m\3m\7m\u0374\nm\f"+
|
||||
"m\16m\u0377\13m\3m\3m\3m\3m\3m\3n\6n\u037f\nn\rn\16n\u0380\3n\3n\3o\3"+
|
||||
"o\3\u0375\2p\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16"+
|
||||
"\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34"+
|
||||
"\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g"+
|
||||
"\65i\66k\67m8o9q:s;u<w=y>{?}@\177A\u0081B\u0083C\u0085D\u0087E\u0089F"+
|
||||
"\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097M\u0099N\u009bO\u009d"+
|
||||
"P\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00abW\u00adX\u00afY\u00b1"+
|
||||
"Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bfa\u00c1b\u00c3c\u00c5"+
|
||||
"d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1\2\u00d3\2\u00d5\2\u00d7j\u00d9"+
|
||||
"k\u00dbl\u00ddm\3\2\13\3\2))\5\2<<BBaa\6\2$$))\60\60~~\6\2))\60\60bb~"+
|
||||
"~\4\2--//\3\2\62;\3\2C\\\4\2\f\f\17\17\5\2\13\f\17\17\"\"\u03a4\2\3\3"+
|
||||
"\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2"+
|
||||
"\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3"+
|
||||
"\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2"+
|
||||
"%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61"+
|
||||
"\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2"+
|
||||
"\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I"+
|
||||
"\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2"+
|
||||
"\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2"+
|
||||
"\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o"+
|
||||
"\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2"+
|
||||
"\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+
|
||||
"\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+
|
||||
"\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097"+
|
||||
"\3\2\2\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u009f\3\2\2"+
|
||||
"\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7\3\2\2\2\2\u00a9"+
|
||||
"\3\2\2\2\2\u00ab\3\2\2\2\2\u00ad\3\2\2\2\2\u00af\3\2\2\2\2\u00b1\3\2\2"+
|
||||
"\2\2\u00b3\3\2\2\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00b9\3\2\2\2\2\u00bb"+
|
||||
"\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\3\2\2\2\2\u00c1\3\2\2\2\2\u00c3\3\2\2"+
|
||||
"\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd"+
|
||||
"\3\2\2\2\2\u00cf\3\2\2\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2"+
|
||||
"\2\2\u00dd\3\2\2\2\3\u00df\3\2\2\2\5\u00e1\3\2\2\2\7\u00e3\3\2\2\2\t\u00e5"+
|
||||
"\3\2\2\2\13\u00e7\3\2\2\2\r\u00eb\3\2\2\2\17\u00f3\3\2\2\2\21\u00fc\3"+
|
||||
"\2\2\2\23\u0100\3\2\2\2\25\u0104\3\2\2\2\27\u0107\3\2\2\2\31\u010b\3\2"+
|
||||
"\2\2\33\u0113\3\2\2\2\35\u0116\3\2\2\2\37\u011b\3\2\2\2!\u0122\3\2\2\2"+
|
||||
"#\u012a\3\2\2\2%\u0130\3\2\2\2\'\u0136\3\2\2\2)\u013b\3\2\2\2+\u0144\3"+
|
||||
"\2\2\2-\u014d\3\2\2\2/\u0158\3\2\2\2\61\u015f\3\2\2\2\63\u0167\3\2\2\2"+
|
||||
"\65\u016f\3\2\2\2\67\u0175\3\2\2\29\u0179\3\2\2\2;\u0180\3\2\2\2=\u0185"+
|
||||
"\3\2\2\2?\u018a\3\2\2\2A\u0194\3\2\2\2C\u019d\3\2\2\2E\u01a3\3\2\2\2G"+
|
||||
"\u01ac\3\2\2\2I\u01b3\3\2\2\2K\u01b6\3\2\2\2M\u01bc\3\2\2\2O\u01c4\3\2"+
|
||||
"\2\2Q\u01c9\3\2\2\2S\u01cc\3\2\2\2U\u01d1\3\2\2\2W\u01d6\3\2\2\2Y\u01db"+
|
||||
"\3\2\2\2[\u01e0\3\2\2\2]\u01e6\3\2\2\2_\u01ee\3\2\2\2a\u01f5\3\2\2\2c"+
|
||||
"\u01fb\3\2\2\2e\u0203\3\2\2\2g\u0206\3\2\2\2i\u020a\3\2\2\2k\u020f\3\2"+
|
||||
"\2\2m\u0212\3\2\2\2o\u021c\3\2\2\2q\u0223\3\2\2\2s\u0226\3\2\2\2u\u022c"+
|
||||
"\3\2\2\2w\u0232\3\2\2\2y\u0239\3\2\2\2{\u0242\3\2\2\2}\u0247\3\2\2\2\177"+
|
||||
"\u024d\3\2\2\2\u0081\u0253\3\2\2\2\u0083\u0259\3\2\2\2\u0085\u025f\3\2"+
|
||||
"\2\2\u0087\u0267\3\2\2\2\u0089\u026e\3\2\2\2\u008b\u0276\3\2\2\2\u008d"+
|
||||
"\u027a\3\2\2\2\u008f\u027f\3\2\2\2\u0091\u0284\3\2\2\2\u0093\u028a\3\2"+
|
||||
"\2\2\u0095\u0291\3\2\2\2\u0097\u0296\3\2\2\2\u0099\u029b\3\2\2\2\u009b"+
|
||||
"\u029e\3\2\2\2\u009d\u02a3\3\2\2\2\u009f\u02a8\3\2\2\2\u00a1\u02ac\3\2"+
|
||||
"\2\2\u00a3\u02b2\3\2\2\2\u00a5\u02b9\3\2\2\2\u00a7\u02be\3\2\2\2\u00a9"+
|
||||
"\u02c4\3\2\2\2\u00ab\u02c9\3\2\2\2\u00ad\u02d2\3\2\2\2\u00af\u02d4\3\2"+
|
||||
"\2\2\u00b1\u02d6\3\2\2\2\u00b3\u02d9\3\2\2\2\u00b5\u02db\3\2\2\2\u00b7"+
|
||||
"\u02de\3\2\2\2\u00b9\u02e0\3\2\2\2\u00bb\u02e2\3\2\2\2\u00bd\u02e4\3\2"+
|
||||
"\2\2\u00bf\u02e6\3\2\2\2\u00c1\u02e8\3\2\2\2\u00c3\u02eb\3\2\2\2\u00c5"+
|
||||
"\u02f7\3\2\2\2\u00c7\u0325\3\2\2\2\u00c9\u0329\3\2\2\2\u00cb\u0333\3\2"+
|
||||
"\2\2\u00cd\u033b\3\2\2\2\u00cf\u0345\3\2\2\2\u00d1\u0350\3\2\2\2\u00d3"+
|
||||
"\u0359\3\2\2\2\u00d5\u035b\3\2\2\2\u00d7\u035d\3\2\2\2\u00d9\u036e\3\2"+
|
||||
"\2\2\u00db\u037e\3\2\2\2\u00dd\u0384\3\2\2\2\u00df\u00e0\7*\2\2\u00e0"+
|
||||
"\4\3\2\2\2\u00e1\u00e2\7+\2\2\u00e2\6\3\2\2\2\u00e3\u00e4\7.\2\2\u00e4"+
|
||||
"\b\3\2\2\2\u00e5\u00e6\7\60\2\2\u00e6\n\3\2\2\2\u00e7\u00e8\7C\2\2\u00e8"+
|
||||
"\u00e9\7N\2\2\u00e9\u00ea\7N\2\2\u00ea\f\3\2\2\2\u00eb\u00ec\7C\2\2\u00ec"+
|
||||
"\u00ed\7P\2\2\u00ed\u00ee\7C\2\2\u00ee\u00ef\7N\2\2\u00ef\u00f0\7[\2\2"+
|
||||
"\u00f0\u00f1\7\\\2\2\u00f1\u00f2\7G\2\2\u00f2\16\3\2\2\2\u00f3\u00f4\7"+
|
||||
"C\2\2\u00f4\u00f5\7P\2\2\u00f5\u00f6\7C\2\2\u00f6\u00f7\7N\2\2\u00f7\u00f8"+
|
||||
"\7[\2\2\u00f8\u00f9\7\\\2\2\u00f9\u00fa\7G\2\2\u00fa\u00fb\7F\2\2\u00fb"+
|
||||
"\20\3\2\2\2\u00fc\u00fd\7C\2\2\u00fd\u00fe\7P\2\2\u00fe\u00ff\7F\2\2\u00ff"+
|
||||
"\22\3\2\2\2\u0100\u0101\7C\2\2\u0101\u0102\7P\2\2\u0102\u0103\7[\2\2\u0103"+
|
||||
"\24\3\2\2\2\u0104\u0105\7C\2\2\u0105\u0106\7U\2\2\u0106\26\3\2\2\2\u0107"+
|
||||
"\u0108\7C\2\2\u0108\u0109\7U\2\2\u0109\u010a\7E\2\2\u010a\30\3\2\2\2\u010b"+
|
||||
"\u010c\7D\2\2\u010c\u010d\7G\2\2\u010d\u010e\7V\2\2\u010e\u010f\7Y\2\2"+
|
||||
"\u010f\u0110\7G\2\2\u0110\u0111\7G\2\2\u0111\u0112\7P\2\2\u0112\32\3\2"+
|
||||
"\2\2\u0113\u0114\7D\2\2\u0114\u0115\7[\2\2\u0115\34\3\2\2\2\u0116\u0117"+
|
||||
"\7E\2\2\u0117\u0118\7C\2\2\u0118\u0119\7U\2\2\u0119\u011a\7V\2\2\u011a"+
|
||||
"\36\3\2\2\2\u011b\u011c\7E\2\2\u011c\u011d\7Q\2\2\u011d\u011e\7N\2\2\u011e"+
|
||||
"\u011f\7W\2\2\u011f\u0120\7O\2\2\u0120\u0121\7P\2\2\u0121 \3\2\2\2\u0122"+
|
||||
"\u0123\7E\2\2\u0123\u0124\7Q\2\2\u0124\u0125\7N\2\2\u0125\u0126\7W\2\2"+
|
||||
"\u0126\u0127\7O\2\2\u0127\u0128\7P\2\2\u0128\u0129\7U\2\2\u0129\"\3\2"+
|
||||
"\2\2\u012a\u012b\7E\2\2\u012b\u012c\7T\2\2\u012c\u012d\7Q\2\2\u012d\u012e"+
|
||||
"\7U\2\2\u012e\u012f\7U\2\2\u012f$\3\2\2\2\u0130\u0131\7F\2\2\u0131\u0132"+
|
||||
"\7G\2\2\u0132\u0133\7D\2\2\u0133\u0134\7W\2\2\u0134\u0135\7I\2\2\u0135"+
|
||||
"&\3\2\2\2\u0136\u0137\7F\2\2\u0137\u0138\7G\2\2\u0138\u0139\7U\2\2\u0139"+
|
||||
"\u013a\7E\2\2\u013a(\3\2\2\2\u013b\u013c\7F\2\2\u013c\u013d\7G\2\2\u013d"+
|
||||
"\u013e\7U\2\2\u013e\u013f\7E\2\2\u013f\u0140\7T\2\2\u0140\u0141\7K\2\2"+
|
||||
"\u0141\u0142\7D\2\2\u0142\u0143\7G\2\2\u0143*\3\2\2\2\u0144\u0145\7F\2"+
|
||||
"\2\u0145\u0146\7K\2\2\u0146\u0147\7U\2\2\u0147\u0148\7V\2\2\u0148\u0149"+
|
||||
"\7K\2\2\u0149\u014a\7P\2\2\u014a\u014b\7E\2\2\u014b\u014c\7V\2\2\u014c"+
|
||||
",\3\2\2\2\u014d\u014e\7G\2\2\u014e\u014f\7Z\2\2\u014f\u0150\7G\2\2\u0150"+
|
||||
"\u0151\7E\2\2\u0151\u0152\7W\2\2\u0152\u0153\7V\2\2\u0153\u0154\7C\2\2"+
|
||||
"\u0154\u0155\7D\2\2\u0155\u0156\7N\2\2\u0156\u0157\7G\2\2\u0157.\3\2\2"+
|
||||
"\2\u0158\u0159\7G\2\2\u0159\u015a\7Z\2\2\u015a\u015b\7K\2\2\u015b\u015c"+
|
||||
"\7U\2\2\u015c\u015d\7V\2\2\u015d\u015e\7U\2\2\u015e\60\3\2\2\2\u015f\u0160"+
|
||||
"\7G\2\2\u0160\u0161\7Z\2\2\u0161\u0162\7R\2\2\u0162\u0163\7N\2\2\u0163"+
|
||||
"\u0164\7C\2\2\u0164\u0165\7K\2\2\u0165\u0166\7P\2\2\u0166\62\3\2\2\2\u0167"+
|
||||
"\u0168\7G\2\2\u0168\u0169\7Z\2\2\u0169\u016a\7V\2\2\u016a\u016b\7T\2\2"+
|
||||
"\u016b\u016c\7C\2\2\u016c\u016d\7E\2\2\u016d\u016e\7V\2\2\u016e\64\3\2"+
|
||||
"\2\2\u016f\u0170\7H\2\2\u0170\u0171\7C\2\2\u0171\u0172\7N\2\2\u0172\u0173"+
|
||||
"\7U\2\2\u0173\u0174\7G\2\2\u0174\66\3\2\2\2\u0175\u0176\7H\2\2\u0176\u0177"+
|
||||
"\7Q\2\2\u0177\u0178\7T\2\2\u01788\3\2\2\2\u0179\u017a\7H\2\2\u017a\u017b"+
|
||||
"\7Q\2\2\u017b\u017c\7T\2\2\u017c\u017d\7O\2\2\u017d\u017e\7C\2\2\u017e"+
|
||||
"\u017f\7V\2\2\u017f:\3\2\2\2\u0180\u0181\7H\2\2\u0181\u0182\7T\2\2\u0182"+
|
||||
"\u0183\7Q\2\2\u0183\u0184\7O\2\2\u0184<\3\2\2\2\u0185\u0186\7H\2\2\u0186"+
|
||||
"\u0187\7W\2\2\u0187\u0188\7N\2\2\u0188\u0189\7N\2\2\u0189>\3\2\2\2\u018a"+
|
||||
"\u018b\7H\2\2\u018b\u018c\7W\2\2\u018c\u018d\7P\2\2\u018d\u018e\7E\2\2"+
|
||||
"\u018e\u018f\7V\2\2\u018f\u0190\7K\2\2\u0190\u0191\7Q\2\2\u0191\u0192"+
|
||||
"\7P\2\2\u0192\u0193\7U\2\2\u0193@\3\2\2\2\u0194\u0195\7I\2\2\u0195\u0196"+
|
||||
"\7T\2\2\u0196\u0197\7C\2\2\u0197\u0198\7R\2\2\u0198\u0199\7J\2\2\u0199"+
|
||||
"\u019a\7X\2\2\u019a\u019b\7K\2\2\u019b\u019c\7\\\2\2\u019cB\3\2\2\2\u019d"+
|
||||
"\u019e\7I\2\2\u019e\u019f\7T\2\2\u019f\u01a0\7Q\2\2\u01a0\u01a1\7W\2\2"+
|
||||
"\u01a1\u01a2\7R\2\2\u01a2D\3\2\2\2\u01a3\u01a4\7I\2\2\u01a4\u01a5\7T\2"+
|
||||
"\2\u01a5\u01a6\7Q\2\2\u01a6\u01a7\7W\2\2\u01a7\u01a8\7R\2\2\u01a8\u01a9"+
|
||||
"\7K\2\2\u01a9\u01aa\7P\2\2\u01aa\u01ab\7I\2\2\u01abF\3\2\2\2\u01ac\u01ad"+
|
||||
"\7J\2\2\u01ad\u01ae\7C\2\2\u01ae\u01af\7X\2\2\u01af\u01b0\7K\2\2\u01b0"+
|
||||
"\u01b1\7P\2\2\u01b1\u01b2\7I\2\2\u01b2H\3\2\2\2\u01b3\u01b4\7K\2\2\u01b4"+
|
||||
"\u01b5\7P\2\2\u01b5J\3\2\2\2\u01b6\u01b7\7K\2\2\u01b7\u01b8\7P\2\2\u01b8"+
|
||||
"\u01b9\7P\2\2\u01b9\u01ba\7G\2\2\u01ba\u01bb\7T\2\2\u01bbL\3\2\2\2\u01bc"+
|
||||
"\u01bd\7K\2\2\u01bd\u01be\7P\2\2\u01be\u01bf\7V\2\2\u01bf\u01c0\7G\2\2"+
|
||||
"\u01c0\u01c1\7I\2\2\u01c1\u01c2\7G\2\2\u01c2\u01c3\7T\2\2\u01c3N\3\2\2"+
|
||||
"\2\u01c4\u01c5\7K\2\2\u01c5\u01c6\7P\2\2\u01c6\u01c7\7V\2\2\u01c7\u01c8"+
|
||||
"\7Q\2\2\u01c8P\3\2\2\2\u01c9\u01ca\7K\2\2\u01ca\u01cb\7U\2\2\u01cbR\3"+
|
||||
"\2\2\2\u01cc\u01cd\7L\2\2\u01cd\u01ce\7Q\2\2\u01ce\u01cf\7K\2\2\u01cf"+
|
||||
"\u01d0\7P\2\2\u01d0T\3\2\2\2\u01d1\u01d2\7N\2\2\u01d2\u01d3\7C\2\2\u01d3"+
|
||||
"\u01d4\7U\2\2\u01d4\u01d5\7V\2\2\u01d5V\3\2\2\2\u01d6\u01d7\7N\2\2\u01d7"+
|
||||
"\u01d8\7G\2\2\u01d8\u01d9\7H\2\2\u01d9\u01da\7V\2\2\u01daX\3\2\2\2\u01db"+
|
||||
"\u01dc\7N\2\2\u01dc\u01dd\7K\2\2\u01dd\u01de\7M\2\2\u01de\u01df\7G\2\2"+
|
||||
"\u01dfZ\3\2\2\2\u01e0\u01e1\7N\2\2\u01e1\u01e2\7K\2\2\u01e2\u01e3\7O\2"+
|
||||
"\2\u01e3\u01e4\7K\2\2\u01e4\u01e5\7V\2\2\u01e5\\\3\2\2\2\u01e6\u01e7\7"+
|
||||
"N\2\2\u01e7\u01e8\7Q\2\2\u01e8\u01e9\7I\2\2\u01e9\u01ea\7K\2\2\u01ea\u01eb"+
|
||||
"\7E\2\2\u01eb\u01ec\7C\2\2\u01ec\u01ed\7N\2\2\u01ed^\3\2\2\2\u01ee\u01ef"+
|
||||
"\7O\2\2\u01ef\u01f0\7C\2\2\u01f0\u01f1\7R\2\2\u01f1\u01f2\7R\2\2\u01f2"+
|
||||
"\u01f3\7G\2\2\u01f3\u01f4\7F\2\2\u01f4`\3\2\2\2\u01f5\u01f6\7O\2\2\u01f6"+
|
||||
"\u01f7\7C\2\2\u01f7\u01f8\7V\2\2\u01f8\u01f9\7E\2\2\u01f9\u01fa\7J\2\2"+
|
||||
"\u01fab\3\2\2\2\u01fb\u01fc\7P\2\2\u01fc\u01fd\7C\2\2\u01fd\u01fe\7V\2"+
|
||||
"\2\u01fe\u01ff\7W\2\2\u01ff\u0200\7T\2\2\u0200\u0201\7C\2\2\u0201\u0202"+
|
||||
"\7N\2\2\u0202d\3\2\2\2\u0203\u0204\7P\2\2\u0204\u0205\7Q\2\2\u0205f\3"+
|
||||
"\2\2\2\u0206\u0207\7P\2\2\u0207\u0208\7Q\2\2\u0208\u0209\7V\2\2\u0209"+
|
||||
"h\3\2\2\2\u020a\u020b\7P\2\2\u020b\u020c\7W\2\2\u020c\u020d\7N\2\2\u020d"+
|
||||
"\u020e\7N\2\2\u020ej\3\2\2\2\u020f\u0210\7Q\2\2\u0210\u0211\7P\2\2\u0211"+
|
||||
"l\3\2\2\2\u0212\u0213\7Q\2\2\u0213\u0214\7R\2\2\u0214\u0215\7V\2\2\u0215"+
|
||||
"\u0216\7K\2\2\u0216\u0217\7O\2\2\u0217\u0218\7K\2\2\u0218\u0219\7\\\2"+
|
||||
"\2\u0219\u021a\7G\2\2\u021a\u021b\7F\2\2\u021bn\3\2\2\2\u021c\u021d\7"+
|
||||
"Q\2\2\u021d\u021e\7R\2\2\u021e\u021f\7V\2\2\u021f\u0220\7K\2\2\u0220\u0221"+
|
||||
"\7Q\2\2\u0221\u0222\7P\2\2\u0222p\3\2\2\2\u0223\u0224\7Q\2\2\u0224\u0225"+
|
||||
"\7T\2\2\u0225r\3\2\2\2\u0226\u0227\7Q\2\2\u0227\u0228\7T\2\2\u0228\u0229"+
|
||||
"\7F\2\2\u0229\u022a\7G\2\2\u022a\u022b\7T\2\2\u022bt\3\2\2\2\u022c\u022d"+
|
||||
"\7Q\2\2\u022d\u022e\7W\2\2\u022e\u022f\7V\2\2\u022f\u0230\7G\2\2\u0230"+
|
||||
"\u0231\7T\2\2\u0231v\3\2\2\2\u0232\u0233\7R\2\2\u0233\u0234\7C\2\2\u0234"+
|
||||
"\u0235\7T\2\2\u0235\u0236\7U\2\2\u0236\u0237\7G\2\2\u0237\u0238\7F\2\2"+
|
||||
"\u0238x\3\2\2\2\u0239\u023a\7R\2\2\u023a\u023b\7J\2\2\u023b\u023c\7[\2"+
|
||||
"\2\u023c\u023d\7U\2\2\u023d\u023e\7K\2\2\u023e\u023f\7E\2\2\u023f\u0240"+
|
||||
"\7C\2\2\u0240\u0241\7N\2\2\u0241z\3\2\2\2\u0242\u0243\7R\2\2\u0243\u0244"+
|
||||
"\7N\2\2\u0244\u0245\7C\2\2\u0245\u0246\7P\2\2\u0246|\3\2\2\2\u0247\u0248"+
|
||||
"\7S\2\2\u0248\u0249\7W\2\2\u0249\u024a\7G\2\2\u024a\u024b\7T\2\2\u024b"+
|
||||
"\u024c\7[\2\2\u024c~\3\2\2\2\u024d\u024e\7T\2\2\u024e\u024f\7G\2\2\u024f"+
|
||||
"\u0250\7U\2\2\u0250\u0251\7G\2\2\u0251\u0252\7V\2\2\u0252\u0080\3\2\2"+
|
||||
"\2\u0253\u0254\7T\2\2\u0254\u0255\7K\2\2\u0255\u0256\7I\2\2\u0256\u0257"+
|
||||
"\7J\2\2\u0257\u0258\7V\2\2\u0258\u0082\3\2\2\2\u0259\u025a\7T\2\2\u025a"+
|
||||
"\u025b\7N\2\2\u025b\u025c\7K\2\2\u025c\u025d\7M\2\2\u025d\u025e\7G\2\2"+
|
||||
"\u025e\u0084\3\2\2\2\u025f\u0260\7U\2\2\u0260\u0261\7E\2\2\u0261\u0262"+
|
||||
"\7J\2\2\u0262\u0263\7G\2\2\u0263\u0264\7O\2\2\u0264\u0265\7C\2\2\u0265"+
|
||||
"\u0266\7U\2\2\u0266\u0086\3\2\2\2\u0267\u0268\7U\2\2\u0268\u0269\7G\2"+
|
||||
"\2\u0269\u026a\7N\2\2\u026a\u026b\7G\2\2\u026b\u026c\7E\2\2\u026c\u026d"+
|
||||
"\7V\2\2\u026d\u0088\3\2\2\2\u026e\u026f\7U\2\2\u026f\u0270\7G\2\2\u0270"+
|
||||
"\u0271\7U\2\2\u0271\u0272\7U\2\2\u0272\u0273\7K\2\2\u0273\u0274\7Q\2\2"+
|
||||
"\u0274\u0275\7P\2\2\u0275\u008a\3\2\2\2\u0276\u0277\7U\2\2\u0277\u0278"+
|
||||
"\7G\2\2\u0278\u0279\7V\2\2\u0279\u008c\3\2\2\2\u027a\u027b\7U\2\2\u027b"+
|
||||
"\u027c\7G\2\2\u027c\u027d\7V\2\2\u027d\u027e\7U\2\2\u027e\u008e\3\2\2"+
|
||||
"\2\u027f\u0280\7U\2\2\u0280\u0281\7J\2\2\u0281\u0282\7Q\2\2\u0282\u0283"+
|
||||
"\7Y\2\2\u0283\u0090\3\2\2\2\u0284\u0285\7V\2\2\u0285\u0286\7C\2\2\u0286"+
|
||||
"\u0287\7D\2\2\u0287\u0288\7N\2\2\u0288\u0289\7G\2\2\u0289\u0092\3\2\2"+
|
||||
"\2\u028a\u028b\7V\2\2\u028b\u028c\7C\2\2\u028c\u028d\7D\2\2\u028d\u028e"+
|
||||
"\7N\2\2\u028e\u028f\7G\2\2\u028f\u0290\7U\2\2\u0290\u0094\3\2\2\2\u0291"+
|
||||
"\u0292\7V\2\2\u0292\u0293\7G\2\2\u0293\u0294\7Z\2\2\u0294\u0295\7V\2\2"+
|
||||
"\u0295\u0096\3\2\2\2\u0296\u0297\7V\2\2\u0297\u0298\7J\2\2\u0298\u0299"+
|
||||
"\7G\2\2\u0299\u029a\7P\2\2\u029a\u0098\3\2\2\2\u029b\u029c\7V\2\2\u029c"+
|
||||
"\u029d\7Q\2\2\u029d\u009a\3\2\2\2\u029e\u029f\7V\2\2\u029f\u02a0\7T\2"+
|
||||
"\2\u02a0\u02a1\7W\2\2\u02a1\u02a2\7G\2\2\u02a2\u009c\3\2\2\2\u02a3\u02a4"+
|
||||
"\7V\2\2\u02a4\u02a5\7[\2\2\u02a5\u02a6\7R\2\2\u02a6\u02a7\7G\2\2\u02a7"+
|
||||
"\u009e\3\2\2\2\u02a8\u02a9\7W\2\2\u02a9\u02aa\7U\2\2\u02aa\u02ab\7G\2"+
|
||||
"\2\u02ab\u00a0\3\2\2\2\u02ac\u02ad\7W\2\2\u02ad\u02ae\7U\2\2\u02ae\u02af"+
|
||||
"\7K\2\2\u02af\u02b0\7P\2\2\u02b0\u02b1\7I\2\2\u02b1\u00a2\3\2\2\2\u02b2"+
|
||||
"\u02b3\7X\2\2\u02b3\u02b4\7G\2\2\u02b4\u02b5\7T\2\2\u02b5\u02b6\7K\2\2"+
|
||||
"\u02b6\u02b7\7H\2\2\u02b7\u02b8\7[\2\2\u02b8\u00a4\3\2\2\2\u02b9\u02ba"+
|
||||
"\7Y\2\2\u02ba\u02bb\7J\2\2\u02bb\u02bc\7G\2\2\u02bc\u02bd\7P\2\2\u02bd"+
|
||||
"\u00a6\3\2\2\2\u02be\u02bf\7Y\2\2\u02bf\u02c0\7J\2\2\u02c0\u02c1\7G\2"+
|
||||
"\2\u02c1\u02c2\7T\2\2\u02c2\u02c3\7G\2\2\u02c3\u00a8\3\2\2\2\u02c4\u02c5"+
|
||||
"\7Y\2\2\u02c5\u02c6\7K\2\2\u02c6\u02c7\7V\2\2\u02c7\u02c8\7J\2\2\u02c8"+
|
||||
"\u00aa\3\2\2\2\u02c9\u02ca\7?\2\2\u02ca\u00ac\3\2\2\2\u02cb\u02cc\7>\2"+
|
||||
"\2\u02cc\u02d3\7@\2\2\u02cd\u02ce\7#\2\2\u02ce\u02d3\7?\2\2\u02cf\u02d0"+
|
||||
"\7>\2\2\u02d0\u02d1\7?\2\2\u02d1\u02d3\7@\2\2\u02d2\u02cb\3\2\2\2\u02d2"+
|
||||
|
|
|
@ -22,22 +22,22 @@ class SqlBaseParser extends Parser {
|
|||
protected static final PredictionContextCache _sharedContextCache =
|
||||
new PredictionContextCache();
|
||||
public static final int
|
||||
T__0=1, T__1=2, T__2=3, T__3=4, SELECT=5, FROM=6, AS=7, ALL=8, WHEN=9,
|
||||
THEN=10, ANY=11, DISTINCT=12, WHERE=13, GROUP=14, BY=15, GROUPING=16,
|
||||
SETS=17, ORDER=18, HAVING=19, LIMIT=20, OR=21, AND=22, IN=23, NOT=24,
|
||||
NO=25, EXISTS=26, BETWEEN=27, LIKE=28, RLIKE=29, IS=30, NULL=31, TRUE=32,
|
||||
FALSE=33, LAST=34, ASC=35, DESC=36, FOR=37, INTEGER=38, JOIN=39, CROSS=40,
|
||||
OUTER=41, INNER=42, LEFT=43, RIGHT=44, FULL=45, NATURAL=46, USING=47,
|
||||
ON=48, WITH=49, TABLE=50, INTO=51, DESCRIBE=52, OPTION=53, EXPLAIN=54,
|
||||
ANALYZE=55, FORMAT=56, TYPE=57, TEXT=58, VERIFY=59, GRAPHVIZ=60, LOGICAL=61,
|
||||
PHYSICAL=62, SHOW=63, TABLES=64, COLUMNS=65, COLUMN=66, FUNCTIONS=67,
|
||||
TO=68, DEBUG=69, PLAN=70, PARSED=71, ANALYZED=72, OPTIMIZED=73, MAPPED=74,
|
||||
EXECUTABLE=75, USE=76, SET=77, RESET=78, SESSION=79, SCHEMAS=80, EXTRACT=81,
|
||||
QUERY=82, MATCH=83, CAST=84, EQ=85, NEQ=86, LT=87, LTE=88, GT=89, GTE=90,
|
||||
PLUS=91, MINUS=92, ASTERISK=93, SLASH=94, PERCENT=95, CONCAT=96, STRING=97,
|
||||
INTEGER_VALUE=98, DECIMAL_VALUE=99, IDENTIFIER=100, DIGIT_IDENTIFIER=101,
|
||||
QUOTED_IDENTIFIER=102, BACKQUOTED_IDENTIFIER=103, SIMPLE_COMMENT=104,
|
||||
BRACKETED_COMMENT=105, WS=106, UNRECOGNIZED=107, DELIMITER=108;
|
||||
T__0=1, T__1=2, T__2=3, T__3=4, ALL=5, ANALYZE=6, ANALYZED=7, AND=8, ANY=9,
|
||||
AS=10, ASC=11, BETWEEN=12, BY=13, CAST=14, COLUMN=15, COLUMNS=16, CROSS=17,
|
||||
DEBUG=18, DESC=19, DESCRIBE=20, DISTINCT=21, EXECUTABLE=22, EXISTS=23,
|
||||
EXPLAIN=24, EXTRACT=25, FALSE=26, FOR=27, FORMAT=28, FROM=29, FULL=30,
|
||||
FUNCTIONS=31, GRAPHVIZ=32, GROUP=33, GROUPING=34, HAVING=35, IN=36, INNER=37,
|
||||
INTEGER=38, INTO=39, IS=40, JOIN=41, LAST=42, LEFT=43, LIKE=44, LIMIT=45,
|
||||
LOGICAL=46, MAPPED=47, MATCH=48, NATURAL=49, NO=50, NOT=51, NULL=52, ON=53,
|
||||
OPTIMIZED=54, OPTION=55, OR=56, ORDER=57, OUTER=58, PARSED=59, PHYSICAL=60,
|
||||
PLAN=61, QUERY=62, RESET=63, RIGHT=64, RLIKE=65, SCHEMAS=66, SELECT=67,
|
||||
SESSION=68, SET=69, SETS=70, SHOW=71, TABLE=72, TABLES=73, TEXT=74, THEN=75,
|
||||
TO=76, TRUE=77, TYPE=78, USE=79, USING=80, VERIFY=81, WHEN=82, WHERE=83,
|
||||
WITH=84, EQ=85, NEQ=86, LT=87, LTE=88, GT=89, GTE=90, PLUS=91, MINUS=92,
|
||||
ASTERISK=93, SLASH=94, PERCENT=95, CONCAT=96, STRING=97, INTEGER_VALUE=98,
|
||||
DECIMAL_VALUE=99, IDENTIFIER=100, DIGIT_IDENTIFIER=101, QUOTED_IDENTIFIER=102,
|
||||
BACKQUOTED_IDENTIFIER=103, SIMPLE_COMMENT=104, BRACKETED_COMMENT=105,
|
||||
WS=106, UNRECOGNIZED=107, DELIMITER=108;
|
||||
public static final int
|
||||
RULE_singleStatement = 0, RULE_singleExpression = 1, RULE_statement = 2,
|
||||
RULE_query = 3, RULE_queryNoWith = 4, RULE_queryTerm = 5, RULE_orderBy = 6,
|
||||
|
@ -64,33 +64,33 @@ class SqlBaseParser extends Parser {
|
|||
};
|
||||
|
||||
private static final String[] _LITERAL_NAMES = {
|
||||
null, "'('", "')'", "','", "'.'", "'SELECT'", "'FROM'", "'AS'", "'ALL'",
|
||||
"'WHEN'", "'THEN'", "'ANY'", "'DISTINCT'", "'WHERE'", "'GROUP'", "'BY'",
|
||||
"'GROUPING'", "'SETS'", "'ORDER'", "'HAVING'", "'LIMIT'", "'OR'", "'AND'",
|
||||
"'IN'", "'NOT'", "'NO'", "'EXISTS'", "'BETWEEN'", "'LIKE'", "'RLIKE'",
|
||||
"'IS'", "'NULL'", "'TRUE'", "'FALSE'", "'LAST'", "'ASC'", "'DESC'", "'FOR'",
|
||||
"'INTEGER'", "'JOIN'", "'CROSS'", "'OUTER'", "'INNER'", "'LEFT'", "'RIGHT'",
|
||||
"'FULL'", "'NATURAL'", "'USING'", "'ON'", "'WITH'", "'TABLE'", "'INTO'",
|
||||
"'DESCRIBE'", "'OPTION'", "'EXPLAIN'", "'ANALYZE'", "'FORMAT'", "'TYPE'",
|
||||
"'TEXT'", "'VERIFY'", "'GRAPHVIZ'", "'LOGICAL'", "'PHYSICAL'", "'SHOW'",
|
||||
"'TABLES'", "'COLUMNS'", "'COLUMN'", "'FUNCTIONS'", "'TO'", "'DEBUG'",
|
||||
"'PLAN'", "'PARSED'", "'ANALYZED'", "'OPTIMIZED'", "'MAPPED'", "'EXECUTABLE'",
|
||||
"'USE'", "'SET'", "'RESET'", "'SESSION'", "'SCHEMAS'", "'EXTRACT'", "'QUERY'",
|
||||
"'MATCH'", "'CAST'", "'='", null, "'<'", "'<='", "'>'", "'>='", "'+'",
|
||||
null, "'('", "')'", "','", "'.'", "'ALL'", "'ANALYZE'", "'ANALYZED'",
|
||||
"'AND'", "'ANY'", "'AS'", "'ASC'", "'BETWEEN'", "'BY'", "'CAST'", "'COLUMN'",
|
||||
"'COLUMNS'", "'CROSS'", "'DEBUG'", "'DESC'", "'DESCRIBE'", "'DISTINCT'",
|
||||
"'EXECUTABLE'", "'EXISTS'", "'EXPLAIN'", "'EXTRACT'", "'FALSE'", "'FOR'",
|
||||
"'FORMAT'", "'FROM'", "'FULL'", "'FUNCTIONS'", "'GRAPHVIZ'", "'GROUP'",
|
||||
"'GROUPING'", "'HAVING'", "'IN'", "'INNER'", "'INTEGER'", "'INTO'", "'IS'",
|
||||
"'JOIN'", "'LAST'", "'LEFT'", "'LIKE'", "'LIMIT'", "'LOGICAL'", "'MAPPED'",
|
||||
"'MATCH'", "'NATURAL'", "'NO'", "'NOT'", "'NULL'", "'ON'", "'OPTIMIZED'",
|
||||
"'OPTION'", "'OR'", "'ORDER'", "'OUTER'", "'PARSED'", "'PHYSICAL'", "'PLAN'",
|
||||
"'QUERY'", "'RESET'", "'RIGHT'", "'RLIKE'", "'SCHEMAS'", "'SELECT'", "'SESSION'",
|
||||
"'SET'", "'SETS'", "'SHOW'", "'TABLE'", "'TABLES'", "'TEXT'", "'THEN'",
|
||||
"'TO'", "'TRUE'", "'TYPE'", "'USE'", "'USING'", "'VERIFY'", "'WHEN'",
|
||||
"'WHERE'", "'WITH'", "'='", null, "'<'", "'<='", "'>'", "'>='", "'+'",
|
||||
"'-'", "'*'", "'/'", "'%'", "'||'"
|
||||
};
|
||||
private static final String[] _SYMBOLIC_NAMES = {
|
||||
null, null, null, null, null, "SELECT", "FROM", "AS", "ALL", "WHEN", "THEN",
|
||||
"ANY", "DISTINCT", "WHERE", "GROUP", "BY", "GROUPING", "SETS", "ORDER",
|
||||
"HAVING", "LIMIT", "OR", "AND", "IN", "NOT", "NO", "EXISTS", "BETWEEN",
|
||||
"LIKE", "RLIKE", "IS", "NULL", "TRUE", "FALSE", "LAST", "ASC", "DESC",
|
||||
"FOR", "INTEGER", "JOIN", "CROSS", "OUTER", "INNER", "LEFT", "RIGHT",
|
||||
"FULL", "NATURAL", "USING", "ON", "WITH", "TABLE", "INTO", "DESCRIBE",
|
||||
"OPTION", "EXPLAIN", "ANALYZE", "FORMAT", "TYPE", "TEXT", "VERIFY", "GRAPHVIZ",
|
||||
"LOGICAL", "PHYSICAL", "SHOW", "TABLES", "COLUMNS", "COLUMN", "FUNCTIONS",
|
||||
"TO", "DEBUG", "PLAN", "PARSED", "ANALYZED", "OPTIMIZED", "MAPPED", "EXECUTABLE",
|
||||
"USE", "SET", "RESET", "SESSION", "SCHEMAS", "EXTRACT", "QUERY", "MATCH",
|
||||
"CAST", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK",
|
||||
null, null, null, null, null, "ALL", "ANALYZE", "ANALYZED", "AND", "ANY",
|
||||
"AS", "ASC", "BETWEEN", "BY", "CAST", "COLUMN", "COLUMNS", "CROSS", "DEBUG",
|
||||
"DESC", "DESCRIBE", "DISTINCT", "EXECUTABLE", "EXISTS", "EXPLAIN", "EXTRACT",
|
||||
"FALSE", "FOR", "FORMAT", "FROM", "FULL", "FUNCTIONS", "GRAPHVIZ", "GROUP",
|
||||
"GROUPING", "HAVING", "IN", "INNER", "INTEGER", "INTO", "IS", "JOIN",
|
||||
"LAST", "LEFT", "LIKE", "LIMIT", "LOGICAL", "MAPPED", "MATCH", "NATURAL",
|
||||
"NO", "NOT", "NULL", "ON", "OPTIMIZED", "OPTION", "OR", "ORDER", "OUTER",
|
||||
"PARSED", "PHYSICAL", "PLAN", "QUERY", "RESET", "RIGHT", "RLIKE", "SCHEMAS",
|
||||
"SELECT", "SESSION", "SET", "SETS", "SHOW", "TABLE", "TABLES", "TEXT",
|
||||
"THEN", "TO", "TRUE", "TYPE", "USE", "USING", "VERIFY", "WHEN", "WHERE",
|
||||
"WITH", "EQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK",
|
||||
"SLASH", "PERCENT", "CONCAT", "STRING", "INTEGER_VALUE", "DECIMAL_VALUE",
|
||||
"IDENTIFIER", "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER",
|
||||
"SIMPLE_COMMENT", "BRACKETED_COMMENT", "WS", "UNRECOGNIZED", "DELIMITER"
|
||||
|
@ -505,7 +505,7 @@ class SqlBaseParser extends Parser {
|
|||
setState(95);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
while (((((_la - 56)) & ~0x3f) == 0 && ((1L << (_la - 56)) & ((1L << (FORMAT - 56)) | (1L << (VERIFY - 56)) | (1L << (PLAN - 56)))) != 0)) {
|
||||
while (((((_la - 28)) & ~0x3f) == 0 && ((1L << (_la - 28)) & ((1L << (FORMAT - 28)) | (1L << (PLAN - 28)) | (1L << (VERIFY - 28)))) != 0)) {
|
||||
{
|
||||
setState(93);
|
||||
switch (_input.LA(1)) {
|
||||
|
@ -516,7 +516,7 @@ class SqlBaseParser extends Parser {
|
|||
setState(88);
|
||||
((ExplainContext)_localctx).type = _input.LT(1);
|
||||
_la = _input.LA(1);
|
||||
if ( !(_la==ALL || ((((_la - 71)) & ~0x3f) == 0 && ((1L << (_la - 71)) & ((1L << (PARSED - 71)) | (1L << (ANALYZED - 71)) | (1L << (OPTIMIZED - 71)) | (1L << (MAPPED - 71)) | (1L << (EXECUTABLE - 71)))) != 0)) ) {
|
||||
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ALL) | (1L << ANALYZED) | (1L << EXECUTABLE) | (1L << MAPPED) | (1L << OPTIMIZED) | (1L << PARSED))) != 0)) ) {
|
||||
((ExplainContext)_localctx).type = (Token)_errHandler.recoverInline(this);
|
||||
} else {
|
||||
consume();
|
||||
|
@ -530,7 +530,7 @@ class SqlBaseParser extends Parser {
|
|||
setState(90);
|
||||
((ExplainContext)_localctx).format = _input.LT(1);
|
||||
_la = _input.LA(1);
|
||||
if ( !(_la==TEXT || _la==GRAPHVIZ) ) {
|
||||
if ( !(_la==GRAPHVIZ || _la==TEXT) ) {
|
||||
((ExplainContext)_localctx).format = (Token)_errHandler.recoverInline(this);
|
||||
} else {
|
||||
consume();
|
||||
|
@ -603,7 +603,7 @@ class SqlBaseParser extends Parser {
|
|||
setState(107);
|
||||
((DebugContext)_localctx).format = _input.LT(1);
|
||||
_la = _input.LA(1);
|
||||
if ( !(_la==TEXT || _la==GRAPHVIZ) ) {
|
||||
if ( !(_la==GRAPHVIZ || _la==TEXT) ) {
|
||||
((DebugContext)_localctx).format = (Token)_errHandler.recoverInline(this);
|
||||
} else {
|
||||
consume();
|
||||
|
@ -1454,7 +1454,7 @@ class SqlBaseParser extends Parser {
|
|||
match(T__0);
|
||||
setState(243);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << NOT) | (1L << EXISTS) | (1L << NULL) | (1L << TRUE) | (1L << FALSE) | (1L << EXPLAIN) | (1L << ANALYZE) | (1L << FORMAT) | (1L << TYPE) | (1L << TEXT) | (1L << VERIFY) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << PHYSICAL) | (1L << SHOW))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (TABLES - 64)) | (1L << (COLUMNS - 64)) | (1L << (COLUMN - 64)) | (1L << (FUNCTIONS - 64)) | (1L << (EXTRACT - 64)) | (1L << (QUERY - 64)) | (1L << (MATCH - 64)) | (1L << (CAST - 64)) | (1L << (PLUS - 64)) | (1L << (MINUS - 64)) | (1L << (ASTERISK - 64)) | (1L << (STRING - 64)) | (1L << (INTEGER_VALUE - 64)) | (1L << (DECIMAL_VALUE - 64)) | (1L << (IDENTIFIER - 64)) | (1L << (DIGIT_IDENTIFIER - 64)) | (1L << (QUOTED_IDENTIFIER - 64)) | (1L << (BACKQUOTED_IDENTIFIER - 64)))) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << ANALYZE) | (1L << ANALYZED) | (1L << CAST) | (1L << COLUMNS) | (1L << DEBUG) | (1L << EXECUTABLE) | (1L << EXISTS) | (1L << EXPLAIN) | (1L << EXTRACT) | (1L << FALSE) | (1L << FORMAT) | (1L << FROM) | (1L << FUNCTIONS) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << MAPPED) | (1L << MATCH) | (1L << NOT) | (1L << NULL) | (1L << OPTIMIZED) | (1L << PARSED) | (1L << PHYSICAL) | (1L << PLAN) | (1L << QUERY) | (1L << RESET))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (RLIKE - 65)) | (1L << (SCHEMAS - 65)) | (1L << (SESSION - 65)) | (1L << (SETS - 65)) | (1L << (SHOW - 65)) | (1L << (TABLES - 65)) | (1L << (TEXT - 65)) | (1L << (TRUE - 65)) | (1L << (TYPE - 65)) | (1L << (USE - 65)) | (1L << (VERIFY - 65)) | (1L << (PLUS - 65)) | (1L << (MINUS - 65)) | (1L << (ASTERISK - 65)) | (1L << (STRING - 65)) | (1L << (INTEGER_VALUE - 65)) | (1L << (DECIMAL_VALUE - 65)) | (1L << (IDENTIFIER - 65)) | (1L << (DIGIT_IDENTIFIER - 65)) | (1L << (QUOTED_IDENTIFIER - 65)) | (1L << (BACKQUOTED_IDENTIFIER - 65)))) != 0)) {
|
||||
{
|
||||
setState(235);
|
||||
expression();
|
||||
|
@ -1653,8 +1653,9 @@ class SqlBaseParser extends Parser {
|
|||
setState(257);
|
||||
expression();
|
||||
setState(262);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << AS) | (1L << EXPLAIN) | (1L << ANALYZE) | (1L << FORMAT) | (1L << TYPE) | (1L << TEXT) | (1L << VERIFY) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << PHYSICAL) | (1L << SHOW))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (TABLES - 64)) | (1L << (COLUMNS - 64)) | (1L << (COLUMN - 64)) | (1L << (FUNCTIONS - 64)) | (1L << (IDENTIFIER - 64)) | (1L << (DIGIT_IDENTIFIER - 64)) | (1L << (QUOTED_IDENTIFIER - 64)) | (1L << (BACKQUOTED_IDENTIFIER - 64)))) != 0)) {
|
||||
_errHandler.sync(this);
|
||||
switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) {
|
||||
case 1:
|
||||
{
|
||||
setState(259);
|
||||
_la = _input.LA(1);
|
||||
|
@ -1668,8 +1669,8 @@ class SqlBaseParser extends Parser {
|
|||
setState(261);
|
||||
identifier();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (RecognitionException re) {
|
||||
|
@ -1724,7 +1725,7 @@ class SqlBaseParser extends Parser {
|
|||
setState(268);
|
||||
_errHandler.sync(this);
|
||||
_la = _input.LA(1);
|
||||
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << JOIN) | (1L << INNER) | (1L << LEFT) | (1L << RIGHT) | (1L << FULL) | (1L << NATURAL))) != 0)) {
|
||||
while (((((_la - 30)) & ~0x3f) == 0 && ((1L << (_la - 30)) & ((1L << (FULL - 30)) | (1L << (INNER - 30)) | (1L << (JOIN - 30)) | (1L << (LEFT - 30)) | (1L << (NATURAL - 30)) | (1L << (RIGHT - 30)))) != 0)) {
|
||||
{
|
||||
{
|
||||
setState(265);
|
||||
|
@ -1787,11 +1788,11 @@ class SqlBaseParser extends Parser {
|
|||
try {
|
||||
setState(282);
|
||||
switch (_input.LA(1)) {
|
||||
case JOIN:
|
||||
case FULL:
|
||||
case INNER:
|
||||
case JOIN:
|
||||
case LEFT:
|
||||
case RIGHT:
|
||||
case FULL:
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
{
|
||||
|
@ -1804,7 +1805,7 @@ class SqlBaseParser extends Parser {
|
|||
((JoinRelationContext)_localctx).right = relationPrimary();
|
||||
setState(275);
|
||||
_la = _input.LA(1);
|
||||
if (_la==USING || _la==ON) {
|
||||
if (_la==ON || _la==USING) {
|
||||
{
|
||||
setState(274);
|
||||
joinCriteria();
|
||||
|
@ -1873,8 +1874,8 @@ class SqlBaseParser extends Parser {
|
|||
try {
|
||||
setState(299);
|
||||
switch (_input.LA(1)) {
|
||||
case JOIN:
|
||||
case INNER:
|
||||
case JOIN:
|
||||
enterOuterAlt(_localctx, 1);
|
||||
{
|
||||
setState(285);
|
||||
|
@ -2139,7 +2140,7 @@ class SqlBaseParser extends Parser {
|
|||
tableIdentifier();
|
||||
setState(322);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << AS) | (1L << EXPLAIN) | (1L << ANALYZE) | (1L << FORMAT) | (1L << TYPE) | (1L << TEXT) | (1L << VERIFY) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << PHYSICAL) | (1L << SHOW))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (TABLES - 64)) | (1L << (COLUMNS - 64)) | (1L << (COLUMN - 64)) | (1L << (FUNCTIONS - 64)) | (1L << (IDENTIFIER - 64)) | (1L << (DIGIT_IDENTIFIER - 64)) | (1L << (QUOTED_IDENTIFIER - 64)) | (1L << (BACKQUOTED_IDENTIFIER - 64)))) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ANALYZE) | (1L << ANALYZED) | (1L << AS) | (1L << COLUMNS) | (1L << DEBUG) | (1L << EXECUTABLE) | (1L << EXPLAIN) | (1L << FORMAT) | (1L << FROM) | (1L << FUNCTIONS) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << MAPPED) | (1L << OPTIMIZED) | (1L << PARSED) | (1L << PHYSICAL) | (1L << PLAN) | (1L << QUERY) | (1L << RESET))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (RLIKE - 65)) | (1L << (SCHEMAS - 65)) | (1L << (SESSION - 65)) | (1L << (SETS - 65)) | (1L << (SHOW - 65)) | (1L << (TABLES - 65)) | (1L << (TEXT - 65)) | (1L << (TYPE - 65)) | (1L << (USE - 65)) | (1L << (VERIFY - 65)) | (1L << (IDENTIFIER - 65)) | (1L << (DIGIT_IDENTIFIER - 65)) | (1L << (QUOTED_IDENTIFIER - 65)) | (1L << (BACKQUOTED_IDENTIFIER - 65)))) != 0)) {
|
||||
{
|
||||
setState(319);
|
||||
_la = _input.LA(1);
|
||||
|
@ -2169,7 +2170,7 @@ class SqlBaseParser extends Parser {
|
|||
match(T__1);
|
||||
setState(331);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << AS) | (1L << EXPLAIN) | (1L << ANALYZE) | (1L << FORMAT) | (1L << TYPE) | (1L << TEXT) | (1L << VERIFY) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << PHYSICAL) | (1L << SHOW))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (TABLES - 64)) | (1L << (COLUMNS - 64)) | (1L << (COLUMN - 64)) | (1L << (FUNCTIONS - 64)) | (1L << (IDENTIFIER - 64)) | (1L << (DIGIT_IDENTIFIER - 64)) | (1L << (QUOTED_IDENTIFIER - 64)) | (1L << (BACKQUOTED_IDENTIFIER - 64)))) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ANALYZE) | (1L << ANALYZED) | (1L << AS) | (1L << COLUMNS) | (1L << DEBUG) | (1L << EXECUTABLE) | (1L << EXPLAIN) | (1L << FORMAT) | (1L << FROM) | (1L << FUNCTIONS) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << MAPPED) | (1L << OPTIMIZED) | (1L << PARSED) | (1L << PHYSICAL) | (1L << PLAN) | (1L << QUERY) | (1L << RESET))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (RLIKE - 65)) | (1L << (SCHEMAS - 65)) | (1L << (SESSION - 65)) | (1L << (SETS - 65)) | (1L << (SHOW - 65)) | (1L << (TABLES - 65)) | (1L << (TEXT - 65)) | (1L << (TYPE - 65)) | (1L << (USE - 65)) | (1L << (VERIFY - 65)) | (1L << (IDENTIFIER - 65)) | (1L << (DIGIT_IDENTIFIER - 65)) | (1L << (QUOTED_IDENTIFIER - 65)) | (1L << (BACKQUOTED_IDENTIFIER - 65)))) != 0)) {
|
||||
{
|
||||
setState(328);
|
||||
_la = _input.LA(1);
|
||||
|
@ -2199,7 +2200,7 @@ class SqlBaseParser extends Parser {
|
|||
match(T__1);
|
||||
setState(340);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << AS) | (1L << EXPLAIN) | (1L << ANALYZE) | (1L << FORMAT) | (1L << TYPE) | (1L << TEXT) | (1L << VERIFY) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << PHYSICAL) | (1L << SHOW))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (TABLES - 64)) | (1L << (COLUMNS - 64)) | (1L << (COLUMN - 64)) | (1L << (FUNCTIONS - 64)) | (1L << (IDENTIFIER - 64)) | (1L << (DIGIT_IDENTIFIER - 64)) | (1L << (QUOTED_IDENTIFIER - 64)) | (1L << (BACKQUOTED_IDENTIFIER - 64)))) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ANALYZE) | (1L << ANALYZED) | (1L << AS) | (1L << COLUMNS) | (1L << DEBUG) | (1L << EXECUTABLE) | (1L << EXPLAIN) | (1L << FORMAT) | (1L << FROM) | (1L << FUNCTIONS) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << MAPPED) | (1L << OPTIMIZED) | (1L << PARSED) | (1L << PHYSICAL) | (1L << PLAN) | (1L << QUERY) | (1L << RESET))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (RLIKE - 65)) | (1L << (SCHEMAS - 65)) | (1L << (SESSION - 65)) | (1L << (SETS - 65)) | (1L << (SHOW - 65)) | (1L << (TABLES - 65)) | (1L << (TEXT - 65)) | (1L << (TYPE - 65)) | (1L << (USE - 65)) | (1L << (VERIFY - 65)) | (1L << (IDENTIFIER - 65)) | (1L << (DIGIT_IDENTIFIER - 65)) | (1L << (QUOTED_IDENTIFIER - 65)) | (1L << (BACKQUOTED_IDENTIFIER - 65)))) != 0)) {
|
||||
{
|
||||
setState(337);
|
||||
_la = _input.LA(1);
|
||||
|
@ -3039,25 +3040,39 @@ class SqlBaseParser extends Parser {
|
|||
setState(457);
|
||||
switch (_input.LA(1)) {
|
||||
case T__0:
|
||||
case NULL:
|
||||
case TRUE:
|
||||
case FALSE:
|
||||
case EXPLAIN:
|
||||
case ANALYZE:
|
||||
case ANALYZED:
|
||||
case CAST:
|
||||
case COLUMNS:
|
||||
case DEBUG:
|
||||
case EXECUTABLE:
|
||||
case EXPLAIN:
|
||||
case EXTRACT:
|
||||
case FALSE:
|
||||
case FORMAT:
|
||||
case TYPE:
|
||||
case TEXT:
|
||||
case VERIFY:
|
||||
case FROM:
|
||||
case FUNCTIONS:
|
||||
case GRAPHVIZ:
|
||||
case LOGICAL:
|
||||
case MAPPED:
|
||||
case NULL:
|
||||
case OPTIMIZED:
|
||||
case PARSED:
|
||||
case PHYSICAL:
|
||||
case PLAN:
|
||||
case QUERY:
|
||||
case RESET:
|
||||
case RLIKE:
|
||||
case SCHEMAS:
|
||||
case SESSION:
|
||||
case SETS:
|
||||
case SHOW:
|
||||
case TABLES:
|
||||
case COLUMNS:
|
||||
case COLUMN:
|
||||
case FUNCTIONS:
|
||||
case EXTRACT:
|
||||
case CAST:
|
||||
case TEXT:
|
||||
case TRUE:
|
||||
case TYPE:
|
||||
case USE:
|
||||
case VERIFY:
|
||||
case ASTERISK:
|
||||
case STRING:
|
||||
case INTEGER_VALUE:
|
||||
|
@ -3419,7 +3434,7 @@ class SqlBaseParser extends Parser {
|
|||
{
|
||||
setState(479);
|
||||
_la = _input.LA(1);
|
||||
if (((((_la - 54)) & ~0x3f) == 0 && ((1L << (_la - 54)) & ((1L << (EXPLAIN - 54)) | (1L << (ANALYZE - 54)) | (1L << (FORMAT - 54)) | (1L << (TYPE - 54)) | (1L << (TEXT - 54)) | (1L << (VERIFY - 54)) | (1L << (GRAPHVIZ - 54)) | (1L << (LOGICAL - 54)) | (1L << (PHYSICAL - 54)) | (1L << (SHOW - 54)) | (1L << (TABLES - 54)) | (1L << (COLUMNS - 54)) | (1L << (COLUMN - 54)) | (1L << (FUNCTIONS - 54)) | (1L << (IDENTIFIER - 54)) | (1L << (DIGIT_IDENTIFIER - 54)) | (1L << (QUOTED_IDENTIFIER - 54)) | (1L << (BACKQUOTED_IDENTIFIER - 54)))) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ANALYZE) | (1L << ANALYZED) | (1L << COLUMNS) | (1L << DEBUG) | (1L << EXECUTABLE) | (1L << EXPLAIN) | (1L << FORMAT) | (1L << FROM) | (1L << FUNCTIONS) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << MAPPED) | (1L << OPTIMIZED) | (1L << PARSED) | (1L << PHYSICAL) | (1L << PLAN) | (1L << QUERY) | (1L << RESET))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (RLIKE - 65)) | (1L << (SCHEMAS - 65)) | (1L << (SESSION - 65)) | (1L << (SETS - 65)) | (1L << (SHOW - 65)) | (1L << (TABLES - 65)) | (1L << (TEXT - 65)) | (1L << (TYPE - 65)) | (1L << (USE - 65)) | (1L << (VERIFY - 65)) | (1L << (IDENTIFIER - 65)) | (1L << (DIGIT_IDENTIFIER - 65)) | (1L << (QUOTED_IDENTIFIER - 65)) | (1L << (BACKQUOTED_IDENTIFIER - 65)))) != 0)) {
|
||||
{
|
||||
setState(476);
|
||||
((StarContext)_localctx).qualifier = columnExpression();
|
||||
|
@ -3442,7 +3457,7 @@ class SqlBaseParser extends Parser {
|
|||
match(T__0);
|
||||
setState(495);
|
||||
_la = _input.LA(1);
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << ALL) | (1L << DISTINCT) | (1L << NOT) | (1L << EXISTS) | (1L << NULL) | (1L << TRUE) | (1L << FALSE) | (1L << EXPLAIN) | (1L << ANALYZE) | (1L << FORMAT) | (1L << TYPE) | (1L << TEXT) | (1L << VERIFY) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << PHYSICAL) | (1L << SHOW))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (TABLES - 64)) | (1L << (COLUMNS - 64)) | (1L << (COLUMN - 64)) | (1L << (FUNCTIONS - 64)) | (1L << (EXTRACT - 64)) | (1L << (QUERY - 64)) | (1L << (MATCH - 64)) | (1L << (CAST - 64)) | (1L << (PLUS - 64)) | (1L << (MINUS - 64)) | (1L << (ASTERISK - 64)) | (1L << (STRING - 64)) | (1L << (INTEGER_VALUE - 64)) | (1L << (DECIMAL_VALUE - 64)) | (1L << (IDENTIFIER - 64)) | (1L << (DIGIT_IDENTIFIER - 64)) | (1L << (QUOTED_IDENTIFIER - 64)) | (1L << (BACKQUOTED_IDENTIFIER - 64)))) != 0)) {
|
||||
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << ALL) | (1L << ANALYZE) | (1L << ANALYZED) | (1L << CAST) | (1L << COLUMNS) | (1L << DEBUG) | (1L << DISTINCT) | (1L << EXECUTABLE) | (1L << EXISTS) | (1L << EXPLAIN) | (1L << EXTRACT) | (1L << FALSE) | (1L << FORMAT) | (1L << FROM) | (1L << FUNCTIONS) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << MAPPED) | (1L << MATCH) | (1L << NOT) | (1L << NULL) | (1L << OPTIMIZED) | (1L << PARSED) | (1L << PHYSICAL) | (1L << PLAN) | (1L << QUERY) | (1L << RESET))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (RLIKE - 65)) | (1L << (SCHEMAS - 65)) | (1L << (SESSION - 65)) | (1L << (SETS - 65)) | (1L << (SHOW - 65)) | (1L << (TABLES - 65)) | (1L << (TEXT - 65)) | (1L << (TRUE - 65)) | (1L << (TYPE - 65)) | (1L << (USE - 65)) | (1L << (VERIFY - 65)) | (1L << (PLUS - 65)) | (1L << (MINUS - 65)) | (1L << (ASTERISK - 65)) | (1L << (STRING - 65)) | (1L << (INTEGER_VALUE - 65)) | (1L << (DECIMAL_VALUE - 65)) | (1L << (IDENTIFIER - 65)) | (1L << (DIGIT_IDENTIFIER - 65)) | (1L << (QUOTED_IDENTIFIER - 65)) | (1L << (BACKQUOTED_IDENTIFIER - 65)))) != 0)) {
|
||||
{
|
||||
setState(485);
|
||||
_la = _input.LA(1);
|
||||
|
@ -3772,20 +3787,34 @@ class SqlBaseParser extends Parser {
|
|||
match(NULL);
|
||||
}
|
||||
break;
|
||||
case EXPLAIN:
|
||||
case ANALYZE:
|
||||
case ANALYZED:
|
||||
case COLUMNS:
|
||||
case DEBUG:
|
||||
case EXECUTABLE:
|
||||
case EXPLAIN:
|
||||
case FORMAT:
|
||||
case TYPE:
|
||||
case TEXT:
|
||||
case VERIFY:
|
||||
case FROM:
|
||||
case FUNCTIONS:
|
||||
case GRAPHVIZ:
|
||||
case LOGICAL:
|
||||
case MAPPED:
|
||||
case OPTIMIZED:
|
||||
case PARSED:
|
||||
case PHYSICAL:
|
||||
case PLAN:
|
||||
case QUERY:
|
||||
case RESET:
|
||||
case RLIKE:
|
||||
case SCHEMAS:
|
||||
case SESSION:
|
||||
case SETS:
|
||||
case SHOW:
|
||||
case TABLES:
|
||||
case COLUMNS:
|
||||
case COLUMN:
|
||||
case FUNCTIONS:
|
||||
case TEXT:
|
||||
case TYPE:
|
||||
case USE:
|
||||
case VERIFY:
|
||||
case IDENTIFIER:
|
||||
case DIGIT_IDENTIFIER:
|
||||
case QUOTED_IDENTIFIER:
|
||||
|
@ -3808,8 +3837,8 @@ class SqlBaseParser extends Parser {
|
|||
number();
|
||||
}
|
||||
break;
|
||||
case TRUE:
|
||||
case FALSE:
|
||||
case TRUE:
|
||||
_localctx = new BooleanLiteralContext(_localctx);
|
||||
enterOuterAlt(_localctx, 4);
|
||||
{
|
||||
|
@ -3942,7 +3971,7 @@ class SqlBaseParser extends Parser {
|
|||
{
|
||||
setState(553);
|
||||
_la = _input.LA(1);
|
||||
if ( !(_la==TRUE || _la==FALSE) ) {
|
||||
if ( !(_la==FALSE || _la==TRUE) ) {
|
||||
_errHandler.recoverInline(this);
|
||||
} else {
|
||||
consume();
|
||||
|
@ -4219,20 +4248,34 @@ class SqlBaseParser extends Parser {
|
|||
quoteIdentifier();
|
||||
}
|
||||
break;
|
||||
case EXPLAIN:
|
||||
case ANALYZE:
|
||||
case ANALYZED:
|
||||
case COLUMNS:
|
||||
case DEBUG:
|
||||
case EXECUTABLE:
|
||||
case EXPLAIN:
|
||||
case FORMAT:
|
||||
case TYPE:
|
||||
case TEXT:
|
||||
case VERIFY:
|
||||
case FROM:
|
||||
case FUNCTIONS:
|
||||
case GRAPHVIZ:
|
||||
case LOGICAL:
|
||||
case MAPPED:
|
||||
case OPTIMIZED:
|
||||
case PARSED:
|
||||
case PHYSICAL:
|
||||
case PLAN:
|
||||
case QUERY:
|
||||
case RESET:
|
||||
case RLIKE:
|
||||
case SCHEMAS:
|
||||
case SESSION:
|
||||
case SETS:
|
||||
case SHOW:
|
||||
case TABLES:
|
||||
case COLUMNS:
|
||||
case COLUMN:
|
||||
case FUNCTIONS:
|
||||
case TEXT:
|
||||
case TYPE:
|
||||
case USE:
|
||||
case VERIFY:
|
||||
case IDENTIFIER:
|
||||
case DIGIT_IDENTIFIER:
|
||||
enterOuterAlt(_localctx, 2);
|
||||
|
@ -4402,20 +4445,34 @@ class SqlBaseParser extends Parser {
|
|||
match(IDENTIFIER);
|
||||
}
|
||||
break;
|
||||
case EXPLAIN:
|
||||
case ANALYZE:
|
||||
case ANALYZED:
|
||||
case COLUMNS:
|
||||
case DEBUG:
|
||||
case EXECUTABLE:
|
||||
case EXPLAIN:
|
||||
case FORMAT:
|
||||
case TYPE:
|
||||
case TEXT:
|
||||
case VERIFY:
|
||||
case FROM:
|
||||
case FUNCTIONS:
|
||||
case GRAPHVIZ:
|
||||
case LOGICAL:
|
||||
case MAPPED:
|
||||
case OPTIMIZED:
|
||||
case PARSED:
|
||||
case PHYSICAL:
|
||||
case PLAN:
|
||||
case QUERY:
|
||||
case RESET:
|
||||
case RLIKE:
|
||||
case SCHEMAS:
|
||||
case SESSION:
|
||||
case SETS:
|
||||
case SHOW:
|
||||
case TABLES:
|
||||
case COLUMNS:
|
||||
case COLUMN:
|
||||
case FUNCTIONS:
|
||||
case TEXT:
|
||||
case TYPE:
|
||||
case USE:
|
||||
case VERIFY:
|
||||
_localctx = new UnquotedIdentifierContext(_localctx);
|
||||
enterOuterAlt(_localctx, 2);
|
||||
{
|
||||
|
@ -4530,19 +4587,33 @@ class SqlBaseParser extends Parser {
|
|||
}
|
||||
|
||||
public static class NonReservedContext extends ParserRuleContext {
|
||||
public TerminalNode SHOW() { return getToken(SqlBaseParser.SHOW, 0); }
|
||||
public TerminalNode TABLES() { return getToken(SqlBaseParser.TABLES, 0); }
|
||||
public TerminalNode COLUMNS() { return getToken(SqlBaseParser.COLUMNS, 0); }
|
||||
public TerminalNode COLUMN() { return getToken(SqlBaseParser.COLUMN, 0); }
|
||||
public TerminalNode FUNCTIONS() { return getToken(SqlBaseParser.FUNCTIONS, 0); }
|
||||
public TerminalNode EXPLAIN() { return getToken(SqlBaseParser.EXPLAIN, 0); }
|
||||
public TerminalNode ANALYZE() { return getToken(SqlBaseParser.ANALYZE, 0); }
|
||||
public TerminalNode ANALYZED() { return getToken(SqlBaseParser.ANALYZED, 0); }
|
||||
public TerminalNode COLUMNS() { return getToken(SqlBaseParser.COLUMNS, 0); }
|
||||
public TerminalNode DEBUG() { return getToken(SqlBaseParser.DEBUG, 0); }
|
||||
public TerminalNode EXECUTABLE() { return getToken(SqlBaseParser.EXECUTABLE, 0); }
|
||||
public TerminalNode EXPLAIN() { return getToken(SqlBaseParser.EXPLAIN, 0); }
|
||||
public TerminalNode FORMAT() { return getToken(SqlBaseParser.FORMAT, 0); }
|
||||
public TerminalNode TYPE() { return getToken(SqlBaseParser.TYPE, 0); }
|
||||
public TerminalNode TEXT() { return getToken(SqlBaseParser.TEXT, 0); }
|
||||
public TerminalNode FUNCTIONS() { return getToken(SqlBaseParser.FUNCTIONS, 0); }
|
||||
public TerminalNode FROM() { return getToken(SqlBaseParser.FROM, 0); }
|
||||
public TerminalNode GRAPHVIZ() { return getToken(SqlBaseParser.GRAPHVIZ, 0); }
|
||||
public TerminalNode LOGICAL() { return getToken(SqlBaseParser.LOGICAL, 0); }
|
||||
public TerminalNode MAPPED() { return getToken(SqlBaseParser.MAPPED, 0); }
|
||||
public TerminalNode OPTIMIZED() { return getToken(SqlBaseParser.OPTIMIZED, 0); }
|
||||
public TerminalNode PARSED() { return getToken(SqlBaseParser.PARSED, 0); }
|
||||
public TerminalNode PHYSICAL() { return getToken(SqlBaseParser.PHYSICAL, 0); }
|
||||
public TerminalNode PLAN() { return getToken(SqlBaseParser.PLAN, 0); }
|
||||
public TerminalNode QUERY() { return getToken(SqlBaseParser.QUERY, 0); }
|
||||
public TerminalNode RESET() { return getToken(SqlBaseParser.RESET, 0); }
|
||||
public TerminalNode RLIKE() { return getToken(SqlBaseParser.RLIKE, 0); }
|
||||
public TerminalNode SCHEMAS() { return getToken(SqlBaseParser.SCHEMAS, 0); }
|
||||
public TerminalNode SESSION() { return getToken(SqlBaseParser.SESSION, 0); }
|
||||
public TerminalNode SETS() { return getToken(SqlBaseParser.SETS, 0); }
|
||||
public TerminalNode SHOW() { return getToken(SqlBaseParser.SHOW, 0); }
|
||||
public TerminalNode TABLES() { return getToken(SqlBaseParser.TABLES, 0); }
|
||||
public TerminalNode TEXT() { return getToken(SqlBaseParser.TEXT, 0); }
|
||||
public TerminalNode TYPE() { return getToken(SqlBaseParser.TYPE, 0); }
|
||||
public TerminalNode USE() { return getToken(SqlBaseParser.USE, 0); }
|
||||
public TerminalNode VERIFY() { return getToken(SqlBaseParser.VERIFY, 0); }
|
||||
public NonReservedContext(ParserRuleContext parent, int invokingState) {
|
||||
super(parent, invokingState);
|
||||
|
@ -4572,7 +4643,7 @@ class SqlBaseParser extends Parser {
|
|||
{
|
||||
setState(589);
|
||||
_la = _input.LA(1);
|
||||
if ( !(((((_la - 54)) & ~0x3f) == 0 && ((1L << (_la - 54)) & ((1L << (EXPLAIN - 54)) | (1L << (ANALYZE - 54)) | (1L << (FORMAT - 54)) | (1L << (TYPE - 54)) | (1L << (TEXT - 54)) | (1L << (VERIFY - 54)) | (1L << (GRAPHVIZ - 54)) | (1L << (LOGICAL - 54)) | (1L << (PHYSICAL - 54)) | (1L << (SHOW - 54)) | (1L << (TABLES - 54)) | (1L << (COLUMNS - 54)) | (1L << (COLUMN - 54)) | (1L << (FUNCTIONS - 54)))) != 0)) ) {
|
||||
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ANALYZE) | (1L << ANALYZED) | (1L << COLUMNS) | (1L << DEBUG) | (1L << EXECUTABLE) | (1L << EXPLAIN) | (1L << FORMAT) | (1L << FROM) | (1L << FUNCTIONS) | (1L << GRAPHVIZ) | (1L << LOGICAL) | (1L << MAPPED) | (1L << OPTIMIZED) | (1L << PARSED) | (1L << PHYSICAL) | (1L << PLAN) | (1L << QUERY) | (1L << RESET))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (RLIKE - 65)) | (1L << (SCHEMAS - 65)) | (1L << (SESSION - 65)) | (1L << (SETS - 65)) | (1L << (SHOW - 65)) | (1L << (TABLES - 65)) | (1L << (TEXT - 65)) | (1L << (TYPE - 65)) | (1L << (USE - 65)) | (1L << (VERIFY - 65)))) != 0)) ) {
|
||||
_errHandler.recoverInline(this);
|
||||
} else {
|
||||
consume();
|
||||
|
@ -4669,58 +4740,59 @@ class SqlBaseParser extends Parser {
|
|||
"\3 \3 \3!\3!\3!\3!\3!\3\"\3\"\3\"\7\"\u0238\n\"\f\"\16\"\u023b\13\"\3"+
|
||||
"#\3#\3$\3$\5$\u0241\n$\3%\3%\5%\u0245\n%\3&\3&\3&\5&\u024a\n&\3\'\3\'"+
|
||||
"\5\'\u024e\n\'\3(\3(\3(\2\4,\62)\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36"+
|
||||
" \"$&(*,.\60\62\64\668:<>@BDFHJLN\2\20\4\2\n\nIM\4\2<<>>\3\2JK\4\2\b\b"+
|
||||
"\31\31\4\2&&\66\66\4\2\n\ndd\3\2%&\4\2\n\n\16\16\3\2\36\37\3\2]^\3\2_"+
|
||||
"a\3\2W\\\3\2\"#\3\28E\u0298\2P\3\2\2\2\4S\3\2\2\2\6\u008f\3\2\2\2\b\u009a"+
|
||||
"\3\2\2\2\n\u009e\3\2\2\2\f\u00b4\3\2\2\2\16\u00b6\3\2\2\2\20\u00ba\3\2"+
|
||||
"\2\2\22\u00d6\3\2\2\2\24\u00e0\3\2\2\2\26\u00ea\3\2\2\2\30\u00f9\3\2\2"+
|
||||
"\2\32\u00fb\3\2\2\2\34\u0101\3\2\2\2\36\u0103\3\2\2\2 \u010a\3\2\2\2\""+
|
||||
"\u011c\3\2\2\2$\u012d\3\2\2\2&\u013d\3\2\2\2(\u0158\3\2\2\2*\u015a\3\2"+
|
||||
"\2\2,\u018b\3\2\2\2.\u0198\3\2\2\2\60\u01c5\3\2\2\2\62\u01cb\3\2\2\2\64"+
|
||||
"\u0210\3\2\2\2\66\u0218\3\2\2\28\u0227\3\2\2\2:\u0229\3\2\2\2<\u022b\3"+
|
||||
"\2\2\2>\u022d\3\2\2\2@\u022f\3\2\2\2B\u0234\3\2\2\2D\u023c\3\2\2\2F\u0240"+
|
||||
"\3\2\2\2H\u0244\3\2\2\2J\u0249\3\2\2\2L\u024d\3\2\2\2N\u024f\3\2\2\2P"+
|
||||
"Q\5\6\4\2QR\7\2\2\3R\3\3\2\2\2ST\5*\26\2TU\7\2\2\3U\5\3\2\2\2V\u0090\5"+
|
||||
"\b\5\2We\78\2\2Xa\7\3\2\2YZ\7H\2\2Z`\t\2\2\2[\\\7:\2\2\\`\t\3\2\2]^\7"+
|
||||
"=\2\2^`\5<\37\2_Y\3\2\2\2_[\3\2\2\2_]\3\2\2\2`c\3\2\2\2a_\3\2\2\2ab\3"+
|
||||
"\2\2\2bd\3\2\2\2ca\3\2\2\2df\7\4\2\2eX\3\2\2\2ef\3\2\2\2fg\3\2\2\2g\u0090"+
|
||||
"\5\6\4\2ht\7G\2\2ip\7\3\2\2jk\7H\2\2ko\t\4\2\2lm\7:\2\2mo\t\3\2\2nj\3"+
|
||||
"\2\2\2nl\3\2\2\2or\3\2\2\2pn\3\2\2\2pq\3\2\2\2qs\3\2\2\2rp\3\2\2\2su\7"+
|
||||
"\4\2\2ti\3\2\2\2tu\3\2\2\2uv\3\2\2\2v\u0090\5\6\4\2wx\7A\2\2x}\7B\2\2"+
|
||||
"y{\7\36\2\2zy\3\2\2\2z{\3\2\2\2{|\3\2\2\2|~\7c\2\2}z\3\2\2\2}~\3\2\2\2"+
|
||||
"~\u0090\3\2\2\2\177\u0080\7A\2\2\u0080\u0081\7C\2\2\u0081\u0082\t\5\2"+
|
||||
"\2\u0082\u0090\5D#\2\u0083\u0084\t\6\2\2\u0084\u0090\5D#\2\u0085\u0086"+
|
||||
"\7A\2\2\u0086\u008b\7E\2\2\u0087\u0089\7\36\2\2\u0088\u0087\3\2\2\2\u0088"+
|
||||
"\u0089\3\2\2\2\u0089\u008a\3\2\2\2\u008a\u008c\7c\2\2\u008b\u0088\3\2"+
|
||||
"\2\2\u008b\u008c\3\2\2\2\u008c\u0090\3\2\2\2\u008d\u008e\7A\2\2\u008e"+
|
||||
"\u0090\7R\2\2\u008fV\3\2\2\2\u008fW\3\2\2\2\u008fh\3\2\2\2\u008fw\3\2"+
|
||||
"\2\2\u008f\177\3\2\2\2\u008f\u0083\3\2\2\2\u008f\u0085\3\2\2\2\u008f\u008d"+
|
||||
"\3\2\2\2\u0090\7\3\2\2\2\u0091\u0092\7\63\2\2\u0092\u0097\5\32\16\2\u0093"+
|
||||
"\u0094\7\5\2\2\u0094\u0096\5\32\16\2\u0095\u0093\3\2\2\2\u0096\u0099\3"+
|
||||
"\2\2\2\u0097\u0095\3\2\2\2\u0097\u0098\3\2\2\2\u0098\u009b\3\2\2\2\u0099"+
|
||||
"\u0097\3\2\2\2\u009a\u0091\3\2\2\2\u009a\u009b\3\2\2\2\u009b\u009c\3\2"+
|
||||
"\2\2\u009c\u009d\5\n\6\2\u009d\t\3\2\2\2\u009e\u00a9\5\f\7\2\u009f\u00a0"+
|
||||
"\7\24\2\2\u00a0\u00a1\7\21\2\2\u00a1\u00a6\5\16\b\2\u00a2\u00a3\7\5\2"+
|
||||
"\2\u00a3\u00a5\5\16\b\2\u00a4\u00a2\3\2\2\2\u00a5\u00a8\3\2\2\2\u00a6"+
|
||||
"\u00a4\3\2\2\2\u00a6\u00a7\3\2\2\2\u00a7\u00aa\3\2\2\2\u00a8\u00a6\3\2"+
|
||||
"\2\2\u00a9\u009f\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00ad\3\2\2\2\u00ab"+
|
||||
"\u00ac\7\26\2\2\u00ac\u00ae\t\7\2\2\u00ad\u00ab\3\2\2\2\u00ad\u00ae\3"+
|
||||
"\2\2\2\u00ae\13\3\2\2\2\u00af\u00b5\5\20\t\2\u00b0\u00b1\7\3\2\2\u00b1"+
|
||||
"\u00b2\5\n\6\2\u00b2\u00b3\7\4\2\2\u00b3\u00b5\3\2\2\2\u00b4\u00af\3\2"+
|
||||
"\2\2\u00b4\u00b0\3\2\2\2\u00b5\r\3\2\2\2\u00b6\u00b8\5*\26\2\u00b7\u00b9"+
|
||||
"\t\b\2\2\u00b8\u00b7\3\2\2\2\u00b8\u00b9\3\2\2\2\u00b9\17\3\2\2\2\u00ba"+
|
||||
"\u00bc\7\7\2\2\u00bb\u00bd\5\34\17\2\u00bc\u00bb\3\2\2\2\u00bc\u00bd\3"+
|
||||
"\2\2\2\u00bd\u00be\3\2\2\2\u00be\u00c3\5\36\20\2\u00bf\u00c0\7\5\2\2\u00c0"+
|
||||
"\u00c2\5\36\20\2\u00c1\u00bf\3\2\2\2\u00c2\u00c5\3\2\2\2\u00c3\u00c1\3"+
|
||||
"\2\2\2\u00c3\u00c4\3\2\2\2\u00c4\u00c7\3\2\2\2\u00c5\u00c3\3\2\2\2\u00c6"+
|
||||
"\u00c8\5\22\n\2\u00c7\u00c6\3\2\2\2\u00c7\u00c8\3\2\2\2\u00c8\u00cb\3"+
|
||||
"\2\2\2\u00c9\u00ca\7\17\2\2\u00ca\u00cc\5,\27\2\u00cb\u00c9\3\2\2\2\u00cb"+
|
||||
"\u00cc\3\2\2\2\u00cc\u00d0\3\2\2\2\u00cd\u00ce\7\20\2\2\u00ce\u00cf\7"+
|
||||
"\21\2\2\u00cf\u00d1\5\24\13\2\u00d0\u00cd\3\2\2\2\u00d0\u00d1\3\2\2\2"+
|
||||
"\u00d1\u00d4\3\2\2\2\u00d2\u00d3\7\25\2\2\u00d3\u00d5\5,\27\2\u00d4\u00d2"+
|
||||
"\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\21\3\2\2\2\u00d6\u00d7\7\b\2\2\u00d7"+
|
||||
"\u00dc\5 \21\2\u00d8\u00d9\7\5\2\2\u00d9\u00db\5 \21\2\u00da\u00d8\3\2"+
|
||||
"\2\2\u00db\u00de\3\2\2\2\u00dc\u00da\3\2\2\2\u00dc\u00dd\3\2\2\2\u00dd"+
|
||||
" \"$&(*,.\60\62\64\668:<>@BDFHJLN\2\20\b\2\7\7\t\t\30\30\61\6188==\4\2"+
|
||||
"\"\"LL\4\2\t\t88\4\2\37\37&&\3\2\25\26\4\2\7\7dd\4\2\r\r\25\25\4\2\7\7"+
|
||||
"\27\27\4\2..CC\3\2]^\3\2_a\3\2W\\\4\2\34\34OO\22\2\b\t\22\22\24\24\30"+
|
||||
"\30\32\32\36\37!\"\60\6188=ACDFFHIKLPQSS\u0298\2P\3\2\2\2\4S\3\2\2\2\6"+
|
||||
"\u008f\3\2\2\2\b\u009a\3\2\2\2\n\u009e\3\2\2\2\f\u00b4\3\2\2\2\16\u00b6"+
|
||||
"\3\2\2\2\20\u00ba\3\2\2\2\22\u00d6\3\2\2\2\24\u00e0\3\2\2\2\26\u00ea\3"+
|
||||
"\2\2\2\30\u00f9\3\2\2\2\32\u00fb\3\2\2\2\34\u0101\3\2\2\2\36\u0103\3\2"+
|
||||
"\2\2 \u010a\3\2\2\2\"\u011c\3\2\2\2$\u012d\3\2\2\2&\u013d\3\2\2\2(\u0158"+
|
||||
"\3\2\2\2*\u015a\3\2\2\2,\u018b\3\2\2\2.\u0198\3\2\2\2\60\u01c5\3\2\2\2"+
|
||||
"\62\u01cb\3\2\2\2\64\u0210\3\2\2\2\66\u0218\3\2\2\28\u0227\3\2\2\2:\u0229"+
|
||||
"\3\2\2\2<\u022b\3\2\2\2>\u022d\3\2\2\2@\u022f\3\2\2\2B\u0234\3\2\2\2D"+
|
||||
"\u023c\3\2\2\2F\u0240\3\2\2\2H\u0244\3\2\2\2J\u0249\3\2\2\2L\u024d\3\2"+
|
||||
"\2\2N\u024f\3\2\2\2PQ\5\6\4\2QR\7\2\2\3R\3\3\2\2\2ST\5*\26\2TU\7\2\2\3"+
|
||||
"U\5\3\2\2\2V\u0090\5\b\5\2We\7\32\2\2Xa\7\3\2\2YZ\7?\2\2Z`\t\2\2\2[\\"+
|
||||
"\7\36\2\2\\`\t\3\2\2]^\7S\2\2^`\5<\37\2_Y\3\2\2\2_[\3\2\2\2_]\3\2\2\2"+
|
||||
"`c\3\2\2\2a_\3\2\2\2ab\3\2\2\2bd\3\2\2\2ca\3\2\2\2df\7\4\2\2eX\3\2\2\2"+
|
||||
"ef\3\2\2\2fg\3\2\2\2g\u0090\5\6\4\2ht\7\24\2\2ip\7\3\2\2jk\7?\2\2ko\t"+
|
||||
"\4\2\2lm\7\36\2\2mo\t\3\2\2nj\3\2\2\2nl\3\2\2\2or\3\2\2\2pn\3\2\2\2pq"+
|
||||
"\3\2\2\2qs\3\2\2\2rp\3\2\2\2su\7\4\2\2ti\3\2\2\2tu\3\2\2\2uv\3\2\2\2v"+
|
||||
"\u0090\5\6\4\2wx\7I\2\2x}\7K\2\2y{\7.\2\2zy\3\2\2\2z{\3\2\2\2{|\3\2\2"+
|
||||
"\2|~\7c\2\2}z\3\2\2\2}~\3\2\2\2~\u0090\3\2\2\2\177\u0080\7I\2\2\u0080"+
|
||||
"\u0081\7\22\2\2\u0081\u0082\t\5\2\2\u0082\u0090\5D#\2\u0083\u0084\t\6"+
|
||||
"\2\2\u0084\u0090\5D#\2\u0085\u0086\7I\2\2\u0086\u008b\7!\2\2\u0087\u0089"+
|
||||
"\7.\2\2\u0088\u0087\3\2\2\2\u0088\u0089\3\2\2\2\u0089\u008a\3\2\2\2\u008a"+
|
||||
"\u008c\7c\2\2\u008b\u0088\3\2\2\2\u008b\u008c\3\2\2\2\u008c\u0090\3\2"+
|
||||
"\2\2\u008d\u008e\7I\2\2\u008e\u0090\7D\2\2\u008fV\3\2\2\2\u008fW\3\2\2"+
|
||||
"\2\u008fh\3\2\2\2\u008fw\3\2\2\2\u008f\177\3\2\2\2\u008f\u0083\3\2\2\2"+
|
||||
"\u008f\u0085\3\2\2\2\u008f\u008d\3\2\2\2\u0090\7\3\2\2\2\u0091\u0092\7"+
|
||||
"V\2\2\u0092\u0097\5\32\16\2\u0093\u0094\7\5\2\2\u0094\u0096\5\32\16\2"+
|
||||
"\u0095\u0093\3\2\2\2\u0096\u0099\3\2\2\2\u0097\u0095\3\2\2\2\u0097\u0098"+
|
||||
"\3\2\2\2\u0098\u009b\3\2\2\2\u0099\u0097\3\2\2\2\u009a\u0091\3\2\2\2\u009a"+
|
||||
"\u009b\3\2\2\2\u009b\u009c\3\2\2\2\u009c\u009d\5\n\6\2\u009d\t\3\2\2\2"+
|
||||
"\u009e\u00a9\5\f\7\2\u009f\u00a0\7;\2\2\u00a0\u00a1\7\17\2\2\u00a1\u00a6"+
|
||||
"\5\16\b\2\u00a2\u00a3\7\5\2\2\u00a3\u00a5\5\16\b\2\u00a4\u00a2\3\2\2\2"+
|
||||
"\u00a5\u00a8\3\2\2\2\u00a6\u00a4\3\2\2\2\u00a6\u00a7\3\2\2\2\u00a7\u00aa"+
|
||||
"\3\2\2\2\u00a8\u00a6\3\2\2\2\u00a9\u009f\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa"+
|
||||
"\u00ad\3\2\2\2\u00ab\u00ac\7/\2\2\u00ac\u00ae\t\7\2\2\u00ad\u00ab\3\2"+
|
||||
"\2\2\u00ad\u00ae\3\2\2\2\u00ae\13\3\2\2\2\u00af\u00b5\5\20\t\2\u00b0\u00b1"+
|
||||
"\7\3\2\2\u00b1\u00b2\5\n\6\2\u00b2\u00b3\7\4\2\2\u00b3\u00b5\3\2\2\2\u00b4"+
|
||||
"\u00af\3\2\2\2\u00b4\u00b0\3\2\2\2\u00b5\r\3\2\2\2\u00b6\u00b8\5*\26\2"+
|
||||
"\u00b7\u00b9\t\b\2\2\u00b8\u00b7\3\2\2\2\u00b8\u00b9\3\2\2\2\u00b9\17"+
|
||||
"\3\2\2\2\u00ba\u00bc\7E\2\2\u00bb\u00bd\5\34\17\2\u00bc\u00bb\3\2\2\2"+
|
||||
"\u00bc\u00bd\3\2\2\2\u00bd\u00be\3\2\2\2\u00be\u00c3\5\36\20\2\u00bf\u00c0"+
|
||||
"\7\5\2\2\u00c0\u00c2\5\36\20\2\u00c1\u00bf\3\2\2\2\u00c2\u00c5\3\2\2\2"+
|
||||
"\u00c3\u00c1\3\2\2\2\u00c3\u00c4\3\2\2\2\u00c4\u00c7\3\2\2\2\u00c5\u00c3"+
|
||||
"\3\2\2\2\u00c6\u00c8\5\22\n\2\u00c7\u00c6\3\2\2\2\u00c7\u00c8\3\2\2\2"+
|
||||
"\u00c8\u00cb\3\2\2\2\u00c9\u00ca\7U\2\2\u00ca\u00cc\5,\27\2\u00cb\u00c9"+
|
||||
"\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00d0\3\2\2\2\u00cd\u00ce\7#\2\2\u00ce"+
|
||||
"\u00cf\7\17\2\2\u00cf\u00d1\5\24\13\2\u00d0\u00cd\3\2\2\2\u00d0\u00d1"+
|
||||
"\3\2\2\2\u00d1\u00d4\3\2\2\2\u00d2\u00d3\7%\2\2\u00d3\u00d5\5,\27\2\u00d4"+
|
||||
"\u00d2\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\21\3\2\2\2\u00d6\u00d7\7\37\2"+
|
||||
"\2\u00d7\u00dc\5 \21\2\u00d8\u00d9\7\5\2\2\u00d9\u00db\5 \21\2\u00da\u00d8"+
|
||||
"\3\2\2\2\u00db\u00de\3\2\2\2\u00dc\u00da\3\2\2\2\u00dc\u00dd\3\2\2\2\u00dd"+
|
||||
"\23\3\2\2\2\u00de\u00dc\3\2\2\2\u00df\u00e1\5\34\17\2\u00e0\u00df\3\2"+
|
||||
"\2\2\u00e0\u00e1\3\2\2\2\u00e1\u00e2\3\2\2\2\u00e2\u00e7\5\26\f\2\u00e3"+
|
||||
"\u00e4\7\5\2\2\u00e4\u00e6\5\26\f\2\u00e5\u00e3\3\2\2\2\u00e6\u00e9\3"+
|
||||
|
@ -4731,127 +4803,128 @@ class SqlBaseParser extends Parser {
|
|||
"\u00f6\3\2\2\2\u00f4\u00f2\3\2\2\2\u00f5\u00ed\3\2\2\2\u00f5\u00f6\3\2"+
|
||||
"\2\2\u00f6\u00f7\3\2\2\2\u00f7\u00fa\7\4\2\2\u00f8\u00fa\5*\26\2\u00f9"+
|
||||
"\u00ec\3\2\2\2\u00f9\u00f8\3\2\2\2\u00fa\31\3\2\2\2\u00fb\u00fc\5F$\2"+
|
||||
"\u00fc\u00fd\7\t\2\2\u00fd\u00fe\7\3\2\2\u00fe\u00ff\5\n\6\2\u00ff\u0100"+
|
||||
"\u00fc\u00fd\7\f\2\2\u00fd\u00fe\7\3\2\2\u00fe\u00ff\5\n\6\2\u00ff\u0100"+
|
||||
"\7\4\2\2\u0100\33\3\2\2\2\u0101\u0102\t\t\2\2\u0102\35\3\2\2\2\u0103\u0108"+
|
||||
"\5*\26\2\u0104\u0106\7\t\2\2\u0105\u0104\3\2\2\2\u0105\u0106\3\2\2\2\u0106"+
|
||||
"\5*\26\2\u0104\u0106\7\f\2\2\u0105\u0104\3\2\2\2\u0105\u0106\3\2\2\2\u0106"+
|
||||
"\u0107\3\2\2\2\u0107\u0109\5F$\2\u0108\u0105\3\2\2\2\u0108\u0109\3\2\2"+
|
||||
"\2\u0109\37\3\2\2\2\u010a\u010e\5(\25\2\u010b\u010d\5\"\22\2\u010c\u010b"+
|
||||
"\3\2\2\2\u010d\u0110\3\2\2\2\u010e\u010c\3\2\2\2\u010e\u010f\3\2\2\2\u010f"+
|
||||
"!\3\2\2\2\u0110\u010e\3\2\2\2\u0111\u0112\5$\23\2\u0112\u0113\7)\2\2\u0113"+
|
||||
"!\3\2\2\2\u0110\u010e\3\2\2\2\u0111\u0112\5$\23\2\u0112\u0113\7+\2\2\u0113"+
|
||||
"\u0115\5(\25\2\u0114\u0116\5&\24\2\u0115\u0114\3\2\2\2\u0115\u0116\3\2"+
|
||||
"\2\2\u0116\u011d\3\2\2\2\u0117\u0118\7\60\2\2\u0118\u0119\5$\23\2\u0119"+
|
||||
"\u011a\7)\2\2\u011a\u011b\5(\25\2\u011b\u011d\3\2\2\2\u011c\u0111\3\2"+
|
||||
"\2\2\u011c\u0117\3\2\2\2\u011d#\3\2\2\2\u011e\u0120\7,\2\2\u011f\u011e"+
|
||||
"\2\2\u0116\u011d\3\2\2\2\u0117\u0118\7\63\2\2\u0118\u0119\5$\23\2\u0119"+
|
||||
"\u011a\7+\2\2\u011a\u011b\5(\25\2\u011b\u011d\3\2\2\2\u011c\u0111\3\2"+
|
||||
"\2\2\u011c\u0117\3\2\2\2\u011d#\3\2\2\2\u011e\u0120\7\'\2\2\u011f\u011e"+
|
||||
"\3\2\2\2\u011f\u0120\3\2\2\2\u0120\u012e\3\2\2\2\u0121\u0123\7-\2\2\u0122"+
|
||||
"\u0124\7+\2\2\u0123\u0122\3\2\2\2\u0123\u0124\3\2\2\2\u0124\u012e\3\2"+
|
||||
"\2\2\u0125\u0127\7.\2\2\u0126\u0128\7+\2\2\u0127\u0126\3\2\2\2\u0127\u0128"+
|
||||
"\3\2\2\2\u0128\u012e\3\2\2\2\u0129\u012b\7/\2\2\u012a\u012c\7+\2\2\u012b"+
|
||||
"\u0124\7<\2\2\u0123\u0122\3\2\2\2\u0123\u0124\3\2\2\2\u0124\u012e\3\2"+
|
||||
"\2\2\u0125\u0127\7B\2\2\u0126\u0128\7<\2\2\u0127\u0126\3\2\2\2\u0127\u0128"+
|
||||
"\3\2\2\2\u0128\u012e\3\2\2\2\u0129\u012b\7 \2\2\u012a\u012c\7<\2\2\u012b"+
|
||||
"\u012a\3\2\2\2\u012b\u012c\3\2\2\2\u012c\u012e\3\2\2\2\u012d\u011f\3\2"+
|
||||
"\2\2\u012d\u0121\3\2\2\2\u012d\u0125\3\2\2\2\u012d\u0129\3\2\2\2\u012e"+
|
||||
"%\3\2\2\2\u012f\u0130\7\62\2\2\u0130\u013e\5,\27\2\u0131\u0132\7\61\2"+
|
||||
"\2\u0132\u0133\7\3\2\2\u0133\u0138\5F$\2\u0134\u0135\7\5\2\2\u0135\u0137"+
|
||||
"%\3\2\2\2\u012f\u0130\7\67\2\2\u0130\u013e\5,\27\2\u0131\u0132\7R\2\2"+
|
||||
"\u0132\u0133\7\3\2\2\u0133\u0138\5F$\2\u0134\u0135\7\5\2\2\u0135\u0137"+
|
||||
"\5F$\2\u0136\u0134\3\2\2\2\u0137\u013a\3\2\2\2\u0138\u0136\3\2\2\2\u0138"+
|
||||
"\u0139\3\2\2\2\u0139\u013b\3\2\2\2\u013a\u0138\3\2\2\2\u013b\u013c\7\4"+
|
||||
"\2\2\u013c\u013e\3\2\2\2\u013d\u012f\3\2\2\2\u013d\u0131\3\2\2\2\u013e"+
|
||||
"\'\3\2\2\2\u013f\u0144\5D#\2\u0140\u0142\7\t\2\2\u0141\u0140\3\2\2\2\u0141"+
|
||||
"\'\3\2\2\2\u013f\u0144\5D#\2\u0140\u0142\7\f\2\2\u0141\u0140\3\2\2\2\u0141"+
|
||||
"\u0142\3\2\2\2\u0142\u0143\3\2\2\2\u0143\u0145\5B\"\2\u0144\u0141\3\2"+
|
||||
"\2\2\u0144\u0145\3\2\2\2\u0145\u0159\3\2\2\2\u0146\u0147\7\3\2\2\u0147"+
|
||||
"\u0148\5\n\6\2\u0148\u014d\7\4\2\2\u0149\u014b\7\t\2\2\u014a\u0149\3\2"+
|
||||
"\u0148\5\n\6\2\u0148\u014d\7\4\2\2\u0149\u014b\7\f\2\2\u014a\u0149\3\2"+
|
||||
"\2\2\u014a\u014b\3\2\2\2\u014b\u014c\3\2\2\2\u014c\u014e\5B\"\2\u014d"+
|
||||
"\u014a\3\2\2\2\u014d\u014e\3\2\2\2\u014e\u0159\3\2\2\2\u014f\u0150\7\3"+
|
||||
"\2\2\u0150\u0151\5 \21\2\u0151\u0156\7\4\2\2\u0152\u0154\7\t\2\2\u0153"+
|
||||
"\2\2\u0150\u0151\5 \21\2\u0151\u0156\7\4\2\2\u0152\u0154\7\f\2\2\u0153"+
|
||||
"\u0152\3\2\2\2\u0153\u0154\3\2\2\2\u0154\u0155\3\2\2\2\u0155\u0157\5B"+
|
||||
"\"\2\u0156\u0153\3\2\2\2\u0156\u0157\3\2\2\2\u0157\u0159\3\2\2\2\u0158"+
|
||||
"\u013f\3\2\2\2\u0158\u0146\3\2\2\2\u0158\u014f\3\2\2\2\u0159)\3\2\2\2"+
|
||||
"\u015a\u015b\5,\27\2\u015b+\3\2\2\2\u015c\u015d\b\27\1\2\u015d\u018c\5"+
|
||||
".\30\2\u015e\u015f\7\32\2\2\u015f\u018c\5,\27\t\u0160\u0161\7\34\2\2\u0161"+
|
||||
".\30\2\u015e\u015f\7\65\2\2\u015f\u018c\5,\27\t\u0160\u0161\7\31\2\2\u0161"+
|
||||
"\u0162\7\3\2\2\u0162\u0163\5\b\5\2\u0163\u0164\7\4\2\2\u0164\u018c\3\2"+
|
||||
"\2\2\u0165\u0166\7T\2\2\u0166\u0167\7\3\2\2\u0167\u016c\7c\2\2\u0168\u0169"+
|
||||
"\2\2\u0165\u0166\7@\2\2\u0166\u0167\7\3\2\2\u0167\u016c\7c\2\2\u0168\u0169"+
|
||||
"\7\5\2\2\u0169\u016b\7c\2\2\u016a\u0168\3\2\2\2\u016b\u016e\3\2\2\2\u016c"+
|
||||
"\u016a\3\2\2\2\u016c\u016d\3\2\2\2\u016d\u016f\3\2\2\2\u016e\u016c\3\2"+
|
||||
"\2\2\u016f\u018c\7\4\2\2\u0170\u0171\7U\2\2\u0171\u0172\7\3\2\2\u0172"+
|
||||
"\2\2\u016f\u018c\7\4\2\2\u0170\u0171\7\62\2\2\u0171\u0172\7\3\2\2\u0172"+
|
||||
"\u0173\5B\"\2\u0173\u0174\7\5\2\2\u0174\u0179\7c\2\2\u0175\u0176\7\5\2"+
|
||||
"\2\u0176\u0178\7c\2\2\u0177\u0175\3\2\2\2\u0178\u017b\3\2\2\2\u0179\u0177"+
|
||||
"\3\2\2\2\u0179\u017a\3\2\2\2\u017a\u017c\3\2\2\2\u017b\u0179\3\2\2\2\u017c"+
|
||||
"\u017d\7\4\2\2\u017d\u018c\3\2\2\2\u017e\u017f\7U\2\2\u017f\u0180\7\3"+
|
||||
"\2\2\u0180\u0181\7c\2\2\u0181\u0182\7\5\2\2\u0182\u0187\7c\2\2\u0183\u0184"+
|
||||
"\7\5\2\2\u0184\u0186\7c\2\2\u0185\u0183\3\2\2\2\u0186\u0189\3\2\2\2\u0187"+
|
||||
"\u0185\3\2\2\2\u0187\u0188\3\2\2\2\u0188\u018a\3\2\2\2\u0189\u0187\3\2"+
|
||||
"\2\2\u018a\u018c\7\4\2\2\u018b\u015c\3\2\2\2\u018b\u015e\3\2\2\2\u018b"+
|
||||
"\u0160\3\2\2\2\u018b\u0165\3\2\2\2\u018b\u0170\3\2\2\2\u018b\u017e\3\2"+
|
||||
"\2\2\u018c\u0195\3\2\2\2\u018d\u018e\f\b\2\2\u018e\u018f\7\30\2\2\u018f"+
|
||||
"\u0194\5,\27\t\u0190\u0191\f\7\2\2\u0191\u0192\7\27\2\2\u0192\u0194\5"+
|
||||
",\27\b\u0193\u018d\3\2\2\2\u0193\u0190\3\2\2\2\u0194\u0197\3\2\2\2\u0195"+
|
||||
"\u0193\3\2\2\2\u0195\u0196\3\2\2\2\u0196-\3\2\2\2\u0197\u0195\3\2\2\2"+
|
||||
"\u0198\u019a\5\62\32\2\u0199\u019b\5\60\31\2\u019a\u0199\3\2\2\2\u019a"+
|
||||
"\u019b\3\2\2\2\u019b/\3\2\2\2\u019c\u019e\7\32\2\2\u019d\u019c\3\2\2\2"+
|
||||
"\u019d\u019e\3\2\2\2\u019e\u019f\3\2\2\2\u019f\u01a0\7\35\2\2\u01a0\u01a1"+
|
||||
"\5\62\32\2\u01a1\u01a2\7\30\2\2\u01a2\u01a3\5\62\32\2\u01a3\u01c6\3\2"+
|
||||
"\2\2\u01a4\u01a6\7\32\2\2\u01a5\u01a4\3\2\2\2\u01a5\u01a6\3\2\2\2\u01a6"+
|
||||
"\u01a7\3\2\2\2\u01a7\u01a8\7\31\2\2\u01a8\u01a9\7\3\2\2\u01a9\u01ae\5"+
|
||||
"*\26\2\u01aa\u01ab\7\5\2\2\u01ab\u01ad\5*\26\2\u01ac\u01aa\3\2\2\2\u01ad"+
|
||||
"\u01b0\3\2\2\2\u01ae\u01ac\3\2\2\2\u01ae\u01af\3\2\2\2\u01af\u01b1\3\2"+
|
||||
"\2\2\u01b0\u01ae\3\2\2\2\u01b1\u01b2\7\4\2\2\u01b2\u01c6\3\2\2\2\u01b3"+
|
||||
"\u01b5\7\32\2\2\u01b4\u01b3\3\2\2\2\u01b4\u01b5\3\2\2\2\u01b5\u01b6\3"+
|
||||
"\2\2\2\u01b6\u01b7\7\31\2\2\u01b7\u01b8\7\3\2\2\u01b8\u01b9\5\b\5\2\u01b9"+
|
||||
"\u01ba\7\4\2\2\u01ba\u01c6\3\2\2\2\u01bb\u01bd\7\32\2\2\u01bc\u01bb\3"+
|
||||
"\2\2\2\u01bc\u01bd\3\2\2\2\u01bd\u01be\3\2\2\2\u01be\u01bf\t\n\2\2\u01bf"+
|
||||
"\u01c6\5\62\32\2\u01c0\u01c2\7 \2\2\u01c1\u01c3\7\32\2\2\u01c2\u01c1\3"+
|
||||
"\2\2\2\u01c2\u01c3\3\2\2\2\u01c3\u01c4\3\2\2\2\u01c4\u01c6\7!\2\2\u01c5"+
|
||||
"\u019d\3\2\2\2\u01c5\u01a5\3\2\2\2\u01c5\u01b4\3\2\2\2\u01c5\u01bc\3\2"+
|
||||
"\2\2\u01c5\u01c0\3\2\2\2\u01c6\61\3\2\2\2\u01c7\u01c8\b\32\1\2\u01c8\u01cc"+
|
||||
"\5\64\33\2\u01c9\u01ca\t\13\2\2\u01ca\u01cc\5\62\32\6\u01cb\u01c7\3\2"+
|
||||
"\2\2\u01cb\u01c9\3\2\2\2\u01cc\u01d9\3\2\2\2\u01cd\u01ce\f\5\2\2\u01ce"+
|
||||
"\u01cf\t\f\2\2\u01cf\u01d8\5\62\32\6\u01d0\u01d1\f\4\2\2\u01d1\u01d2\t"+
|
||||
"\13\2\2\u01d2\u01d8\5\62\32\5\u01d3\u01d4\f\3\2\2\u01d4\u01d5\5:\36\2"+
|
||||
"\u01d5\u01d6\5\62\32\4\u01d6\u01d8\3\2\2\2\u01d7\u01cd\3\2\2\2\u01d7\u01d0"+
|
||||
"\3\2\2\2\u01d7\u01d3\3\2\2\2\u01d8\u01db\3\2\2\2\u01d9\u01d7\3\2\2\2\u01d9"+
|
||||
"\u01da\3\2\2\2\u01da\63\3\2\2\2\u01db\u01d9\3\2\2\2\u01dc\u0211\58\35"+
|
||||
"\2\u01dd\u0211\7_\2\2\u01de\u01df\5\66\34\2\u01df\u01e0\7\6\2\2\u01e0"+
|
||||
"\u01e2\3\2\2\2\u01e1\u01de\3\2\2\2\u01e1\u01e2\3\2\2\2\u01e2\u01e3\3\2"+
|
||||
"\2\2\u01e3\u0211\7_\2\2\u01e4\u01e5\5F$\2\u01e5\u01f1\7\3\2\2\u01e6\u01e8"+
|
||||
"\5\34\17\2\u01e7\u01e6\3\2\2\2\u01e7\u01e8\3\2\2\2\u01e8\u01e9\3\2\2\2"+
|
||||
"\u01e9\u01ee\5*\26\2\u01ea\u01eb\7\5\2\2\u01eb\u01ed\5*\26\2\u01ec\u01ea"+
|
||||
"\3\2\2\2\u01ed\u01f0\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ee\u01ef\3\2\2\2\u01ef"+
|
||||
"\u01f2\3\2\2\2\u01f0\u01ee\3\2\2\2\u01f1\u01e7\3\2\2\2\u01f1\u01f2\3\2"+
|
||||
"\2\2\u01f2\u01f3\3\2\2\2\u01f3\u01f4\7\4\2\2\u01f4\u0211\3\2\2\2\u01f5"+
|
||||
"\u01f6\7\3\2\2\u01f6\u01f7\5\b\5\2\u01f7\u01f8\7\4\2\2\u01f8\u0211\3\2"+
|
||||
"\2\2\u01f9\u0211\5\66\34\2\u01fa\u01fb\5\66\34\2\u01fb\u01fc\7\6\2\2\u01fc"+
|
||||
"\u01fd\5F$\2\u01fd\u0211\3\2\2\2\u01fe\u01ff\7\3\2\2\u01ff\u0200\5*\26"+
|
||||
"\2\u0200\u0201\7\4\2\2\u0201\u0211\3\2\2\2\u0202\u0203\7V\2\2\u0203\u0204"+
|
||||
"\7\3\2\2\u0204\u0205\5*\26\2\u0205\u0206\7\t\2\2\u0206\u0207\5> \2\u0207"+
|
||||
"\u0208\7\4\2\2\u0208\u0211\3\2\2\2\u0209\u020a\7S\2\2\u020a\u020b\7\3"+
|
||||
"\2\2\u020b\u020c\5F$\2\u020c\u020d\7\b\2\2\u020d\u020e\5\62\32\2\u020e"+
|
||||
"\u020f\7\4\2\2\u020f\u0211\3\2\2\2\u0210\u01dc\3\2\2\2\u0210\u01dd\3\2"+
|
||||
"\2\2\u0210\u01e1\3\2\2\2\u0210\u01e4\3\2\2\2\u0210\u01f5\3\2\2\2\u0210"+
|
||||
"\u01f9\3\2\2\2\u0210\u01fa\3\2\2\2\u0210\u01fe\3\2\2\2\u0210\u0202\3\2"+
|
||||
"\2\2\u0210\u0209\3\2\2\2\u0211\65\3\2\2\2\u0212\u0215\5F$\2\u0213\u0215"+
|
||||
"\5D#\2\u0214\u0212\3\2\2\2\u0214\u0213\3\2\2\2\u0215\u0216\3\2\2\2\u0216"+
|
||||
"\u0217\7\6\2\2\u0217\u0219\3\2\2\2\u0218\u0214\3\2\2\2\u0218\u0219\3\2"+
|
||||
"\2\2\u0219\u021a\3\2\2\2\u021a\u021b\5F$\2\u021b\67\3\2\2\2\u021c\u0228"+
|
||||
"\7!\2\2\u021d\u021e\5F$\2\u021e\u021f\7c\2\2\u021f\u0228\3\2\2\2\u0220"+
|
||||
"\u0228\5L\'\2\u0221\u0228\5<\37\2\u0222\u0224\7c\2\2\u0223\u0222\3\2\2"+
|
||||
"\2\u0224\u0225\3\2\2\2\u0225\u0223\3\2\2\2\u0225\u0226\3\2\2\2\u0226\u0228"+
|
||||
"\3\2\2\2\u0227\u021c\3\2\2\2\u0227\u021d\3\2\2\2\u0227\u0220\3\2\2\2\u0227"+
|
||||
"\u0221\3\2\2\2\u0227\u0223\3\2\2\2\u02289\3\2\2\2\u0229\u022a\t\r\2\2"+
|
||||
"\u022a;\3\2\2\2\u022b\u022c\t\16\2\2\u022c=\3\2\2\2\u022d\u022e\5F$\2"+
|
||||
"\u022e?\3\2\2\2\u022f\u0230\7\13\2\2\u0230\u0231\5*\26\2\u0231\u0232\7"+
|
||||
"\f\2\2\u0232\u0233\5*\26\2\u0233A\3\2\2\2\u0234\u0239\5F$\2\u0235\u0236"+
|
||||
"\7\6\2\2\u0236\u0238\5F$\2\u0237\u0235\3\2\2\2\u0238\u023b\3\2\2\2\u0239"+
|
||||
"\u0237\3\2\2\2\u0239\u023a\3\2\2\2\u023aC\3\2\2\2\u023b\u0239\3\2\2\2"+
|
||||
"\u023c\u023d\5F$\2\u023dE\3\2\2\2\u023e\u0241\5H%\2\u023f\u0241\5J&\2"+
|
||||
"\u0240\u023e\3\2\2\2\u0240\u023f\3\2\2\2\u0241G\3\2\2\2\u0242\u0245\7"+
|
||||
"h\2\2\u0243\u0245\7i\2\2\u0244\u0242\3\2\2\2\u0244\u0243\3\2\2\2\u0245"+
|
||||
"I\3\2\2\2\u0246\u024a\7f\2\2\u0247\u024a\5N(\2\u0248\u024a\7g\2\2\u0249"+
|
||||
"\u0246\3\2\2\2\u0249\u0247\3\2\2\2\u0249\u0248\3\2\2\2\u024aK\3\2\2\2"+
|
||||
"\u024b\u024e\7e\2\2\u024c\u024e\7d\2\2\u024d\u024b\3\2\2\2\u024d\u024c"+
|
||||
"\3\2\2\2\u024eM\3\2\2\2\u024f\u0250\t\17\2\2\u0250O\3\2\2\2R_aenptz}\u0088"+
|
||||
"\u008b\u008f\u0097\u009a\u00a6\u00a9\u00ad\u00b4\u00b8\u00bc\u00c3\u00c7"+
|
||||
"\u00cb\u00d0\u00d4\u00dc\u00e0\u00e7\u00f2\u00f5\u00f9\u0105\u0108\u010e"+
|
||||
"\u0115\u011c\u011f\u0123\u0127\u012b\u012d\u0138\u013d\u0141\u0144\u014a"+
|
||||
"\u014d\u0153\u0156\u0158\u016c\u0179\u0187\u018b\u0193\u0195\u019a\u019d"+
|
||||
"\u01a5\u01ae\u01b4\u01bc\u01c2\u01c5\u01cb\u01d7\u01d9\u01e1\u01e7\u01ee"+
|
||||
"\u01f1\u0210\u0214\u0218\u0225\u0227\u0239\u0240\u0244\u0249\u024d";
|
||||
"\u017d\7\4\2\2\u017d\u018c\3\2\2\2\u017e\u017f\7\62\2\2\u017f\u0180\7"+
|
||||
"\3\2\2\u0180\u0181\7c\2\2\u0181\u0182\7\5\2\2\u0182\u0187\7c\2\2\u0183"+
|
||||
"\u0184\7\5\2\2\u0184\u0186\7c\2\2\u0185\u0183\3\2\2\2\u0186\u0189\3\2"+
|
||||
"\2\2\u0187\u0185\3\2\2\2\u0187\u0188\3\2\2\2\u0188\u018a\3\2\2\2\u0189"+
|
||||
"\u0187\3\2\2\2\u018a\u018c\7\4\2\2\u018b\u015c\3\2\2\2\u018b\u015e\3\2"+
|
||||
"\2\2\u018b\u0160\3\2\2\2\u018b\u0165\3\2\2\2\u018b\u0170\3\2\2\2\u018b"+
|
||||
"\u017e\3\2\2\2\u018c\u0195\3\2\2\2\u018d\u018e\f\b\2\2\u018e\u018f\7\n"+
|
||||
"\2\2\u018f\u0194\5,\27\t\u0190\u0191\f\7\2\2\u0191\u0192\7:\2\2\u0192"+
|
||||
"\u0194\5,\27\b\u0193\u018d\3\2\2\2\u0193\u0190\3\2\2\2\u0194\u0197\3\2"+
|
||||
"\2\2\u0195\u0193\3\2\2\2\u0195\u0196\3\2\2\2\u0196-\3\2\2\2\u0197\u0195"+
|
||||
"\3\2\2\2\u0198\u019a\5\62\32\2\u0199\u019b\5\60\31\2\u019a\u0199\3\2\2"+
|
||||
"\2\u019a\u019b\3\2\2\2\u019b/\3\2\2\2\u019c\u019e\7\65\2\2\u019d\u019c"+
|
||||
"\3\2\2\2\u019d\u019e\3\2\2\2\u019e\u019f\3\2\2\2\u019f\u01a0\7\16\2\2"+
|
||||
"\u01a0\u01a1\5\62\32\2\u01a1\u01a2\7\n\2\2\u01a2\u01a3\5\62\32\2\u01a3"+
|
||||
"\u01c6\3\2\2\2\u01a4\u01a6\7\65\2\2\u01a5\u01a4\3\2\2\2\u01a5\u01a6\3"+
|
||||
"\2\2\2\u01a6\u01a7\3\2\2\2\u01a7\u01a8\7&\2\2\u01a8\u01a9\7\3\2\2\u01a9"+
|
||||
"\u01ae\5*\26\2\u01aa\u01ab\7\5\2\2\u01ab\u01ad\5*\26\2\u01ac\u01aa\3\2"+
|
||||
"\2\2\u01ad\u01b0\3\2\2\2\u01ae\u01ac\3\2\2\2\u01ae\u01af\3\2\2\2\u01af"+
|
||||
"\u01b1\3\2\2\2\u01b0\u01ae\3\2\2\2\u01b1\u01b2\7\4\2\2\u01b2\u01c6\3\2"+
|
||||
"\2\2\u01b3\u01b5\7\65\2\2\u01b4\u01b3\3\2\2\2\u01b4\u01b5\3\2\2\2\u01b5"+
|
||||
"\u01b6\3\2\2\2\u01b6\u01b7\7&\2\2\u01b7\u01b8\7\3\2\2\u01b8\u01b9\5\b"+
|
||||
"\5\2\u01b9\u01ba\7\4\2\2\u01ba\u01c6\3\2\2\2\u01bb\u01bd\7\65\2\2\u01bc"+
|
||||
"\u01bb\3\2\2\2\u01bc\u01bd\3\2\2\2\u01bd\u01be\3\2\2\2\u01be\u01bf\t\n"+
|
||||
"\2\2\u01bf\u01c6\5\62\32\2\u01c0\u01c2\7*\2\2\u01c1\u01c3\7\65\2\2\u01c2"+
|
||||
"\u01c1\3\2\2\2\u01c2\u01c3\3\2\2\2\u01c3\u01c4\3\2\2\2\u01c4\u01c6\7\66"+
|
||||
"\2\2\u01c5\u019d\3\2\2\2\u01c5\u01a5\3\2\2\2\u01c5\u01b4\3\2\2\2\u01c5"+
|
||||
"\u01bc\3\2\2\2\u01c5\u01c0\3\2\2\2\u01c6\61\3\2\2\2\u01c7\u01c8\b\32\1"+
|
||||
"\2\u01c8\u01cc\5\64\33\2\u01c9\u01ca\t\13\2\2\u01ca\u01cc\5\62\32\6\u01cb"+
|
||||
"\u01c7\3\2\2\2\u01cb\u01c9\3\2\2\2\u01cc\u01d9\3\2\2\2\u01cd\u01ce\f\5"+
|
||||
"\2\2\u01ce\u01cf\t\f\2\2\u01cf\u01d8\5\62\32\6\u01d0\u01d1\f\4\2\2\u01d1"+
|
||||
"\u01d2\t\13\2\2\u01d2\u01d8\5\62\32\5\u01d3\u01d4\f\3\2\2\u01d4\u01d5"+
|
||||
"\5:\36\2\u01d5\u01d6\5\62\32\4\u01d6\u01d8\3\2\2\2\u01d7\u01cd\3\2\2\2"+
|
||||
"\u01d7\u01d0\3\2\2\2\u01d7\u01d3\3\2\2\2\u01d8\u01db\3\2\2\2\u01d9\u01d7"+
|
||||
"\3\2\2\2\u01d9\u01da\3\2\2\2\u01da\63\3\2\2\2\u01db\u01d9\3\2\2\2\u01dc"+
|
||||
"\u0211\58\35\2\u01dd\u0211\7_\2\2\u01de\u01df\5\66\34\2\u01df\u01e0\7"+
|
||||
"\6\2\2\u01e0\u01e2\3\2\2\2\u01e1\u01de\3\2\2\2\u01e1\u01e2\3\2\2\2\u01e2"+
|
||||
"\u01e3\3\2\2\2\u01e3\u0211\7_\2\2\u01e4\u01e5\5F$\2\u01e5\u01f1\7\3\2"+
|
||||
"\2\u01e6\u01e8\5\34\17\2\u01e7\u01e6\3\2\2\2\u01e7\u01e8\3\2\2\2\u01e8"+
|
||||
"\u01e9\3\2\2\2\u01e9\u01ee\5*\26\2\u01ea\u01eb\7\5\2\2\u01eb\u01ed\5*"+
|
||||
"\26\2\u01ec\u01ea\3\2\2\2\u01ed\u01f0\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ee"+
|
||||
"\u01ef\3\2\2\2\u01ef\u01f2\3\2\2\2\u01f0\u01ee\3\2\2\2\u01f1\u01e7\3\2"+
|
||||
"\2\2\u01f1\u01f2\3\2\2\2\u01f2\u01f3\3\2\2\2\u01f3\u01f4\7\4\2\2\u01f4"+
|
||||
"\u0211\3\2\2\2\u01f5\u01f6\7\3\2\2\u01f6\u01f7\5\b\5\2\u01f7\u01f8\7\4"+
|
||||
"\2\2\u01f8\u0211\3\2\2\2\u01f9\u0211\5\66\34\2\u01fa\u01fb\5\66\34\2\u01fb"+
|
||||
"\u01fc\7\6\2\2\u01fc\u01fd\5F$\2\u01fd\u0211\3\2\2\2\u01fe\u01ff\7\3\2"+
|
||||
"\2\u01ff\u0200\5*\26\2\u0200\u0201\7\4\2\2\u0201\u0211\3\2\2\2\u0202\u0203"+
|
||||
"\7\20\2\2\u0203\u0204\7\3\2\2\u0204\u0205\5*\26\2\u0205\u0206\7\f\2\2"+
|
||||
"\u0206\u0207\5> \2\u0207\u0208\7\4\2\2\u0208\u0211\3\2\2\2\u0209\u020a"+
|
||||
"\7\33\2\2\u020a\u020b\7\3\2\2\u020b\u020c\5F$\2\u020c\u020d\7\37\2\2\u020d"+
|
||||
"\u020e\5\62\32\2\u020e\u020f\7\4\2\2\u020f\u0211\3\2\2\2\u0210\u01dc\3"+
|
||||
"\2\2\2\u0210\u01dd\3\2\2\2\u0210\u01e1\3\2\2\2\u0210\u01e4\3\2\2\2\u0210"+
|
||||
"\u01f5\3\2\2\2\u0210\u01f9\3\2\2\2\u0210\u01fa\3\2\2\2\u0210\u01fe\3\2"+
|
||||
"\2\2\u0210\u0202\3\2\2\2\u0210\u0209\3\2\2\2\u0211\65\3\2\2\2\u0212\u0215"+
|
||||
"\5F$\2\u0213\u0215\5D#\2\u0214\u0212\3\2\2\2\u0214\u0213\3\2\2\2\u0215"+
|
||||
"\u0216\3\2\2\2\u0216\u0217\7\6\2\2\u0217\u0219\3\2\2\2\u0218\u0214\3\2"+
|
||||
"\2\2\u0218\u0219\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021b\5F$\2\u021b\67"+
|
||||
"\3\2\2\2\u021c\u0228\7\66\2\2\u021d\u021e\5F$\2\u021e\u021f\7c\2\2\u021f"+
|
||||
"\u0228\3\2\2\2\u0220\u0228\5L\'\2\u0221\u0228\5<\37\2\u0222\u0224\7c\2"+
|
||||
"\2\u0223\u0222\3\2\2\2\u0224\u0225\3\2\2\2\u0225\u0223\3\2\2\2\u0225\u0226"+
|
||||
"\3\2\2\2\u0226\u0228\3\2\2\2\u0227\u021c\3\2\2\2\u0227\u021d\3\2\2\2\u0227"+
|
||||
"\u0220\3\2\2\2\u0227\u0221\3\2\2\2\u0227\u0223\3\2\2\2\u02289\3\2\2\2"+
|
||||
"\u0229\u022a\t\r\2\2\u022a;\3\2\2\2\u022b\u022c\t\16\2\2\u022c=\3\2\2"+
|
||||
"\2\u022d\u022e\5F$\2\u022e?\3\2\2\2\u022f\u0230\7T\2\2\u0230\u0231\5*"+
|
||||
"\26\2\u0231\u0232\7M\2\2\u0232\u0233\5*\26\2\u0233A\3\2\2\2\u0234\u0239"+
|
||||
"\5F$\2\u0235\u0236\7\6\2\2\u0236\u0238\5F$\2\u0237\u0235\3\2\2\2\u0238"+
|
||||
"\u023b\3\2\2\2\u0239\u0237\3\2\2\2\u0239\u023a\3\2\2\2\u023aC\3\2\2\2"+
|
||||
"\u023b\u0239\3\2\2\2\u023c\u023d\5F$\2\u023dE\3\2\2\2\u023e\u0241\5H%"+
|
||||
"\2\u023f\u0241\5J&\2\u0240\u023e\3\2\2\2\u0240\u023f\3\2\2\2\u0241G\3"+
|
||||
"\2\2\2\u0242\u0245\7h\2\2\u0243\u0245\7i\2\2\u0244\u0242\3\2\2\2\u0244"+
|
||||
"\u0243\3\2\2\2\u0245I\3\2\2\2\u0246\u024a\7f\2\2\u0247\u024a\5N(\2\u0248"+
|
||||
"\u024a\7g\2\2\u0249\u0246\3\2\2\2\u0249\u0247\3\2\2\2\u0249\u0248\3\2"+
|
||||
"\2\2\u024aK\3\2\2\2\u024b\u024e\7e\2\2\u024c\u024e\7d\2\2\u024d\u024b"+
|
||||
"\3\2\2\2\u024d\u024c\3\2\2\2\u024eM\3\2\2\2\u024f\u0250\t\17\2\2\u0250"+
|
||||
"O\3\2\2\2R_aenptz}\u0088\u008b\u008f\u0097\u009a\u00a6\u00a9\u00ad\u00b4"+
|
||||
"\u00b8\u00bc\u00c3\u00c7\u00cb\u00d0\u00d4\u00dc\u00e0\u00e7\u00f2\u00f5"+
|
||||
"\u00f9\u0105\u0108\u010e\u0115\u011c\u011f\u0123\u0127\u012b\u012d\u0138"+
|
||||
"\u013d\u0141\u0144\u014a\u014d\u0153\u0156\u0158\u016c\u0179\u0187\u018b"+
|
||||
"\u0193\u0195\u019a\u019d\u01a5\u01ae\u01b4\u01bc\u01c2\u01c5\u01cb\u01d7"+
|
||||
"\u01d9\u01e1\u01e7\u01ee\u01f1\u0210\u0214\u0218\u0225\u0227\u0239\u0240"+
|
||||
"\u0244\u0249\u024d";
|
||||
public static final ATN _ATN =
|
||||
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
||||
static {
|
||||
|
|
Loading…
Reference in New Issue