Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/* Cypher.java */
/* Generated by: ParserGeneratorCC: Do not edit this line. Cypher.java */
/*
* Copyright (c) "Neo4j"
* Neo4j Sweden AB [https://neo4j.com]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.neo4j.cypher.internal.parser.javacc;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.Stack;
import org.neo4j.cypher.internal.parser.common.ast.factory.AccessType;
import org.neo4j.cypher.internal.parser.common.ast.factory.ASTExceptionFactory;
import org.neo4j.cypher.internal.ast.factory.ASTFactory;
import org.neo4j.cypher.internal.ast.factory.ASTFactory.StringPos;
import org.neo4j.cypher.internal.parser.common.ast.factory.ActionType;
import org.neo4j.cypher.internal.parser.common.ast.factory.ConstraintType;
import org.neo4j.cypher.internal.parser.common.ast.factory.CallInTxsOnErrorBehaviourType;
import org.neo4j.cypher.internal.parser.common.ast.factory.ConstraintVersion;
import org.neo4j.cypher.internal.parser.common.ast.factory.CreateIndexTypes;
import org.neo4j.cypher.internal.parser.common.ast.factory.HintIndexType;
import org.neo4j.cypher.internal.parser.common.ast.factory.ParameterType;
import org.neo4j.cypher.internal.parser.common.ast.factory.ParserCypherTypeName;
import org.neo4j.cypher.internal.parser.common.ast.factory.ParserNormalForm;
import org.neo4j.cypher.internal.parser.common.ast.factory.ParserTrimSpecification;
import org.neo4j.cypher.internal.parser.common.ast.factory.ScopeType;
import org.neo4j.cypher.internal.parser.common.ast.factory.ShowCommandFilterTypes;
import org.neo4j.cypher.internal.parser.common.ast.factory.SimpleEither;
import org.neo4j.cypher.internal.parser.common.InvalidUnicodeLiteral;
import org.neo4j.cypher.internal.parser.common.deprecation.DeprecatedChars;
public class Cypher implements CypherConstants {
ASTExceptionFactory exceptionFactory;
ASTFactory astFactory;
// to distinguish a bar that follows a label expression from the or-operator as part of a label expression, this stack keeps track of the current context
Stack labelExpressionStack = new Stack<>();
public Cypher(ASTFactory astFactory,
ASTExceptionFactory exceptionFactory,
CharStream stream) {
this(stream);
this.astFactory = astFactory;
this.exceptionFactory = exceptionFactory;
}
private POS pos( Token t )
{
return t != null ? astFactory.inputPosition( t.beginOffset, t.beginLine, t.beginColumn ) : null;
}
private POS endPos( Token t )
{
return t != null ? astFactory.inputPosition( t.endOffset, t.endLine, t.endColumn ) : null;
}
private ENTITY_TYPE nodeType()
{
return astFactory.nodeType();
}
private ENTITY_TYPE relationshipType()
{
return astFactory.relationshipType();
}
private ENTITY_TYPE nodeOrRelationshipType()
{
return astFactory.nodeOrRelationshipType();
}
private void assertValidType( Token t, String expected, String actual ) throws Exception
{
if ( expected != null && !expected.equals(actual) )
{
throw exceptionFactory.syntaxException( new ParseException(
String.format("Invalid input '%s': expected \"%s\"", t.image, expected ) ), t.beginOffset, t.beginLine, t.beginColumn );
}
}
private void assertNotAlreadySet( Object object, Token token, String errorMessage ) throws Exception
{
if ( object != null )
{
throw exceptionFactory.syntaxException( new ParseException( errorMessage ), token.beginOffset, token.beginLine, token.beginColumn );
}
}
/** Root production. */
final public STATEMENTS Statements() throws ParseException, Exception {STATEMENT x;
List stmts = new ArrayList<>();
try {
x = Statement();
stmts.add( x );
label_1:
while (true) {
if (jj_2_1(2)) {
} else {
break label_1;
}
jj_consume_token(SEMICOLON);
x = Statement();
stmts.add( x );
}
if (jj_2_2(2)) {
jj_consume_token(SEMICOLON);
} else {
;
}
jj_consume_token(0);
{if ("" != null) return astFactory.statements(stmts);}
} catch (ParseException e) {
Token t = e.currentToken.next;
if ( e.getMessage().contains( "Encountered \"\"" ) )
{
throw exceptionFactory.syntaxException( t.image, ParseExceptions.expected( e.expectedTokenSequences, e.tokenImage ), e,
t.endOffset + 1, t.endLine, t.endColumn + 1 );
}
else
{
throw exceptionFactory.syntaxException( t.image, ParseExceptions.expected( e.expectedTokenSequences, e.tokenImage ), e,
t.beginOffset, t.beginLine, t.beginColumn );
}
} catch (InvalidUnicodeLiteral e) {
throw exceptionFactory.syntaxException( e, e.offset, e.line, e.column );
}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT Statement() throws ParseException, Exception {STATEMENT statement;
USE_CLAUSE useClause = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case USING:{
PeriodicCommitQueryHintFailure();
break;
}
default:
jj_la1[0] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case USE:{
useClause = UseClause();
statement = SingleQueryOrCommandWithUseClause(useClause);
break;
}
case ALTER:
case CALL:
case CREATE:
case DEALLOCATE:
case DELETE:
case DENY:
case DETACH:
case DROP:
case DRYRUN:
case ENABLE:
case FINISH:
case FOREACH:
case GRANT:
case INSERT:
case LIMITROWS:
case LOAD:
case MATCH:
case MERGE:
case NODETACH:
case OFFSET:
case OPTIONAL:
case ORDER:
case REALLOCATE:
case RENAME:
case REMOVE:
case RETURN:
case REVOKE:
case SET:
case SHOW:
case SKIPROWS:
case START:
case STOP:
case TERMINATE:
case UNWIND:
case WITH:{
statement = SingleQueryOrCommand();
break;
}
default:
jj_la1[1] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return statement;}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT SingleQueryOrCommand() throws ParseException, Exception {STATEMENT statement = null;
QUERY query = null;
if (jj_2_3(2)) {
statement = CreateCommand(null);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALTER:
case DEALLOCATE:
case DENY:
case DROP:
case DRYRUN:
case ENABLE:
case GRANT:
case REALLOCATE:
case RENAME:
case REVOKE:
case SHOW:
case START:
case STOP:
case TERMINATE:{
statement = Command(null);
break;
}
case CALL:
case CREATE:
case DELETE:
case DETACH:
case FINISH:
case FOREACH:
case INSERT:
case LIMITROWS:
case LOAD:
case MATCH:
case MERGE:
case NODETACH:
case OFFSET:
case OPTIONAL:
case ORDER:
case REMOVE:
case RETURN:
case SET:
case SKIPROWS:
case UNWIND:
case USE:
case WITH:{
query = SingleQuery();
label_2:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNION:{
break;
}
default:
jj_la1[2] = jj_gen;
break label_2;
}
query = Union(query);
}
break;
}
default:
jj_la1[3] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
if ( query != null )
{
{if ("" != null) return query;}
}
{if ("" != null) return statement;}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT SingleQueryOrCommandWithUseClause(USE_CLAUSE useClause) throws ParseException, Exception {STATEMENT statement = null;
QUERY query = null;
if (jj_2_4(2)) {
statement = CreateCommand(useClause);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALTER:
case DEALLOCATE:
case DENY:
case DROP:
case DRYRUN:
case ENABLE:
case GRANT:
case REALLOCATE:
case RENAME:
case REVOKE:
case SHOW:
case START:
case STOP:
case TERMINATE:{
statement = Command(useClause);
break;
}
default:
jj_la1[5] = jj_gen;
query = SingleQueryWithUseClause(useClause);
label_3:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNION:{
break;
}
default:
jj_la1[4] = jj_gen;
break label_3;
}
query = Union(query);
}
}
}
if ( query != null )
{
{if ("" != null) return query;}
}
{if ("" != null) return statement;}
throw new IllegalStateException ("Missing return statement in function");
}
final public void PeriodicCommitQueryHintFailure() throws ParseException, Exception {Token tPeriodicCommit;
jj_consume_token(USING);
tPeriodicCommit = jj_consume_token(PERIODIC);
jj_consume_token(COMMIT);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:{
jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
break;
}
default:
jj_la1[6] = jj_gen;
;
}
throw exceptionFactory.syntaxException(
new ParseException( ASTExceptionFactory.periodicCommitNotSupported ),
tPeriodicCommit.beginOffset, tPeriodicCommit.beginLine, tPeriodicCommit.beginColumn );
}
final public QUERY RegularQuery() throws ParseException, Exception {QUERY x;
x = SingleQuery();
label_4:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNION:{
break;
}
default:
jj_la1[7] = jj_gen;
break label_4;
}
x = Union(x);
}
{if ("" != null) return x;}
throw new IllegalStateException ("Missing return statement in function");
}
final public QUERY Union(QUERY lhs) throws ParseException, Exception {Token t;
QUERY rhs;
boolean all = false;
t = jj_consume_token(UNION);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALL:
case DISTINCT:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALL:{
jj_consume_token(ALL);
all = true;
break;
}
case DISTINCT:{
jj_consume_token(DISTINCT);
break;
}
default:
jj_la1[8] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[9] = jj_gen;
;
}
rhs = SingleQuery();
{if ("" != null) return astFactory.newUnion( pos( t ), lhs, rhs, all );}
throw new IllegalStateException ("Missing return statement in function");
}
final public QUERY SingleQuery() throws ParseException, Exception {CLAUSE x;
List clauses = new ArrayList<>();
label_5:
while (true) {
x = Clause();
clauses.add( x );
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CALL:
case CREATE:
case DELETE:
case DETACH:
case FINISH:
case FOREACH:
case INSERT:
case LIMITROWS:
case LOAD:
case MATCH:
case MERGE:
case NODETACH:
case OFFSET:
case OPTIONAL:
case ORDER:
case REMOVE:
case RETURN:
case SET:
case SKIPROWS:
case UNWIND:
case USE:
case WITH:{
break;
}
default:
jj_la1[10] = jj_gen;
break label_5;
}
}
{if ("" != null) return astFactory.newSingleQuery( clauses );}
throw new IllegalStateException ("Missing return statement in function");
}
final public QUERY SingleQueryWithUseClause(CLAUSE useClause) throws ParseException, Exception {CLAUSE x;
List clauses = new ArrayList<>();
if ( useClause != null )
{
clauses.add( useClause );
}
label_6:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CALL:
case CREATE:
case DELETE:
case DETACH:
case FINISH:
case FOREACH:
case INSERT:
case LIMITROWS:
case LOAD:
case MATCH:
case MERGE:
case NODETACH:
case OFFSET:
case OPTIONAL:
case ORDER:
case REMOVE:
case RETURN:
case SET:
case SKIPROWS:
case UNWIND:
case USE:
case WITH:{
break;
}
default:
jj_la1[11] = jj_gen;
break label_6;
}
x = Clause();
clauses.add( x );
}
{if ("" != null) return astFactory.newSingleQuery( clauses );}
throw new IllegalStateException ("Missing return statement in function");
}
final public CLAUSE Clause() throws ParseException, Exception {CLAUSE x = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case USE:{
x = UseClause();
break;
}
case FINISH:{
x = FinishClause();
break;
}
case RETURN:{
x = ReturnClause();
break;
}
case CREATE:{
x = CreateClause();
break;
}
case INSERT:{
x = InsertClause();
break;
}
case DELETE:
case DETACH:
case NODETACH:{
x = DeleteClause();
break;
}
case SET:{
x = SetClause();
break;
}
case REMOVE:{
x = RemoveClause();
break;
}
default:
jj_la1[12] = jj_gen;
if (jj_2_5(2)) {
x = MatchClause();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case MERGE:{
x = MergeClause();
break;
}
case WITH:{
x = WithClause();
break;
}
case UNWIND:{
x = UnwindClause();
break;
}
default:
jj_la1[13] = jj_gen;
if (jj_2_6(3)) {
x = CallClause();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CALL:
case OPTIONAL:{
x = SubqueryClause();
break;
}
case LOAD:{
x = LoadCSVClause();
break;
}
case FOREACH:{
x = ForeachClause();
break;
}
case LIMITROWS:
case OFFSET:
case ORDER:
case SKIPROWS:{
x = OrderBySkipLimitClause();
break;
}
default:
jj_la1[14] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
}
{if ("" != null) return x;}
throw new IllegalStateException ("Missing return statement in function");
}
// USE
final public
USE_CLAUSE UseClause() throws ParseException, Exception {Token t;
USE_CLAUSE useClause;
t = jj_consume_token(USE);
if (jj_2_7(2)) {
jj_consume_token(GRAPH);
useClause = graphReference(t);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
useClause = graphReference(t);
break;
}
default:
jj_la1[15] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return useClause;}
throw new IllegalStateException ("Missing return statement in function");
}
final public USE_CLAUSE graphReference(Token t) throws ParseException, Exception {AliasName aliasName;
FUNCTION_INVOCATION functionInvocation;
USE_CLAUSE useClause;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
jj_consume_token(LPAREN);
useClause = graphReference(t);
jj_consume_token(RPAREN);
{if ("" != null) return useClause;}
break;
}
default:
jj_la1[16] = jj_gen;
if (jj_2_8(2147483647)) {
functionInvocation = FunctionInvocation(true);
{if ("" != null) return astFactory.functionUseClause(pos(t), functionInvocation);}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
aliasName = SymbolicAliasName();
{if ("" != null) return astFactory.directUseClause(pos(t), aliasName.getLocalAliasName(astFactory));}
break;
}
default:
jj_la1[17] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
throw new IllegalStateException ("Missing return statement in function");
}
// FINISH
final public
FINISH_CLAUSE FinishClause() throws ParseException, Exception {Token t;
t = jj_consume_token(FINISH);
{if ("" != null) return astFactory.newFinishClause( pos( t ) );}
throw new IllegalStateException ("Missing return statement in function");
}
// RETURN
final public
RETURN_CLAUSE ReturnClause() throws ParseException, Exception {Token t;
RETURN_CLAUSE clause = null;
t = jj_consume_token(RETURN);
clause = ReturnBody(t);
{if ("" != null) return clause;}
throw new IllegalStateException ("Missing return statement in function");
}
final public RETURN_CLAUSE ReturnBody(Token t) throws ParseException, Exception {Token skipPosition = null;
Token limitPosition = null;
boolean distinct = false;
List order = new ArrayList<>();
Token orderPos = null;
EXPRESSION skip = null;
EXPRESSION limit = null;
ORDER_ITEM o = null;
RETURN_ITEM x;
RETURN_ITEMS returnItems;
if (jj_2_9(2)) {
jj_consume_token(DISTINCT);
distinct = true;
} else {
;
}
returnItems = ReturnItems();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ORDER:{
orderPos = jj_consume_token(ORDER);
jj_consume_token(BY);
o = OrderItem();
order.add( o );
label_7:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[18] = jj_gen;
break label_7;
}
jj_consume_token(COMMA);
o = OrderItem();
order.add( o );
}
break;
}
default:
jj_la1[19] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OFFSET:
case SKIPROWS:{
skipPosition=token.next;
skip = Skip();
break;
}
default:
jj_la1[20] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LIMITROWS:{
limitPosition=token.next;
limit = Limit();
break;
}
default:
jj_la1[21] = jj_gen;
;
}
{if ("" != null) return astFactory.newReturnClause( pos( t ), distinct, returnItems, order, pos( orderPos ), skip, pos( skipPosition ), limit, pos( limitPosition ) );}
throw new IllegalStateException ("Missing return statement in function");
}
final public RETURN_ITEM ReturnItem() throws ParseException, Exception {EXPRESSION e;
VARIABLE v = null;
Token eStart;
Token eEnd;
eStart = token;
e = Expression();
eEnd = token;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case AS:{
jj_consume_token(AS);
v = Variable();
break;
}
default:
jj_la1[22] = jj_gen;
;
}
if ( v != null )
{
{if ("" != null) return astFactory.newReturnItem( pos( eStart.next ), e, v );}
}
else
{
{if ("" != null) return astFactory.newReturnItem( pos( eStart.next ), e, eStart.next.beginOffset, eEnd.endOffset );}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public RETURN_ITEMS ReturnItems() throws ParseException, Exception {Token returnItemsPosition;
RETURN_ITEM x;
List returnItems = new ArrayList<>();
boolean returnAll = false;
returnItemsPosition = token;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
jj_consume_token(TIMES);
returnAll = true;
label_8:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[23] = jj_gen;
break label_8;
}
jj_consume_token(COMMA);
x = ReturnItem();
returnItems.add( x );
}
break;
}
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
x = ReturnItem();
returnItems.add( x );
label_9:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[24] = jj_gen;
break label_9;
}
jj_consume_token(COMMA);
x = ReturnItem();
returnItems.add( x );
}
break;
}
default:
jj_la1[25] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return astFactory.newReturnItems( pos( returnItemsPosition.next ), returnAll, returnItems );}
throw new IllegalStateException ("Missing return statement in function");
}
final public ORDER_ITEM OrderItem() throws ParseException, Exception {Token t;
EXPRESSION e;
t = token;
e = Expression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DESC:
case DESCENDING:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DESC:{
jj_consume_token(DESC);
break;
}
case DESCENDING:{
jj_consume_token(DESCENDING);
break;
}
default:
jj_la1[26] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return astFactory.orderDesc( pos( t.next ), e );}
break;
}
default:
jj_la1[29] = jj_gen;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ASC:
case ASCENDING:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ASC:{
jj_consume_token(ASC);
break;
}
case ASCENDING:{
jj_consume_token(ASCENDING);
break;
}
default:
jj_la1[27] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[28] = jj_gen;
;
}
{if ("" != null) return astFactory.orderAsc( pos( t.next ), e );}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Skip() throws ParseException, Exception {EXPRESSION e;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OFFSET:{
jj_consume_token(OFFSET);
break;
}
case SKIPROWS:{
jj_consume_token(SKIPROWS);
break;
}
default:
jj_la1[30] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
e = Expression();
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Limit() throws ParseException, Exception {EXPRESSION e;
jj_consume_token(LIMITROWS);
e = Expression();
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
// WHERE
final public
WHERE WhereClause() throws ParseException, Exception {Token t;
EXPRESSION e;
t = jj_consume_token(WHERE);
e = Expression();
{if ("" != null) return astFactory.whereClause( pos( t ), e );}
throw new IllegalStateException ("Missing return statement in function");
}
// WITH
final public
CLAUSE WithClause() throws ParseException, Exception {Token t;
RETURN_CLAUSE returnClause;
WHERE where = null;
t = jj_consume_token(WITH);
returnClause = ReturnBody(t);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[31] = jj_gen;
;
}
{if ("" != null) return astFactory.withClause( pos( t ), returnClause, where );}
throw new IllegalStateException ("Missing return statement in function");
}
// CREATE
final public
CLAUSE CreateClause() throws ParseException, Exception {Token t;
List patterns;
t = jj_consume_token(CREATE);
patterns = PatternList();
{if ("" != null) return astFactory.createClause( pos( t ), patterns );}
throw new IllegalStateException ("Missing return statement in function");
}
// INSERT
final public
CLAUSE InsertClause() throws ParseException, Exception {Token t;
List patterns;
t = jj_consume_token(INSERT);
patterns = InsertPatternList();
{if ("" != null) return astFactory.insertClause( pos( t ), patterns );}
throw new IllegalStateException ("Missing return statement in function");
}
// SET
final public
SET_CLAUSE SetClause() throws ParseException, Exception {Token t;
SET_ITEM item;
List items = new ArrayList<>();
t = jj_consume_token(SET);
item = SetItem();
items.add( item );
label_10:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[32] = jj_gen;
break label_10;
}
jj_consume_token(COMMA);
item = SetItem();
items.add( item );
}
{if ("" != null) return astFactory.setClause( pos( t ), items );}
throw new IllegalStateException ("Missing return statement in function");
}
final public SET_ITEM SetItem() throws ParseException, Exception {EXPRESSION e;
PROPERTY p;
EXPRESSION d;
VARIABLE v;
SET_ITEM setItem = null;
if (jj_2_10(2147483647)) {
p = PropertyExpression();
jj_consume_token(EQ);
e = Expression();
{if ("" != null) return astFactory.setProperty( p, e );}
} else if (jj_2_11(2147483647)) {
d = DynamicPropertyExpression();
jj_consume_token(EQ);
e = Expression();
{if ("" != null) return astFactory.setDynamicProperty( d, e );}
} else if (jj_2_12(2)) {
v = Variable();
jj_consume_token(EQ);
e = Expression();
{if ("" != null) return astFactory.setVariable( v, e );}
} else if (jj_2_13(2)) {
v = Variable();
jj_consume_token(PLUSEQUAL);
e = Expression();
{if ("" != null) return astFactory.addAndSetVariable( v, e );}
} else if (jj_2_14(2)) {
v = Variable();
setItem = SetNodeLabels(v);
{if ("" != null) return setItem;}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
v = Variable();
setItem = SetNodeLabelsIs(v);
{if ("" != null) return setItem;}
break;
}
default:
jj_la1[33] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
// REMOVE
final public
CLAUSE RemoveClause() throws ParseException, Exception {Token t;
REMOVE_ITEM item;
List items = new ArrayList<>();
t = jj_consume_token(REMOVE);
item = RemoveItem();
items.add( item );
label_11:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[34] = jj_gen;
break label_11;
}
jj_consume_token(COMMA);
item = RemoveItem();
items.add( item );
}
{if ("" != null) return astFactory.removeClause( pos( t ), items );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REMOVE_ITEM RemoveItem() throws ParseException, Exception {EXPRESSION e;
PROPERTY p;
VARIABLE v;
REMOVE_ITEM removeItem = null;
if (jj_2_15(2147483647)) {
p = PropertyExpression();
{if ("" != null) return astFactory.removeProperty( p );}
} else if (jj_2_16(2147483647)) {
e = DynamicPropertyExpression();
{if ("" != null) return astFactory.removeDynamicProperty( e );}
} else if (jj_2_17(2)) {
v = Variable();
removeItem = RemoveNodeLabelsColon(v);
{if ("" != null) return removeItem;}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
v = Variable();
removeItem = RemoveNodeLabelsIs(v);
{if ("" != null) return removeItem;}
break;
}
default:
jj_la1[35] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
// DELETE
final public
CLAUSE DeleteClause() throws ParseException, Exception {Token detachT = null;
Token t;
boolean detach = false;
EXPRESSION e;
List list = new ArrayList<>();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DETACH:
case NODETACH:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DETACH:{
detachT = jj_consume_token(DETACH);
detach = true;
break;
}
case NODETACH:{
detachT = jj_consume_token(NODETACH);
break;
}
default:
jj_la1[36] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[37] = jj_gen;
;
}
t = jj_consume_token(DELETE);
e = Expression();
list.add( e );
label_12:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[38] = jj_gen;
break label_12;
}
jj_consume_token(COMMA);
e = Expression();
list.add( e );
}
{if ("" != null) return astFactory.deleteClause( pos( detachT != null ? detachT : t ), detach, list );}
throw new IllegalStateException ("Missing return statement in function");
}
// MATCH
final public
CLAUSE MatchClause() throws ParseException, Exception {Token optionalT = null;
Token t;
Token whereToken = null;
boolean optional = false;
MATCH_MODE matchMode = null;
List patterns;
List hints;
WHERE where = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OPTIONAL:{
optionalT = jj_consume_token(OPTIONAL);
optional = true;
break;
}
default:
jj_la1[39] = jj_gen;
;
}
t = jj_consume_token(MATCH);
if (jj_2_18(2)) {
matchMode = MatchMode();
} else {
;
}
patterns = PatternList();
hints = Hints();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[40] = jj_gen;
;
}
{if ("" != null) return astFactory.matchClause( pos( optionalT != null ? optionalT : t ), optional, matchMode, patterns, pos( t.next ), hints, where );}
throw new IllegalStateException ("Missing return statement in function");
}
final public MATCH_MODE MatchMode() throws ParseException {Token t;
MATCH_MODE matchMode;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case REPEATABLE:{
t = jj_consume_token(REPEATABLE);
if (jj_2_19(2)) {
jj_consume_token(ELEMENT);
jj_consume_token(BINDINGS);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ELEMENT:{
jj_consume_token(ELEMENT);
break;
}
case ELEMENTS:{
jj_consume_token(ELEMENTS);
break;
}
default:
jj_la1[41] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
matchMode = astFactory.repeatableElements(pos(t));
break;
}
case DIFFERENT:{
t = jj_consume_token(DIFFERENT);
if (jj_2_20(2)) {
jj_consume_token(RELATIONSHIP);
jj_consume_token(BINDINGS);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RELATIONSHIP:{
jj_consume_token(RELATIONSHIP);
break;
}
case RELATIONSHIPS:{
jj_consume_token(RELATIONSHIPS);
break;
}
default:
jj_la1[42] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
matchMode = astFactory.differentRelationships(pos(t));
break;
}
default:
jj_la1[43] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return matchMode;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List Hints() throws ParseException {Token t;
boolean seek;
VARIABLE v;
Token labelOrRelType;
List joinVariables;
HINT hint;
List hints = null;
label_13:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case USING:{
break;
}
default:
jj_la1[44] = jj_gen;
break label_13;
}
t = jj_consume_token(USING);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case INDEX:{
jj_consume_token(INDEX);
hint = IndexHintBody(HintIndexType.ANY, pos( t ));
break;
}
case BTREE:{
jj_consume_token(BTREE);
jj_consume_token(INDEX);
hint = IndexHintBody(HintIndexType.BTREE, pos( t ));
break;
}
case TEXT:{
jj_consume_token(TEXT);
jj_consume_token(INDEX);
hint = IndexHintBody(HintIndexType.TEXT, pos( t ));
break;
}
case RANGE:{
jj_consume_token(RANGE);
jj_consume_token(INDEX);
hint = IndexHintBody(HintIndexType.RANGE, pos( t ));
break;
}
case POINT:{
jj_consume_token(POINT);
jj_consume_token(INDEX);
hint = IndexHintBody(HintIndexType.POINT, pos( t ));
break;
}
case JOIN:{
jj_consume_token(JOIN);
jj_consume_token(ON);
joinVariables = VariableList1();
hint = astFactory.usingJoin( pos( t ), joinVariables );
break;
}
case SCAN:{
jj_consume_token(SCAN);
v = Variable();
labelOrRelType = LabelOrRelType();
hint = astFactory.usingScan( pos( t ), v, labelOrRelType.image );
break;
}
default:
jj_la1[45] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
if ( hints == null )
{
hints = new ArrayList<>();
}
hints.add( hint );
}
{if ("" != null) return hints;}
throw new IllegalStateException ("Missing return statement in function");
}
final public HINT IndexHintBody(HintIndexType indexType, POS p) throws ParseException {boolean seek = false;
VARIABLE v;
Token labelOrRelType;
List propNames;
if (jj_2_21(2)) {
jj_consume_token(SEEK);
seek = true;
} else {
;
}
v = Variable();
labelOrRelType = LabelOrRelType();
jj_consume_token(LPAREN);
propNames = SymbolicNameList1();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.usingIndexHint( p, v, labelOrRelType.image, propNames, seek, indexType);}
throw new IllegalStateException ("Missing return statement in function");
}
// MERGE
final public
CLAUSE MergeClause() throws ParseException, Exception {Token t;
Token onToken;
PATTERN p;
SET_CLAUSE c;
ArrayList clauses = new ArrayList<>();
ArrayList positions = new ArrayList<>();
ArrayList actionTypes = new ArrayList<>();
t = jj_consume_token(MERGE);
p = Pattern();
label_14:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ON:{
break;
}
default:
jj_la1[46] = jj_gen;
break label_14;
}
onToken = jj_consume_token(ON);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case MATCH:{
jj_consume_token(MATCH);
c = SetClause();
clauses.add( c ); actionTypes.add( ASTFactory.MergeActionType.OnMatch ); positions.add( pos( onToken ) );
break;
}
case CREATE:{
jj_consume_token(CREATE);
c = SetClause();
clauses.add( c ); actionTypes.add( ASTFactory.MergeActionType.OnCreate ); positions.add( pos( onToken ) );
break;
}
default:
jj_la1[47] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return astFactory.mergeClause( pos( t ), p, clauses, actionTypes, positions );}
throw new IllegalStateException ("Missing return statement in function");
}
// UNWIND
final public
CLAUSE UnwindClause() throws ParseException, Exception {Token t;
EXPRESSION e;
VARIABLE v;
t = jj_consume_token(UNWIND);
e = Expression();
jj_consume_token(AS);
v = Variable();
{if ("" != null) return astFactory.unwindClause( pos( t ), e, v );}
throw new IllegalStateException ("Missing return statement in function");
}
// CALL
final public
CLAUSE CallClause() throws ParseException, Exception {Token optionalT = null;
Token t;
Token procedureNamePosition;
Token procedureResultPosition = null;
List namespace;
String name;
EXPRESSION e;
List arguments = null;
boolean yieldAll = false;
CALL_RESULT_ITEM x;
List items = null;
WHERE where = null;
boolean optional = false;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OPTIONAL:{
optionalT = jj_consume_token(OPTIONAL);
optional=true;
break;
}
default:
jj_la1[48] = jj_gen;
;
}
t = jj_consume_token(CALL);
namespace = Namespace();
procedureNamePosition = token;
name = ProcedureName();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
jj_consume_token(LPAREN);
arguments = new ArrayList<>();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e = Expression();
arguments.add( e );
label_15:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[49] = jj_gen;
break label_15;
}
jj_consume_token(COMMA);
e = Expression();
arguments.add( e );
}
break;
}
default:
jj_la1[50] = jj_gen;
;
}
jj_consume_token(RPAREN);
break;
}
default:
jj_la1[51] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case YIELD:{
procedureResultPosition = jj_consume_token(YIELD);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
jj_consume_token(TIMES);
yieldAll = true;
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
items = new ArrayList<>();
x = ProcedureResultItem();
items.add( x );
label_16:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[52] = jj_gen;
break label_16;
}
jj_consume_token(COMMA);
x = ProcedureResultItem();
items.add( x );
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[53] = jj_gen;
;
}
break;
}
default:
jj_la1[54] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[55] = jj_gen;
;
}
{if ("" != null) return astFactory.callClause( pos( optionalT != null ? optionalT : t ),
pos( t.next ),
pos( procedureNamePosition.next ),
pos( procedureResultPosition ),
namespace,
name,
arguments,
yieldAll,
items,
where,
optional);}
throw new IllegalStateException ("Missing return statement in function");
}
final public String ProcedureName() throws ParseException {Token t;
t = SymbolicNameString();
{if ("" != null) return t.image;}
throw new IllegalStateException ("Missing return statement in function");
}
final public CALL_RESULT_ITEM ProcedureResultItem() throws ParseException {Token t;
VARIABLE v = null;
t = SymbolicNameString();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case AS:{
jj_consume_token(AS);
v = Variable();
break;
}
default:
jj_la1[56] = jj_gen;
;
}
{if ("" != null) return astFactory.callResultItem( pos( t ), t.image, v );}
throw new IllegalStateException ("Missing return statement in function");
}
// LOAD CSV
final public
CLAUSE LoadCSVClause() throws ParseException, Exception {Token t;
boolean headers = false;
EXPRESSION source;
VARIABLE v;
Token sep = null;
t = jj_consume_token(LOAD);
jj_consume_token(CSV);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WITH:{
jj_consume_token(WITH);
jj_consume_token(HEADERS);
headers = true;
break;
}
default:
jj_la1[57] = jj_gen;
;
}
jj_consume_token(FROM);
try {
source = Expression();
} catch (Exception e) {
throw new ParseException( exceptionFactory.failedToParseFile + " " + e.getMessage() );
}
jj_consume_token(AS);
v = Variable();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case FIELDTERMINATOR:{
jj_consume_token(FIELDTERMINATOR);
sep = StringToken();
break;
}
default:
jj_la1[58] = jj_gen;
;
}
{if ("" != null) return astFactory.loadCsvClause( pos( t ), headers, source, v, sep == null ? null : sep.image );}
throw new IllegalStateException ("Missing return statement in function");
}
// FOREACH
final public
CLAUSE ForeachClause() throws ParseException, Exception {Token t;
VARIABLE v = null;
EXPRESSION list;
CLAUSE c;
List clauses = new ArrayList<>();
t = jj_consume_token(FOREACH);
jj_consume_token(LPAREN);
v = Variable();
jj_consume_token(IN);
list = Expression();
jj_consume_token(BAR);
label_17:
while (true) {
c = Clause();
clauses.add( c );
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CALL:
case CREATE:
case DELETE:
case DETACH:
case FINISH:
case FOREACH:
case INSERT:
case LIMITROWS:
case LOAD:
case MATCH:
case MERGE:
case NODETACH:
case OFFSET:
case OPTIONAL:
case ORDER:
case REMOVE:
case RETURN:
case SET:
case SKIPROWS:
case UNWIND:
case USE:
case WITH:{
break;
}
default:
jj_la1[59] = jj_gen;
break label_17;
}
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.foreachClause( pos( t ), v, list, clauses );}
throw new IllegalStateException ("Missing return statement in function");
}
final public CLAUSE SubqueryClause() throws ParseException, Exception {Token optionalT = null;
Token t;
QUERY q;
SUBQUERY_IN_TRANSACTIONS_PARAMETERS inTransactionsParams = null;
boolean isImportingAll = false;
boolean hasScope = false;
VARIABLE v;
List variables = new ArrayList<>();
boolean optional = false;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OPTIONAL:{
optionalT = jj_consume_token(OPTIONAL);
optional=true;
break;
}
default:
jj_la1[60] = jj_gen;
;
}
t = jj_consume_token(CALL);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
jj_consume_token(LPAREN);
hasScope = true;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
jj_consume_token(TIMES);
isImportingAll = true;
break;
}
default:
jj_la1[63] = jj_gen;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
v = Variable();
variables.add(v);
label_18:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[61] = jj_gen;
break label_18;
}
jj_consume_token(COMMA);
v = Variable();
variables.add(v);
}
break;
}
default:
jj_la1[62] = jj_gen;
;
}
}
jj_consume_token(RPAREN);
break;
}
default:
jj_la1[64] = jj_gen;
;
}
jj_consume_token(LCURLY);
q = RegularQuery();
jj_consume_token(RCURLY);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case IN:{
inTransactionsParams = SubqueryInTransactionsParameters();
break;
}
default:
jj_la1[65] = jj_gen;
;
}
{if ("" != null) return astFactory.subqueryClause(
pos( optionalT != null ? optionalT : t ),
q,
inTransactionsParams,
isImportingAll,
hasScope,
variables,
optional
);}
throw new IllegalStateException ("Missing return statement in function");
}
final public SUBQUERY_IN_TRANSACTIONS_PARAMETERS SubqueryInTransactionsParameters() throws ParseException, Exception {Token t;
SUBQUERY_IN_TRANSACTIONS_BATCH_PARAMETERS batchParams = null;
SUBQUERY_IN_TRANSACTIONS_CONCURRENCY_PARAMETERS concurrencyParams = null;
SUBQUERY_IN_TRANSACTIONS_ERROR_PARAMETERS errorParams = null;
SUBQUERY_IN_TRANSACTIONS_REPORT_PARAMETERS reportParams = null;
EXPRESSION c = null;
String repeatedBatch = "Duplicated OF ROWS parameter";
String repeatedOnError = "Duplicated ON ERROR parameter";
String repeatedReport = "Duplicated REPORT STATUS parameter";
t = jj_consume_token(IN);
if (jj_2_22(2)) {
c = Expression();
jj_consume_token(CONCURRENT);
concurrencyParams = astFactory.subqueryInTransactionsConcurrencyParameters(pos( t ), c);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CONCURRENT:{
jj_consume_token(CONCURRENT);
concurrencyParams = astFactory.subqueryInTransactionsConcurrencyParameters(pos( t ), null);
break;
}
default:
jj_la1[66] = jj_gen;
concurrencyParams = null;
}
}
t = jj_consume_token(TRANSACTIONS);
label_19:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OF:
case ON:
case REPORT:{
break;
}
default:
jj_la1[67] = jj_gen;
break label_19;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OF:{
assertNotAlreadySet( batchParams, t, repeatedBatch );
batchParams = SubqueryInTransactionsBatchParameters();
break;
}
case ON:{
assertNotAlreadySet( errorParams, t, repeatedOnError );
errorParams = SubqueryInTransactionsErrorParameters();
break;
}
case REPORT:{
assertNotAlreadySet( reportParams, t, repeatedReport );
reportParams = SubqueryInTransactionsReportParameters();
break;
}
default:
jj_la1[68] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return astFactory.subqueryInTransactionsParams( pos( t ), batchParams, concurrencyParams, errorParams, reportParams);}
throw new IllegalStateException ("Missing return statement in function");
}
final public SUBQUERY_IN_TRANSACTIONS_BATCH_PARAMETERS SubqueryInTransactionsBatchParameters() throws ParseException, Exception {Token t;
EXPRESSION batchSize;
t = jj_consume_token(OF);
batchSize = Expression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ROW:{
jj_consume_token(ROW);
break;
}
case ROWS:{
jj_consume_token(ROWS);
break;
}
default:
jj_la1[69] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return astFactory.subqueryInTransactionsBatchParameters( pos( t ), batchSize);}
throw new IllegalStateException ("Missing return statement in function");
}
final public SUBQUERY_IN_TRANSACTIONS_ERROR_PARAMETERS SubqueryInTransactionsErrorParameters() throws ParseException {Token t;
CallInTxsOnErrorBehaviourType onErrorBehaviour = CallInTxsOnErrorBehaviourType.ON_ERROR_FAIL;
t = jj_consume_token(ON);
jj_consume_token(ERROR);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CONTINUE:{
jj_consume_token(CONTINUE);
onErrorBehaviour = CallInTxsOnErrorBehaviourType.ON_ERROR_CONTINUE;
break;
}
case BREAK:{
jj_consume_token(BREAK);
onErrorBehaviour = CallInTxsOnErrorBehaviourType.ON_ERROR_BREAK;
break;
}
case FAIL:{
jj_consume_token(FAIL);
break;
}
default:
jj_la1[70] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return astFactory.subqueryInTransactionsErrorParameters( pos( t ), onErrorBehaviour );}
throw new IllegalStateException ("Missing return statement in function");
}
final public SUBQUERY_IN_TRANSACTIONS_REPORT_PARAMETERS SubqueryInTransactionsReportParameters() throws ParseException {Token t;
VARIABLE v;
t = jj_consume_token(REPORT);
jj_consume_token(STATUS);
jj_consume_token(AS);
v = Variable();
{if ("" != null) return astFactory.subqueryInTransactionsReportParameters( pos( t ), v );}
throw new IllegalStateException ("Missing return statement in function");
}
// ORDER BY AND PAGE STATEMENT
final public CLAUSE OrderBySkipLimitClause() throws ParseException, Exception {Token t = null;
Token orderPos = null;
Token skipPos = null;
Token limitPos = null;
EXPRESSION skip = null;
EXPRESSION limit = null;
List order = new ArrayList<>();
ORDER_ITEM o = null;
t = token;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ORDER:{
orderPos = jj_consume_token(ORDER);
jj_consume_token(BY);
o = OrderItem();
t=orderPos; order.add( o );
label_20:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[71] = jj_gen;
break label_20;
}
jj_consume_token(COMMA);
o = OrderItem();
order.add( o );
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OFFSET:
case SKIPROWS:{
skipPos=token.next;
skip = Skip();
break;
}
default:
jj_la1[72] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LIMITROWS:{
limitPos=token.next;
limit = Limit();
break;
}
default:
jj_la1[73] = jj_gen;
;
}
break;
}
case OFFSET:
case SKIPROWS:{
skipPos=token.next; t=skipPos;
skip = Skip();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LIMITROWS:{
limitPos=token.next;
limit = Limit();
break;
}
default:
jj_la1[74] = jj_gen;
;
}
break;
}
case LIMITROWS:{
limitPos=token.next; t=limitPos;
limit = Limit();
break;
}
default:
jj_la1[75] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return astFactory.orderBySkipLimitClause( pos( t ), order, pos( orderPos ), skip, pos( skipPos ), limit, pos( limitPos ) );}
throw new IllegalStateException ("Missing return statement in function");
}
// PATTERN
final public
List PatternList() throws ParseException, Exception {PATTERN p;
List patterns = new ArrayList<>();
p = Pattern();
patterns.add( p );
label_21:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[76] = jj_gen;
break label_21;
}
jj_consume_token(COMMA);
p = Pattern();
patterns.add( p );
}
{if ("" != null) return patterns;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List InsertPatternList() throws ParseException, Exception {PATTERN p;
List patterns = new ArrayList<>();
p = InsertPattern();
patterns.add( p );
label_22:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[77] = jj_gen;
break label_22;
}
jj_consume_token(COMMA);
p = InsertPattern();
patterns.add( p );
}
{if ("" != null) return patterns;}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN Pattern() throws ParseException, Exception {VARIABLE v = null;
PATTERN p;
PATTERN_SELECTOR s = null;
if (jj_2_23(2)) {
v = Variable();
jj_consume_token(EQ);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALL:
case ANY:
case SHORTEST:{
s = Selector();
break;
}
default:
jj_la1[78] = jj_gen;
;
}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALL:
case ANY:
case SHORTEST:{
s = Selector();
break;
}
default:
jj_la1[79] = jj_gen;
;
}
}
p = AnonymousPattern();
if (v != null) p = astFactory.namedPattern( v, p );
if (s != null) p = astFactory.patternWithSelector( s, p );
{if ("" != null) return p;}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN InsertPattern() throws ParseException, Exception {Token errorStart = null;
List patternAtoms = new ArrayList<>();
if (jj_2_24(2)) {
errorStart = SymbolicNameString();
jj_consume_token(EQ);
} else {
;
}
patternAtoms = InsertPathPatternAtoms();
if (errorStart != null)
{
throw exceptionFactory.syntaxException(
new ParseException( ASTExceptionFactory.namedPatternInInsertNotSupported ),
errorStart.beginOffset, errorStart.beginLine, errorStart.beginColumn );
}
{if ("" != null) return astFactory.insertPathPattern( patternAtoms );}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN_QUANTIFIER Quantifier() throws ParseException {Token range;
Token l = null;
Token u = null;
if (jj_2_25(3)) {
range = jj_consume_token(LCURLY);
l = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
jj_consume_token(RCURLY);
{if ("" != null) return astFactory.fixedPathQuantifier(pos(range), pos(l), l.image);}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LCURLY:{
range = jj_consume_token(LCURLY);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:{
l = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
break;
}
default:
jj_la1[80] = jj_gen;
;
}
jj_consume_token(COMMA);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:{
u = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
break;
}
default:
jj_la1[81] = jj_gen;
;
}
jj_consume_token(RCURLY);
{if ("" != null) return astFactory.intervalPathQuantifier(pos(range), pos(l), pos(u), l == null ? null : l.image, u == null ? null : u.image);}
break;
}
case PLUS:{
range = jj_consume_token(PLUS);
{if ("" != null) return astFactory.plusPathQuantifier(pos(range));}
break;
}
case TIMES:{
range = jj_consume_token(TIMES);
{if ("" != null) return astFactory.starPathQuantifier(pos(range));}
break;
}
default:
jj_la1[82] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN AnonymousPattern() throws ParseException, Exception {PATTERN p;
PATTERN_ELEMENT pe;
if (jj_2_26(3)) {
p = ShortestPathPattern();
{if ("" != null) return p;}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
pe = PatternElement();
{if ("" != null) return astFactory.pathPattern( pe );}
break;
}
default:
jj_la1[83] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN ShortestPathPattern() throws ParseException, Exception {Token t;
PATTERN_ELEMENT pe;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHORTEST_PATH:{
t = jj_consume_token(SHORTEST_PATH);
jj_consume_token(LPAREN);
pe = PatternElement();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.shortestPathPattern( pos( t ), pe );}
break;
}
case ALL_SHORTEST_PATH:{
t = jj_consume_token(ALL_SHORTEST_PATH);
jj_consume_token(LPAREN);
pe = PatternElement();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.allShortestPathsPattern( pos( t ), pe );}
break;
}
default:
jj_la1[84] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN_ATOM MaybeQuantifiedRelationshipPattern() throws ParseException, Exception {REL_PATTERN rel;
PATTERN_QUANTIFIER q = null;
rel = RelationshipPattern();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LCURLY:
case PLUS:
case TIMES:{
q = Quantifier();
break;
}
default:
jj_la1[85] = jj_gen;
;
}
if ( q == null )
{
{if ("" != null) return rel;}
}
else
{
{if ("" != null) return astFactory.quantifiedRelationship(rel, q);}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN_ELEMENT PatternElement() throws ParseException, Exception {List patternAtoms = new ArrayList<>();
patternAtoms = PathPatternAtoms();
{if ("" != null) return astFactory.patternElement( patternAtoms );}
throw new IllegalStateException ("Missing return statement in function");
}
final public List PathPatternAtoms() throws ParseException, Exception {NODE_PATTERN n;
PATTERN_ATOM r;
PATTERN_ATOM parenthesizedAtom;
List patternAtoms = new ArrayList<>();
labelExpressionStack.push(ExpectBar.DO_NOT_EXPECT_BAR);
label_23:
while (true) {
if (jj_2_28(3)) {
n = NodePattern();
patternAtoms.add( n );
label_24:
while (true) {
if (jj_2_27(2)) {
} else {
break label_24;
}
r = MaybeQuantifiedRelationshipPattern();
patternAtoms.add( r );
n = NodePattern();
patternAtoms.add( n );
}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
parenthesizedAtom = ParenthesizedPath();
patternAtoms.add( parenthesizedAtom );
break;
}
default:
jj_la1[86] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
break;
}
default:
jj_la1[87] = jj_gen;
break label_23;
}
}
labelExpressionStack.pop();
{if ("" != null) return patternAtoms;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List InsertPathPatternAtoms() throws ParseException, Exception {NODE_PATTERN n;
REL_PATTERN r;
List patternAtoms = new ArrayList<>();
n = InsertNodePattern();
patternAtoms.add( n );
label_25:
while (true) {
if (jj_2_29(2)) {
} else {
break label_25;
}
r = InsertRelationshipPattern();
patternAtoms.add( r );
n = InsertNodePattern();
patternAtoms.add( n );
}
{if ("" != null) return patternAtoms;}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN_SELECTOR Selector() throws ParseException, Exception {Token k = null;
Token s;
PATTERN_SELECTOR selector = null;
if (jj_2_30(2)) {
s = jj_consume_token(ANY);
jj_consume_token(SHORTEST);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:
case PATHS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:{
jj_consume_token(PATH);
break;
}
case PATHS:{
jj_consume_token(PATHS);
break;
}
default:
jj_la1[88] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[89] = jj_gen;
;
}
selector = astFactory.anyShortestPathSelector(null, null, pos(s));
} else if (jj_2_31(2)) {
s = jj_consume_token(ALL);
jj_consume_token(SHORTEST);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:
case PATHS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:{
jj_consume_token(PATH);
break;
}
case PATHS:{
jj_consume_token(PATHS);
break;
}
default:
jj_la1[90] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[91] = jj_gen;
;
}
selector = astFactory.allShortestPathSelector(pos(s));
} else if (jj_2_32(2)) {
s = jj_consume_token(ANY);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:{
k = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
break;
}
default:
jj_la1[92] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:
case PATHS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:{
jj_consume_token(PATH);
break;
}
case PATHS:{
jj_consume_token(PATHS);
break;
}
default:
jj_la1[93] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[94] = jj_gen;
;
}
selector = astFactory.anyPathSelector(k != null ? k.image : null, pos(k), pos(s));
} else if (jj_2_33(2)) {
s = jj_consume_token(ALL);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:
case PATHS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:{
jj_consume_token(PATH);
break;
}
case PATHS:{
jj_consume_token(PATHS);
break;
}
default:
jj_la1[95] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[96] = jj_gen;
;
}
selector = astFactory.allPathSelector(pos(s));
} else if (jj_2_34(4)) {
s = jj_consume_token(SHORTEST);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:{
k = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
break;
}
default:
jj_la1[97] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:
case PATHS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:{
jj_consume_token(PATH);
break;
}
case PATHS:{
jj_consume_token(PATHS);
break;
}
default:
jj_la1[98] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[99] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GROUP:{
jj_consume_token(GROUP);
break;
}
case GROUPS:{
jj_consume_token(GROUPS);
break;
}
default:
jj_la1[100] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
selector = astFactory.shortestGroupsSelector(k != null ? k.image : null, pos(k), pos(s));
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHORTEST:{
s = jj_consume_token(SHORTEST);
k = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:
case PATHS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PATH:{
jj_consume_token(PATH);
break;
}
case PATHS:{
jj_consume_token(PATHS);
break;
}
default:
jj_la1[101] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[102] = jj_gen;
;
}
selector = astFactory.anyShortestPathSelector(k.image, pos(k), pos(s));
break;
}
default:
jj_la1[103] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return selector;}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN PathPatternNonEmpty() throws ParseException, Exception {NODE_PATTERN n;
REL_PATTERN r;
List patternAtoms = new ArrayList<>();
labelExpressionStack.push(ExpectBar.DO_NOT_EXPECT_BAR);
n = NodePattern();
patternAtoms.add( n );
label_26:
while (true) {
r = RelationshipPattern();
patternAtoms.add( r );
n = NodePattern();
patternAtoms.add( n );
if (jj_2_35(2)) {
} else {
break label_26;
}
}
labelExpressionStack.pop();
{if ("" != null) return astFactory.pathPattern( astFactory.patternElement( patternAtoms ) );}
throw new IllegalStateException ("Missing return statement in function");
}
final public NODE_PATTERN NodePattern() throws ParseException, Exception {Token t;
NODE_PATTERN n;
t = jj_consume_token(LPAREN);
if (jj_2_36(2147483647)) {
n = NodePatternEmpty(t);
} else if (jj_2_37(2147483647)) {
n = NodePatternOnlyVariable(t);
} else if (jj_2_38(2147483647)) {
n = NodePatternColon(t);
} else if (jj_2_39(2147483647)) {
n = NodePatternVariableColon(t);
} else if (jj_2_40(2147483647)) {
n = NodePatternProperties(t);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COLON:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
n = NodePatternComplex(t);
break;
}
default:
jj_la1[104] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return n;}
throw new IllegalStateException ("Missing return statement in function");
}
final public NODE_PATTERN NodePatternEmpty(Token t) throws ParseException, Exception {
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.nodePattern( pos( t ), null, null, null, null );}
throw new IllegalStateException ("Missing return statement in function");
}
final public NODE_PATTERN NodePatternOnlyVariable(Token t) throws ParseException, Exception {VARIABLE v = null;
v = Variable();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.nodePattern( pos( t ), v, null, null, null );}
throw new IllegalStateException ("Missing return statement in function");
}
final public NODE_PATTERN NodePatternColon(Token t) throws ParseException, Exception {LABEL_EXPRESSION labelExpression = null;
EXPRESSION properties = null;
EXPRESSION predicate = null;
// From the LOOKAHEAD outside, we know this node pattern started with a colon,
// so it must be of the form (labelExpression properties? WHERE?).
labelExpression = LabelExpression(astFactory.nodeType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:
case LCURLY:{
properties = Properties();
break;
}
default:
jj_la1[105] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[106] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.nodePattern( pos( t ), null, labelExpression, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public NODE_PATTERN NodePatternVariableColon(Token t) throws ParseException, Exception {VARIABLE v = null;
LABEL_EXPRESSION labelExpression = null;
EXPRESSION properties = null;
EXPRESSION predicate = null;
// From the LOOKAHEAD outside, we know this node pattern started with variable followed by a colon,
// so it must be of the form (variable labelExpression properties? WHERE?).
v = Variable();
labelExpression = LabelExpression(astFactory.nodeType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:
case LCURLY:{
properties = Properties();
break;
}
default:
jj_la1[107] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[108] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.nodePattern( pos( t ), v, labelExpression, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public NODE_PATTERN NodePatternProperties(Token t) throws ParseException, Exception {EXPRESSION properties = null;
EXPRESSION predicate = null;
// From the LOOKAHEAD outside, we know this node pattern started with a {,
// so it must be of the form (properties WHERE?).
properties = Properties();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[109] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.nodePattern( pos( t ), null, null, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public NODE_PATTERN NodePatternComplex(Token t) throws ParseException, Exception {VARIABLE v = null;
LABEL_EXPRESSION labelExpression = null;
EXPRESSION properties = null;
EXPRESSION predicate = null;
if (jj_2_41(2147483647)) {
labelExpression = LabelExpression(astFactory.nodeType());
jj_consume_token(WHERE);
predicate = Expression();
} else if (jj_2_42(2)) {
v = Variable();
properties = Properties();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[110] = jj_gen;
;
}
} else if (jj_2_43(2147483647)) {
v = Variable();
jj_consume_token(WHERE);
predicate = Expression();
} else if (jj_2_44(2147483647)) {
jj_consume_token(WHERE);
predicate = Expression();
} else if (jj_2_45(3)) {
v = Variable();
labelExpression = LabelExpression(astFactory.nodeType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:
case LCURLY:{
properties = Properties();
break;
}
default:
jj_la1[111] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[112] = jj_gen;
;
}
} else if (jj_2_46(2147483647)) {
labelExpression = LabelExpression(astFactory.nodeType());
properties = Properties();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[113] = jj_gen;
;
}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:
case IS:{
labelExpression = LabelExpression(astFactory.nodeType());
break;
}
default:
jj_la1[114] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.nodePattern( pos( t ), v, labelExpression, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public NODE_PATTERN InsertNodePattern() throws ParseException, Exception {Token t;
VARIABLE v = null;
LABEL_EXPRESSION labelExpression = null;
EXPRESSION properties = null;
t = jj_consume_token(LPAREN);
if (jj_2_47(3)) {
v = Variable();
labelExpression = InsertNodeLabelExpression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LCURLY:{
properties = MapLiteral();
break;
}
default:
jj_la1[115] = jj_gen;
;
}
} else if (jj_2_48(2)) {
v = Variable();
properties = MapLiteral();
} else if (jj_2_49(2)) {
labelExpression = InsertNodeLabelExpression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LCURLY:{
properties = MapLiteral();
break;
}
default:
jj_la1[116] = jj_gen;
;
}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LCURLY:{
properties = MapLiteral();
break;
}
default:
jj_la1[118] = jj_gen;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
v = Variable();
break;
}
default:
jj_la1[117] = jj_gen;
;
}
}
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.nodePattern( pos( t ), v, labelExpression, properties, null);}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATTERN_ATOM ParenthesizedPath() throws ParseException, Exception {Token t;
PATTERN p;
VARIABLE v;
EXPRESSION where = null;
PATTERN_QUANTIFIER quantifier = null;
t = jj_consume_token(LPAREN);
p = Pattern();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
where = Expression();
break;
}
default:
jj_la1[119] = jj_gen;
;
}
jj_consume_token(RPAREN);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LCURLY:
case PLUS:
case TIMES:{
quantifier = Quantifier();
break;
}
default:
jj_la1[120] = jj_gen;
;
}
{if ("" != null) return astFactory.parenthesizedPathPattern( pos(t), p, where, quantifier );}
throw new IllegalStateException ("Missing return statement in function");
}
final public SET_ITEM SetNodeLabels(VARIABLE v) throws ParseException, Exception {Token label;
List> labels = new ArrayList<>();
List dynamicLabels = new ArrayList<>();
EXPRESSION e = null;
label_27:
while (true) {
if (jj_2_50(2)) {
label = LabelOrRelType();
labels.add( new StringPos<>( label.image, pos( label ) ) );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
jj_consume_token(DOLLAR);
jj_consume_token(LPAREN);
e = Expression();
jj_consume_token(RPAREN);
dynamicLabels.add( e );
break;
}
default:
jj_la1[121] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
break;
}
default:
jj_la1[122] = jj_gen;
break label_27;
}
}
{if ("" != null) return astFactory.setLabels( v, labels, dynamicLabels, false );}
throw new IllegalStateException ("Missing return statement in function");
}
final public SET_ITEM SetNodeLabelsIs(VARIABLE v) throws ParseException, Exception {Token label;
List> labels = new ArrayList<>();
List dynamicLabels = new ArrayList<>();
EXPRESSION e = null;
jj_consume_token(IS);
if (jj_2_51(2)) {
label = SymbolicNameString();
labels.add( new StringPos<>( label.image, pos( label ) ) );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:{
jj_consume_token(DOLLAR);
jj_consume_token(LPAREN);
e = Expression();
jj_consume_token(RPAREN);
dynamicLabels.add( e );
break;
}
default:
jj_la1[123] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
label_28:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
break;
}
default:
jj_la1[124] = jj_gen;
break label_28;
}
if (jj_2_52(2)) {
label = LabelOrRelType();
labels.add( new StringPos<>( label.image, pos( label ) ) );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
jj_consume_token(DOLLAR);
jj_consume_token(LPAREN);
e = Expression();
jj_consume_token(RPAREN);
dynamicLabels.add( e );
break;
}
default:
jj_la1[125] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
{if ("" != null) return astFactory.setLabels( v, labels, dynamicLabels, true );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REMOVE_ITEM RemoveNodeLabelsColon(VARIABLE v) throws ParseException, Exception {Token label;
List> labels = new ArrayList<>();
List dynamicLabels = new ArrayList<>();
EXPRESSION e = null;
label_29:
while (true) {
if (jj_2_53(2)) {
label = LabelOrRelType();
labels.add( new StringPos<>( label.image, pos( label ) ) );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
jj_consume_token(DOLLAR);
jj_consume_token(LPAREN);
e = Expression();
jj_consume_token(RPAREN);
dynamicLabels.add( e );
break;
}
default:
jj_la1[126] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
break;
}
default:
jj_la1[127] = jj_gen;
break label_29;
}
}
{if ("" != null) return astFactory.removeLabels( v, labels, dynamicLabels, false );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REMOVE_ITEM RemoveNodeLabelsIs(VARIABLE v) throws ParseException, Exception {Token label;
List> labels = new ArrayList<>();
List dynamicLabels = new ArrayList<>();
EXPRESSION e = null;
jj_consume_token(IS);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:{
jj_consume_token(DOLLAR);
jj_consume_token(LPAREN);
e = Expression();
jj_consume_token(RPAREN);
dynamicLabels.add( e );
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
label = SymbolicNameString();
labels.add( new StringPos<>( label.image, pos( label ) ) );
break;
}
default:
jj_la1[128] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
label_30:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
break;
}
default:
jj_la1[129] = jj_gen;
break label_30;
}
if (jj_2_54(2)) {
label = LabelOrRelType();
labels.add( new StringPos<>( label.image, pos( label ) ) );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
jj_consume_token(DOLLAR);
jj_consume_token(LPAREN);
e = Expression();
jj_consume_token(RPAREN);
dynamicLabels.add( e );
break;
}
default:
jj_la1[130] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
{if ("" != null) return astFactory.removeLabels( v, labels, dynamicLabels, true );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION LabelExpressionPredicate(EXPRESSION subject) throws ParseException {LABEL_EXPRESSION exp = null;
exp = LabelExpression(astFactory.nodeOrRelationshipType());
{if ("" != null) return astFactory.labelExpressionPredicate( subject, exp );}
throw new IllegalStateException ("Missing return statement in function");
}
final public Token LabelOrRelType() throws ParseException {Token t;
jj_consume_token(COLON);
t = SymbolicNameString();
{if ("" != null) return t;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List> LabelOrRelTypes() throws ParseException {List> labels = new ArrayList<>();
StringPos label;
jj_consume_token(COLON);
SymbolicNameString();
labels.add( new StringPos( token.image, pos(token) ) );
label_31:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BAR:{
break;
}
default:
jj_la1[131] = jj_gen;
break label_31;
}
jj_consume_token(BAR);
SymbolicNameString();
labels.add( new StringPos( token.image, pos(token) ) );
}
{if ("" != null) return labels;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Properties() throws ParseException, Exception {EXPRESSION e;
if (jj_2_55(3)) {
e = MapLiteral();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:{
e = Parameter(ParameterType.ANY);
break;
}
default:
jj_la1[132] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPattern() throws ParseException, Exception {Token firstToken = token;
boolean left = false;
REL_PATTERN r;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LT:
case ARROW_LEFT_HEAD:{
LeftArrow();
left = true;
break;
}
default:
jj_la1[133] = jj_gen;
;
}
ArrowLine();
if (jj_2_63(2147483647)) {
r = RelationshipPatternDoubleDash(firstToken, left);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LBRACKET:{
jj_consume_token(LBRACKET);
if (jj_2_56(2147483647)) {
r = RelationshipPatternEmpty(firstToken, left);
} else if (jj_2_57(2147483647)) {
r = RelationshipPatternOnlyVariable(firstToken, left);
} else if (jj_2_58(2147483647)) {
r = RelationshipPatternColon(firstToken, left);
} else if (jj_2_59(2147483647)) {
r = RelationshipPatternVariableColon(firstToken, left);
} else if (jj_2_60(2147483647)) {
r = RelationshipPatternProperties(firstToken, left);
} else if (jj_2_61(2147483647)) {
r = RelationshipPatternPathLength(firstToken, left);
} else if (jj_2_62(2147483647)) {
r = RelationshipPatternOnlyVariablePathLength(firstToken, left);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COLON:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
r = RelationshipPatternComplex(firstToken, left);
break;
}
default:
jj_la1[134] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[135] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return r;}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternDoubleDash(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[136] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, null, null, null, null, null );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternEmpty(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[137] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, null, null, null, null, null );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternOnlyVariable(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
VARIABLE v = null;
v = Variable();
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[138] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, v, null, null, null, null );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternColon(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
LABEL_EXPRESSION labelExpression = null;
PATH_LENGTH pathLength = null;
EXPRESSION properties = null;
EXPRESSION predicate = null;
// From the LOOKAHEAD outside, we know this rel pattern started with a colon,
// so it must be of the form [labelExpression pathLength? properties? WHERE?].
labelExpression = LabelExpression(astFactory.relationshipType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
pathLength = PathLength();
break;
}
default:
jj_la1[139] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:
case LCURLY:{
properties = Properties();
break;
}
default:
jj_la1[140] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[141] = jj_gen;
;
}
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[142] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, null, labelExpression, pathLength, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternVariableColon(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
VARIABLE v = null;
LABEL_EXPRESSION labelExpression = null;
PATH_LENGTH pathLength = null;
EXPRESSION properties = null;
EXPRESSION predicate = null;
// From the LOOKAHEAD outside, we know this rel pattern started with variable followed by a colon,
// so it must be of the form [variable labelExpression pathLength? properties? WHERE?].
v = Variable();
labelExpression = LabelExpression(astFactory.relationshipType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
pathLength = PathLength();
break;
}
default:
jj_la1[143] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:
case LCURLY:{
properties = Properties();
break;
}
default:
jj_la1[144] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[145] = jj_gen;
;
}
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[146] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, v, labelExpression, pathLength, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternProperties(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
EXPRESSION properties = null;
EXPRESSION predicate = null;
// From the LOOKAHEAD outside, we know this rel pattern started with a {,
// so it must be of the form [properties WHERE?].
properties = Properties();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[147] = jj_gen;
;
}
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[148] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, null, null, null, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternPathLength(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
PATH_LENGTH pathLength = null;
EXPRESSION properties = null;
EXPRESSION predicate = null;
// From the LOOKAHEAD outside, we know this rel pattern started with a pathLength,
// so it must be of the form [pathLength properties? WHERE?].
pathLength = PathLength();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:
case LCURLY:{
properties = Properties();
break;
}
default:
jj_la1[149] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[150] = jj_gen;
;
}
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[151] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, null, null, pathLength, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternOnlyVariablePathLength(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
VARIABLE v = null;
PATH_LENGTH pathLength = null;
// From the LOOKAHEAD outside, we know this rel pattern must be of the form [variable pathLength].
v = Variable();
pathLength = PathLength();
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[152] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, v, null, pathLength, null, null );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN RelationshipPatternComplex(Token firstToken, boolean left) throws ParseException, Exception {boolean right = false;
VARIABLE v = null;
LABEL_EXPRESSION labelExpression = null;
PATH_LENGTH pathLength = null;
EXPRESSION properties = null;
EXPRESSION predicate = null;
if (jj_2_64(2147483647)) {
labelExpression = LabelExpression(astFactory.relationshipType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
pathLength = PathLength();
break;
}
default:
jj_la1[153] = jj_gen;
;
}
jj_consume_token(WHERE);
predicate = Expression();
} else if (jj_2_65(2147483647)) {
v = Variable();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
pathLength = PathLength();
break;
}
default:
jj_la1[154] = jj_gen;
;
}
properties = Properties();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[155] = jj_gen;
;
}
} else if (jj_2_66(2147483647)) {
v = Variable();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
pathLength = PathLength();
break;
}
default:
jj_la1[156] = jj_gen;
;
}
jj_consume_token(WHERE);
predicate = Expression();
} else if (jj_2_67(2147483647)) {
jj_consume_token(WHERE);
predicate = Expression();
} else if (jj_2_68(3)) {
v = Variable();
labelExpression = LabelExpression(astFactory.relationshipType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
pathLength = PathLength();
break;
}
default:
jj_la1[157] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOLLAR:
case LCURLY:{
properties = Properties();
break;
}
default:
jj_la1[158] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[159] = jj_gen;
;
}
} else if (jj_2_69(2147483647)) {
labelExpression = LabelExpression(astFactory.relationshipType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
pathLength = PathLength();
break;
}
default:
jj_la1[160] = jj_gen;
;
}
properties = Properties();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
predicate = Expression();
break;
}
default:
jj_la1[161] = jj_gen;
;
}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:
case IS:{
labelExpression = LabelExpression(astFactory.relationshipType());
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
pathLength = PathLength();
break;
}
default:
jj_la1[162] = jj_gen;
;
}
break;
}
default:
jj_la1[163] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[164] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, v, labelExpression, pathLength, properties, predicate );}
throw new IllegalStateException ("Missing return statement in function");
}
final public REL_PATTERN InsertRelationshipPattern() throws ParseException, Exception {Token firstToken = token;
boolean left = false;
boolean right = false;
VARIABLE v = null;
LABEL_EXPRESSION labelExpression = null;
EXPRESSION properties = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LT:
case ARROW_LEFT_HEAD:{
LeftArrow();
left = true;
break;
}
default:
jj_la1[165] = jj_gen;
;
}
ArrowLine();
jj_consume_token(LBRACKET);
if (jj_2_70(3)) {
v = Variable();
labelExpression = InsertRelationshipLabelExpression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LCURLY:{
properties = MapLiteral();
break;
}
default:
jj_la1[166] = jj_gen;
;
}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:
case IS:{
labelExpression = InsertRelationshipLabelExpression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LCURLY:{
properties = MapLiteral();
break;
}
default:
jj_la1[167] = jj_gen;
;
}
break;
}
default:
jj_la1[168] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
jj_consume_token(RBRACKET);
ArrowLine();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:
case ARROW_RIGHT_HEAD:{
RightArrow();
right = true;
break;
}
default:
jj_la1[169] = jj_gen;
;
}
{if ("" != null) return astFactory.relationshipPattern( pos( firstToken.next ), left, right, v, labelExpression, null, properties, null );}
throw new IllegalStateException ("Missing return statement in function");
}
final public void LeftArrow() throws ParseException {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LT:{
jj_consume_token(LT);
break;
}
case ARROW_LEFT_HEAD:{
jj_consume_token(ARROW_LEFT_HEAD);
break;
}
default:
jj_la1[170] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void ArrowLine() throws ParseException {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ARROW_LINE:{
jj_consume_token(ARROW_LINE);
break;
}
case MINUS:{
jj_consume_token(MINUS);
break;
}
default:
jj_la1[171] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void RightArrow() throws ParseException {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case GT:{
jj_consume_token(GT);
break;
}
case ARROW_RIGHT_HEAD:{
jj_consume_token(ARROW_RIGHT_HEAD);
break;
}
default:
jj_la1[172] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public PATH_LENGTH PathLength() throws ParseException {Token t;
PATH_LENGTH p = null;
t = jj_consume_token(TIMES);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:
case DOTDOT:{
p = PathLengthLiteral(t);
break;
}
default:
jj_la1[173] = jj_gen;
;
}
{if ("" != null) return p == null ? astFactory.pathLength( pos( t ), null, null, null, null ) : p;}
throw new IllegalStateException ("Missing return statement in function");
}
final public PATH_LENGTH PathLengthLiteral(Token t) throws ParseException {Token v1 = null;
Token v2 = null;
if (jj_2_71(2)) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:{
v1 = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
break;
}
default:
jj_la1[174] = jj_gen;
;
}
t = jj_consume_token(DOTDOT);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:{
v2 = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
break;
}
default:
jj_la1[175] = jj_gen;
;
}
{if ("" != null) return astFactory.pathLength( pos( t ), v1 == null ? null : pos ( v1 ), v2 == null ? null : pos ( v2 ), v1 == null ? "" : v1.image, v2 == null ? "" : v2.image );}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNSIGNED_DECIMAL_INTEGER:{
v1 = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
String v = v1 == null ? "" : v1.image;
{if ("" != null) return astFactory.pathLength( pos( t ), v1 == null ? null : pos ( v1 ), v1 == null ? null : pos ( v1 ), v, v);}
break;
}
default:
jj_la1[176] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
// LABEL EXPRESSIONS
final public
LABEL_EXPRESSION LabelExpression(ENTITY_TYPE type) throws ParseException {LABEL_EXPRESSION e;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
if (!labelExpressionStack.isEmpty() && labelExpressionStack.peek() == ExpectBar.EXPECT_BAR) {
e = LabelExpression4ExpectingBar(type);
} else if (labelExpressionStack.isEmpty() || labelExpressionStack.peek() == ExpectBar.DO_NOT_EXPECT_BAR) {
e = LabelExpression4(type);
} else {
jj_consume_token(-1);
throw new ParseException();
}
break;
}
case IS:{
jj_consume_token(IS);
if (!labelExpressionStack.isEmpty() && labelExpressionStack.peek() == ExpectBar.EXPECT_BAR) {
e = LabelExpression4ExpectingBarIs(type);
} else if (labelExpressionStack.isEmpty() || labelExpressionStack.peek() == ExpectBar.DO_NOT_EXPECT_BAR) {
e = LabelExpression4Is(type);
} else {
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[177] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression4(ENTITY_TYPE type) throws ParseException {Token t;
LABEL_EXPRESSION e;
LABEL_EXPRESSION temp;
e = LabelExpression3(type);
label_32:
while (true) {
if (jj_2_72(2)) {
} else {
break label_32;
}
t = jj_consume_token(BAR);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
temp = LabelExpression3(type);
e = astFactory.labelColonDisjunction( pos( t ), e, temp, false );
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case EXCLAMATION_MARK:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case PERCENT:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
temp = LabelExpression3(type);
e = astFactory.labelDisjunction( pos( t ), e, temp, false );
break;
}
default:
jj_la1[178] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression4Is(ENTITY_TYPE type) throws ParseException {Token t;
LABEL_EXPRESSION e;
LABEL_EXPRESSION temp;
e = LabelExpression3Is(type);
label_33:
while (true) {
if (jj_2_73(2)) {
} else {
break label_33;
}
t = jj_consume_token(BAR);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
temp = LabelExpression3Is(type);
e = astFactory.labelColonDisjunction( pos( t ), e, temp, true );
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case EXCLAMATION_MARK:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case PERCENT:
case NAME:
case NAMES:
case NAN:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NOTHING:
case NOWAIT:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
temp = LabelExpression3Is(type);
e = astFactory.labelDisjunction( pos( t ), e, temp, true );
break;
}
default:
jj_la1[179] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression4ExpectingBar(ENTITY_TYPE type) throws ParseException {Token t;
LABEL_EXPRESSION e;
LABEL_EXPRESSION temp;
e = LabelExpression3(type);
label_34:
while (true) {
if (jj_2_74(2147483647)) {
} else {
break label_34;
}
t = jj_consume_token(BAR);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
temp = LabelExpression3(type);
e = astFactory.labelColonDisjunction( pos( t ), e, temp, false );
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case EXCLAMATION_MARK:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case PERCENT:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
temp = LabelExpression3(type);
e = astFactory.labelDisjunction( pos( t ), e, temp, false );
break;
}
default:
jj_la1[180] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression4ExpectingBarIs(ENTITY_TYPE type) throws ParseException {Token t;
LABEL_EXPRESSION e;
LABEL_EXPRESSION temp;
e = LabelExpression3Is(type);
label_35:
while (true) {
if (jj_2_75(2147483647)) {
} else {
break label_35;
}
t = jj_consume_token(BAR);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
temp = LabelExpression3Is(type);
e = astFactory.labelColonDisjunction( pos( t ), e, temp, true );
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case EXCLAMATION_MARK:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case PERCENT:
case NAME:
case NAMES:
case NAN:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NOTHING:
case NOWAIT:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
temp = LabelExpression3Is(type);
e = astFactory.labelDisjunction( pos( t ), e, temp, true );
break;
}
default:
jj_la1[181] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression3(ENTITY_TYPE type) throws ParseException {Token t;
LABEL_EXPRESSION e;
LABEL_EXPRESSION temp;
e = LabelExpression2(type);
label_36:
while (true) {
if (jj_2_76(2)) {
} else {
break label_36;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case AMPERSAND:{
t = jj_consume_token(AMPERSAND);
temp = LabelExpression2(type);
e = astFactory.labelConjunction( pos( t ), e, temp, false );
break;
}
case COLON:{
t = jj_consume_token(COLON);
temp = LabelExpression2(type);
e = astFactory.labelColonConjunction( pos( t ), e, temp, false );
break;
}
default:
jj_la1[182] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression3Is(ENTITY_TYPE type) throws ParseException {Token t;
LABEL_EXPRESSION e;
LABEL_EXPRESSION temp;
e = LabelExpression2Is(type);
label_37:
while (true) {
if (jj_2_77(2)) {
} else {
break label_37;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case AMPERSAND:{
t = jj_consume_token(AMPERSAND);
temp = LabelExpression2Is(type);
e = astFactory.labelConjunction( pos( t ), e, temp, true );
break;
}
case COLON:{
t = jj_consume_token(COLON);
temp = LabelExpression2Is(type);
e = astFactory.labelColonConjunction( pos( t ), e, temp, true );
break;
}
default:
jj_la1[183] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression2(ENTITY_TYPE type) throws ParseException {Token t;
LABEL_EXPRESSION e;
if (jj_2_78(3)) {
t = jj_consume_token(EXCLAMATION_MARK);
e = LabelExpression2(type);
e = astFactory.labelNegation( pos( t ), e, false );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case PERCENT:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e = LabelExpression1(type);
break;
}
default:
jj_la1[184] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression2Is(ENTITY_TYPE type) throws ParseException {Token t;
LABEL_EXPRESSION e;
if (jj_2_79(3)) {
t = jj_consume_token(EXCLAMATION_MARK);
e = LabelExpression2Is(type);
e = astFactory.labelNegation( pos( t ), e, true );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case PERCENT:
case NAME:
case NAMES:
case NAN:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NOTHING:
case NOWAIT:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e = LabelExpression1Is(type);
break;
}
default:
jj_la1[185] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression1(ENTITY_TYPE type) throws ParseException {LABEL_EXPRESSION e = null;
String label = null;
Token t;
labelExpressionStack.push(ExpectBar.DO_NOT_EXPECT_BAR);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
jj_consume_token(LPAREN);
e = LabelExpression4(type);
jj_consume_token(RPAREN);
break;
}
case PERCENT:{
t = jj_consume_token(PERCENT);
e = astFactory.labelWildcard( pos ( t ), false );
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
t = SymbolicNameString();
e = astFactory.labelLeaf( pos ( t ), t.image, type, false );
break;
}
default:
jj_la1[186] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
labelExpressionStack.pop();
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION LabelExpression1Is(ENTITY_TYPE type) throws ParseException {LABEL_EXPRESSION e = null;
String label = null;
Token t;
labelExpressionStack.push(ExpectBar.DO_NOT_EXPECT_BAR);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
jj_consume_token(LPAREN);
e = LabelExpression4Is(type);
jj_consume_token(RPAREN);
break;
}
case PERCENT:{
t = jj_consume_token(PERCENT);
e = astFactory.labelWildcard( pos ( t ), true );
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NOTHING:
case NOWAIT:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
t = SymbolicLabelNameString();
e = astFactory.labelLeaf( pos ( t ), t.image, type, true );
break;
}
default:
jj_la1[187] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
labelExpressionStack.pop();
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION InsertNodeLabelExpression() throws ParseException, Exception {Token t;
LABEL_EXPRESSION e;
LABEL_EXPRESSION temp;
boolean containsIs = false;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
break;
}
case IS:{
jj_consume_token(IS);
containsIs = true;
break;
}
default:
jj_la1[188] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
e = InsertLabelConjunction(astFactory.nodeType(), containsIs);
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION InsertRelationshipLabelExpression() throws ParseException, Exception {LABEL_EXPRESSION e;
boolean containsIs = false;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLON:{
jj_consume_token(COLON);
break;
}
case IS:{
jj_consume_token(IS);
containsIs = true;
break;
}
default:
jj_la1[189] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
e = InsertLabelLeaf(astFactory.relationshipType(), containsIs);
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION InsertLabelConjunction(ENTITY_TYPE type, boolean containsIs) throws ParseException, Exception {Token t;
Token errorStart = null;
LABEL_EXPRESSION e;
LABEL_EXPRESSION temp;
e = InsertLabelLeaf(type, containsIs);
label_38:
while (true) {
if (jj_2_80(2)) {
} else {
break label_38;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case AMPERSAND:{
t = jj_consume_token(AMPERSAND);
temp = InsertLabelLeaf(type, containsIs);
e = astFactory.labelConjunction( pos( t ), e, temp, containsIs );
break;
}
case COLON:{
errorStart = jj_consume_token(COLON);
break;
}
default:
jj_la1[190] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
if (errorStart != null)
{
throw exceptionFactory.syntaxException(
new ParseException( ASTExceptionFactory.colonConjunctionInInsertNotSupported ),
errorStart.beginOffset, errorStart.beginLine, errorStart.beginColumn );
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public LABEL_EXPRESSION InsertLabelLeaf(ENTITY_TYPE type, boolean containsIs) throws ParseException {Token t;
t = SymbolicNameString();
{if ("" != null) return astFactory.labelLeaf( pos ( t ), t.image, type, containsIs );}
throw new IllegalStateException ("Missing return statement in function");
}
// EXPRESSIONS
final public
EXPRESSION Expression() throws ParseException, Exception {EXPRESSION e;
e = Expression12();
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression12() throws ParseException, Exception {Token t;
EXPRESSION e;
EXPRESSION temp;
e = Expression11();
label_39:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OR:{
break;
}
default:
jj_la1[191] = jj_gen;
break label_39;
}
t = jj_consume_token(OR);
temp = Expression11();
e = astFactory.or( pos( t ), e, temp );
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression11() throws ParseException, Exception {Token t;
EXPRESSION e;
EXPRESSION temp;
e = Expression10();
label_40:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case XOR:{
break;
}
default:
jj_la1[192] = jj_gen;
break label_40;
}
t = jj_consume_token(XOR);
temp = Expression10();
e = astFactory.xor( pos( t ), e, temp );
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression10() throws ParseException, Exception {Token t;
EXPRESSION e;
EXPRESSION temp;
e = Expression9();
label_41:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case AND:{
break;
}
default:
jj_la1[193] = jj_gen;
break label_41;
}
t = jj_consume_token(AND);
temp = Expression9();
e = astFactory.and( pos( t ), e, temp );
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression9() throws ParseException, Exception {Token t;
EXPRESSION e;
if (jj_2_81(3)) {
t = jj_consume_token(NOT);
e = Expression9();
e = astFactory.not( pos( t ), e );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e = Expression8();
break;
}
default:
jj_la1[194] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
/**
* Implements comparison operation chaining. That is that expressions like `a < b < c` are interpreted as `a < b AND b < c`.
* See https://neo4j.com/docs/cypher-manual/current/syntax/operators/#cypher-operations-chaining
*/
final public EXPRESSION Expression8() throws ParseException, Exception {Token t;
EXPRESSION e;
EXPRESSION lhs;
EXPRESSION rhs;
List expressions = new ArrayList();
e = Expression7();
lhs = e;
label_42:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case EQ:
case GE:
case GT:
case LE:
case LT:
case NEQ:
case NEQ2:{
break;
}
default:
jj_la1[195] = jj_gen;
break label_42;
}
if (jj_2_82(2)) {
t = jj_consume_token(EQ);
rhs = Expression7();
expressions.add( astFactory.eq( pos( t ), lhs, rhs)); lhs = rhs;
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case NEQ:{
t = jj_consume_token(NEQ);
rhs = Expression7();
expressions.add( astFactory.neq( pos( t ), lhs, rhs ) ); lhs = rhs;
break;
}
case NEQ2:{
t = jj_consume_token(NEQ2);
rhs = Expression7();
expressions.add( astFactory.neq2( pos( t ), lhs, rhs ) ); lhs = rhs;
break;
}
case LE:{
t = jj_consume_token(LE);
rhs = Expression7();
expressions.add( astFactory.lte( pos( t ), lhs, rhs ) ); lhs = rhs;
break;
}
case GE:{
t = jj_consume_token(GE);
rhs = Expression7();
expressions.add( astFactory.gte( pos( t ), lhs, rhs ) ); lhs = rhs;
break;
}
case LT:{
t = jj_consume_token(LT);
rhs = Expression7();
expressions.add( astFactory.lt( pos( t ), lhs, rhs ) ); lhs = rhs;
break;
}
case GT:{
t = jj_consume_token(GT);
rhs = Expression7();
expressions.add( astFactory.gt( pos( t ), lhs, rhs ) ); lhs = rhs;
break;
}
default:
jj_la1[196] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
if ( expressions.isEmpty() )
{
{if ("" != null) return e;}
}
else if ( expressions.size() == 1 )
{
{if ("" != null) return expressions.get( 0 );}
}
else
{
{if ("" != null) return astFactory.ands( expressions );}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression8ComparatorExpression(EXPRESSION lhs) throws ParseException, Exception {Token t;
EXPRESSION e;
EXPRESSION rhs;
if (jj_2_83(2)) {
t = jj_consume_token(EQ);
rhs = Expression7();
{if ("" != null) return astFactory.eq( pos( t ), lhs, rhs);}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case NEQ:{
t = jj_consume_token(NEQ);
rhs = Expression7();
{if ("" != null) return astFactory.neq( pos( t ), lhs, rhs );}
break;
}
case NEQ2:{
t = jj_consume_token(NEQ2);
rhs = Expression7();
{if ("" != null) return astFactory.neq2( pos( t ), lhs, rhs );}
break;
}
case LE:{
t = jj_consume_token(LE);
rhs = Expression7();
{if ("" != null) return astFactory.lte( pos( t ), lhs, rhs );}
break;
}
case GE:{
t = jj_consume_token(GE);
rhs = Expression7();
{if ("" != null) return astFactory.gte( pos( t ), lhs, rhs );}
break;
}
case LT:{
t = jj_consume_token(LT);
rhs = Expression7();
{if ("" != null) return astFactory.lt( pos( t ), lhs, rhs );}
break;
}
case GT:{
t = jj_consume_token(GT);
rhs = Expression7();
{if ("" != null) return astFactory.gt( pos( t ), lhs, rhs );}
break;
}
default:
jj_la1[197] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression7() throws ParseException, Exception {EXPRESSION e;
e = Expression6();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLONCOLON:
case CONTAINS:
case ENDS:
case IN:
case IS:
case REGEQ:
case STARTS:{
e = ComparisonExpression6(e);
break;
}
default:
jj_la1[198] = jj_gen;
;
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION ComparisonExpression6(EXPRESSION lhs) throws ParseException, Exception {Token t;
EXPRESSION rhs;
ParserCypherTypeName typeName;
ParserNormalForm normalForm;
if (jj_2_84(2)) {
t = jj_consume_token(REGEQ);
rhs = Expression6();
{if ("" != null) return astFactory.regeq( pos( t ), lhs, rhs );}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case STARTS:{
t = jj_consume_token(STARTS);
jj_consume_token(WITH);
rhs = Expression6();
{if ("" != null) return astFactory.startsWith( pos( t ), lhs, rhs );}
break;
}
case ENDS:{
t = jj_consume_token(ENDS);
jj_consume_token(WITH);
rhs = Expression6();
{if ("" != null) return astFactory.endsWith( pos( t ), lhs, rhs );}
break;
}
case CONTAINS:{
t = jj_consume_token(CONTAINS);
rhs = Expression6();
{if ("" != null) return astFactory.contains( pos( t ), lhs, rhs );}
break;
}
case IN:{
t = jj_consume_token(IN);
rhs = Expression6();
{if ("" != null) return astFactory.in( pos( t ), lhs, rhs );}
break;
}
case IS:{
t = jj_consume_token(IS);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case NULL:{
jj_consume_token(NULL);
{if ("" != null) return astFactory.isNull( pos( t ), lhs );}
break;
}
case NOT:{
jj_consume_token(NOT);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case NULL:{
jj_consume_token(NULL);
{if ("" != null) return astFactory.isNotNull( pos( t ), lhs );}
break;
}
case COLONCOLON:
case TYPED:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TYPED:{
jj_consume_token(TYPED);
break;
}
case COLONCOLON:{
jj_consume_token(COLONCOLON);
break;
}
default:
jj_la1[199] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
typeName = cypherTypeName();
{if ("" != null) return astFactory.isNotTyped( pos( t ), lhs, typeName );}
break;
}
case NFC:
case NFD:
case NFKC:
case NFKD:
case NORMALIZED:{
normalForm = normalForm();
jj_consume_token(NORMALIZED);
{if ("" != null) return astFactory.isNotNormalized( pos( t ), lhs, normalForm );}
break;
}
default:
jj_la1[200] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
case COLONCOLON:
case TYPED:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TYPED:{
jj_consume_token(TYPED);
break;
}
case COLONCOLON:{
jj_consume_token(COLONCOLON);
break;
}
default:
jj_la1[201] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
typeName = cypherTypeName();
{if ("" != null) return astFactory.isTyped( pos( t ), lhs, typeName );}
break;
}
case NFC:
case NFD:
case NFKC:
case NFKD:
case NORMALIZED:{
normalForm = normalForm();
jj_consume_token(NORMALIZED);
{if ("" != null) return astFactory.isNormalized( pos( t ), lhs, normalForm );}
break;
}
default:
jj_la1[202] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
case COLONCOLON:{
t = jj_consume_token(COLONCOLON);
typeName = cypherTypeName();
{if ("" != null) return astFactory.isTyped( pos( t ), lhs, typeName );}
break;
}
default:
jj_la1[203] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public ParserNormalForm normalForm() throws ParseException {ParserNormalForm normalForm = ParserNormalForm.NFC;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case NFC:
case NFD:
case NFKC:
case NFKD:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case NFC:{
jj_consume_token(NFC);
break;
}
case NFD:{
jj_consume_token(NFD);
normalForm = ParserNormalForm.NFD;
break;
}
case NFKC:{
jj_consume_token(NFKC);
normalForm = ParserNormalForm.NFKC;
break;
}
case NFKD:{
jj_consume_token(NFKD);
normalForm = ParserNormalForm.NFKD;
break;
}
default:
jj_la1[204] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[205] = jj_gen;
;
}
{if ("" != null) return normalForm;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression6() throws ParseException, Exception {Token t;
EXPRESSION lhs;
EXPRESSION rhs;
lhs = Expression5();
label_43:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOUBLEBAR:
case MINUS:
case PLUS:{
break;
}
default:
jj_la1[206] = jj_gen;
break label_43;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PLUS:{
t = jj_consume_token(PLUS);
rhs = Expression5();
lhs = astFactory.plus( pos( t ), lhs, rhs);
break;
}
case MINUS:{
t = jj_consume_token(MINUS);
rhs = Expression5();
lhs = astFactory.minus( pos( t ), lhs, rhs);
break;
}
case DOUBLEBAR:{
t = jj_consume_token(DOUBLEBAR);
rhs = Expression5();
lhs = astFactory.concatenate( pos( t ), lhs, rhs);
break;
}
default:
jj_la1[207] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return lhs;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression5() throws ParseException, Exception {Token t;
EXPRESSION lhs;
EXPRESSION rhs;
lhs = Expression4();
label_44:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DIVIDE:
case PERCENT:
case TIMES:{
break;
}
default:
jj_la1[208] = jj_gen;
break label_44;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
t = jj_consume_token(TIMES);
rhs = Expression4();
lhs = astFactory.multiply( pos( t ), lhs, rhs );
break;
}
case DIVIDE:{
t = jj_consume_token(DIVIDE);
rhs = Expression4();
lhs = astFactory.divide( pos( t ), lhs, rhs );
break;
}
case PERCENT:{
t = jj_consume_token(PERCENT);
rhs = Expression4();
lhs = astFactory.modulo( pos( t ), lhs, rhs );
break;
}
default:
jj_la1[209] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return lhs;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression4() throws ParseException, Exception {Token t;
EXPRESSION lhs;
EXPRESSION rhs;
lhs = Expression3();
label_45:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case POW:{
break;
}
default:
jj_la1[210] = jj_gen;
break label_45;
}
t = jj_consume_token(POW);
rhs = Expression3();
lhs = astFactory.pow( pos( t ), lhs, rhs );
}
{if ("" != null) return lhs;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression3() throws ParseException, Exception {Token t;
EXPRESSION e;
if (jj_2_85(3)) {
e = Expression2();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PLUS:{
t = jj_consume_token(PLUS);
e = Expression2();
e = astFactory.unaryPlus( pos( t ), e );
break;
}
case MINUS:{
t = jj_consume_token(MINUS);
e = Expression2();
e = astFactory.unaryMinus( pos( t ), e );
break;
}
default:
jj_la1[211] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression2() throws ParseException, Exception {EXPRESSION e;
e = Expression1();
label_46:
while (true) {
if (jj_2_86(2147483647)) {
} else {
break label_46;
}
e = PostFix1(e);
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION PostFix1(EXPRESSION subject) throws ParseException, Exception {Token t;
EXPRESSION e1 = null;
EXPRESSION e2 = null;
EXPRESSION ret;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOT:{
ret = Property(subject);
break;
}
default:
jj_la1[214] = jj_gen;
if (jj_2_87(2147483647)) {
ret = LabelExpressionPredicate(subject);
} else if (jj_2_88(2147483647)) {
ret = LabelExpressionPredicate(subject);
} else if (jj_2_89(2147483647)) {
jj_consume_token(LBRACKET);
e1 = Expression();
jj_consume_token(RBRACKET);
ret=astFactory.listLookup( subject, e1 );
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LBRACKET:{
t = jj_consume_token(LBRACKET);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e1 = Expression();
break;
}
default:
jj_la1[212] = jj_gen;
;
}
jj_consume_token(DOTDOT);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e2 = Expression();
break;
}
default:
jj_la1[213] = jj_gen;
;
}
jj_consume_token(RBRACKET);
ret=astFactory.listSlice( pos( t ), subject, e1, e2 );
break;
}
default:
jj_la1[215] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
{if ("" != null) return ret;}
throw new IllegalStateException ("Missing return statement in function");
}
final public PROPERTY Property(EXPRESSION subject) throws ParseException {EXPRESSION e;
StringPos propKeyName;
jj_consume_token(DOT);
propKeyName = PropertyKeyName();
{if ("" != null) return astFactory.property( subject, propKeyName );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION DynamicPropertyExpression() throws ParseException, Exception {EXPRESSION subject;
EXPRESSION e;
subject = Expression1();
e = DynamicProperty(subject);
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public PROPERTY PropertyExpression() throws ParseException, Exception {EXPRESSION subject;
PROPERTY p;
subject = Expression1();
label_47:
while (true) {
p = Property(subject);
subject = p;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DOT:{
break;
}
default:
jj_la1[216] = jj_gen;
break label_47;
}
}
{if ("" != null) return p;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION DynamicProperty(EXPRESSION subject) throws ParseException, Exception {EXPRESSION e;
jj_consume_token(LBRACKET);
e = Expression();
jj_consume_token(RBRACKET);
{if ("" != null) return astFactory.listLookup( subject, e );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION Expression1() throws ParseException, Exception {EXPRESSION e = null;
Token t;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case MINUS:{
e = NumberLiteral();
break;
}
case STRING_LITERAL1:
case STRING_LITERAL2:{
e = StringLiteral();
break;
}
case DOLLAR:{
e = Parameter(ParameterType.ANY);
break;
}
case TRUE:{
t = jj_consume_token(TRUE);
e = astFactory.newTrueLiteral( pos( t ) );
break;
}
case FALSE:{
t = jj_consume_token(FALSE);
e = astFactory.newFalseLiteral( pos( t ) );
break;
}
case INF:
case INFINITY:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case INFINITY:{
t = jj_consume_token(INFINITY);
break;
}
case INF:{
t = jj_consume_token(INF);
break;
}
default:
jj_la1[217] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
e = astFactory.newInfinityLiteral( pos( t ) );
break;
}
case NAN:{
t = jj_consume_token(NAN);
e = astFactory.newNaNLiteral( pos( t ) );
break;
}
default:
jj_la1[218] = jj_gen;
if (jj_2_90(2)) {
t = jj_consume_token(NULL);
e = astFactory.newNullLiteral( pos( t ) );
} else if (jj_2_91(3)) {
e = CaseExpression();
} else if (jj_2_92(3)) {
t = jj_consume_token(COUNT);
jj_consume_token(LPAREN);
jj_consume_token(TIMES);
jj_consume_token(RPAREN);
e = astFactory.newCountStar( pos( t ) );
} else if (jj_2_93(3)) {
e = MapLiteral();
} else if (jj_2_94(3)) {
e = ExistsExpression();
} else if (jj_2_95(3)) {
e = CountExpression();
} else if (jj_2_96(3)) {
e = CollectExpression();
} else if (jj_2_97(2)) {
e = MapProjection();
} else if (jj_2_98(2147483647)) {
e = ListComprehension();
} else if (jj_2_99(2147483647)) {
e = PatternComprehension();
} else if (jj_2_100(3)) {
e = ListLiteral();
} else if (jj_2_101(3)) {
e = ReduceExpression();
} else if (jj_2_102(3)) {
e = AllExpression();
} else if (jj_2_103(3)) {
e = AnyExpression();
} else if (jj_2_104(3)) {
e = NoneExpression();
} else if (jj_2_105(3)) {
e = SingleExpression();
} else if (jj_2_106(2)) {
e = NormalizeExpression();
} else if (jj_2_107(2)) {
e = TrimFunction();
} else if (jj_2_108(2147483647)) {
e = PatternExpression();
} else if (jj_2_109(2)) {
e = ShortestPathExpression();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LPAREN:{
jj_consume_token(LPAREN);
labelExpressionStack.push(ExpectBar.DO_NOT_EXPECT_BAR);
e = Expression();
labelExpressionStack.pop();
jj_consume_token(RPAREN);
break;
}
default:
jj_la1[219] = jj_gen;
if (jj_2_110(2147483647)) {
e = FunctionInvocation(false);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e = Variable();
break;
}
default:
jj_la1[220] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION CaseExpression() throws ParseException, Exception {EXPRESSION e = null;
if (jj_2_111(2147483647)) {
e = SimpleCaseExpression();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CASE:{
e = GeneralCaseExpression();
break;
}
default:
jj_la1[221] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return e;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION SimpleCaseExpression() throws ParseException, Exception {Token t;
EXPRESSION caseExpr;
EXPRESSION e;
List tempWhen = new ArrayList<>();
List when = new ArrayList<>();
List then = new ArrayList<>();
EXPRESSION elseCase = null;
t = jj_consume_token(CASE);
caseExpr = Expression();
jj_consume_token(WHEN);
tempWhen = simpleCaseWhenOperandList(caseExpr);
when.addAll( tempWhen );
jj_consume_token(THEN);
e = Expression();
for (var i = 0; i < tempWhen.size(); i++) { then.add( e ); }
label_48:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHEN:{
break;
}
default:
jj_la1[222] = jj_gen;
break label_48;
}
jj_consume_token(WHEN);
tempWhen = simpleCaseWhenOperandList(caseExpr);
when.addAll( tempWhen );
jj_consume_token(THEN);
e = Expression();
for (var i = 0; i < tempWhen.size(); i++) { then.add( e ); }
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ELSE:{
jj_consume_token(ELSE);
elseCase = Expression();
break;
}
default:
jj_la1[223] = jj_gen;
;
}
jj_consume_token(END);
{if ("" != null) return astFactory.caseExpression( pos( t ), caseExpr, when, then, elseCase);}
throw new IllegalStateException ("Missing return statement in function");
}
final public List simpleCaseWhenOperandList(EXPRESSION caseExpr) throws ParseException, Exception {EXPRESSION e;
List list = new ArrayList<>();
e = whenOperand(caseExpr);
list.add( e );
label_49:
while (true) {
if (jj_2_112(2)) {
} else {
break label_49;
}
jj_consume_token(COMMA);
e = whenOperand(caseExpr);
list.add( e );
}
{if ("" != null) return list;}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION whenOperand(EXPRESSION lhs) throws ParseException, Exception {Token t;
EXPRESSION e;
EXPRESSION rhs;
ParserCypherTypeName typeName;
ParserNormalForm normalForm;
t = token;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case REGEQ:{
t = jj_consume_token(REGEQ);
rhs = Expression6();
{if ("" != null) return astFactory.regeq( pos( t ), lhs, rhs );}
break;
}
case STARTS:{
t = jj_consume_token(STARTS);
jj_consume_token(WITH);
rhs = Expression6();
{if ("" != null) return astFactory.startsWith( pos( t ), lhs, rhs );}
break;
}
case ENDS:{
t = jj_consume_token(ENDS);
jj_consume_token(WITH);
rhs = Expression6();
{if ("" != null) return astFactory.endsWith( pos( t ), lhs, rhs );}
break;
}
default:
jj_la1[224] = jj_gen;
if (jj_2_113(3)) {
t = jj_consume_token(IS);
jj_consume_token(NULL);
{if ("" != null) return astFactory.isNull( pos( t ), lhs );}
} else if (jj_2_114(3)) {
t = jj_consume_token(IS);
jj_consume_token(NOT);
jj_consume_token(NULL);
{if ("" != null) return astFactory.isNotNull( pos( t ), lhs );}
} else if (jj_2_115(3)) {
t = jj_consume_token(IS);
normalForm = normalForm();
jj_consume_token(NORMALIZED);
{if ("" != null) return astFactory.isNormalized( pos( t ), lhs, normalForm );}
} else if (jj_2_116(3)) {
t = jj_consume_token(IS);
jj_consume_token(NOT);
normalForm = normalForm();
jj_consume_token(NORMALIZED);
{if ("" != null) return astFactory.isNotNormalized( pos( t ), lhs, normalForm );}
} else if (jj_2_117(3)) {
t = jj_consume_token(IS);
jj_consume_token(TYPED);
typeName = cypherTypeName();
{if ("" != null) return astFactory.isTyped( pos( t ), lhs, typeName );}
} else if (jj_2_118(3)) {
t = jj_consume_token(IS);
jj_consume_token(NOT);
jj_consume_token(TYPED);
typeName = cypherTypeName();
{if ("" != null) return astFactory.isNotTyped( pos( t ), lhs, typeName );}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COLONCOLON:{
t = jj_consume_token(COLONCOLON);
typeName = cypherTypeName();
{if ("" != null) return astFactory.isTyped( pos( t ), lhs, typeName );}
break;
}
case EQ:
case GE:
case GT:
case LE:
case LT:
case NEQ:
case NEQ2:{
e = Expression8ComparatorExpression(lhs);
{if ("" != null) return e;}
break;
}
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e = Expression();
{if ("" != null) return astFactory.eq( pos( t ), lhs, e);}
break;
}
default:
jj_la1[225] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION GeneralCaseExpression() throws ParseException, Exception {Token t;
EXPRESSION caseExpr = null;
EXPRESSION e;
List when = new ArrayList<>();
List then = new ArrayList<>();
EXPRESSION elseCase = null;
t = jj_consume_token(CASE);
jj_consume_token(WHEN);
e = Expression();
when.add( e );
jj_consume_token(THEN);
e = Expression();
then.add( e );
label_50:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHEN:{
break;
}
default:
jj_la1[226] = jj_gen;
break label_50;
}
jj_consume_token(WHEN);
e = Expression();
when.add( e );
jj_consume_token(THEN);
e = Expression();
then.add( e );
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ELSE:{
jj_consume_token(ELSE);
elseCase = Expression();
break;
}
default:
jj_la1[227] = jj_gen;
;
}
jj_consume_token(END);
{if ("" != null) return astFactory.caseExpression( pos( t ), caseExpr, when, then, elseCase);}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION ListComprehension() throws ParseException, Exception {Token t;
VARIABLE v;
EXPRESSION e;
EXPRESSION where = null;
EXPRESSION projection = null;
labelExpressionStack.push(ExpectBar.EXPECT_BAR);
t = jj_consume_token(LBRACKET);
v = Variable();
jj_consume_token(IN);
e = Expression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
where = Expression();
break;
}
default:
jj_la1[228] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BAR:{
jj_consume_token(BAR);
projection = Expression();
break;
}
default:
jj_la1[229] = jj_gen;
;
}
jj_consume_token(RBRACKET);
labelExpressionStack.pop();
{if ("" != null) return astFactory.listComprehension( pos( t ), v, e, where, projection );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION PatternComprehension() throws ParseException, Exception {Token t;
Token relationshipPatternPosition;
VARIABLE v = null;
PATTERN p;
EXPRESSION where = null;
EXPRESSION projection = null;
t = jj_consume_token(LBRACKET);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
v = Variable();
jj_consume_token(EQ);
break;
}
default:
jj_la1[230] = jj_gen;
;
}
relationshipPatternPosition = token;
p = PathPatternNonEmpty();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
labelExpressionStack.push(ExpectBar.EXPECT_BAR);
where = Expression();
labelExpressionStack.pop();
break;
}
default:
jj_la1[231] = jj_gen;
;
}
jj_consume_token(BAR);
projection = Expression();
jj_consume_token(RBRACKET);
{if ("" != null) return astFactory.patternComprehension( pos( t ), pos( relationshipPatternPosition.next ), v, p, where, projection );}
throw new IllegalStateException ("Missing return statement in function");
}
final public void PatternComprehensionPrefix() throws ParseException, Exception {
jj_consume_token(LBRACKET);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
Variable();
jj_consume_token(EQ);
break;
}
default:
jj_la1[232] = jj_gen;
;
}
PathPatternNonEmpty();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
break;
}
case BAR:{
jj_consume_token(BAR);
break;
}
default:
jj_la1[233] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public EXPRESSION ReduceExpression() throws ParseException, Exception {Token t;
VARIABLE acc;
EXPRESSION accExpr;
VARIABLE v;
EXPRESSION vExpr;
EXPRESSION innerExpr;
t = jj_consume_token(REDUCE);
jj_consume_token(LPAREN);
acc = Variable();
jj_consume_token(EQ);
accExpr = Expression();
jj_consume_token(COMMA);
v = Variable();
jj_consume_token(IN);
vExpr = Expression();
jj_consume_token(BAR);
innerExpr = Expression();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.reduceExpression( pos( t ), acc, accExpr, v, vExpr, innerExpr );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION AllExpression() throws ParseException, Exception {Token t;
VARIABLE v;
EXPRESSION e;
EXPRESSION where = null;
t = jj_consume_token(ALL);
jj_consume_token(LPAREN);
v = Variable();
jj_consume_token(IN);
e = Expression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
where = Expression();
break;
}
default:
jj_la1[234] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.allExpression( pos( t ), v, e, where );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION AnyExpression() throws ParseException, Exception {Token t;
VARIABLE v;
EXPRESSION e;
EXPRESSION where = null;
t = jj_consume_token(ANY);
jj_consume_token(LPAREN);
v = Variable();
jj_consume_token(IN);
e = Expression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
where = Expression();
break;
}
default:
jj_la1[235] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.anyExpression( pos( t ), v, e, where );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION NoneExpression() throws ParseException, Exception {Token t;
VARIABLE v;
EXPRESSION e;
EXPRESSION where = null;
t = jj_consume_token(NONE);
jj_consume_token(LPAREN);
v = Variable();
jj_consume_token(IN);
e = Expression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
where = Expression();
break;
}
default:
jj_la1[236] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.noneExpression( pos( t ), v, e, where );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION SingleExpression() throws ParseException, Exception {Token t;
VARIABLE v;
EXPRESSION e;
EXPRESSION where = null;
t = jj_consume_token(SINGLE);
jj_consume_token(LPAREN);
v = Variable();
jj_consume_token(IN);
e = Expression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
jj_consume_token(WHERE);
where = Expression();
break;
}
default:
jj_la1[237] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.singleExpression( pos( t ), v, e, where );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION NormalizeExpression() throws ParseException, Exception {Token t;
EXPRESSION e;
ParserNormalForm normalForm = ParserNormalForm.NFC;
t = jj_consume_token(NORMALIZE);
jj_consume_token(LPAREN);
e = Expression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
jj_consume_token(COMMA);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case NFC:{
jj_consume_token(NFC);
break;
}
case NFD:{
jj_consume_token(NFD);
normalForm = ParserNormalForm.NFD;
break;
}
case NFKC:{
jj_consume_token(NFKC);
normalForm = ParserNormalForm.NFKC;
break;
}
case NFKD:{
jj_consume_token(NFKD);
normalForm = ParserNormalForm.NFKD;
break;
}
default:
jj_la1[238] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[239] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.normalizeExpression( pos( t ), e, normalForm );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION TrimFunction() throws ParseException, Exception {Token t;
EXPRESSION trimCharacterString = null;
EXPRESSION trimSource = null;
EXPRESSION expression = null;
ParserTrimSpecification trimSpec = ParserTrimSpecification.BOTH;
t = jj_consume_token(TRIM);
jj_consume_token(LPAREN);
if (jj_2_120(2147483647)) {
jj_consume_token(FROM);
trimSource = Expression();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.trimFunction( pos( t ), trimSpec, trimCharacterString, trimSource );}
} else if (jj_2_121(2147483647)) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BOTH:{
jj_consume_token(BOTH);
break;
}
case LEADING:{
jj_consume_token(LEADING);
trimSpec = ParserTrimSpecification.LEADING;
break;
}
case TRAILING:{
jj_consume_token(TRAILING);
trimSpec = ParserTrimSpecification.TRAILING;
break;
}
default:
jj_la1[240] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(FROM);
trimSource = Expression();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.trimFunction( pos( t ), trimSpec, trimCharacterString, trimSource );}
} else if (jj_2_122(2147483647)) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BOTH:{
jj_consume_token(BOTH);
break;
}
case LEADING:{
jj_consume_token(LEADING);
trimSpec = ParserTrimSpecification.LEADING;
break;
}
case TRAILING:{
jj_consume_token(TRAILING);
trimSpec = ParserTrimSpecification.TRAILING;
break;
}
default:
jj_la1[241] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
trimCharacterString = Expression();
jj_consume_token(FROM);
trimSource = Expression();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.trimFunction( pos( t ), trimSpec, trimCharacterString, trimSource );}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
expression = Expression();
if (jj_2_119(2147483647)) {
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.trimFunction( pos( t ), trimSpec, trimCharacterString, expression );}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case FROM:{
jj_consume_token(FROM);
trimSource = Expression();
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.trimFunction( pos( t ), trimSpec, expression, trimSource );}
break;
}
default:
jj_la1[242] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[243] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION PatternExpression() throws ParseException, Exception {PATTERN p;
Token t;
t = token;
p = PathPatternNonEmpty();
{if ("" != null) return astFactory.patternExpression( pos( t.next ), p );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION ShortestPathExpression() throws ParseException, Exception {PATTERN p;
Token t;
t = token;
p = ShortestPathPattern();
{if ("" != null) return astFactory.patternExpression( pos( t.next ), p );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION MapProjection() throws ParseException, Exception {Token t;
VARIABLE v;
MAP_PROJECTION_ITEM x;
List items = new ArrayList<>();
v = Variable();
t = jj_consume_token(LCURLY);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DOT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
x = MapProjectionItem();
items.add( x );
label_51:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[244] = jj_gen;
break label_51;
}
jj_consume_token(COMMA);
x = MapProjectionItem();
items.add( x );
}
break;
}
default:
jj_la1[245] = jj_gen;
;
}
jj_consume_token(RCURLY);
{if ("" != null) return astFactory.mapProjection( pos( t ), v, items );}
throw new IllegalStateException ("Missing return statement in function");
}
final public MAP_PROJECTION_ITEM MapProjectionItem() throws ParseException, Exception {Token t;
StringPos p;
EXPRESSION e;
VARIABLE v;
if (jj_2_123(2)) {
p = PropertyKeyName();
jj_consume_token(COLON);
e = Expression();
{if ("" != null) return astFactory.mapProjectionLiteralEntry( p, e );}
} else if (jj_2_124(2)) {
jj_consume_token(DOT);
p = PropertyKeyName();
{if ("" != null) return astFactory.mapProjectionProperty( p );}
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
v = Variable();
{if ("" != null) return astFactory.mapProjectionVariable( v );}
break;
}
case DOT:{
jj_consume_token(DOT);
t = jj_consume_token(TIMES);
{if ("" != null) return astFactory.mapProjectionAll( pos( t ) );}
break;
}
default:
jj_la1[246] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION ExistsExpression() throws ParseException, Exception {Token t;
List patterns = null;
MATCH_MODE matchMode = null;
QUERY q = null;
WHERE where = null;
t = jj_consume_token(EXISTS);
jj_consume_token(LCURLY);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CALL:
case CREATE:
case DELETE:
case DETACH:
case FINISH:
case FOREACH:
case INSERT:
case LIMITROWS:
case LOAD:
case MATCH:
case MERGE:
case NODETACH:
case OFFSET:
case OPTIONAL:
case ORDER:
case REMOVE:
case RETURN:
case SET:
case SKIPROWS:
case UNWIND:
case USE:
case WITH:{
q = RegularQuery();
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FLOAT:
case FOR:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIST:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case ON:
case ONLY:
case OPTIONS:
case OPTION:
case OR:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case URL:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DIFFERENT:
case REPEATABLE:{
matchMode = MatchMode();
break;
}
default:
jj_la1[247] = jj_gen;
;
}
patterns = PatternList();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[248] = jj_gen;
;
}
break;
}
default:
jj_la1[249] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(RCURLY);
{if ("" != null) return astFactory.existsExpression( pos( t ), matchMode, patterns, q, where );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION CountExpression() throws ParseException, Exception {Token t;
List patterns = null;
MATCH_MODE matchMode = null;
QUERY q = null;
WHERE where = null;
t = jj_consume_token(COUNT);
jj_consume_token(LCURLY);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CALL:
case CREATE:
case DELETE:
case DETACH:
case FINISH:
case FOREACH:
case INSERT:
case LIMITROWS:
case LOAD:
case MATCH:
case MERGE:
case NODETACH:
case OFFSET:
case OPTIONAL:
case ORDER:
case REMOVE:
case RETURN:
case SET:
case SKIPROWS:
case UNWIND:
case USE:
case WITH:{
q = RegularQuery();
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FLOAT:
case FOR:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIST:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case ON:
case ONLY:
case OPTIONS:
case OPTION:
case OR:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case URL:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DIFFERENT:
case REPEATABLE:{
matchMode = MatchMode();
break;
}
default:
jj_la1[250] = jj_gen;
;
}
patterns = PatternList();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[251] = jj_gen;
;
}
break;
}
default:
jj_la1[252] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(RCURLY);
{if ("" != null) return astFactory.countExpression( pos( t ), matchMode, patterns, q, where );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION CollectExpression() throws ParseException, Exception {Token t;
QUERY q;
t = jj_consume_token(COLLECT);
jj_consume_token(LCURLY);
q = RegularQuery();
jj_consume_token(RCURLY);
{if ("" != null) return astFactory.collectExpression( pos( t ), q );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION StringLiteral() throws ParseException {Token t;
t = StringToken();
{if ("" != null) return astFactory.newString( pos( t ), endPos( t ), token.image );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION NumberLiteral() throws ParseException {Token sign = null;
Token t;
boolean negated = false;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case MINUS:{
sign = jj_consume_token(MINUS);
negated = true;
break;
}
default:
jj_la1[253] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:{
t = jj_consume_token(DECIMAL_DOUBLE);
{if ("" != null) return astFactory.newDouble( pos( sign != null ? sign : t ) , sign != null ? sign.image + token.image : token.image );}
break;
}
case UNSIGNED_DECIMAL_INTEGER:{
t = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
{if ("" != null) return astFactory.newDecimalInteger( pos( sign != null ? sign : t ), token.image, negated );}
break;
}
case UNSIGNED_HEX_INTEGER:{
t = jj_consume_token(UNSIGNED_HEX_INTEGER);
{if ("" != null) return astFactory.newHexInteger( pos( sign != null ? sign : t ), token.image, negated );}
break;
}
case UNSIGNED_OCTAL_INTEGER:{
t = jj_consume_token(UNSIGNED_OCTAL_INTEGER);
{if ("" != null) return astFactory.newOctalInteger( pos( sign != null ? sign : t ), token.image, negated );}
break;
}
default:
jj_la1[254] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION SignedIntegerLiteral() throws ParseException {Token sign = null;
Token number;
boolean negated = false;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case MINUS:{
sign = jj_consume_token(MINUS);
negated = true;
break;
}
default:
jj_la1[255] = jj_gen;
;
}
number = jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
{if ("" != null) return astFactory.newDecimalInteger( pos( sign != null ? sign : number ), token.image, negated );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION ListLiteral() throws ParseException, Exception {Token t;
EXPRESSION e;
List list = new ArrayList<>();
t = jj_consume_token(LBRACKET);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e = Expression();
list.add( e );
label_52:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[256] = jj_gen;
break label_52;
}
jj_consume_token(COMMA);
e = Expression();
list.add( e );
}
break;
}
default:
jj_la1[257] = jj_gen;
;
}
jj_consume_token(RBRACKET);
{if ("" != null) return astFactory.listLiteral( pos( t ), list );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION StringListLiteral() throws ParseException, Exception {Token t;
EXPRESSION e;
List list = new ArrayList<>();
t = jj_consume_token(LBRACKET);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case STRING_LITERAL1:
case STRING_LITERAL2:{
e = StringLiteral();
list.add( e );
label_53:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[258] = jj_gen;
break label_53;
}
jj_consume_token(COMMA);
e = StringLiteral();
list.add( e );
}
break;
}
default:
jj_la1[259] = jj_gen;
;
}
jj_consume_token(RBRACKET);
{if ("" != null) return astFactory.listLiteral( pos( t ), list );}
throw new IllegalStateException ("Missing return statement in function");
}
final public EXPRESSION MapLiteral() throws ParseException, Exception {Token t;
StringPos key;
EXPRESSION value;
List> keys = new ArrayList<>();
List values = new ArrayList<>();
t = jj_consume_token(LCURLY);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
key = PropertyKeyName();
jj_consume_token(COLON);
value = Expression();
keys.add( key ); values.add( value );
label_54:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[260] = jj_gen;
break label_54;
}
jj_consume_token(COMMA);
key = PropertyKeyName();
jj_consume_token(COLON);
value = Expression();
keys.add( key ); values.add( value );
}
break;
}
default:
jj_la1[261] = jj_gen;
;
}
jj_consume_token(RCURLY);
{if ("" != null) return astFactory.mapLiteral( pos( t ), keys, values);}
throw new IllegalStateException ("Missing return statement in function");
}
final public StringPos PropertyKeyName() throws ParseException {Token t;
t = SymbolicNameString();
{if ("" != null) return new StringPos( t.image, pos( t ) );}
throw new IllegalStateException ("Missing return statement in function");
}
final public PARAMETER Parameter(ParameterType type) throws ParseException {Token t;
VARIABLE v;
t = jj_consume_token(DOLLAR);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
v = Variable();
{if ("" != null) return astFactory.newParameter( pos( t ), v, type );}
break;
}
case UNSIGNED_DECIMAL_INTEGER:{
jj_consume_token(UNSIGNED_DECIMAL_INTEGER);
{if ("" != null) return astFactory.newParameter( pos( t ), token.image, type );}
break;
}
default:
jj_la1[262] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new IllegalStateException ("Missing return statement in function");
}
final public FUNCTION_INVOCATION FunctionInvocation(boolean calledFromUseClause) throws ParseException, Exception {Token before = token;
Token nameSpaceToken;
Token nameToken;
List namespace;
boolean distinct = false;
EXPRESSION e;
List arguments = new ArrayList<>();
namespace = Namespace();
nameToken = SymbolicNameString();
jj_consume_token(LPAREN);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALL:
case DISTINCT:{
if (jj_2_125(2)) {
jj_consume_token(DISTINCT);
distinct = true;
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALL:{
jj_consume_token(ALL);
break;
}
default:
jj_la1[263] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[264] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
e = Expression();
arguments.add( e );
label_55:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[265] = jj_gen;
break label_55;
}
jj_consume_token(COMMA);
e = Expression();
arguments.add( e );
}
break;
}
default:
jj_la1[266] = jj_gen;
;
}
jj_consume_token(RPAREN);
{if ("" != null) return astFactory.functionInvocation( pos( before.next ), pos( nameToken ), namespace, nameToken.image, distinct, arguments, calledFromUseClause );}
throw new IllegalStateException ("Missing return statement in function");
}
final public List Namespace() throws ParseException {Token t;
List parts = new ArrayList<>();
label_56:
while (true) {
if (jj_2_126(2)) {
} else {
break label_56;
}
t = SymbolicNameString();
parts.add( t.image );
jj_consume_token(DOT);
}
{if ("" != null) return parts;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List VariableList1() throws ParseException {Token t;
List list = new ArrayList<>();
t = SymbolicNameString();
list.add( astFactory.newVariable( pos( t ), t.image ) );
label_57:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[267] = jj_gen;
break label_57;
}
jj_consume_token(COMMA);
t = SymbolicNameString();
list.add( astFactory.newVariable( pos( t ), t.image) );
}
{if ("" != null) return list;}
throw new IllegalStateException ("Missing return statement in function");
}
final public VARIABLE Variable() throws ParseException {Token t;
t = SymbolicNameString();
{if ("" != null) return astFactory.newVariable( pos( t ), t.image );}
throw new IllegalStateException ("Missing return statement in function");
}
final public List SymbolicNameList1() throws ParseException {Token n;
List list = new ArrayList<>();
n = SymbolicNameString();
list.add(n.image);
label_58:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[268] = jj_gen;
break label_58;
}
jj_consume_token(COMMA);
n = SymbolicNameString();
list.add( n.image );
}
{if ("" != null) return list;}
throw new IllegalStateException ("Missing return statement in function");
}
// Command Section
final public
STATEMENT_WITH_GRAPH CreateCommand(USE_CLAUSE useClause) throws ParseException, Exception {Token start;
boolean replace = false;
STATEMENT_WITH_GRAPH statement;
start = jj_consume_token(CREATE);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OR:{
jj_consume_token(OR);
jj_consume_token(REPLACE);
replace = true;
break;
}
default:
jj_la1[269] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ROLE:{
statement = CreateRole(start, replace);
break;
}
case USER:{
statement = CreateUser(start, replace);
break;
}
case DATABASE:{
statement = CreateDatabase(start, replace);
break;
}
case CONSTRAINT:{
statement = CreateConstraint(start, replace);
break;
}
case BTREE:
case FULLTEXT:
case INDEX:
case LOOKUP:
case POINT:
case RANGE:
case TEXT:
case VECTOR:{
statement = CreateIndex(start, replace);
break;
}
case ALIAS:{
statement = CreateAlias(start, replace);
break;
}
case COMPOSITE:{
statement = CreateCompositeDatabase(start, replace);
break;
}
default:
jj_la1[270] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return astFactory.useGraph( statement, useClause );}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT Command(USE_CLAUSE useClause) throws ParseException, Exception {STATEMENT statement = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALTER:
case DEALLOCATE:
case DENY:
case DROP:
case DRYRUN:
case ENABLE:
case GRANT:
case REALLOCATE:
case RENAME:
case REVOKE:
case START:
case STOP:{
statement = CommandWithUseGraph(useClause);
break;
}
case SHOW:{
statement = ShowCommand(useClause);
break;
}
case TERMINATE:{
statement = TerminateCommand(useClause);
break;
}
default:
jj_la1[271] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return statement;}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT_WITH_GRAPH CommandWithUseGraph(USE_CLAUSE useClause) throws ParseException, Exception {STATEMENT_WITH_GRAPH s;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DROP:{
s = DropCommand();
break;
}
case ALTER:{
s = AlterCommand();
break;
}
case RENAME:{
s = RenameCommand();
break;
}
case DENY:{
s = DenyPrivilege();
break;
}
case REVOKE:{
s = RevokeCommand();
break;
}
case GRANT:{
s = GrantCommand();
break;
}
case START:{
s = StartDatabase();
break;
}
case STOP:{
s = StopDatabase();
break;
}
case ENABLE:{
s = EnableServerCommand();
break;
}
case DEALLOCATE:
case DRYRUN:
case REALLOCATE:{
s = AllocationCommand();
break;
}
default:
jj_la1[272] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return astFactory.useGraph( s, useClause );}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT_WITH_GRAPH DropCommand() throws ParseException, Exception {Token start;
STATEMENT_WITH_GRAPH s;
start = jj_consume_token(DROP);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ROLE:{
s = DropRole(start);
break;
}
case USER:{
s = DropUser(start);
break;
}
case COMPOSITE:
case DATABASE:{
s = DropDatabase(start);
break;
}
case CONSTRAINT:{
s = DropConstraint(start);
break;
}
case INDEX:{
s = DropIndex(start);
break;
}
case ALIAS:{
s = DropAlias(start);
break;
}
case SERVER:{
s = DropServer(start);
break;
}
default:
jj_la1[273] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return s;}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT_WITH_GRAPH AlterCommand() throws ParseException, Exception {Token start = null;
STATEMENT_WITH_GRAPH s;
start = jj_consume_token(ALTER);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DATABASE:{
s = AlterDatabase(start);
break;
}
case ALIAS:{
s = AlterAlias(start);
break;
}
case CURRENT:{
s = AlterCurrentUser(start);
break;
}
case USER:{
s = AlterUser(start);
break;
}
case SERVER:{
s = AlterServer(start);
break;
}
default:
jj_la1[274] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return s;}
throw new IllegalStateException ("Missing return statement in function");
}
// SHOW commands
final public
STATEMENT ShowCommand(USE_CLAUSE useClause) throws ParseException, Exception {Token start = null;
Token showCommandType = null;
STATEMENT statement = null;
List clauses = null;
start = jj_consume_token(SHOW);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALL:{
showCommandType = jj_consume_token(ALL);
statement = ShowAllCommand(start, useClause);
break;
}
case POPULATED:{
jj_consume_token(POPULATED);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ROLES:{
jj_consume_token(ROLES);
break;
}
case ROLE:{
jj_consume_token(ROLE);
break;
}
default:
jj_la1[275] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
statement = ShowRoles(start, useClause, false);
break;
}
case BTREE:{
showCommandType = jj_consume_token(BTREE);
clauses = ShowIndexesAllowBrief(start, ShowCommandFilterTypes.BTREE);
break;
}
case RANGE:{
showCommandType = jj_consume_token(RANGE);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.RANGE);
break;
}
case FULLTEXT:{
showCommandType = jj_consume_token(FULLTEXT);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.FULLTEXT);
break;
}
case TEXT:{
showCommandType = jj_consume_token(TEXT);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.TEXT);
break;
}
case POINT:{
showCommandType = jj_consume_token(POINT);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.POINT);
break;
}
case VECTOR:{
showCommandType = jj_consume_token(VECTOR);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.VECTOR);
break;
}
case LOOKUP:{
showCommandType = jj_consume_token(LOOKUP);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.LOOKUP);
break;
}
case UNIQUE:{
showCommandType = jj_consume_token(UNIQUE);
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.UNIQUE);
break;
}
case UNIQUENESS:{
showCommandType = jj_consume_token(UNIQUENESS);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.UNIQUE);
break;
}
case KEY:{
showCommandType = jj_consume_token(KEY);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.KEY);
break;
}
case NODE:{
showCommandType = jj_consume_token(NODE);
clauses = ShowNodeCommand(start);
break;
}
case PROPERTY:{
showCommandType = jj_consume_token(PROPERTY);
clauses = ShowPropertyCommand(start, ShowCommandFilterTypes.EXIST);
break;
}
case EXISTENCE:{
showCommandType = jj_consume_token(EXISTENCE);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.EXIST);
break;
}
case EXISTS:{
showCommandType = jj_consume_token(EXISTS);
ShowConstraintsAllowBrief(start);
break;
}
case EXIST:{
showCommandType = jj_consume_token(EXIST);
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.OLD_EXIST);
break;
}
case RELATIONSHIP:{
showCommandType = jj_consume_token(RELATIONSHIP);
clauses = ShowRelationshipCommand(start);
break;
}
case REL:{
showCommandType = jj_consume_token(REL);
clauses = ShowRelCommand(start);
break;
}
case BUILT:{
showCommandType = jj_consume_token(BUILT);
jj_consume_token(IN);
clauses = ShowFunctions(start, ShowCommandFilterTypes.BUILT_IN);
break;
}
case INDEX:
case INDEXES:{
clauses = ShowIndexesAllowBrief(start, ShowCommandFilterTypes.ALL);
break;
}
case DATABASE:
case DATABASES:
case DEFAULT_TOKEN:
case HOME:{
statement = ShowDatabase(start, useClause);
break;
}
case CURRENT:{
statement = ShowCurrentUser(start, useClause);
break;
}
case CONSTRAINT:
case CONSTRAINTS:{
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.ALL);
break;
}
case PROCEDURE:
case PROCEDURES:{
clauses = ShowProcedures(start);
break;
}
case SETTING:
case SETTINGS:{
clauses = ShowSettings(start);
break;
}
case FUNCTION:
case FUNCTIONS:{
clauses = ShowFunctions(start, ShowCommandFilterTypes.ALL);
break;
}
case TRANSACTION:
case TRANSACTIONS:{
clauses = ShowTransactions(start);
break;
}
case ALIAS:
case ALIASES:{
statement = ShowAliases(start, useClause);
break;
}
case SERVER:
case SERVERS:{
statement = ShowServers(start, useClause);
break;
}
case PRIVILEGE:
case PRIVILEGES:{
statement = ShowPrivileges(start, useClause);
break;
}
case SUPPORTED:{
statement = ShowSupportedPrivileges(start, useClause);
break;
}
case ROLE:
case ROLES:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ROLES:{
jj_consume_token(ROLES);
break;
}
case ROLE:{
jj_consume_token(ROLE);
break;
}
default:
jj_la1[276] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
if (jj_2_127(2147483647)) {
statement = ShowRolePrivileges(start, useClause);
} else if (jj_2_128(2147483647)) {
statement = ShowRoles(start, useClause, true);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
statement = ShowRolePrivileges(start, useClause);
break;
}
default:
jj_la1[277] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[280] = jj_gen;
if (jj_2_131(2147483647)) {
showCommandType = jj_consume_token(USER);
jj_consume_token(DEFINED);
clauses = ShowFunctions(start, ShowCommandFilterTypes.USER_DEFINED);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case USER:
case USERS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case USERS:{
jj_consume_token(USERS);
break;
}
case USER:{
jj_consume_token(USER);
break;
}
default:
jj_la1[278] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
if (jj_2_129(2147483647)) {
statement = ShowUserPrivileges(start, useClause);
} else if (jj_2_130(2147483647)) {
statement = ShowUsers(start, useClause);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
statement = ShowUserPrivileges(start, useClause);
break;
}
default:
jj_la1[279] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[281] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
if ( clauses != null ) {
if ( useClause != null )
{
clauses.add( 0, useClause );
}
statement = astFactory.newSingleQuery( pos( start ), clauses );
}
{if ("" != null) return statement;}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT TerminateCommand(USE_CLAUSE useClause) throws ParseException, Exception {Token start = null;
List clauses = null;
start = jj_consume_token(TERMINATE);
clauses = TerminateTransactions(start);
if ( useClause != null )
{
clauses.add( 0, useClause );
}
{if ("" != null) return astFactory.newSingleQuery( pos( start ), clauses );}
throw new IllegalStateException ("Missing return statement in function");
}
final public STATEMENT ShowAllCommand(Token start, USE_CLAUSE useClause) throws ParseException, Exception {STATEMENT statement = null;
List clauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ROLE:
case ROLES:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ROLES:{
jj_consume_token(ROLES);
break;
}
case ROLE:{
jj_consume_token(ROLE);
break;
}
default:
jj_la1[282] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
statement = ShowRoles(start, useClause, true);
break;
}
case INDEX:
case INDEXES:{
clauses = ShowIndexesAllowBrief(start, ShowCommandFilterTypes.ALL);
break;
}
case CONSTRAINT:
case CONSTRAINTS:{
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.ALL);
break;
}
case FUNCTION:
case FUNCTIONS:{
clauses = ShowFunctions(start, ShowCommandFilterTypes.ALL);
break;
}
case PRIVILEGE:
case PRIVILEGES:{
statement = ShowPrivileges(start, useClause);
break;
}
default:
jj_la1[283] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
if ( clauses != null ) {
if ( useClause != null )
{
clauses.add( 0, useClause );
}
statement = astFactory.newSingleQuery( pos( start ), clauses );
}
{if ("" != null) return statement;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowNodeCommand(Token start) throws ParseException, Exception {List clauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNIQUE:
case UNIQUENESS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNIQUE:{
jj_consume_token(UNIQUE);
break;
}
case UNIQUENESS:{
jj_consume_token(UNIQUENESS);
break;
}
default:
jj_la1[284] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.NODE_UNIQUE);
break;
}
case KEY:{
jj_consume_token(KEY);
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.NODE_KEY);
break;
}
case PROPERTY:{
jj_consume_token(PROPERTY);
clauses = ShowPropertyCommand(start, ShowCommandFilterTypes.NODE_EXIST);
break;
}
case EXISTENCE:{
jj_consume_token(EXISTENCE);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.NODE_EXIST);
break;
}
case EXISTS:{
jj_consume_token(EXISTS);
ShowConstraintsAllowBrief(start);
break;
}
case EXIST:{
jj_consume_token(EXIST);
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.NODE_OLD_EXIST);
break;
}
default:
jj_la1[285] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowRelationshipCommand(Token start) throws ParseException, Exception {List clauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNIQUE:
case UNIQUENESS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNIQUE:{
jj_consume_token(UNIQUE);
break;
}
case UNIQUENESS:{
jj_consume_token(UNIQUENESS);
break;
}
default:
jj_la1[286] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.RELATIONSHIP_UNIQUE);
break;
}
case KEY:{
jj_consume_token(KEY);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.RELATIONSHIP_KEY);
break;
}
case PROPERTY:{
jj_consume_token(PROPERTY);
clauses = ShowPropertyCommand(start, ShowCommandFilterTypes.RELATIONSHIP_EXIST);
break;
}
case EXISTENCE:{
jj_consume_token(EXISTENCE);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.RELATIONSHIP_EXIST);
break;
}
case EXISTS:{
jj_consume_token(EXISTS);
ShowConstraintsAllowBrief(start);
break;
}
case EXIST:{
jj_consume_token(EXIST);
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.RELATIONSHIP_OLD_EXIST);
break;
}
default:
jj_la1[287] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowRelCommand(Token start) throws ParseException, Exception {List clauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNIQUE:
case UNIQUENESS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case UNIQUE:{
jj_consume_token(UNIQUE);
break;
}
case UNIQUENESS:{
jj_consume_token(UNIQUENESS);
break;
}
default:
jj_la1[288] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.RELATIONSHIP_UNIQUE);
break;
}
case KEY:{
jj_consume_token(KEY);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.RELATIONSHIP_KEY);
break;
}
case PROPERTY:{
jj_consume_token(PROPERTY);
clauses = ShowPropertyCommand(start, ShowCommandFilterTypes.RELATIONSHIP_EXIST);
break;
}
case EXISTENCE:{
jj_consume_token(EXISTENCE);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.RELATIONSHIP_EXIST);
break;
}
case EXIST:{
jj_consume_token(EXIST);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.RELATIONSHIP_EXIST);
break;
}
default:
jj_la1[289] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowPropertyCommand(Token start, ShowCommandFilterTypes existenceConstraintType) throws ParseException, Exception {List clauses = null;
ShowCommandFilterTypes propertyTypeConstraintType;
if (existenceConstraintType.description().startsWith("NODE")) {
propertyTypeConstraintType = ShowCommandFilterTypes.NODE_PROP_TYPE;
} else if (existenceConstraintType.description().startsWith("REL")) {
propertyTypeConstraintType = ShowCommandFilterTypes.RELATIONSHIP_PROP_TYPE;
} else {
propertyTypeConstraintType = ShowCommandFilterTypes.PROP_TYPE;
}
ShowCommandFilterTypes constraintType;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case EXIST:
case EXISTENCE:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case EXISTENCE:{
jj_consume_token(EXISTENCE);
break;
}
case EXIST:{
jj_consume_token(EXIST);
break;
}
default:
jj_la1[290] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
constraintType = existenceConstraintType;
break;
}
case TYPE:{
jj_consume_token(TYPE);
constraintType = propertyTypeConstraintType;
break;
}
default:
jj_la1[291] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
clauses = ShowConstraintsAllowYield(start, constraintType);
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public RETURN_ITEM YieldItem() throws ParseException {VARIABLE e;
VARIABLE v = null;
Token eStart;
Token eEnd;
eStart = token;
e = Variable();
eEnd = token;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case AS:{
jj_consume_token(AS);
v = Variable();
break;
}
default:
jj_la1[292] = jj_gen;
;
}
if ( v != null )
{
{if ("" != null) return astFactory.newReturnItem( pos( eStart.next ), e, v );}
}
else
{
{if ("" != null) return astFactory.newReturnItem( pos( eStart.next ), e, eStart.next.beginOffset, eEnd.endOffset );}
}
throw new IllegalStateException ("Missing return statement in function");
}
final public YIELD YieldClause() throws ParseException, Exception {Token start;
Token skipPosition = null;
Token limitPosition = null;
Token orderToken = null;
boolean returnAll = false;
RETURN_ITEM item;
ORDER_ITEM o;
List returnItems = new ArrayList<>();
List orders = new ArrayList<>();
EXPRESSION skip = null;
EXPRESSION limit = null;
WHERE where = null;
start = jj_consume_token(YIELD);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TIMES:{
jj_consume_token(TIMES);
returnAll = true;
break;
}
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
item = YieldItem();
returnItems.add( item );
label_59:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[293] = jj_gen;
break label_59;
}
jj_consume_token(COMMA);
item = YieldItem();
returnItems.add( item );
}
break;
}
default:
jj_la1[294] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ORDER:{
orderToken = jj_consume_token(ORDER);
jj_consume_token(BY);
o = OrderItem();
orders.add( o );
label_60:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case COMMA:{
break;
}
default:
jj_la1[295] = jj_gen;
break label_60;
}
jj_consume_token(COMMA);
o = OrderItem();
orders.add( o );
}
break;
}
default:
jj_la1[296] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OFFSET:
case SKIPROWS:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SKIPROWS:{
skipPosition = jj_consume_token(SKIPROWS);
skip = SignedIntegerLiteral();
break;
}
case OFFSET:{
skipPosition = jj_consume_token(OFFSET);
skip = SignedIntegerLiteral();
break;
}
default:
jj_la1[297] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[298] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case LIMITROWS:{
limitPosition = jj_consume_token(LIMITROWS);
limit = SignedIntegerLiteral();
break;
}
default:
jj_la1[299] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[300] = jj_gen;
;
}
{if ("" != null) return astFactory.yieldClause( pos( start ), returnAll, returnItems, pos( start.next ), orders, pos( orderToken ), skip, pos( skipPosition ), limit, pos( limitPosition ), where );}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowIndexesAllowBrief(Token start, ShowCommandFilterTypes indexType) throws ParseException, Exception {// all and btree indexes
List clauses = new ArrayList<>();
boolean brief = false;
boolean verbose = false;
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case INDEX:{
jj_consume_token(INDEX);
break;
}
case INDEXES:{
jj_consume_token(INDEXES);
break;
}
default:
jj_la1[301] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BRIEF:
case VERBOSE:
case WHERE:
case YIELD:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BRIEF:
case VERBOSE:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BRIEF:{
jj_consume_token(BRIEF);
brief = true;
break;
}
case VERBOSE:{
jj_consume_token(VERBOSE);
verbose = true;
break;
}
default:
jj_la1[302] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OUTPUT:{
jj_consume_token(OUTPUT);
break;
}
default:
jj_la1[303] = jj_gen;
;
}
break;
}
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[304] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[305] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[306] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[307] = jj_gen;
;
}
if (brief || verbose) {
throw exceptionFactory.syntaxException(
new ParseException(ASTExceptionFactory.invalidBriefVerbose("SHOW INDEXES")),
start.beginOffset, start.beginLine, start.beginColumn );
}
if ( yieldClause != null )
{
clauses.add( astFactory.showIndexClause( pos( start ), indexType, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.showIndexClause( pos( start ), indexType, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowIndexesNoBrief(Token start, ShowCommandFilterTypes indexType) throws ParseException, Exception {// remaining indexes
List clauses = new ArrayList<>();
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case INDEX:{
jj_consume_token(INDEX);
break;
}
case INDEXES:{
jj_consume_token(INDEXES);
break;
}
default:
jj_la1[308] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:
case YIELD:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[309] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[310] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[311] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[312] = jj_gen;
;
}
if ( yieldClause != null )
{
clauses.add( astFactory.showIndexClause( pos( start ), indexType, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.showIndexClause( pos( start ), indexType, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowConstraintsAllowBriefAndYield(Token start, ShowCommandFilterTypes constraintType) throws ParseException, Exception {// constraints that previously allowed brief/verbose
List clauses = new ArrayList<>();
boolean brief = false;
boolean verbose = false;
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CONSTRAINT:{
jj_consume_token(CONSTRAINT);
break;
}
case CONSTRAINTS:{
jj_consume_token(CONSTRAINTS);
break;
}
default:
jj_la1[313] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BRIEF:
case VERBOSE:
case WHERE:
case YIELD:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BRIEF:
case VERBOSE:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BRIEF:{
jj_consume_token(BRIEF);
brief = true;
break;
}
case VERBOSE:{
jj_consume_token(VERBOSE);
verbose = true;
break;
}
default:
jj_la1[314] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OUTPUT:{
jj_consume_token(OUTPUT);
break;
}
default:
jj_la1[315] = jj_gen;
;
}
break;
}
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[316] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[317] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[318] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[319] = jj_gen;
;
}
if (brief || verbose) {
throw exceptionFactory.syntaxException(
new ParseException(ASTExceptionFactory.invalidBriefVerbose("SHOW CONSTRAINTS")),
start.beginOffset, start.beginLine, start.beginColumn );
}
if ( yieldClause != null )
{
clauses.add( astFactory.showConstraintClause( pos( start ), constraintType, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.showConstraintClause( pos( start ), constraintType, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public void ShowConstraintsAllowBrief(Token start) throws ParseException, Exception {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CONSTRAINT:{
jj_consume_token(CONSTRAINT);
break;
}
case CONSTRAINTS:{
jj_consume_token(CONSTRAINTS);
break;
}
default:
jj_la1[320] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BRIEF:
case VERBOSE:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BRIEF:{
jj_consume_token(BRIEF);
break;
}
case VERBOSE:{
jj_consume_token(VERBOSE);
break;
}
default:
jj_la1[321] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case OUTPUT:{
jj_consume_token(OUTPUT);
break;
}
default:
jj_la1[322] = jj_gen;
;
}
break;
}
default:
jj_la1[323] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
composableCommandClauses();
break;
}
default:
jj_la1[324] = jj_gen;
;
}
throw exceptionFactory.syntaxException(
new ParseException(ASTExceptionFactory.invalidExistsForShowConstraints),
start.beginOffset, start.beginLine, start.beginColumn );
}
final public List ShowConstraintsAllowYield(Token start, ShowCommandFilterTypes constraintType) throws ParseException, Exception {// constraints only allowing yield and not brief/verbose
// this is the method that will be used for all constraints in 6.0
List clauses = new ArrayList<>();
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CONSTRAINT:{
jj_consume_token(CONSTRAINT);
break;
}
case CONSTRAINTS:{
jj_consume_token(CONSTRAINTS);
break;
}
default:
jj_la1[325] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:
case YIELD:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[326] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[327] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[328] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[329] = jj_gen;
;
}
if ( yieldClause != null )
{
clauses.add( astFactory.showConstraintClause( pos( start ), constraintType, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.showConstraintClause( pos( start ), constraintType, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowProcedures(Token start) throws ParseException, Exception {List clauses = new ArrayList<>();
boolean currentUser = false;
Token userToken = null;
String user = null;
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case PROCEDURE:{
jj_consume_token(PROCEDURE);
break;
}
case PROCEDURES:{
jj_consume_token(PROCEDURES);
break;
}
default:
jj_la1[330] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case EXECUTABLE:{
jj_consume_token(EXECUTABLE);
currentUser = true;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BY:{
jj_consume_token(BY);
if (jj_2_132(2147483647)) {
jj_consume_token(CURRENT);
jj_consume_token(USER);
currentUser = true;
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
userToken = SymbolicNameString();
user = userToken.image; currentUser = false;
break;
}
default:
jj_la1[331] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[332] = jj_gen;
;
}
break;
}
default:
jj_la1[333] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:
case YIELD:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[334] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[335] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[336] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[337] = jj_gen;
;
}
if ( yieldClause != null )
{
clauses.add( astFactory.showProcedureClause( pos( start ), currentUser, user, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.showProcedureClause( pos( start ), currentUser, user, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowFunctions(Token start, ShowCommandFilterTypes functionType) throws ParseException, Exception {List clauses = new ArrayList<>();
boolean currentUser = false;
Token userToken = null;
String user = null;
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case FUNCTION:{
jj_consume_token(FUNCTION);
break;
}
case FUNCTIONS:{
jj_consume_token(FUNCTIONS);
break;
}
default:
jj_la1[338] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case EXECUTABLE:{
jj_consume_token(EXECUTABLE);
currentUser = true;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case BY:{
jj_consume_token(BY);
if (jj_2_133(2147483647)) {
jj_consume_token(CURRENT);
jj_consume_token(USER);
currentUser = true;
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
userToken = SymbolicNameString();
user = userToken.image; currentUser = false;
break;
}
default:
jj_la1[339] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[340] = jj_gen;
;
}
break;
}
default:
jj_la1[341] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case WHERE:
case YIELD:{
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[342] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[343] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[344] = jj_gen;
;
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[345] = jj_gen;
;
}
if ( yieldClause != null )
{
clauses.add( astFactory.showFunctionClause( pos( start ), functionType, currentUser, user, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.showFunctionClause( pos( start ), functionType, currentUser, user, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowTransactions(Token start) throws ParseException, Exception {List clauses = new LinkedList<>();
SimpleEither, EXPRESSION> idEither = SimpleEither.left(new ArrayList<>());
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TRANSACTION:{
jj_consume_token(TRANSACTION);
break;
}
case TRANSACTIONS:{
jj_consume_token(TRANSACTIONS);
break;
}
default:
jj_la1[346] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
if (jj_2_137(2147483647)) {
tailClauses = composableCommandClauses();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
if (jj_2_134(2147483647)) {
idEither = stringsOrExpression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[347] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[348] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} else if (jj_2_135(2147483647)) {
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[349] = jj_gen;
;
}
} else if (jj_2_136(2147483647)) {
where = WhereClause();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
idEither = stringsOrExpression();
break;
}
default:
jj_la1[350] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[351] = jj_gen;
;
}
break;
}
default:
jj_la1[352] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[353] = jj_gen;
;
}
if ( yieldClause != null )
{
clauses.add( astFactory.showTransactionsClause( pos( start ), idEither, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.showTransactionsClause( pos( start ), idEither, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List TerminateTransactions(Token start) throws ParseException, Exception {List clauses = new LinkedList<>();
SimpleEither, EXPRESSION> idEither = SimpleEither.left(new ArrayList<>());
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TRANSACTION:{
jj_consume_token(TRANSACTION);
break;
}
case TRANSACTIONS:{
jj_consume_token(TRANSACTIONS);
break;
}
default:
jj_la1[354] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
if (jj_2_141(2147483647)) {
tailClauses = composableCommandClauses();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
if (jj_2_138(2147483647)) {
idEither = stringsOrExpression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[355] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[356] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} else if (jj_2_139(2147483647)) {
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[357] = jj_gen;
;
}
} else if (jj_2_140(2147483647)) {
where = WhereClause();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
idEither = stringsOrExpression();
break;
}
default:
jj_la1[358] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[359] = jj_gen;
;
}
break;
}
default:
jj_la1[360] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[361] = jj_gen;
;
}
if ( yieldClause != null )
{
clauses.add( astFactory.terminateTransactionsClause( pos( start ), idEither, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.terminateTransactionsClause( pos( start ), idEither, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List ShowSettings(Token start) throws ParseException, Exception {List clauses = new ArrayList<>();
SimpleEither, EXPRESSION> nameEither = SimpleEither.left(new ArrayList<>());
WHERE where = null;
YIELD yieldClause = null;
RETURN_CLAUSE returnClause = null;
List tailClauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SETTING:{
jj_consume_token(SETTING);
break;
}
case SETTINGS:{
jj_consume_token(SETTINGS);
break;
}
default:
jj_la1[362] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
if (jj_2_145(2147483647)) {
tailClauses = composableCommandClauses();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
if (jj_2_142(2147483647)) {
nameEither = stringsOrExpression();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case YIELD:{
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[363] = jj_gen;
;
}
break;
}
case WHERE:{
where = WhereClause();
break;
}
default:
jj_la1[364] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} else if (jj_2_143(2147483647)) {
yieldClause = YieldClause();
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case RETURN:{
returnClause = ReturnClause();
break;
}
default:
jj_la1[365] = jj_gen;
;
}
} else if (jj_2_144(2147483647)) {
where = WhereClause();
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
nameEither = stringsOrExpression();
break;
}
default:
jj_la1[366] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case SHOW:
case TERMINATE:{
tailClauses = composableCommandClauses();
break;
}
default:
jj_la1[367] = jj_gen;
;
}
break;
}
default:
jj_la1[368] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
default:
jj_la1[369] = jj_gen;
;
}
if ( yieldClause != null )
{
clauses.add( astFactory.showSettingsClause( pos( start ), nameEither, where, yieldClause ) );
clauses.add( astFactory.turnYieldToWith( yieldClause ) );
if ( returnClause != null )
{
clauses.add( returnClause );
}
}
else
{
clauses.add( astFactory.showSettingsClause( pos( start ), nameEither, where, null ) );
}
if ( tailClauses != null ) {
clauses.addAll( tailClauses );
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public List composableCommandClauses() throws ParseException, Exception {Token start = null;
List clauses = null;
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TERMINATE:{
start = jj_consume_token(TERMINATE);
clauses = TerminateTransactions(start);
break;
}
case SHOW:{
start = jj_consume_token(SHOW);
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case ALL:{
jj_consume_token(ALL);
if (jj_2_146(2147483647)) {
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.ALL);
} else if (jj_2_147(2147483647)) {
clauses = ShowIndexesAllowBrief(start, ShowCommandFilterTypes.ALL);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case FUNCTION:
case FUNCTIONS:{
clauses = ShowFunctions(start, ShowCommandFilterTypes.ALL);
break;
}
default:
jj_la1[370] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
}
case BTREE:{
jj_consume_token(BTREE);
clauses = ShowIndexesAllowBrief(start, ShowCommandFilterTypes.BTREE);
break;
}
case BUILT:{
jj_consume_token(BUILT);
jj_consume_token(IN);
clauses = ShowFunctions(start, ShowCommandFilterTypes.BUILT_IN);
break;
}
case EXISTENCE:{
jj_consume_token(EXISTENCE);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.EXIST);
break;
}
case EXISTS:{
jj_consume_token(EXISTS);
ShowConstraintsAllowBrief(start);
break;
}
case EXIST:{
jj_consume_token(EXIST);
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.OLD_EXIST);
break;
}
case FULLTEXT:{
jj_consume_token(FULLTEXT);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.FULLTEXT);
break;
}
case KEY:{
jj_consume_token(KEY);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.KEY);
break;
}
case LOOKUP:{
jj_consume_token(LOOKUP);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.LOOKUP);
break;
}
case NODE:{
jj_consume_token(NODE);
clauses = ShowNodeCommand(start);
break;
}
case POINT:{
jj_consume_token(POINT);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.POINT);
break;
}
case PROPERTY:{
jj_consume_token(PROPERTY);
clauses = ShowPropertyCommand(start, ShowCommandFilterTypes.EXIST);
break;
}
case RANGE:{
jj_consume_token(RANGE);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.RANGE);
break;
}
case RELATIONSHIP:{
jj_consume_token(RELATIONSHIP);
clauses = ShowRelationshipCommand(start);
break;
}
case REL:{
jj_consume_token(REL);
clauses = ShowRelCommand(start);
break;
}
case TEXT:{
jj_consume_token(TEXT);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.TEXT);
break;
}
case UNIQUENESS:{
jj_consume_token(UNIQUENESS);
clauses = ShowConstraintsAllowYield(start, ShowCommandFilterTypes.UNIQUE);
break;
}
case UNIQUE:{
jj_consume_token(UNIQUE);
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.UNIQUE);
break;
}
case USER:{
jj_consume_token(USER);
jj_consume_token(DEFINED);
clauses = ShowFunctions(start, ShowCommandFilterTypes.USER_DEFINED);
break;
}
case VECTOR:{
jj_consume_token(VECTOR);
clauses = ShowIndexesNoBrief(start, ShowCommandFilterTypes.VECTOR);
break;
}
default:
jj_la1[371] = jj_gen;
if (jj_2_148(2147483647)) {
clauses = ShowConstraintsAllowBriefAndYield(start, ShowCommandFilterTypes.ALL);
} else if (jj_2_149(2147483647)) {
clauses = ShowFunctions(start, ShowCommandFilterTypes.ALL);
} else if (jj_2_150(2147483647)) {
clauses = ShowIndexesAllowBrief(start, ShowCommandFilterTypes.ALL);
} else if (jj_2_151(2147483647)) {
clauses = ShowProcedures(start);
} else if (jj_2_152(2147483647)) {
clauses = ShowSettings(start);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case TRANSACTION:
case TRANSACTIONS:{
clauses = ShowTransactions(start);
break;
}
default:
jj_la1[372] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
break;
}
default:
jj_la1[373] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
{if ("" != null) return clauses;}
throw new IllegalStateException ("Missing return statement in function");
}
final public SimpleEither, EXPRESSION> stringsOrExpression() throws ParseException, Exception {List ids = new ArrayList<>();
EXPRESSION expr = null;
SimpleEither, EXPRESSION> idEither = SimpleEither.left(ids);
if (jj_2_153(2147483647)) {
ids = StringList();
idEither=SimpleEither.left(ids);
} else {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case DECIMAL_DOUBLE:
case UNSIGNED_DECIMAL_INTEGER:
case UNSIGNED_HEX_INTEGER:
case UNSIGNED_OCTAL_INTEGER:
case STRING_LITERAL1:
case STRING_LITERAL2:
case ESCAPED_SYMBOLIC_NAME:
case ACCESS:
case ACTIVE:
case ADMIN:
case ADMINISTRATOR:
case ALIAS:
case ALIASES:
case ALL_SHORTEST_PATH:
case ALL:
case ALTER:
case AND:
case ANY:
case ARRAY:
case AS:
case ASC:
case ASCENDING:
case ASSERT:
case ASSIGN:
case AT:
case AUTH:
case BINDINGS:
case BOOL:
case BOOLEAN:
case BOOSTED:
case BOTH:
case BREAK:
case BRIEF:
case BTREE:
case BUILT:
case BY:
case CALL:
case CASCADE:
case CASE:
case CHANGE:
case CIDR:
case COLLECT:
case COMMAND:
case COMMANDS:
case COMMIT:
case COMPOSITE:
case CONCURRENT:
case CONSTRAINT:
case CONSTRAINTS:
case CONTAINS:
case COPY:
case CONTINUE:
case COUNT:
case CREATE:
case CSV:
case CURRENT:
case DATA:
case DATABASE:
case DATABASES:
case DATE:
case DATETIME:
case DBMS:
case DEALLOCATE:
case DEFAULT_TOKEN:
case DEFINED:
case DELETE:
case DENY:
case DESC:
case DESCENDING:
case DESTROY:
case DETACH:
case DOLLAR:
case DIFFERENT:
case DISTINCT:
case DRIVER:
case DROP:
case DRYRUN:
case DUMP:
case DURATION:
case EACH:
case EDGE:
case ENABLE:
case ELEMENT:
case ELEMENTS:
case ELSE:
case ENCRYPTED:
case END:
case ENDS:
case EXECUTABLE:
case EXECUTE:
case EXIST:
case EXISTENCE:
case EXISTS:
case ERROR:
case FAIL:
case FALSE:
case FIELDTERMINATOR:
case FINISH:
case FLOAT:
case FOR:
case FOREACH:
case FROM:
case FULLTEXT:
case FUNCTION:
case FUNCTIONS:
case GRANT:
case GRAPH:
case GRAPHS:
case GROUP:
case GROUPS:
case HEADERS:
case HOME:
case ID:
case IF:
case IMPERSONATE:
case IMMUTABLE:
case IN:
case INDEX:
case INDEXES:
case INF:
case INFINITY:
case INSERT:
case INT:
case INTEGER:
case IS:
case JOIN:
case KEY:
case LABEL:
case LABELS:
case LBRACKET:
case LCURLY:
case LEADING:
case LIMITROWS:
case LIST:
case LOAD:
case LOCAL:
case LOOKUP:
case LPAREN:
case MANAGEMENT:
case MAP:
case MATCH:
case MERGE:
case MINUS:
case NAME:
case NAMES:
case NAN:
case NFC:
case NFD:
case NFKC:
case NFKD:
case NEW:
case NODE:
case NODETACH:
case NODES:
case NONE:
case NORMALIZE:
case NORMALIZED:
case NOT:
case NOTHING:
case NOWAIT:
case NULL:
case OF:
case OFFSET:
case ON:
case ONLY:
case OPTIONAL:
case OPTIONS:
case OPTION:
case OR:
case ORDER:
case OUTPUT:
case PASSWORD:
case PASSWORDS:
case PATH:
case PATHS:
case PERIODIC:
case PLAINTEXT:
case PLUS:
case POINT:
case POPULATED:
case REPEATABLE:
case PRIMARY:
case PRIMARIES:
case PRIVILEGE:
case PRIVILEGES:
case PROCEDURE:
case PROCEDURES:
case PROPERTIES:
case PROPERTY:
case PROVIDER:
case PROVIDERS:
case RANGE:
case READ:
case REALLOCATE:
case REDUCE:
case RENAME:
case REL:
case RELATIONSHIP:
case RELATIONSHIPS:
case REMOVE:
case REPLACE:
case REPORT:
case REQUIRE:
case REQUIRED:
case RESTRICT:
case RETURN:
case REVOKE:
case ROLE:
case ROLES:
case ROW:
case ROWS:
case SCAN:
case SEC:
case SECOND:
case SECONDARY:
case SECONDARIES:
case SECONDS:
case SEEK:
case SERVER:
case SERVERS:
case SET:
case SETTING:
case SETTINGS:
case SHORTEST_PATH:
case SHORTEST:
case SHOW:
case SIGNED:
case SINGLE:
case SKIPROWS:
case START:
case STARTS:
case STATUS:
case STOP:
case STRING:
case SUPPORTED:
case SUSPENDED:
case TARGET:
case TERMINATE:
case TEXT:
case THEN:
case TIME:
case TIMESTAMP:
case TIMEZONE:
case TO:
case TOPOLOGY:
case TRAILING:
case TRANSACTION:
case TRANSACTIONS:
case TRAVERSE:
case TRIM:
case TRUE:
case TYPE:
case TYPED:
case TYPES:
case UNION:
case UNIQUE:
case UNIQUENESS:
case UNWIND:
case URL:
case USE:
case USER:
case USERS:
case USING:
case VALUE:
case VARCHAR:
case VECTOR:
case VERBOSE:
case VERTEX:
case WAIT:
case WHEN:
case WHERE:
case WITH:
case WITHOUT:
case WRITE:
case XOR:
case YIELD:
case ZONE:
case ZONED:
case IDENTIFIER:{
expr = Expression();
idEither=SimpleEither.right(expr);
break;
}
default:
jj_la1[374] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if ("" != null) return idEither;}
throw new IllegalStateException ("Missing return statement in function");
}
// Schema commands
// Constraint commands
final public
SCHEMA_COMMAND CreateConstraint(Token start, boolean replace) throws ParseException, Exception {SimpleEither, PARAMETER> name = null;
boolean ifNotExists = false;
Token label;
VARIABLE variable = null;
List properties = new ArrayList<>();
ParserCypherTypeName propertyType = null;
SimpleEither