diff --git a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/CstToAstVisitor.cs b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/CstToAstVisitor.cs
index 2a8292322b..26d0a64c45 100644
--- a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/CstToAstVisitor.cs
+++ b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/CstToAstVisitor.cs
@@ -594,6 +594,27 @@ public override SqlObject VisitIn_scalar_expression([NotNull] sqlParser.In_scala
return SqlInScalarExpression.Create(needle, not, searchList.ToImmutableArray());
}
+ public override SqlObject VisitLike_scalar_expression([NotNull] sqlParser.Like_scalar_expressionContext context)
+ {
+ Contract.Requires(context != null);
+
+ SqlScalarExpression expression = (SqlScalarExpression)this.Visit(context.binary_scalar_expression()[0]);
+ SqlScalarExpression pattern = (SqlScalarExpression)this.Visit(context.binary_scalar_expression()[1]);
+ bool not = context.K_NOT() != null;
+ SqlStringLiteral escapeSequence = (context.escape_expression() != null)
+ ? (SqlStringLiteral)this.Visit(context.escape_expression())
+ : null;
+
+ return SqlLikeScalarExpression.Create(expression, pattern, not, escapeSequence);
+ }
+
+ public override SqlObject VisitEscape_expression([NotNull] sqlParser.Escape_expressionContext context)
+ {
+ Contract.Requires(context != null);
+
+ return (SqlStringLiteral)this.Visit(context.STRING_LITERAL());
+ }
+
public override SqlObject VisitLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context)
{
Contract.Requires(context != null);
@@ -769,6 +790,10 @@ public override SqlObject VisitLogical_scalar_expression([NotNull] sqlParser.Log
{
sqlObject = this.Visit(context.in_scalar_expression());
}
+ else if (context.like_scalar_expression() != null)
+ {
+ sqlObject = this.Visit(context.like_scalar_expression());
+ }
else
{
throw new NotImplementedException();
diff --git a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/IsqlListener.cs b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/IsqlListener.cs
index 3882ca42fb..ed0eb42e76 100644
--- a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/IsqlListener.cs
+++ b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/IsqlListener.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// ANTLR Version: 4.7.2
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-// Generated from C:\CosmosSQLANTLR\CosmosSqlAntlr\CosmosSqlAntlr\sql.g4 by ANTLR 4.7.2
+// Generated from sql.g4 by ANTLR 4.7.2
// Unreachable code detected
#pragma warning disable 0162
@@ -21,672 +21,692 @@
using Antlr4.Runtime.Misc;
using IParseTreeListener = Antlr4.Runtime.Tree.IParseTreeListener;
+using IToken = Antlr4.Runtime.IToken;
///
/// This interface defines a complete listener for a parse tree produced by
/// .
///
[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.7.2")]
-internal interface IsqlListener : IParseTreeListener
-{
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterProgram([NotNull] sqlParser.ProgramContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitProgram([NotNull] sqlParser.ProgramContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterSql_query([NotNull] sqlParser.Sql_queryContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitSql_query([NotNull] sqlParser.Sql_queryContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterSelect_clause([NotNull] sqlParser.Select_clauseContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitSelect_clause([NotNull] sqlParser.Select_clauseContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterTop_spec([NotNull] sqlParser.Top_specContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitTop_spec([NotNull] sqlParser.Top_specContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterSelection([NotNull] sqlParser.SelectionContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitSelection([NotNull] sqlParser.SelectionContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterSelect_star_spec([NotNull] sqlParser.Select_star_specContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitSelect_star_spec([NotNull] sqlParser.Select_star_specContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterSelect_value_spec([NotNull] sqlParser.Select_value_specContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitSelect_value_spec([NotNull] sqlParser.Select_value_specContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterSelect_list_spec([NotNull] sqlParser.Select_list_specContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitSelect_list_spec([NotNull] sqlParser.Select_list_specContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterSelect_item([NotNull] sqlParser.Select_itemContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitSelect_item([NotNull] sqlParser.Select_itemContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterFrom_clause([NotNull] sqlParser.From_clauseContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitFrom_clause([NotNull] sqlParser.From_clauseContext context);
- ///
- /// Enter a parse tree produced by the JoinCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context);
- ///
- /// Exit a parse tree produced by the JoinCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context);
- ///
- /// Enter a parse tree produced by the AliasedCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context);
- ///
- /// Exit a parse tree produced by the AliasedCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context);
- ///
- /// Enter a parse tree produced by the ArrayIteratorCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context);
- ///
- /// Exit a parse tree produced by the ArrayIteratorCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context);
- ///
- /// Enter a parse tree produced by the InputPathCollection
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context);
- ///
- /// Exit a parse tree produced by the InputPathCollection
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context);
- ///
- /// Enter a parse tree produced by the SubqueryCollection
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context);
- ///
- /// Exit a parse tree produced by the SubqueryCollection
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context);
- ///
- /// Enter a parse tree produced by the StringPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context);
- ///
- /// Exit a parse tree produced by the StringPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context);
- ///
- /// Enter a parse tree produced by the EpsilonPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context);
- ///
- /// Exit a parse tree produced by the EpsilonPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context);
- ///
- /// Enter a parse tree produced by the IdentifierPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context);
- ///
- /// Exit a parse tree produced by the IdentifierPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context);
- ///
- /// Enter a parse tree produced by the NumberPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context);
- ///
- /// Exit a parse tree produced by the NumberPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterWhere_clause([NotNull] sqlParser.Where_clauseContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitWhere_clause([NotNull] sqlParser.Where_clauseContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterOrder_by_item([NotNull] sqlParser.Order_by_itemContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterSort_order([NotNull] sqlParser.Sort_orderContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitSort_order([NotNull] sqlParser.Sort_orderContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterOffset_count([NotNull] sqlParser.Offset_countContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitOffset_count([NotNull] sqlParser.Offset_countContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterLimit_count([NotNull] sqlParser.Limit_countContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitLimit_count([NotNull] sqlParser.Limit_countContext context);
- ///
- /// Enter a parse tree produced by the LogicalScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the LogicalScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the ConditionalScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the ConditionalScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the CoalesceScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the CoalesceScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the BetweenScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the BetweenScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterAdditive_operator([NotNull] sqlParser.Additive_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitAdditive_operator([NotNull] sqlParser.Additive_operatorContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterRelational_operator([NotNull] sqlParser.Relational_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitRelational_operator([NotNull] sqlParser.Relational_operatorContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterEquality_operator([NotNull] sqlParser.Equality_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitEquality_operator([NotNull] sqlParser.Equality_operatorContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterUnary_operator([NotNull] sqlParser.Unary_operatorContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitUnary_operator([NotNull] sqlParser.Unary_operatorContext context);
- ///
- /// Enter a parse tree produced by the SubqueryScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the SubqueryScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the PropertyRefScalarExpressionBase
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context);
- ///
- /// Exit a parse tree produced by the PropertyRefScalarExpressionBase
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context);
- ///
- /// Enter a parse tree produced by the FunctionCallScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the FunctionCallScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the LiteralScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the LiteralScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the ObjectCreateScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the ObjectCreateScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the ParenthesizedScalarExperession
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context);
- ///
- /// Exit a parse tree produced by the ParenthesizedScalarExperession
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context);
- ///
- /// Enter a parse tree produced by the ParameterRefScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the ParameterRefScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the ArrayCreateScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the ArrayCreateScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the ExistsScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the ExistsScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the ArrayScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the ArrayScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the MemberIndexerScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context);
- ///
- /// Exit a parse tree produced by the MemberIndexerScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context);
- ///
- /// Enter a parse tree produced by the PropertyRefScalarExpressionRecursive
- /// labeled alternative in .
- ///
- /// The parse tree.
- void EnterPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context);
- ///
- /// Exit a parse tree produced by the PropertyRefScalarExpressionRecursive
- /// labeled alternative in .
- ///
- /// The parse tree.
- void ExitPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterObject_property_list([NotNull] sqlParser.Object_property_listContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitObject_property_list([NotNull] sqlParser.Object_property_listContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterObject_property([NotNull] sqlParser.Object_propertyContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitObject_property([NotNull] sqlParser.Object_propertyContext context);
- ///
- /// Enter a parse tree produced by .
- ///
- /// The parse tree.
- void EnterLiteral([NotNull] sqlParser.LiteralContext context);
- ///
- /// Exit a parse tree produced by .
- ///
- /// The parse tree.
- void ExitLiteral([NotNull] sqlParser.LiteralContext context);
+internal interface IsqlListener : IParseTreeListener {
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterProgram([NotNull] sqlParser.ProgramContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitProgram([NotNull] sqlParser.ProgramContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterSql_query([NotNull] sqlParser.Sql_queryContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitSql_query([NotNull] sqlParser.Sql_queryContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterSelect_clause([NotNull] sqlParser.Select_clauseContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitSelect_clause([NotNull] sqlParser.Select_clauseContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterTop_spec([NotNull] sqlParser.Top_specContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitTop_spec([NotNull] sqlParser.Top_specContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterSelection([NotNull] sqlParser.SelectionContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitSelection([NotNull] sqlParser.SelectionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterSelect_star_spec([NotNull] sqlParser.Select_star_specContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitSelect_star_spec([NotNull] sqlParser.Select_star_specContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterSelect_value_spec([NotNull] sqlParser.Select_value_specContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitSelect_value_spec([NotNull] sqlParser.Select_value_specContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterSelect_list_spec([NotNull] sqlParser.Select_list_specContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitSelect_list_spec([NotNull] sqlParser.Select_list_specContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterSelect_item([NotNull] sqlParser.Select_itemContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitSelect_item([NotNull] sqlParser.Select_itemContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterFrom_clause([NotNull] sqlParser.From_clauseContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitFrom_clause([NotNull] sqlParser.From_clauseContext context);
+ ///
+ /// Enter a parse tree produced by the JoinCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the JoinCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the AliasedCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the AliasedCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the ArrayIteratorCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the ArrayIteratorCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the InputPathCollection
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context);
+ ///
+ /// Exit a parse tree produced by the InputPathCollection
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context);
+ ///
+ /// Enter a parse tree produced by the SubqueryCollection
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context);
+ ///
+ /// Exit a parse tree produced by the SubqueryCollection
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context);
+ ///
+ /// Enter a parse tree produced by the StringPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the StringPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the EpsilonPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the EpsilonPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the IdentifierPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the IdentifierPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the NumberPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the NumberPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterWhere_clause([NotNull] sqlParser.Where_clauseContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitWhere_clause([NotNull] sqlParser.Where_clauseContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterOrder_by_item([NotNull] sqlParser.Order_by_itemContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterSort_order([NotNull] sqlParser.Sort_orderContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitSort_order([NotNull] sqlParser.Sort_orderContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterOffset_count([NotNull] sqlParser.Offset_countContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitOffset_count([NotNull] sqlParser.Offset_countContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterLimit_count([NotNull] sqlParser.Limit_countContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitLimit_count([NotNull] sqlParser.Limit_countContext context);
+ ///
+ /// Enter a parse tree produced by the LogicalScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the LogicalScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the ConditionalScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the ConditionalScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the CoalesceScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the CoalesceScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the BetweenScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the BetweenScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterLike_scalar_expression([NotNull] sqlParser.Like_scalar_expressionContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitLike_scalar_expression([NotNull] sqlParser.Like_scalar_expressionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterEscape_expression([NotNull] sqlParser.Escape_expressionContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitEscape_expression([NotNull] sqlParser.Escape_expressionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterAdditive_operator([NotNull] sqlParser.Additive_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitAdditive_operator([NotNull] sqlParser.Additive_operatorContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterRelational_operator([NotNull] sqlParser.Relational_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitRelational_operator([NotNull] sqlParser.Relational_operatorContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterEquality_operator([NotNull] sqlParser.Equality_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitEquality_operator([NotNull] sqlParser.Equality_operatorContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterUnary_operator([NotNull] sqlParser.Unary_operatorContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitUnary_operator([NotNull] sqlParser.Unary_operatorContext context);
+ ///
+ /// Enter a parse tree produced by the SubqueryScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the SubqueryScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the PropertyRefScalarExpressionBase
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context);
+ ///
+ /// Exit a parse tree produced by the PropertyRefScalarExpressionBase
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context);
+ ///
+ /// Enter a parse tree produced by the FunctionCallScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the FunctionCallScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the LiteralScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the LiteralScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the ObjectCreateScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the ObjectCreateScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the ParenthesizedScalarExperession
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context);
+ ///
+ /// Exit a parse tree produced by the ParenthesizedScalarExperession
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context);
+ ///
+ /// Enter a parse tree produced by the ParameterRefScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the ParameterRefScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the ArrayCreateScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the ArrayCreateScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the ExistsScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the ExistsScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the ArrayScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the ArrayScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the MemberIndexerScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context);
+ ///
+ /// Exit a parse tree produced by the MemberIndexerScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context);
+ ///
+ /// Enter a parse tree produced by the PropertyRefScalarExpressionRecursive
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void EnterPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context);
+ ///
+ /// Exit a parse tree produced by the PropertyRefScalarExpressionRecursive
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ void ExitPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterObject_property_list([NotNull] sqlParser.Object_property_listContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitObject_property_list([NotNull] sqlParser.Object_property_listContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterObject_property([NotNull] sqlParser.Object_propertyContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitObject_property([NotNull] sqlParser.Object_propertyContext context);
+ ///
+ /// Enter a parse tree produced by .
+ ///
+ /// The parse tree.
+ void EnterLiteral([NotNull] sqlParser.LiteralContext context);
+ ///
+ /// Exit a parse tree produced by .
+ ///
+ /// The parse tree.
+ void ExitLiteral([NotNull] sqlParser.LiteralContext context);
}
diff --git a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/IsqlVisitor.cs b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/IsqlVisitor.cs
index 1164836e0e..2e96892783 100644
--- a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/IsqlVisitor.cs
+++ b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/IsqlVisitor.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// ANTLR Version: 4.7.2
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-// Generated from C:\CosmosSQLANTLR\CosmosSqlAntlr\CosmosSqlAntlr\sql.g4 by ANTLR 4.7.2
+// Generated from sql.g4 by ANTLR 4.7.2
// Unreachable code detected
#pragma warning disable 0162
@@ -21,6 +21,7 @@
using Antlr4.Runtime.Misc;
using Antlr4.Runtime.Tree;
+using IToken = Antlr4.Runtime.IToken;
///
/// This interface defines a complete generic visitor for a parse tree produced
@@ -28,397 +29,408 @@
///
/// The return type of the visit operation.
[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.7.2")]
-internal interface IsqlVisitor : IParseTreeVisitor
-{
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitProgram([NotNull] sqlParser.ProgramContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSql_query([NotNull] sqlParser.Sql_queryContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSelect_clause([NotNull] sqlParser.Select_clauseContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitTop_spec([NotNull] sqlParser.Top_specContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSelection([NotNull] sqlParser.SelectionContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSelect_star_spec([NotNull] sqlParser.Select_star_specContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSelect_value_spec([NotNull] sqlParser.Select_value_specContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSelect_list_spec([NotNull] sqlParser.Select_list_specContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSelect_item([NotNull] sqlParser.Select_itemContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitFrom_clause([NotNull] sqlParser.From_clauseContext context);
- ///
- /// Visit a parse tree produced by the JoinCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context);
- ///
- /// Visit a parse tree produced by the AliasedCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context);
- ///
- /// Visit a parse tree produced by the ArrayIteratorCollectionExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context);
- ///
- /// Visit a parse tree produced by the InputPathCollection
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context);
- ///
- /// Visit a parse tree produced by the SubqueryCollection
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context);
- ///
- /// Visit a parse tree produced by the StringPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context);
- ///
- /// Visit a parse tree produced by the EpsilonPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context);
- ///
- /// Visit a parse tree produced by the IdentifierPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context);
- ///
- /// Visit a parse tree produced by the NumberPathExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitWhere_clause([NotNull] sqlParser.Where_clauseContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSort_order([NotNull] sqlParser.Sort_orderContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitOffset_count([NotNull] sqlParser.Offset_countContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitLimit_count([NotNull] sqlParser.Limit_countContext context);
- ///
- /// Visit a parse tree produced by the LogicalScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the ConditionalScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the CoalesceScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the BetweenScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitAdditive_operator([NotNull] sqlParser.Additive_operatorContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitRelational_operator([NotNull] sqlParser.Relational_operatorContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitEquality_operator([NotNull] sqlParser.Equality_operatorContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitUnary_operator([NotNull] sqlParser.Unary_operatorContext context);
- ///
- /// Visit a parse tree produced by the SubqueryScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the PropertyRefScalarExpressionBase
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context);
- ///
- /// Visit a parse tree produced by the FunctionCallScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the LiteralScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the ObjectCreateScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the ParenthesizedScalarExperession
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context);
- ///
- /// Visit a parse tree produced by the ParameterRefScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the ArrayCreateScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the ExistsScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the ArrayScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the MemberIndexerScalarExpression
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context);
- ///
- /// Visit a parse tree produced by the PropertyRefScalarExpressionRecursive
- /// labeled alternative in .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitObject_property_list([NotNull] sqlParser.Object_property_listContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitObject_property([NotNull] sqlParser.Object_propertyContext context);
- ///
- /// Visit a parse tree produced by .
- ///
- /// The parse tree.
- /// The visitor result.
- Result VisitLiteral([NotNull] sqlParser.LiteralContext context);
+internal interface IsqlVisitor : IParseTreeVisitor {
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitProgram([NotNull] sqlParser.ProgramContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSql_query([NotNull] sqlParser.Sql_queryContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSelect_clause([NotNull] sqlParser.Select_clauseContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitTop_spec([NotNull] sqlParser.Top_specContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSelection([NotNull] sqlParser.SelectionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSelect_star_spec([NotNull] sqlParser.Select_star_specContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSelect_value_spec([NotNull] sqlParser.Select_value_specContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSelect_list_spec([NotNull] sqlParser.Select_list_specContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSelect_item([NotNull] sqlParser.Select_itemContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitFrom_clause([NotNull] sqlParser.From_clauseContext context);
+ ///
+ /// Visit a parse tree produced by the JoinCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the AliasedCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the ArrayIteratorCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the InputPathCollection
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context);
+ ///
+ /// Visit a parse tree produced by the SubqueryCollection
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context);
+ ///
+ /// Visit a parse tree produced by the StringPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the EpsilonPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the IdentifierPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the NumberPathExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitWhere_clause([NotNull] sqlParser.Where_clauseContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSort_order([NotNull] sqlParser.Sort_orderContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitOffset_count([NotNull] sqlParser.Offset_countContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitLimit_count([NotNull] sqlParser.Limit_countContext context);
+ ///
+ /// Visit a parse tree produced by the LogicalScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the ConditionalScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the CoalesceScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the BetweenScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitLike_scalar_expression([NotNull] sqlParser.Like_scalar_expressionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitEscape_expression([NotNull] sqlParser.Escape_expressionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitAdditive_operator([NotNull] sqlParser.Additive_operatorContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitRelational_operator([NotNull] sqlParser.Relational_operatorContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitEquality_operator([NotNull] sqlParser.Equality_operatorContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitUnary_operator([NotNull] sqlParser.Unary_operatorContext context);
+ ///
+ /// Visit a parse tree produced by the SubqueryScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the PropertyRefScalarExpressionBase
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context);
+ ///
+ /// Visit a parse tree produced by the FunctionCallScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the LiteralScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the ObjectCreateScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the ParenthesizedScalarExperession
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context);
+ ///
+ /// Visit a parse tree produced by the ParameterRefScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the ArrayCreateScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the ExistsScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the ArrayScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the MemberIndexerScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context);
+ ///
+ /// Visit a parse tree produced by the PropertyRefScalarExpressionRecursive
+ /// labeled alternative in .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitObject_property_list([NotNull] sqlParser.Object_property_listContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitObject_property([NotNull] sqlParser.Object_propertyContext context);
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ Result VisitLiteral([NotNull] sqlParser.LiteralContext context);
}
diff --git a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sql.g4 b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sql.g4
index 734d09ec6a..5e97e20e1b 100644
--- a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sql.g4
+++ b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sql.g4
@@ -88,12 +88,21 @@ scalar_expression
logical_scalar_expression
: binary_scalar_expression
| in_scalar_expression
+ | like_scalar_expression
;
in_scalar_expression
: binary_scalar_expression K_NOT? K_IN '(' scalar_expression_list ')'
;
+like_scalar_expression
+ : binary_scalar_expression K_NOT? K_LIKE binary_scalar_expression escape_expression?
+ ;
+
+escape_expression
+ : K_ESCAPE STRING_LITERAL
+ ;
+
binary_scalar_expression
: unary_scalar_expression
| binary_scalar_expression multiplicative_operator binary_scalar_expression
@@ -184,12 +193,14 @@ K_BETWEEN : B E T W E E N;
K_BY : B Y;
K_DESC : D E S C;
K_DISTINCT : D I S T I N C T;
+K_ESCAPE: E S C A P E;
K_EXISTS : E X I S T S;
K_FALSE : 'false';
K_FROM : F R O M;
K_GROUP : G R O U P;
K_IN : I N ;
K_JOIN : J O I N;
+K_LIKE : L I K E;
K_LIMIT : L I M I T;
K_NOT : N O T;
K_NULL : 'null';
@@ -248,8 +259,8 @@ fragment SAFECODEPOINT
;
IDENTIFIER
- :
- | [a-zA-Z_][a-zA-Z_]*DIGIT*
+ :
+ | [a-zA-Z_]([a-zA-Z_]|DIGIT)*
;
PARAMETER
diff --git a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlBaseListener.cs b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlBaseListener.cs
new file mode 100644
index 0000000000..5a52445735
--- /dev/null
+++ b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlBaseListener.cs
@@ -0,0 +1,855 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// ANTLR Version: 4.7.2
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+// Generated from sql.g4 by ANTLR 4.7.2
+
+// Unreachable code detected
+#pragma warning disable 0162
+// The variable '...' is assigned but its value is never used
+#pragma warning disable 0219
+// Missing XML comment for publicly visible type or member '...'
+#pragma warning disable 1591
+// Ambiguous reference in cref attribute
+#pragma warning disable 419
+
+
+using Antlr4.Runtime.Misc;
+using IErrorNode = Antlr4.Runtime.Tree.IErrorNode;
+using ITerminalNode = Antlr4.Runtime.Tree.ITerminalNode;
+using IToken = Antlr4.Runtime.IToken;
+using ParserRuleContext = Antlr4.Runtime.ParserRuleContext;
+
+///
+/// This class provides an empty implementation of ,
+/// which can be extended to create a listener which only needs to handle a subset
+/// of the available methods.
+///
+[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.7.2")]
+internal partial class sqlBaseListener : IsqlListener {
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterProgram([NotNull] sqlParser.ProgramContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitProgram([NotNull] sqlParser.ProgramContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSql_query([NotNull] sqlParser.Sql_queryContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSql_query([NotNull] sqlParser.Sql_queryContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSelect_clause([NotNull] sqlParser.Select_clauseContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSelect_clause([NotNull] sqlParser.Select_clauseContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterTop_spec([NotNull] sqlParser.Top_specContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitTop_spec([NotNull] sqlParser.Top_specContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSelection([NotNull] sqlParser.SelectionContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSelection([NotNull] sqlParser.SelectionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSelect_star_spec([NotNull] sqlParser.Select_star_specContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSelect_star_spec([NotNull] sqlParser.Select_star_specContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSelect_value_spec([NotNull] sqlParser.Select_value_specContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSelect_value_spec([NotNull] sqlParser.Select_value_specContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSelect_list_spec([NotNull] sqlParser.Select_list_specContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSelect_list_spec([NotNull] sqlParser.Select_list_specContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSelect_item([NotNull] sqlParser.Select_itemContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSelect_item([NotNull] sqlParser.Select_itemContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterFrom_clause([NotNull] sqlParser.From_clauseContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitFrom_clause([NotNull] sqlParser.From_clauseContext context) { }
+ ///
+ /// Enter a parse tree produced by the JoinCollectionExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the JoinCollectionExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the AliasedCollectionExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the AliasedCollectionExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the ArrayIteratorCollectionExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the ArrayIteratorCollectionExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the InputPathCollection
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context) { }
+ ///
+ /// Exit a parse tree produced by the InputPathCollection
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context) { }
+ ///
+ /// Enter a parse tree produced by the SubqueryCollection
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context) { }
+ ///
+ /// Exit a parse tree produced by the SubqueryCollection
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context) { }
+ ///
+ /// Enter a parse tree produced by the StringPathExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the StringPathExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the EpsilonPathExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the EpsilonPathExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the IdentifierPathExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the IdentifierPathExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the NumberPathExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the NumberPathExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterWhere_clause([NotNull] sqlParser.Where_clauseContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitWhere_clause([NotNull] sqlParser.Where_clauseContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterOrder_by_item([NotNull] sqlParser.Order_by_itemContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSort_order([NotNull] sqlParser.Sort_orderContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSort_order([NotNull] sqlParser.Sort_orderContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterOffset_count([NotNull] sqlParser.Offset_countContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitOffset_count([NotNull] sqlParser.Offset_countContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterLimit_count([NotNull] sqlParser.Limit_countContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitLimit_count([NotNull] sqlParser.Limit_countContext context) { }
+ ///
+ /// Enter a parse tree produced by the LogicalScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the LogicalScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the ConditionalScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the ConditionalScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the CoalesceScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the CoalesceScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the BetweenScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the BetweenScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterLike_scalar_expression([NotNull] sqlParser.Like_scalar_expressionContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitLike_scalar_expression([NotNull] sqlParser.Like_scalar_expressionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterEscape_expression([NotNull] sqlParser.Escape_expressionContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitEscape_expression([NotNull] sqlParser.Escape_expressionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterAdditive_operator([NotNull] sqlParser.Additive_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitAdditive_operator([NotNull] sqlParser.Additive_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterRelational_operator([NotNull] sqlParser.Relational_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitRelational_operator([NotNull] sqlParser.Relational_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterEquality_operator([NotNull] sqlParser.Equality_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitEquality_operator([NotNull] sqlParser.Equality_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterUnary_operator([NotNull] sqlParser.Unary_operatorContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitUnary_operator([NotNull] sqlParser.Unary_operatorContext context) { }
+ ///
+ /// Enter a parse tree produced by the SubqueryScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the SubqueryScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the PropertyRefScalarExpressionBase
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context) { }
+ ///
+ /// Exit a parse tree produced by the PropertyRefScalarExpressionBase
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context) { }
+ ///
+ /// Enter a parse tree produced by the FunctionCallScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the FunctionCallScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the LiteralScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the LiteralScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the ObjectCreateScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the ObjectCreateScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the ParenthesizedScalarExperession
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context) { }
+ ///
+ /// Exit a parse tree produced by the ParenthesizedScalarExperession
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context) { }
+ ///
+ /// Enter a parse tree produced by the ParameterRefScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the ParameterRefScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the ArrayCreateScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the ArrayCreateScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the ExistsScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the ExistsScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the ArrayScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the ArrayScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the MemberIndexerScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context) { }
+ ///
+ /// Exit a parse tree produced by the MemberIndexerScalarExpression
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context) { }
+ ///
+ /// Enter a parse tree produced by the PropertyRefScalarExpressionRecursive
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context) { }
+ ///
+ /// Exit a parse tree produced by the PropertyRefScalarExpressionRecursive
+ /// labeled alternative in .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterObject_property_list([NotNull] sqlParser.Object_property_listContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitObject_property_list([NotNull] sqlParser.Object_property_listContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterObject_property([NotNull] sqlParser.Object_propertyContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitObject_property([NotNull] sqlParser.Object_propertyContext context) { }
+ ///
+ /// Enter a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void EnterLiteral([NotNull] sqlParser.LiteralContext context) { }
+ ///
+ /// Exit a parse tree produced by .
+ /// The default implementation does nothing.
+ ///
+ /// The parse tree.
+ public virtual void ExitLiteral([NotNull] sqlParser.LiteralContext context) { }
+
+ ///
+ /// The default implementation does nothing.
+ public virtual void EnterEveryRule([NotNull] ParserRuleContext context) { }
+ ///
+ /// The default implementation does nothing.
+ public virtual void ExitEveryRule([NotNull] ParserRuleContext context) { }
+ ///
+ /// The default implementation does nothing.
+ public virtual void VisitTerminal([NotNull] ITerminalNode node) { }
+ ///
+ /// The default implementation does nothing.
+ public virtual void VisitErrorNode([NotNull] IErrorNode node) { }
+}
diff --git a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlBaseVisitor.cs b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlBaseVisitor.cs
index 77e8f21c3c..287851e115 100644
--- a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlBaseVisitor.cs
+++ b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlBaseVisitor.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// ANTLR Version: 4.7.2
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-// Generated from C:\CosmosSQLANTLR\CosmosSqlAntlr\CosmosSqlAntlr\sql.g4 by ANTLR 4.7.2
+// Generated from sql.g4 by ANTLR 4.7.2
// Unreachable code detected
#pragma warning disable 0162
@@ -21,6 +21,9 @@
using Antlr4.Runtime.Misc;
using Antlr4.Runtime.Tree;
+using IToken = Antlr4.Runtime.IToken;
+using ParserRuleContext = Antlr4.Runtime.ParserRuleContext;
+
///
/// This class provides an empty implementation of ,
/// which can be extended to create a visitor which only needs to handle a subset
@@ -28,641 +31,660 @@
///
/// The return type of the visit operation.
[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.7.2")]
-internal partial class sqlBaseVisitor : AbstractParseTreeVisitor, IsqlVisitor
-{
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitProgram([NotNull] sqlParser.ProgramContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSql_query([NotNull] sqlParser.Sql_queryContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSelect_clause([NotNull] sqlParser.Select_clauseContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitTop_spec([NotNull] sqlParser.Top_specContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSelection([NotNull] sqlParser.SelectionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSelect_star_spec([NotNull] sqlParser.Select_star_specContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSelect_value_spec([NotNull] sqlParser.Select_value_specContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSelect_list_spec([NotNull] sqlParser.Select_list_specContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSelect_item([NotNull] sqlParser.Select_itemContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitFrom_clause([NotNull] sqlParser.From_clauseContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the JoinCollectionExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the AliasedCollectionExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the ArrayIteratorCollectionExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the InputPathCollection
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the SubqueryCollection
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the StringPathExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the EpsilonPathExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the IdentifierPathExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the NumberPathExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitWhere_clause([NotNull] sqlParser.Where_clauseContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSort_order([NotNull] sqlParser.Sort_orderContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitOffset_count([NotNull] sqlParser.Offset_countContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitLimit_count([NotNull] sqlParser.Limit_countContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the LogicalScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the ConditionalScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the CoalesceScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the BetweenScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitAdditive_operator([NotNull] sqlParser.Additive_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitRelational_operator([NotNull] sqlParser.Relational_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitEquality_operator([NotNull] sqlParser.Equality_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitUnary_operator([NotNull] sqlParser.Unary_operatorContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the SubqueryScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the PropertyRefScalarExpressionBase
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the FunctionCallScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the LiteralScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the ObjectCreateScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the ParenthesizedScalarExperession
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the ParameterRefScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the ArrayCreateScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the ExistsScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the ArrayScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the MemberIndexerScalarExpression
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by the PropertyRefScalarExpressionRecursive
- /// labeled alternative in .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitObject_property_list([NotNull] sqlParser.Object_property_listContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitObject_property([NotNull] sqlParser.Object_propertyContext context) { return VisitChildren(context); }
- ///
- /// Visit a parse tree produced by .
- ///
- /// The default implementation returns the result of calling
- /// on .
- ///
- ///
- /// The parse tree.
- /// The visitor result.
- public virtual Result VisitLiteral([NotNull] sqlParser.LiteralContext context) { return VisitChildren(context); }
+internal partial class sqlBaseVisitor : AbstractParseTreeVisitor, IsqlVisitor {
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitProgram([NotNull] sqlParser.ProgramContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSql_query([NotNull] sqlParser.Sql_queryContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSelect_clause([NotNull] sqlParser.Select_clauseContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitTop_spec([NotNull] sqlParser.Top_specContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSelection([NotNull] sqlParser.SelectionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSelect_star_spec([NotNull] sqlParser.Select_star_specContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSelect_value_spec([NotNull] sqlParser.Select_value_specContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSelect_list_spec([NotNull] sqlParser.Select_list_specContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSelect_item([NotNull] sqlParser.Select_itemContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitFrom_clause([NotNull] sqlParser.From_clauseContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the JoinCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitJoinCollectionExpression([NotNull] sqlParser.JoinCollectionExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the AliasedCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitAliasedCollectionExpression([NotNull] sqlParser.AliasedCollectionExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the ArrayIteratorCollectionExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitArrayIteratorCollectionExpression([NotNull] sqlParser.ArrayIteratorCollectionExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the InputPathCollection
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitInputPathCollection([NotNull] sqlParser.InputPathCollectionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the SubqueryCollection
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSubqueryCollection([NotNull] sqlParser.SubqueryCollectionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the StringPathExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the EpsilonPathExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitEpsilonPathExpression([NotNull] sqlParser.EpsilonPathExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the IdentifierPathExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the NumberPathExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitWhere_clause([NotNull] sqlParser.Where_clauseContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitOrder_by_clause([NotNull] sqlParser.Order_by_clauseContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitOrder_by_items([NotNull] sqlParser.Order_by_itemsContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSort_order([NotNull] sqlParser.Sort_orderContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitOffset_limit_clause([NotNull] sqlParser.Offset_limit_clauseContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitOffset_count([NotNull] sqlParser.Offset_countContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitLimit_count([NotNull] sqlParser.Limit_countContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the LogicalScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitLogicalScalarExpression([NotNull] sqlParser.LogicalScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the ConditionalScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitConditionalScalarExpression([NotNull] sqlParser.ConditionalScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the CoalesceScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitCoalesceScalarExpression([NotNull] sqlParser.CoalesceScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the BetweenScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitBetweenScalarExpression([NotNull] sqlParser.BetweenScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitLogical_scalar_expression([NotNull] sqlParser.Logical_scalar_expressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitIn_scalar_expression([NotNull] sqlParser.In_scalar_expressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitLike_scalar_expression([NotNull] sqlParser.Like_scalar_expressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitEscape_expression([NotNull] sqlParser.Escape_expressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitBinary_scalar_expression([NotNull] sqlParser.Binary_scalar_expressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitMultiplicative_operator([NotNull] sqlParser.Multiplicative_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitAdditive_operator([NotNull] sqlParser.Additive_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitRelational_operator([NotNull] sqlParser.Relational_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitEquality_operator([NotNull] sqlParser.Equality_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitBitwise_and_operator([NotNull] sqlParser.Bitwise_and_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitBitwise_exclusive_or_operator([NotNull] sqlParser.Bitwise_exclusive_or_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitBitwise_inclusive_or_operator([NotNull] sqlParser.Bitwise_inclusive_or_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitString_concat_operator([NotNull] sqlParser.String_concat_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitUnary_scalar_expression([NotNull] sqlParser.Unary_scalar_expressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitUnary_operator([NotNull] sqlParser.Unary_operatorContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the SubqueryScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitSubqueryScalarExpression([NotNull] sqlParser.SubqueryScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the PropertyRefScalarExpressionBase
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitPropertyRefScalarExpressionBase([NotNull] sqlParser.PropertyRefScalarExpressionBaseContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the FunctionCallScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitFunctionCallScalarExpression([NotNull] sqlParser.FunctionCallScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the LiteralScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitLiteralScalarExpression([NotNull] sqlParser.LiteralScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the ObjectCreateScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitObjectCreateScalarExpression([NotNull] sqlParser.ObjectCreateScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the ParenthesizedScalarExperession
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitParenthesizedScalarExperession([NotNull] sqlParser.ParenthesizedScalarExperessionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the ParameterRefScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitParameterRefScalarExpression([NotNull] sqlParser.ParameterRefScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the ArrayCreateScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitArrayCreateScalarExpression([NotNull] sqlParser.ArrayCreateScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the ExistsScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitExistsScalarExpression([NotNull] sqlParser.ExistsScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the ArrayScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitArrayScalarExpression([NotNull] sqlParser.ArrayScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the MemberIndexerScalarExpression
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitMemberIndexerScalarExpression([NotNull] sqlParser.MemberIndexerScalarExpressionContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by the PropertyRefScalarExpressionRecursive
+ /// labeled alternative in .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitPropertyRefScalarExpressionRecursive([NotNull] sqlParser.PropertyRefScalarExpressionRecursiveContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitScalar_expression_list([NotNull] sqlParser.Scalar_expression_listContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitObject_property_list([NotNull] sqlParser.Object_property_listContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitObject_property([NotNull] sqlParser.Object_propertyContext context) { return VisitChildren(context); }
+ ///
+ /// Visit a parse tree produced by .
+ ///
+ /// The default implementation returns the result of calling
+ /// on .
+ ///
+ ///
+ /// The parse tree.
+ /// The visitor result.
+ public virtual Result VisitLiteral([NotNull] sqlParser.LiteralContext context) { return VisitChildren(context); }
}
diff --git a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlLexer.cs b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlLexer.cs
index cee9043d0d..1de628b4b3 100644
--- a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlLexer.cs
+++ b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlLexer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// ANTLR Version: 4.7.2
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-// Generated from C:\CosmosSQLANTLR\CosmosSqlAntlr\CosmosSqlAntlr\sql.g4 by ANTLR 4.7.2
+// Generated from sql.g4 by ANTLR 4.7.2
// Unreachable code detected
#pragma warning disable 0162
@@ -21,577 +21,584 @@
using System;
using System.IO;
+using System.Text;
using Antlr4.Runtime;
using Antlr4.Runtime.Atn;
using Antlr4.Runtime.Misc;
using DFA = Antlr4.Runtime.Dfa.DFA;
[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.7.2")]
-internal partial class sqlLexer : Lexer
-{
- protected static DFA[] decisionToDFA;
- protected static PredictionContextCache sharedContextCache = new PredictionContextCache();
- public const int
- T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, T__7 = 8, T__8 = 9,
- T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, T__14 = 15, T__15 = 16, T__16 = 17,
- T__17 = 18, T__18 = 19, T__19 = 20, T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24,
- T__24 = 25, T__25 = 26, T__26 = 27, K_AND = 28, K_ARRAY = 29, K_AS = 30, K_ASC = 31,
- K_BETWEEN = 32, K_BY = 33, K_DESC = 34, K_DISTINCT = 35, K_EXISTS = 36, K_FALSE = 37,
- K_FROM = 38, K_GROUP = 39, K_IN = 40, K_JOIN = 41, K_LIMIT = 42, K_NOT = 43, K_NULL = 44,
- K_OFFSET = 45, K_OR = 46, K_ORDER = 47, K_SELECT = 48, K_TOP = 49, K_TRUE = 50, K_UDF = 51,
- K_UNDEFINED = 52, K_VALUE = 53, K_WHERE = 54, WS = 55, NUMERIC_LITERAL = 56, STRING_LITERAL = 57,
- IDENTIFIER = 58, PARAMETER = 59;
- public static string[] channelNames = {
- "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
- };
+internal partial class sqlLexer : Lexer {
+ protected static DFA[] decisionToDFA;
+ protected static PredictionContextCache sharedContextCache = new PredictionContextCache();
+ public const int
+ T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9,
+ T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17,
+ T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24,
+ T__24=25, T__25=26, T__26=27, K_AND=28, K_ARRAY=29, K_AS=30, K_ASC=31,
+ K_BETWEEN=32, K_BY=33, K_DESC=34, K_DISTINCT=35, K_ESCAPE=36, K_EXISTS=37,
+ K_FALSE=38, K_FROM=39, K_GROUP=40, K_IN=41, K_JOIN=42, K_LIKE=43, K_LIMIT=44,
+ K_NOT=45, K_NULL=46, K_OFFSET=47, K_OR=48, K_ORDER=49, K_SELECT=50, K_TOP=51,
+ K_TRUE=52, K_UDF=53, K_UNDEFINED=54, K_VALUE=55, K_WHERE=56, WS=57, NUMERIC_LITERAL=58,
+ STRING_LITERAL=59, IDENTIFIER=60, PARAMETER=61;
+ public static string[] channelNames = {
+ "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
+ };
- public static string[] modeNames = {
- "DEFAULT_MODE"
- };
+ public static string[] modeNames = {
+ "DEFAULT_MODE"
+ };
- public static readonly string[] ruleNames = {
- "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
- "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16",
- "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24",
- "T__25", "T__26", "K_AND", "K_ARRAY", "K_AS", "K_ASC", "K_BETWEEN", "K_BY",
- "K_DESC", "K_DISTINCT", "K_EXISTS", "K_FALSE", "K_FROM", "K_GROUP", "K_IN",
- "K_JOIN", "K_LIMIT", "K_NOT", "K_NULL", "K_OFFSET", "K_OR", "K_ORDER",
- "K_SELECT", "K_TOP", "K_TRUE", "K_UDF", "K_UNDEFINED", "K_VALUE", "K_WHERE",
- "WS", "NUMERIC_LITERAL", "STRING_LITERAL", "ESC", "UNICODE", "HEX", "SAFECODEPOINT",
- "IDENTIFIER", "PARAMETER", "DIGIT", "A", "B", "C", "D", "E", "F", "G",
- "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U",
- "V", "W", "X", "Y", "Z"
- };
+ public static readonly string[] ruleNames = {
+ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
+ "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16",
+ "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24",
+ "T__25", "T__26", "K_AND", "K_ARRAY", "K_AS", "K_ASC", "K_BETWEEN", "K_BY",
+ "K_DESC", "K_DISTINCT", "K_ESCAPE", "K_EXISTS", "K_FALSE", "K_FROM", "K_GROUP",
+ "K_IN", "K_JOIN", "K_LIKE", "K_LIMIT", "K_NOT", "K_NULL", "K_OFFSET",
+ "K_OR", "K_ORDER", "K_SELECT", "K_TOP", "K_TRUE", "K_UDF", "K_UNDEFINED",
+ "K_VALUE", "K_WHERE", "WS", "NUMERIC_LITERAL", "STRING_LITERAL", "ESC",
+ "UNICODE", "HEX", "SAFECODEPOINT", "IDENTIFIER", "PARAMETER", "DIGIT",
+ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
+ "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
+ };
- public sqlLexer(ICharStream input)
- : this(input, Console.Out, Console.Error) { }
+ public sqlLexer(ICharStream input)
+ : this(input, Console.Out, Console.Error) { }
- public sqlLexer(ICharStream input, TextWriter output, TextWriter errorOutput)
- : base(input, output, errorOutput)
- {
- Interpreter = new LexerATNSimulator(this, _ATN, decisionToDFA, sharedContextCache);
- }
+ public sqlLexer(ICharStream input, TextWriter output, TextWriter errorOutput)
+ : base(input, output, errorOutput)
+ {
+ Interpreter = new LexerATNSimulator(this, _ATN, decisionToDFA, sharedContextCache);
+ }
- private static readonly string[] _LiteralNames = {
- null, "'*'", "','", "'('", "')'", "'.'", "'['", "']'", "'?'", "':'", "'??'",
- "'/'", "'%'", "'+'", "'-'", "'<'", "'>'", "'>='", "'<='", "'='", "'!='",
- "'&'", "'^'", "'|'", "'||'", "'~'", "'{'", "'}'", null, null, null, null,
- null, null, null, null, null, "'false'", null, null, null, null, null,
- null, "'null'", null, null, null, null, null, "'true'", null, "'undefined'"
- };
- private static readonly string[] _SymbolicNames = {
- null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, "K_AND", "K_ARRAY", "K_AS", "K_ASC", "K_BETWEEN",
- "K_BY", "K_DESC", "K_DISTINCT", "K_EXISTS", "K_FALSE", "K_FROM", "K_GROUP",
- "K_IN", "K_JOIN", "K_LIMIT", "K_NOT", "K_NULL", "K_OFFSET", "K_OR", "K_ORDER",
- "K_SELECT", "K_TOP", "K_TRUE", "K_UDF", "K_UNDEFINED", "K_VALUE", "K_WHERE",
- "WS", "NUMERIC_LITERAL", "STRING_LITERAL", "IDENTIFIER", "PARAMETER"
- };
- public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames);
+ private static readonly string[] _LiteralNames = {
+ null, "'*'", "','", "'('", "')'", "'.'", "'['", "']'", "'?'", "':'", "'??'",
+ "'/'", "'%'", "'+'", "'-'", "'<'", "'>'", "'>='", "'<='", "'='", "'!='",
+ "'&'", "'^'", "'|'", "'||'", "'~'", "'{'", "'}'", null, null, null, null,
+ null, null, null, null, null, null, "'false'", null, null, null, null,
+ null, null, null, "'null'", null, null, null, null, null, "'true'", null,
+ "'undefined'"
+ };
+ private static readonly string[] _SymbolicNames = {
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, "K_AND", "K_ARRAY", "K_AS", "K_ASC", "K_BETWEEN",
+ "K_BY", "K_DESC", "K_DISTINCT", "K_ESCAPE", "K_EXISTS", "K_FALSE", "K_FROM",
+ "K_GROUP", "K_IN", "K_JOIN", "K_LIKE", "K_LIMIT", "K_NOT", "K_NULL", "K_OFFSET",
+ "K_OR", "K_ORDER", "K_SELECT", "K_TOP", "K_TRUE", "K_UDF", "K_UNDEFINED",
+ "K_VALUE", "K_WHERE", "WS", "NUMERIC_LITERAL", "STRING_LITERAL", "IDENTIFIER",
+ "PARAMETER"
+ };
+ public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames);
- [NotNull]
- public override IVocabulary Vocabulary
- {
- get
- {
- return DefaultVocabulary;
- }
- }
+ [NotNull]
+ public override IVocabulary Vocabulary
+ {
+ get
+ {
+ return DefaultVocabulary;
+ }
+ }
- public override string GrammarFileName { get { return "sql.g4"; } }
+ public override string GrammarFileName { get { return "sql.g4"; } }
- public override string[] RuleNames { get { return ruleNames; } }
+ public override string[] RuleNames { get { return ruleNames; } }
- public override string[] ChannelNames { get { return channelNames; } }
+ public override string[] ChannelNames { get { return channelNames; } }
- public override string[] ModeNames { get { return modeNames; } }
+ public override string[] ModeNames { get { return modeNames; } }
- public override string SerializedAtn { get { return new string(_serializedATN); } }
+ public override string SerializedAtn { get { return new string(_serializedATN); } }
- static sqlLexer()
- {
- decisionToDFA = new DFA[_ATN.NumberOfDecisions];
- for (int i = 0; i < _ATN.NumberOfDecisions; i++)
- {
- decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i);
- }
- }
- private static char[] _serializedATN = {
- '\x3', '\x608B', '\xA72A', '\x8133', '\xB9ED', '\x417C', '\x3BE7', '\x7786',
- '\x5964', '\x2', '=', '\x22A', '\b', '\x1', '\x4', '\x2', '\t', '\x2',
- '\x4', '\x3', '\t', '\x3', '\x4', '\x4', '\t', '\x4', '\x4', '\x5', '\t',
- '\x5', '\x4', '\x6', '\t', '\x6', '\x4', '\a', '\t', '\a', '\x4', '\b',
- '\t', '\b', '\x4', '\t', '\t', '\t', '\x4', '\n', '\t', '\n', '\x4', '\v',
- '\t', '\v', '\x4', '\f', '\t', '\f', '\x4', '\r', '\t', '\r', '\x4', '\xE',
- '\t', '\xE', '\x4', '\xF', '\t', '\xF', '\x4', '\x10', '\t', '\x10', '\x4',
- '\x11', '\t', '\x11', '\x4', '\x12', '\t', '\x12', '\x4', '\x13', '\t',
- '\x13', '\x4', '\x14', '\t', '\x14', '\x4', '\x15', '\t', '\x15', '\x4',
- '\x16', '\t', '\x16', '\x4', '\x17', '\t', '\x17', '\x4', '\x18', '\t',
- '\x18', '\x4', '\x19', '\t', '\x19', '\x4', '\x1A', '\t', '\x1A', '\x4',
- '\x1B', '\t', '\x1B', '\x4', '\x1C', '\t', '\x1C', '\x4', '\x1D', '\t',
- '\x1D', '\x4', '\x1E', '\t', '\x1E', '\x4', '\x1F', '\t', '\x1F', '\x4',
- ' ', '\t', ' ', '\x4', '!', '\t', '!', '\x4', '\"', '\t', '\"', '\x4',
- '#', '\t', '#', '\x4', '$', '\t', '$', '\x4', '%', '\t', '%', '\x4', '&',
- '\t', '&', '\x4', '\'', '\t', '\'', '\x4', '(', '\t', '(', '\x4', ')',
- '\t', ')', '\x4', '*', '\t', '*', '\x4', '+', '\t', '+', '\x4', ',', '\t',
- ',', '\x4', '-', '\t', '-', '\x4', '.', '\t', '.', '\x4', '/', '\t', '/',
- '\x4', '\x30', '\t', '\x30', '\x4', '\x31', '\t', '\x31', '\x4', '\x32',
- '\t', '\x32', '\x4', '\x33', '\t', '\x33', '\x4', '\x34', '\t', '\x34',
- '\x4', '\x35', '\t', '\x35', '\x4', '\x36', '\t', '\x36', '\x4', '\x37',
- '\t', '\x37', '\x4', '\x38', '\t', '\x38', '\x4', '\x39', '\t', '\x39',
- '\x4', ':', '\t', ':', '\x4', ';', '\t', ';', '\x4', '<', '\t', '<', '\x4',
- '=', '\t', '=', '\x4', '>', '\t', '>', '\x4', '?', '\t', '?', '\x4', '@',
- '\t', '@', '\x4', '\x41', '\t', '\x41', '\x4', '\x42', '\t', '\x42', '\x4',
- '\x43', '\t', '\x43', '\x4', '\x44', '\t', '\x44', '\x4', '\x45', '\t',
- '\x45', '\x4', '\x46', '\t', '\x46', '\x4', 'G', '\t', 'G', '\x4', 'H',
- '\t', 'H', '\x4', 'I', '\t', 'I', '\x4', 'J', '\t', 'J', '\x4', 'K', '\t',
- 'K', '\x4', 'L', '\t', 'L', '\x4', 'M', '\t', 'M', '\x4', 'N', '\t', 'N',
- '\x4', 'O', '\t', 'O', '\x4', 'P', '\t', 'P', '\x4', 'Q', '\t', 'Q', '\x4',
- 'R', '\t', 'R', '\x4', 'S', '\t', 'S', '\x4', 'T', '\t', 'T', '\x4', 'U',
- '\t', 'U', '\x4', 'V', '\t', 'V', '\x4', 'W', '\t', 'W', '\x4', 'X', '\t',
- 'X', '\x4', 'Y', '\t', 'Y', '\x4', 'Z', '\t', 'Z', '\x4', '[', '\t', '[',
- '\x3', '\x2', '\x3', '\x2', '\x3', '\x3', '\x3', '\x3', '\x3', '\x4',
- '\x3', '\x4', '\x3', '\x5', '\x3', '\x5', '\x3', '\x6', '\x3', '\x6',
- '\x3', '\a', '\x3', '\a', '\x3', '\b', '\x3', '\b', '\x3', '\t', '\x3',
- '\t', '\x3', '\n', '\x3', '\n', '\x3', '\v', '\x3', '\v', '\x3', '\v',
- '\x3', '\f', '\x3', '\f', '\x3', '\r', '\x3', '\r', '\x3', '\xE', '\x3',
- '\xE', '\x3', '\xF', '\x3', '\xF', '\x3', '\x10', '\x3', '\x10', '\x3',
- '\x11', '\x3', '\x11', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3',
- '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x14', '\x3', '\x14', '\x3',
- '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x16', '\x3', '\x16', '\x3',
- '\x17', '\x3', '\x17', '\x3', '\x18', '\x3', '\x18', '\x3', '\x19', '\x3',
- '\x19', '\x3', '\x19', '\x3', '\x1A', '\x3', '\x1A', '\x3', '\x1B', '\x3',
- '\x1B', '\x3', '\x1C', '\x3', '\x1C', '\x3', '\x1D', '\x3', '\x1D', '\x3',
- '\x1D', '\x3', '\x1D', '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1E', '\x3',
- '\x1E', '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1F', '\x3', '\x1F', '\x3',
- '\x1F', '\x3', ' ', '\x3', ' ', '\x3', ' ', '\x3', ' ', '\x3', '!', '\x3',
- '!', '\x3', '!', '\x3', '!', '\x3', '!', '\x3', '!', '\x3', '!', '\x3',
- '!', '\x3', '\"', '\x3', '\"', '\x3', '\"', '\x3', '#', '\x3', '#', '\x3',
- '#', '\x3', '#', '\x3', '#', '\x3', '$', '\x3', '$', '\x3', '$', '\x3',
- '$', '\x3', '$', '\x3', '$', '\x3', '$', '\x3', '$', '\x3', '$', '\x3',
- '%', '\x3', '%', '\x3', '%', '\x3', '%', '\x3', '%', '\x3', '%', '\x3',
- '%', '\x3', '&', '\x3', '&', '\x3', '&', '\x3', '&', '\x3', '&', '\x3',
- '&', '\x3', '\'', '\x3', '\'', '\x3', '\'', '\x3', '\'', '\x3', '\'',
- '\x3', '(', '\x3', '(', '\x3', '(', '\x3', '(', '\x3', '(', '\x3', '(',
- '\x3', ')', '\x3', ')', '\x3', ')', '\x3', '*', '\x3', '*', '\x3', '*',
- '\x3', '*', '\x3', '*', '\x3', '+', '\x3', '+', '\x3', '+', '\x3', '+',
- '\x3', '+', '\x3', '+', '\x3', ',', '\x3', ',', '\x3', ',', '\x3', ',',
- '\x3', '-', '\x3', '-', '\x3', '-', '\x3', '-', '\x3', '-', '\x3', '.',
- '\x3', '.', '\x3', '.', '\x3', '.', '\x3', '.', '\x3', '.', '\x3', '.',
- '\x3', '/', '\x3', '/', '\x3', '/', '\x3', '\x30', '\x3', '\x30', '\x3',
- '\x30', '\x3', '\x30', '\x3', '\x30', '\x3', '\x30', '\x3', '\x31', '\x3',
- '\x31', '\x3', '\x31', '\x3', '\x31', '\x3', '\x31', '\x3', '\x31', '\x3',
- '\x31', '\x3', '\x32', '\x3', '\x32', '\x3', '\x32', '\x3', '\x32', '\x3',
- '\x33', '\x3', '\x33', '\x3', '\x33', '\x3', '\x33', '\x3', '\x33', '\x3',
- '\x34', '\x3', '\x34', '\x3', '\x34', '\x3', '\x34', '\x3', '\x35', '\x3',
- '\x35', '\x3', '\x35', '\x3', '\x35', '\x3', '\x35', '\x3', '\x35', '\x3',
- '\x35', '\x3', '\x35', '\x3', '\x35', '\x3', '\x35', '\x3', '\x36', '\x3',
- '\x36', '\x3', '\x36', '\x3', '\x36', '\x3', '\x36', '\x3', '\x36', '\x3',
- '\x37', '\x3', '\x37', '\x3', '\x37', '\x3', '\x37', '\x3', '\x37', '\x3',
- '\x37', '\x3', '\x38', '\x6', '\x38', '\x187', '\n', '\x38', '\r', '\x38',
- '\xE', '\x38', '\x188', '\x3', '\x38', '\x3', '\x38', '\x3', '\x39', '\x5',
- '\x39', '\x18E', '\n', '\x39', '\x3', '\x39', '\x6', '\x39', '\x191',
- '\n', '\x39', '\r', '\x39', '\xE', '\x39', '\x192', '\x3', '\x39', '\x3',
- '\x39', '\a', '\x39', '\x197', '\n', '\x39', '\f', '\x39', '\xE', '\x39',
- '\x19A', '\v', '\x39', '\x5', '\x39', '\x19C', '\n', '\x39', '\x3', '\x39',
- '\x3', '\x39', '\x5', '\x39', '\x1A0', '\n', '\x39', '\x3', '\x39', '\x6',
- '\x39', '\x1A3', '\n', '\x39', '\r', '\x39', '\xE', '\x39', '\x1A4', '\x5',
- '\x39', '\x1A7', '\n', '\x39', '\x3', '\x39', '\x5', '\x39', '\x1AA',
- '\n', '\x39', '\x3', '\x39', '\x3', '\x39', '\x6', '\x39', '\x1AE', '\n',
- '\x39', '\r', '\x39', '\xE', '\x39', '\x1AF', '\x3', '\x39', '\x3', '\x39',
- '\x5', '\x39', '\x1B4', '\n', '\x39', '\x3', '\x39', '\x6', '\x39', '\x1B7',
- '\n', '\x39', '\r', '\x39', '\xE', '\x39', '\x1B8', '\x5', '\x39', '\x1BB',
- '\n', '\x39', '\x5', '\x39', '\x1BD', '\n', '\x39', '\x3', ':', '\x3',
- ':', '\x3', ':', '\a', ':', '\x1C2', '\n', ':', '\f', ':', '\xE', ':',
- '\x1C5', '\v', ':', '\x3', ':', '\x3', ':', '\x3', ':', '\x3', ':', '\a',
- ':', '\x1CB', '\n', ':', '\f', ':', '\xE', ':', '\x1CE', '\v', ':', '\x3',
- ':', '\x5', ':', '\x1D1', '\n', ':', '\x3', ';', '\x3', ';', '\x3', ';',
- '\x5', ';', '\x1D6', '\n', ';', '\x3', '<', '\x3', '<', '\x3', '<', '\x3',
- '<', '\x3', '<', '\x3', '<', '\x3', '=', '\x3', '=', '\x3', '>', '\x3',
- '>', '\x3', '?', '\x3', '?', '\x3', '?', '\a', '?', '\x1E5', '\n', '?',
- '\f', '?', '\xE', '?', '\x1E8', '\v', '?', '\x3', '?', '\a', '?', '\x1EB',
- '\n', '?', '\f', '?', '\xE', '?', '\x1EE', '\v', '?', '\x5', '?', '\x1F0',
- '\n', '?', '\x3', '@', '\x3', '@', '\x3', '@', '\x3', '\x41', '\x3', '\x41',
- '\x3', '\x42', '\x3', '\x42', '\x3', '\x43', '\x3', '\x43', '\x3', '\x44',
- '\x3', '\x44', '\x3', '\x45', '\x3', '\x45', '\x3', '\x46', '\x3', '\x46',
- '\x3', 'G', '\x3', 'G', '\x3', 'H', '\x3', 'H', '\x3', 'I', '\x3', 'I',
- '\x3', 'J', '\x3', 'J', '\x3', 'K', '\x3', 'K', '\x3', 'L', '\x3', 'L',
- '\x3', 'M', '\x3', 'M', '\x3', 'N', '\x3', 'N', '\x3', 'O', '\x3', 'O',
- '\x3', 'P', '\x3', 'P', '\x3', 'Q', '\x3', 'Q', '\x3', 'R', '\x3', 'R',
- '\x3', 'S', '\x3', 'S', '\x3', 'T', '\x3', 'T', '\x3', 'U', '\x3', 'U',
- '\x3', 'V', '\x3', 'V', '\x3', 'W', '\x3', 'W', '\x3', 'X', '\x3', 'X',
- '\x3', 'Y', '\x3', 'Y', '\x3', 'Z', '\x3', 'Z', '\x3', '[', '\x3', '[',
- '\x2', '\x2', '\\', '\x3', '\x3', '\x5', '\x4', '\a', '\x5', '\t', '\x6',
- '\v', '\a', '\r', '\b', '\xF', '\t', '\x11', '\n', '\x13', '\v', '\x15',
- '\f', '\x17', '\r', '\x19', '\xE', '\x1B', '\xF', '\x1D', '\x10', '\x1F',
- '\x11', '!', '\x12', '#', '\x13', '%', '\x14', '\'', '\x15', ')', '\x16',
- '+', '\x17', '-', '\x18', '/', '\x19', '\x31', '\x1A', '\x33', '\x1B',
- '\x35', '\x1C', '\x37', '\x1D', '\x39', '\x1E', ';', '\x1F', '=', ' ',
- '?', '!', '\x41', '\"', '\x43', '#', '\x45', '$', 'G', '%', 'I', '&',
- 'K', '\'', 'M', '(', 'O', ')', 'Q', '*', 'S', '+', 'U', ',', 'W', '-',
- 'Y', '.', '[', '/', ']', '\x30', '_', '\x31', '\x61', '\x32', '\x63',
- '\x33', '\x65', '\x34', 'g', '\x35', 'i', '\x36', 'k', '\x37', 'm', '\x38',
- 'o', '\x39', 'q', ':', 's', ';', 'u', '\x2', 'w', '\x2', 'y', '\x2', '{',
- '\x2', '}', '<', '\x7F', '=', '\x81', '\x2', '\x83', '\x2', '\x85', '\x2',
- '\x87', '\x2', '\x89', '\x2', '\x8B', '\x2', '\x8D', '\x2', '\x8F', '\x2',
- '\x91', '\x2', '\x93', '\x2', '\x95', '\x2', '\x97', '\x2', '\x99', '\x2',
- '\x9B', '\x2', '\x9D', '\x2', '\x9F', '\x2', '\xA1', '\x2', '\xA3', '\x2',
- '\xA5', '\x2', '\xA7', '\x2', '\xA9', '\x2', '\xAB', '\x2', '\xAD', '\x2',
- '\xAF', '\x2', '\xB1', '\x2', '\xB3', '\x2', '\xB5', '\x2', '\x3', '\x2',
- '#', '\x5', '\x2', '\v', '\f', '\xF', '\xF', '\"', '\"', '\x4', '\x2',
- '-', '-', '/', '/', '\n', '\x2', '$', '$', '\x31', '\x31', '^', '^', '\x64',
- '\x64', 'h', 'h', 'p', 'p', 't', 't', 'v', 'v', '\x5', '\x2', '\x32',
- ';', '\x43', 'H', '\x63', 'h', '\x5', '\x2', '\x2', '!', '$', '$', '^',
- '^', '\x5', '\x2', '\x43', '\\', '\x61', '\x61', '\x63', '|', '\x3', '\x2',
- '\x32', ';', '\x4', '\x2', '\x43', '\x43', '\x63', '\x63', '\x4', '\x2',
- '\x44', '\x44', '\x64', '\x64', '\x4', '\x2', '\x45', '\x45', '\x65',
- '\x65', '\x4', '\x2', '\x46', '\x46', '\x66', '\x66', '\x4', '\x2', 'G',
- 'G', 'g', 'g', '\x4', '\x2', 'H', 'H', 'h', 'h', '\x4', '\x2', 'I', 'I',
- 'i', 'i', '\x4', '\x2', 'J', 'J', 'j', 'j', '\x4', '\x2', 'K', 'K', 'k',
- 'k', '\x4', '\x2', 'L', 'L', 'l', 'l', '\x4', '\x2', 'M', 'M', 'm', 'm',
- '\x4', '\x2', 'N', 'N', 'n', 'n', '\x4', '\x2', 'O', 'O', 'o', 'o', '\x4',
- '\x2', 'P', 'P', 'p', 'p', '\x4', '\x2', 'Q', 'Q', 'q', 'q', '\x4', '\x2',
- 'R', 'R', 'r', 'r', '\x4', '\x2', 'S', 'S', 's', 's', '\x4', '\x2', 'T',
- 'T', 't', 't', '\x4', '\x2', 'U', 'U', 'u', 'u', '\x4', '\x2', 'V', 'V',
- 'v', 'v', '\x4', '\x2', 'W', 'W', 'w', 'w', '\x4', '\x2', 'X', 'X', 'x',
- 'x', '\x4', '\x2', 'Y', 'Y', 'y', 'y', '\x4', '\x2', 'Z', 'Z', 'z', 'z',
- '\x4', '\x2', '[', '[', '{', '{', '\x4', '\x2', '\\', '\\', '|', '|',
- '\x2', '\x221', '\x2', '\x3', '\x3', '\x2', '\x2', '\x2', '\x2', '\x5',
- '\x3', '\x2', '\x2', '\x2', '\x2', '\a', '\x3', '\x2', '\x2', '\x2', '\x2',
- '\t', '\x3', '\x2', '\x2', '\x2', '\x2', '\v', '\x3', '\x2', '\x2', '\x2',
- '\x2', '\r', '\x3', '\x2', '\x2', '\x2', '\x2', '\xF', '\x3', '\x2', '\x2',
- '\x2', '\x2', '\x11', '\x3', '\x2', '\x2', '\x2', '\x2', '\x13', '\x3',
- '\x2', '\x2', '\x2', '\x2', '\x15', '\x3', '\x2', '\x2', '\x2', '\x2',
- '\x17', '\x3', '\x2', '\x2', '\x2', '\x2', '\x19', '\x3', '\x2', '\x2',
- '\x2', '\x2', '\x1B', '\x3', '\x2', '\x2', '\x2', '\x2', '\x1D', '\x3',
- '\x2', '\x2', '\x2', '\x2', '\x1F', '\x3', '\x2', '\x2', '\x2', '\x2',
- '!', '\x3', '\x2', '\x2', '\x2', '\x2', '#', '\x3', '\x2', '\x2', '\x2',
- '\x2', '%', '\x3', '\x2', '\x2', '\x2', '\x2', '\'', '\x3', '\x2', '\x2',
- '\x2', '\x2', ')', '\x3', '\x2', '\x2', '\x2', '\x2', '+', '\x3', '\x2',
- '\x2', '\x2', '\x2', '-', '\x3', '\x2', '\x2', '\x2', '\x2', '/', '\x3',
- '\x2', '\x2', '\x2', '\x2', '\x31', '\x3', '\x2', '\x2', '\x2', '\x2',
- '\x33', '\x3', '\x2', '\x2', '\x2', '\x2', '\x35', '\x3', '\x2', '\x2',
- '\x2', '\x2', '\x37', '\x3', '\x2', '\x2', '\x2', '\x2', '\x39', '\x3',
- '\x2', '\x2', '\x2', '\x2', ';', '\x3', '\x2', '\x2', '\x2', '\x2', '=',
- '\x3', '\x2', '\x2', '\x2', '\x2', '?', '\x3', '\x2', '\x2', '\x2', '\x2',
- '\x41', '\x3', '\x2', '\x2', '\x2', '\x2', '\x43', '\x3', '\x2', '\x2',
- '\x2', '\x2', '\x45', '\x3', '\x2', '\x2', '\x2', '\x2', 'G', '\x3', '\x2',
- '\x2', '\x2', '\x2', 'I', '\x3', '\x2', '\x2', '\x2', '\x2', 'K', '\x3',
- '\x2', '\x2', '\x2', '\x2', 'M', '\x3', '\x2', '\x2', '\x2', '\x2', 'O',
- '\x3', '\x2', '\x2', '\x2', '\x2', 'Q', '\x3', '\x2', '\x2', '\x2', '\x2',
- 'S', '\x3', '\x2', '\x2', '\x2', '\x2', 'U', '\x3', '\x2', '\x2', '\x2',
- '\x2', 'W', '\x3', '\x2', '\x2', '\x2', '\x2', 'Y', '\x3', '\x2', '\x2',
- '\x2', '\x2', '[', '\x3', '\x2', '\x2', '\x2', '\x2', ']', '\x3', '\x2',
- '\x2', '\x2', '\x2', '_', '\x3', '\x2', '\x2', '\x2', '\x2', '\x61', '\x3',
- '\x2', '\x2', '\x2', '\x2', '\x63', '\x3', '\x2', '\x2', '\x2', '\x2',
- '\x65', '\x3', '\x2', '\x2', '\x2', '\x2', 'g', '\x3', '\x2', '\x2', '\x2',
- '\x2', 'i', '\x3', '\x2', '\x2', '\x2', '\x2', 'k', '\x3', '\x2', '\x2',
- '\x2', '\x2', 'm', '\x3', '\x2', '\x2', '\x2', '\x2', 'o', '\x3', '\x2',
- '\x2', '\x2', '\x2', 'q', '\x3', '\x2', '\x2', '\x2', '\x2', 's', '\x3',
- '\x2', '\x2', '\x2', '\x2', '}', '\x3', '\x2', '\x2', '\x2', '\x2', '\x7F',
- '\x3', '\x2', '\x2', '\x2', '\x3', '\xB7', '\x3', '\x2', '\x2', '\x2',
- '\x5', '\xB9', '\x3', '\x2', '\x2', '\x2', '\a', '\xBB', '\x3', '\x2',
- '\x2', '\x2', '\t', '\xBD', '\x3', '\x2', '\x2', '\x2', '\v', '\xBF',
- '\x3', '\x2', '\x2', '\x2', '\r', '\xC1', '\x3', '\x2', '\x2', '\x2',
- '\xF', '\xC3', '\x3', '\x2', '\x2', '\x2', '\x11', '\xC5', '\x3', '\x2',
- '\x2', '\x2', '\x13', '\xC7', '\x3', '\x2', '\x2', '\x2', '\x15', '\xC9',
- '\x3', '\x2', '\x2', '\x2', '\x17', '\xCC', '\x3', '\x2', '\x2', '\x2',
- '\x19', '\xCE', '\x3', '\x2', '\x2', '\x2', '\x1B', '\xD0', '\x3', '\x2',
- '\x2', '\x2', '\x1D', '\xD2', '\x3', '\x2', '\x2', '\x2', '\x1F', '\xD4',
- '\x3', '\x2', '\x2', '\x2', '!', '\xD6', '\x3', '\x2', '\x2', '\x2', '#',
- '\xD8', '\x3', '\x2', '\x2', '\x2', '%', '\xDB', '\x3', '\x2', '\x2',
- '\x2', '\'', '\xDE', '\x3', '\x2', '\x2', '\x2', ')', '\xE0', '\x3', '\x2',
- '\x2', '\x2', '+', '\xE3', '\x3', '\x2', '\x2', '\x2', '-', '\xE5', '\x3',
- '\x2', '\x2', '\x2', '/', '\xE7', '\x3', '\x2', '\x2', '\x2', '\x31',
- '\xE9', '\x3', '\x2', '\x2', '\x2', '\x33', '\xEC', '\x3', '\x2', '\x2',
- '\x2', '\x35', '\xEE', '\x3', '\x2', '\x2', '\x2', '\x37', '\xF0', '\x3',
- '\x2', '\x2', '\x2', '\x39', '\xF2', '\x3', '\x2', '\x2', '\x2', ';',
- '\xF6', '\x3', '\x2', '\x2', '\x2', '=', '\xFC', '\x3', '\x2', '\x2',
- '\x2', '?', '\xFF', '\x3', '\x2', '\x2', '\x2', '\x41', '\x103', '\x3',
- '\x2', '\x2', '\x2', '\x43', '\x10B', '\x3', '\x2', '\x2', '\x2', '\x45',
- '\x10E', '\x3', '\x2', '\x2', '\x2', 'G', '\x113', '\x3', '\x2', '\x2',
- '\x2', 'I', '\x11C', '\x3', '\x2', '\x2', '\x2', 'K', '\x123', '\x3',
- '\x2', '\x2', '\x2', 'M', '\x129', '\x3', '\x2', '\x2', '\x2', 'O', '\x12E',
- '\x3', '\x2', '\x2', '\x2', 'Q', '\x134', '\x3', '\x2', '\x2', '\x2',
- 'S', '\x137', '\x3', '\x2', '\x2', '\x2', 'U', '\x13C', '\x3', '\x2',
- '\x2', '\x2', 'W', '\x142', '\x3', '\x2', '\x2', '\x2', 'Y', '\x146',
- '\x3', '\x2', '\x2', '\x2', '[', '\x14B', '\x3', '\x2', '\x2', '\x2',
- ']', '\x152', '\x3', '\x2', '\x2', '\x2', '_', '\x155', '\x3', '\x2',
- '\x2', '\x2', '\x61', '\x15B', '\x3', '\x2', '\x2', '\x2', '\x63', '\x162',
- '\x3', '\x2', '\x2', '\x2', '\x65', '\x166', '\x3', '\x2', '\x2', '\x2',
- 'g', '\x16B', '\x3', '\x2', '\x2', '\x2', 'i', '\x16F', '\x3', '\x2',
- '\x2', '\x2', 'k', '\x179', '\x3', '\x2', '\x2', '\x2', 'm', '\x17F',
- '\x3', '\x2', '\x2', '\x2', 'o', '\x186', '\x3', '\x2', '\x2', '\x2',
- 'q', '\x1BC', '\x3', '\x2', '\x2', '\x2', 's', '\x1D0', '\x3', '\x2',
- '\x2', '\x2', 'u', '\x1D2', '\x3', '\x2', '\x2', '\x2', 'w', '\x1D7',
- '\x3', '\x2', '\x2', '\x2', 'y', '\x1DD', '\x3', '\x2', '\x2', '\x2',
- '{', '\x1DF', '\x3', '\x2', '\x2', '\x2', '}', '\x1EF', '\x3', '\x2',
- '\x2', '\x2', '\x7F', '\x1F1', '\x3', '\x2', '\x2', '\x2', '\x81', '\x1F4',
- '\x3', '\x2', '\x2', '\x2', '\x83', '\x1F6', '\x3', '\x2', '\x2', '\x2',
- '\x85', '\x1F8', '\x3', '\x2', '\x2', '\x2', '\x87', '\x1FA', '\x3', '\x2',
- '\x2', '\x2', '\x89', '\x1FC', '\x3', '\x2', '\x2', '\x2', '\x8B', '\x1FE',
- '\x3', '\x2', '\x2', '\x2', '\x8D', '\x200', '\x3', '\x2', '\x2', '\x2',
- '\x8F', '\x202', '\x3', '\x2', '\x2', '\x2', '\x91', '\x204', '\x3', '\x2',
- '\x2', '\x2', '\x93', '\x206', '\x3', '\x2', '\x2', '\x2', '\x95', '\x208',
- '\x3', '\x2', '\x2', '\x2', '\x97', '\x20A', '\x3', '\x2', '\x2', '\x2',
- '\x99', '\x20C', '\x3', '\x2', '\x2', '\x2', '\x9B', '\x20E', '\x3', '\x2',
- '\x2', '\x2', '\x9D', '\x210', '\x3', '\x2', '\x2', '\x2', '\x9F', '\x212',
- '\x3', '\x2', '\x2', '\x2', '\xA1', '\x214', '\x3', '\x2', '\x2', '\x2',
- '\xA3', '\x216', '\x3', '\x2', '\x2', '\x2', '\xA5', '\x218', '\x3', '\x2',
- '\x2', '\x2', '\xA7', '\x21A', '\x3', '\x2', '\x2', '\x2', '\xA9', '\x21C',
- '\x3', '\x2', '\x2', '\x2', '\xAB', '\x21E', '\x3', '\x2', '\x2', '\x2',
- '\xAD', '\x220', '\x3', '\x2', '\x2', '\x2', '\xAF', '\x222', '\x3', '\x2',
- '\x2', '\x2', '\xB1', '\x224', '\x3', '\x2', '\x2', '\x2', '\xB3', '\x226',
- '\x3', '\x2', '\x2', '\x2', '\xB5', '\x228', '\x3', '\x2', '\x2', '\x2',
- '\xB7', '\xB8', '\a', ',', '\x2', '\x2', '\xB8', '\x4', '\x3', '\x2',
- '\x2', '\x2', '\xB9', '\xBA', '\a', '.', '\x2', '\x2', '\xBA', '\x6',
- '\x3', '\x2', '\x2', '\x2', '\xBB', '\xBC', '\a', '*', '\x2', '\x2', '\xBC',
- '\b', '\x3', '\x2', '\x2', '\x2', '\xBD', '\xBE', '\a', '+', '\x2', '\x2',
- '\xBE', '\n', '\x3', '\x2', '\x2', '\x2', '\xBF', '\xC0', '\a', '\x30',
- '\x2', '\x2', '\xC0', '\f', '\x3', '\x2', '\x2', '\x2', '\xC1', '\xC2',
- '\a', ']', '\x2', '\x2', '\xC2', '\xE', '\x3', '\x2', '\x2', '\x2', '\xC3',
- '\xC4', '\a', '_', '\x2', '\x2', '\xC4', '\x10', '\x3', '\x2', '\x2',
- '\x2', '\xC5', '\xC6', '\a', '\x41', '\x2', '\x2', '\xC6', '\x12', '\x3',
- '\x2', '\x2', '\x2', '\xC7', '\xC8', '\a', '<', '\x2', '\x2', '\xC8',
- '\x14', '\x3', '\x2', '\x2', '\x2', '\xC9', '\xCA', '\a', '\x41', '\x2',
- '\x2', '\xCA', '\xCB', '\a', '\x41', '\x2', '\x2', '\xCB', '\x16', '\x3',
- '\x2', '\x2', '\x2', '\xCC', '\xCD', '\a', '\x31', '\x2', '\x2', '\xCD',
- '\x18', '\x3', '\x2', '\x2', '\x2', '\xCE', '\xCF', '\a', '\'', '\x2',
- '\x2', '\xCF', '\x1A', '\x3', '\x2', '\x2', '\x2', '\xD0', '\xD1', '\a',
- '-', '\x2', '\x2', '\xD1', '\x1C', '\x3', '\x2', '\x2', '\x2', '\xD2',
- '\xD3', '\a', '/', '\x2', '\x2', '\xD3', '\x1E', '\x3', '\x2', '\x2',
- '\x2', '\xD4', '\xD5', '\a', '>', '\x2', '\x2', '\xD5', ' ', '\x3', '\x2',
- '\x2', '\x2', '\xD6', '\xD7', '\a', '@', '\x2', '\x2', '\xD7', '\"', '\x3',
- '\x2', '\x2', '\x2', '\xD8', '\xD9', '\a', '@', '\x2', '\x2', '\xD9',
- '\xDA', '\a', '?', '\x2', '\x2', '\xDA', '$', '\x3', '\x2', '\x2', '\x2',
- '\xDB', '\xDC', '\a', '>', '\x2', '\x2', '\xDC', '\xDD', '\a', '?', '\x2',
- '\x2', '\xDD', '&', '\x3', '\x2', '\x2', '\x2', '\xDE', '\xDF', '\a',
- '?', '\x2', '\x2', '\xDF', '(', '\x3', '\x2', '\x2', '\x2', '\xE0', '\xE1',
- '\a', '#', '\x2', '\x2', '\xE1', '\xE2', '\a', '?', '\x2', '\x2', '\xE2',
- '*', '\x3', '\x2', '\x2', '\x2', '\xE3', '\xE4', '\a', '(', '\x2', '\x2',
- '\xE4', ',', '\x3', '\x2', '\x2', '\x2', '\xE5', '\xE6', '\a', '`', '\x2',
- '\x2', '\xE6', '.', '\x3', '\x2', '\x2', '\x2', '\xE7', '\xE8', '\a',
- '~', '\x2', '\x2', '\xE8', '\x30', '\x3', '\x2', '\x2', '\x2', '\xE9',
- '\xEA', '\a', '~', '\x2', '\x2', '\xEA', '\xEB', '\a', '~', '\x2', '\x2',
- '\xEB', '\x32', '\x3', '\x2', '\x2', '\x2', '\xEC', '\xED', '\a', '\x80',
- '\x2', '\x2', '\xED', '\x34', '\x3', '\x2', '\x2', '\x2', '\xEE', '\xEF',
- '\a', '}', '\x2', '\x2', '\xEF', '\x36', '\x3', '\x2', '\x2', '\x2', '\xF0',
- '\xF1', '\a', '\x7F', '\x2', '\x2', '\xF1', '\x38', '\x3', '\x2', '\x2',
- '\x2', '\xF2', '\xF3', '\x5', '\x83', '\x42', '\x2', '\xF3', '\xF4', '\x5',
- '\x9D', 'O', '\x2', '\xF4', '\xF5', '\x5', '\x89', '\x45', '\x2', '\xF5',
- ':', '\x3', '\x2', '\x2', '\x2', '\xF6', '\xF7', '\x5', '\x83', '\x42',
- '\x2', '\xF7', '\xF8', '\x5', '\xA5', 'S', '\x2', '\xF8', '\xF9', '\x5',
- '\xA5', 'S', '\x2', '\xF9', '\xFA', '\x5', '\x83', '\x42', '\x2', '\xFA',
- '\xFB', '\x5', '\xB3', 'Z', '\x2', '\xFB', '<', '\x3', '\x2', '\x2', '\x2',
- '\xFC', '\xFD', '\x5', '\x83', '\x42', '\x2', '\xFD', '\xFE', '\x5', '\xA7',
- 'T', '\x2', '\xFE', '>', '\x3', '\x2', '\x2', '\x2', '\xFF', '\x100',
- '\x5', '\x83', '\x42', '\x2', '\x100', '\x101', '\x5', '\xA7', 'T', '\x2',
- '\x101', '\x102', '\x5', '\x87', '\x44', '\x2', '\x102', '@', '\x3', '\x2',
- '\x2', '\x2', '\x103', '\x104', '\x5', '\x85', '\x43', '\x2', '\x104',
- '\x105', '\x5', '\x8B', '\x46', '\x2', '\x105', '\x106', '\x5', '\xA9',
- 'U', '\x2', '\x106', '\x107', '\x5', '\xAF', 'X', '\x2', '\x107', '\x108',
- '\x5', '\x8B', '\x46', '\x2', '\x108', '\x109', '\x5', '\x8B', '\x46',
- '\x2', '\x109', '\x10A', '\x5', '\x9D', 'O', '\x2', '\x10A', '\x42', '\x3',
- '\x2', '\x2', '\x2', '\x10B', '\x10C', '\x5', '\x85', '\x43', '\x2', '\x10C',
- '\x10D', '\x5', '\xB3', 'Z', '\x2', '\x10D', '\x44', '\x3', '\x2', '\x2',
- '\x2', '\x10E', '\x10F', '\x5', '\x89', '\x45', '\x2', '\x10F', '\x110',
- '\x5', '\x8B', '\x46', '\x2', '\x110', '\x111', '\x5', '\xA7', 'T', '\x2',
- '\x111', '\x112', '\x5', '\x87', '\x44', '\x2', '\x112', '\x46', '\x3',
- '\x2', '\x2', '\x2', '\x113', '\x114', '\x5', '\x89', '\x45', '\x2', '\x114',
- '\x115', '\x5', '\x93', 'J', '\x2', '\x115', '\x116', '\x5', '\xA7', 'T',
- '\x2', '\x116', '\x117', '\x5', '\xA9', 'U', '\x2', '\x117', '\x118',
- '\x5', '\x93', 'J', '\x2', '\x118', '\x119', '\x5', '\x9D', 'O', '\x2',
- '\x119', '\x11A', '\x5', '\x87', '\x44', '\x2', '\x11A', '\x11B', '\x5',
- '\xA9', 'U', '\x2', '\x11B', 'H', '\x3', '\x2', '\x2', '\x2', '\x11C',
- '\x11D', '\x5', '\x8B', '\x46', '\x2', '\x11D', '\x11E', '\x5', '\xB1',
- 'Y', '\x2', '\x11E', '\x11F', '\x5', '\x93', 'J', '\x2', '\x11F', '\x120',
- '\x5', '\xA7', 'T', '\x2', '\x120', '\x121', '\x5', '\xA9', 'U', '\x2',
- '\x121', '\x122', '\x5', '\xA7', 'T', '\x2', '\x122', 'J', '\x3', '\x2',
- '\x2', '\x2', '\x123', '\x124', '\a', 'h', '\x2', '\x2', '\x124', '\x125',
- '\a', '\x63', '\x2', '\x2', '\x125', '\x126', '\a', 'n', '\x2', '\x2',
- '\x126', '\x127', '\a', 'u', '\x2', '\x2', '\x127', '\x128', '\a', 'g',
- '\x2', '\x2', '\x128', 'L', '\x3', '\x2', '\x2', '\x2', '\x129', '\x12A',
- '\x5', '\x8D', 'G', '\x2', '\x12A', '\x12B', '\x5', '\xA5', 'S', '\x2',
- '\x12B', '\x12C', '\x5', '\x9F', 'P', '\x2', '\x12C', '\x12D', '\x5',
- '\x9B', 'N', '\x2', '\x12D', 'N', '\x3', '\x2', '\x2', '\x2', '\x12E',
- '\x12F', '\x5', '\x8F', 'H', '\x2', '\x12F', '\x130', '\x5', '\xA5', 'S',
- '\x2', '\x130', '\x131', '\x5', '\x9F', 'P', '\x2', '\x131', '\x132',
- '\x5', '\xAB', 'V', '\x2', '\x132', '\x133', '\x5', '\xA1', 'Q', '\x2',
- '\x133', 'P', '\x3', '\x2', '\x2', '\x2', '\x134', '\x135', '\x5', '\x93',
- 'J', '\x2', '\x135', '\x136', '\x5', '\x9D', 'O', '\x2', '\x136', 'R',
- '\x3', '\x2', '\x2', '\x2', '\x137', '\x138', '\x5', '\x95', 'K', '\x2',
- '\x138', '\x139', '\x5', '\x9F', 'P', '\x2', '\x139', '\x13A', '\x5',
- '\x93', 'J', '\x2', '\x13A', '\x13B', '\x5', '\x9D', 'O', '\x2', '\x13B',
- 'T', '\x3', '\x2', '\x2', '\x2', '\x13C', '\x13D', '\x5', '\x99', 'M',
- '\x2', '\x13D', '\x13E', '\x5', '\x93', 'J', '\x2', '\x13E', '\x13F',
- '\x5', '\x9B', 'N', '\x2', '\x13F', '\x140', '\x5', '\x93', 'J', '\x2',
- '\x140', '\x141', '\x5', '\xA9', 'U', '\x2', '\x141', 'V', '\x3', '\x2',
- '\x2', '\x2', '\x142', '\x143', '\x5', '\x9D', 'O', '\x2', '\x143', '\x144',
- '\x5', '\x9F', 'P', '\x2', '\x144', '\x145', '\x5', '\xA9', 'U', '\x2',
- '\x145', 'X', '\x3', '\x2', '\x2', '\x2', '\x146', '\x147', '\a', 'p',
- '\x2', '\x2', '\x147', '\x148', '\a', 'w', '\x2', '\x2', '\x148', '\x149',
- '\a', 'n', '\x2', '\x2', '\x149', '\x14A', '\a', 'n', '\x2', '\x2', '\x14A',
- 'Z', '\x3', '\x2', '\x2', '\x2', '\x14B', '\x14C', '\x5', '\x9F', 'P',
- '\x2', '\x14C', '\x14D', '\x5', '\x8D', 'G', '\x2', '\x14D', '\x14E',
- '\x5', '\x8D', 'G', '\x2', '\x14E', '\x14F', '\x5', '\xA7', 'T', '\x2',
- '\x14F', '\x150', '\x5', '\x8B', '\x46', '\x2', '\x150', '\x151', '\x5',
- '\xA9', 'U', '\x2', '\x151', '\\', '\x3', '\x2', '\x2', '\x2', '\x152',
- '\x153', '\x5', '\x9F', 'P', '\x2', '\x153', '\x154', '\x5', '\xA5', 'S',
- '\x2', '\x154', '^', '\x3', '\x2', '\x2', '\x2', '\x155', '\x156', '\x5',
- '\x9F', 'P', '\x2', '\x156', '\x157', '\x5', '\xA5', 'S', '\x2', '\x157',
- '\x158', '\x5', '\x89', '\x45', '\x2', '\x158', '\x159', '\x5', '\x8B',
- '\x46', '\x2', '\x159', '\x15A', '\x5', '\xA5', 'S', '\x2', '\x15A', '`',
- '\x3', '\x2', '\x2', '\x2', '\x15B', '\x15C', '\x5', '\xA7', 'T', '\x2',
- '\x15C', '\x15D', '\x5', '\x8B', '\x46', '\x2', '\x15D', '\x15E', '\x5',
- '\x99', 'M', '\x2', '\x15E', '\x15F', '\x5', '\x8B', '\x46', '\x2', '\x15F',
- '\x160', '\x5', '\x87', '\x44', '\x2', '\x160', '\x161', '\x5', '\xA9',
- 'U', '\x2', '\x161', '\x62', '\x3', '\x2', '\x2', '\x2', '\x162', '\x163',
- '\x5', '\xA9', 'U', '\x2', '\x163', '\x164', '\x5', '\x9F', 'P', '\x2',
- '\x164', '\x165', '\x5', '\xA1', 'Q', '\x2', '\x165', '\x64', '\x3', '\x2',
- '\x2', '\x2', '\x166', '\x167', '\a', 'v', '\x2', '\x2', '\x167', '\x168',
- '\a', 't', '\x2', '\x2', '\x168', '\x169', '\a', 'w', '\x2', '\x2', '\x169',
- '\x16A', '\a', 'g', '\x2', '\x2', '\x16A', '\x66', '\x3', '\x2', '\x2',
- '\x2', '\x16B', '\x16C', '\x5', '\xAB', 'V', '\x2', '\x16C', '\x16D',
- '\x5', '\x89', '\x45', '\x2', '\x16D', '\x16E', '\x5', '\x8D', 'G', '\x2',
- '\x16E', 'h', '\x3', '\x2', '\x2', '\x2', '\x16F', '\x170', '\a', 'w',
- '\x2', '\x2', '\x170', '\x171', '\a', 'p', '\x2', '\x2', '\x171', '\x172',
- '\a', '\x66', '\x2', '\x2', '\x172', '\x173', '\a', 'g', '\x2', '\x2',
- '\x173', '\x174', '\a', 'h', '\x2', '\x2', '\x174', '\x175', '\a', 'k',
- '\x2', '\x2', '\x175', '\x176', '\a', 'p', '\x2', '\x2', '\x176', '\x177',
- '\a', 'g', '\x2', '\x2', '\x177', '\x178', '\a', '\x66', '\x2', '\x2',
- '\x178', 'j', '\x3', '\x2', '\x2', '\x2', '\x179', '\x17A', '\x5', '\xAD',
- 'W', '\x2', '\x17A', '\x17B', '\x5', '\x83', '\x42', '\x2', '\x17B', '\x17C',
- '\x5', '\x99', 'M', '\x2', '\x17C', '\x17D', '\x5', '\xAB', 'V', '\x2',
- '\x17D', '\x17E', '\x5', '\x8B', '\x46', '\x2', '\x17E', 'l', '\x3', '\x2',
- '\x2', '\x2', '\x17F', '\x180', '\x5', '\xAF', 'X', '\x2', '\x180', '\x181',
- '\x5', '\x91', 'I', '\x2', '\x181', '\x182', '\x5', '\x8B', '\x46', '\x2',
- '\x182', '\x183', '\x5', '\xA5', 'S', '\x2', '\x183', '\x184', '\x5',
- '\x8B', '\x46', '\x2', '\x184', 'n', '\x3', '\x2', '\x2', '\x2', '\x185',
- '\x187', '\t', '\x2', '\x2', '\x2', '\x186', '\x185', '\x3', '\x2', '\x2',
- '\x2', '\x187', '\x188', '\x3', '\x2', '\x2', '\x2', '\x188', '\x186',
- '\x3', '\x2', '\x2', '\x2', '\x188', '\x189', '\x3', '\x2', '\x2', '\x2',
- '\x189', '\x18A', '\x3', '\x2', '\x2', '\x2', '\x18A', '\x18B', '\b',
- '\x38', '\x2', '\x2', '\x18B', 'p', '\x3', '\x2', '\x2', '\x2', '\x18C',
- '\x18E', '\t', '\x3', '\x2', '\x2', '\x18D', '\x18C', '\x3', '\x2', '\x2',
- '\x2', '\x18D', '\x18E', '\x3', '\x2', '\x2', '\x2', '\x18E', '\x190',
- '\x3', '\x2', '\x2', '\x2', '\x18F', '\x191', '\x5', '\x81', '\x41', '\x2',
- '\x190', '\x18F', '\x3', '\x2', '\x2', '\x2', '\x191', '\x192', '\x3',
- '\x2', '\x2', '\x2', '\x192', '\x190', '\x3', '\x2', '\x2', '\x2', '\x192',
- '\x193', '\x3', '\x2', '\x2', '\x2', '\x193', '\x19B', '\x3', '\x2', '\x2',
- '\x2', '\x194', '\x198', '\a', '\x30', '\x2', '\x2', '\x195', '\x197',
- '\x5', '\x81', '\x41', '\x2', '\x196', '\x195', '\x3', '\x2', '\x2', '\x2',
- '\x197', '\x19A', '\x3', '\x2', '\x2', '\x2', '\x198', '\x196', '\x3',
- '\x2', '\x2', '\x2', '\x198', '\x199', '\x3', '\x2', '\x2', '\x2', '\x199',
- '\x19C', '\x3', '\x2', '\x2', '\x2', '\x19A', '\x198', '\x3', '\x2', '\x2',
- '\x2', '\x19B', '\x194', '\x3', '\x2', '\x2', '\x2', '\x19B', '\x19C',
- '\x3', '\x2', '\x2', '\x2', '\x19C', '\x1A6', '\x3', '\x2', '\x2', '\x2',
- '\x19D', '\x19F', '\x5', '\x8B', '\x46', '\x2', '\x19E', '\x1A0', '\t',
- '\x3', '\x2', '\x2', '\x19F', '\x19E', '\x3', '\x2', '\x2', '\x2', '\x19F',
- '\x1A0', '\x3', '\x2', '\x2', '\x2', '\x1A0', '\x1A2', '\x3', '\x2', '\x2',
- '\x2', '\x1A1', '\x1A3', '\x5', '\x81', '\x41', '\x2', '\x1A2', '\x1A1',
- '\x3', '\x2', '\x2', '\x2', '\x1A3', '\x1A4', '\x3', '\x2', '\x2', '\x2',
- '\x1A4', '\x1A2', '\x3', '\x2', '\x2', '\x2', '\x1A4', '\x1A5', '\x3',
- '\x2', '\x2', '\x2', '\x1A5', '\x1A7', '\x3', '\x2', '\x2', '\x2', '\x1A6',
- '\x19D', '\x3', '\x2', '\x2', '\x2', '\x1A6', '\x1A7', '\x3', '\x2', '\x2',
- '\x2', '\x1A7', '\x1BD', '\x3', '\x2', '\x2', '\x2', '\x1A8', '\x1AA',
- '\t', '\x3', '\x2', '\x2', '\x1A9', '\x1A8', '\x3', '\x2', '\x2', '\x2',
- '\x1A9', '\x1AA', '\x3', '\x2', '\x2', '\x2', '\x1AA', '\x1AB', '\x3',
- '\x2', '\x2', '\x2', '\x1AB', '\x1AD', '\a', '\x30', '\x2', '\x2', '\x1AC',
- '\x1AE', '\x5', '\x81', '\x41', '\x2', '\x1AD', '\x1AC', '\x3', '\x2',
- '\x2', '\x2', '\x1AE', '\x1AF', '\x3', '\x2', '\x2', '\x2', '\x1AF', '\x1AD',
- '\x3', '\x2', '\x2', '\x2', '\x1AF', '\x1B0', '\x3', '\x2', '\x2', '\x2',
- '\x1B0', '\x1BA', '\x3', '\x2', '\x2', '\x2', '\x1B1', '\x1B3', '\x5',
- '\x8B', '\x46', '\x2', '\x1B2', '\x1B4', '\t', '\x3', '\x2', '\x2', '\x1B3',
- '\x1B2', '\x3', '\x2', '\x2', '\x2', '\x1B3', '\x1B4', '\x3', '\x2', '\x2',
- '\x2', '\x1B4', '\x1B6', '\x3', '\x2', '\x2', '\x2', '\x1B5', '\x1B7',
- '\x5', '\x81', '\x41', '\x2', '\x1B6', '\x1B5', '\x3', '\x2', '\x2', '\x2',
- '\x1B7', '\x1B8', '\x3', '\x2', '\x2', '\x2', '\x1B8', '\x1B6', '\x3',
- '\x2', '\x2', '\x2', '\x1B8', '\x1B9', '\x3', '\x2', '\x2', '\x2', '\x1B9',
- '\x1BB', '\x3', '\x2', '\x2', '\x2', '\x1BA', '\x1B1', '\x3', '\x2', '\x2',
- '\x2', '\x1BA', '\x1BB', '\x3', '\x2', '\x2', '\x2', '\x1BB', '\x1BD',
- '\x3', '\x2', '\x2', '\x2', '\x1BC', '\x18D', '\x3', '\x2', '\x2', '\x2',
- '\x1BC', '\x1A9', '\x3', '\x2', '\x2', '\x2', '\x1BD', 'r', '\x3', '\x2',
- '\x2', '\x2', '\x1BE', '\x1C3', '\a', '$', '\x2', '\x2', '\x1BF', '\x1C2',
- '\x5', 'u', ';', '\x2', '\x1C0', '\x1C2', '\x5', '{', '>', '\x2', '\x1C1',
- '\x1BF', '\x3', '\x2', '\x2', '\x2', '\x1C1', '\x1C0', '\x3', '\x2', '\x2',
- '\x2', '\x1C2', '\x1C5', '\x3', '\x2', '\x2', '\x2', '\x1C3', '\x1C1',
- '\x3', '\x2', '\x2', '\x2', '\x1C3', '\x1C4', '\x3', '\x2', '\x2', '\x2',
- '\x1C4', '\x1C6', '\x3', '\x2', '\x2', '\x2', '\x1C5', '\x1C3', '\x3',
- '\x2', '\x2', '\x2', '\x1C6', '\x1D1', '\a', '$', '\x2', '\x2', '\x1C7',
- '\x1CC', '\a', ')', '\x2', '\x2', '\x1C8', '\x1CB', '\x5', 'u', ';', '\x2',
- '\x1C9', '\x1CB', '\x5', '{', '>', '\x2', '\x1CA', '\x1C8', '\x3', '\x2',
- '\x2', '\x2', '\x1CA', '\x1C9', '\x3', '\x2', '\x2', '\x2', '\x1CB', '\x1CE',
- '\x3', '\x2', '\x2', '\x2', '\x1CC', '\x1CA', '\x3', '\x2', '\x2', '\x2',
- '\x1CC', '\x1CD', '\x3', '\x2', '\x2', '\x2', '\x1CD', '\x1CF', '\x3',
- '\x2', '\x2', '\x2', '\x1CE', '\x1CC', '\x3', '\x2', '\x2', '\x2', '\x1CF',
- '\x1D1', '\a', ')', '\x2', '\x2', '\x1D0', '\x1BE', '\x3', '\x2', '\x2',
- '\x2', '\x1D0', '\x1C7', '\x3', '\x2', '\x2', '\x2', '\x1D1', 't', '\x3',
- '\x2', '\x2', '\x2', '\x1D2', '\x1D5', '\a', '^', '\x2', '\x2', '\x1D3',
- '\x1D6', '\t', '\x4', '\x2', '\x2', '\x1D4', '\x1D6', '\x5', 'w', '<',
- '\x2', '\x1D5', '\x1D3', '\x3', '\x2', '\x2', '\x2', '\x1D5', '\x1D4',
- '\x3', '\x2', '\x2', '\x2', '\x1D6', 'v', '\x3', '\x2', '\x2', '\x2',
- '\x1D7', '\x1D8', '\a', 'w', '\x2', '\x2', '\x1D8', '\x1D9', '\x5', 'y',
- '=', '\x2', '\x1D9', '\x1DA', '\x5', 'y', '=', '\x2', '\x1DA', '\x1DB',
- '\x5', 'y', '=', '\x2', '\x1DB', '\x1DC', '\x5', 'y', '=', '\x2', '\x1DC',
- 'x', '\x3', '\x2', '\x2', '\x2', '\x1DD', '\x1DE', '\t', '\x5', '\x2',
- '\x2', '\x1DE', 'z', '\x3', '\x2', '\x2', '\x2', '\x1DF', '\x1E0', '\n',
- '\x6', '\x2', '\x2', '\x1E0', '|', '\x3', '\x2', '\x2', '\x2', '\x1E1',
- '\x1F0', '\x3', '\x2', '\x2', '\x2', '\x1E2', '\x1E6', '\t', '\a', '\x2',
- '\x2', '\x1E3', '\x1E5', '\t', '\a', '\x2', '\x2', '\x1E4', '\x1E3', '\x3',
- '\x2', '\x2', '\x2', '\x1E5', '\x1E8', '\x3', '\x2', '\x2', '\x2', '\x1E6',
- '\x1E4', '\x3', '\x2', '\x2', '\x2', '\x1E6', '\x1E7', '\x3', '\x2', '\x2',
- '\x2', '\x1E7', '\x1EC', '\x3', '\x2', '\x2', '\x2', '\x1E8', '\x1E6',
- '\x3', '\x2', '\x2', '\x2', '\x1E9', '\x1EB', '\x5', '\x81', '\x41', '\x2',
- '\x1EA', '\x1E9', '\x3', '\x2', '\x2', '\x2', '\x1EB', '\x1EE', '\x3',
- '\x2', '\x2', '\x2', '\x1EC', '\x1EA', '\x3', '\x2', '\x2', '\x2', '\x1EC',
- '\x1ED', '\x3', '\x2', '\x2', '\x2', '\x1ED', '\x1F0', '\x3', '\x2', '\x2',
- '\x2', '\x1EE', '\x1EC', '\x3', '\x2', '\x2', '\x2', '\x1EF', '\x1E1',
- '\x3', '\x2', '\x2', '\x2', '\x1EF', '\x1E2', '\x3', '\x2', '\x2', '\x2',
- '\x1F0', '~', '\x3', '\x2', '\x2', '\x2', '\x1F1', '\x1F2', '\a', '\x42',
- '\x2', '\x2', '\x1F2', '\x1F3', '\x5', '}', '?', '\x2', '\x1F3', '\x80',
- '\x3', '\x2', '\x2', '\x2', '\x1F4', '\x1F5', '\t', '\b', '\x2', '\x2',
- '\x1F5', '\x82', '\x3', '\x2', '\x2', '\x2', '\x1F6', '\x1F7', '\t', '\t',
- '\x2', '\x2', '\x1F7', '\x84', '\x3', '\x2', '\x2', '\x2', '\x1F8', '\x1F9',
- '\t', '\n', '\x2', '\x2', '\x1F9', '\x86', '\x3', '\x2', '\x2', '\x2',
- '\x1FA', '\x1FB', '\t', '\v', '\x2', '\x2', '\x1FB', '\x88', '\x3', '\x2',
- '\x2', '\x2', '\x1FC', '\x1FD', '\t', '\f', '\x2', '\x2', '\x1FD', '\x8A',
- '\x3', '\x2', '\x2', '\x2', '\x1FE', '\x1FF', '\t', '\r', '\x2', '\x2',
- '\x1FF', '\x8C', '\x3', '\x2', '\x2', '\x2', '\x200', '\x201', '\t', '\xE',
- '\x2', '\x2', '\x201', '\x8E', '\x3', '\x2', '\x2', '\x2', '\x202', '\x203',
- '\t', '\xF', '\x2', '\x2', '\x203', '\x90', '\x3', '\x2', '\x2', '\x2',
- '\x204', '\x205', '\t', '\x10', '\x2', '\x2', '\x205', '\x92', '\x3',
- '\x2', '\x2', '\x2', '\x206', '\x207', '\t', '\x11', '\x2', '\x2', '\x207',
- '\x94', '\x3', '\x2', '\x2', '\x2', '\x208', '\x209', '\t', '\x12', '\x2',
- '\x2', '\x209', '\x96', '\x3', '\x2', '\x2', '\x2', '\x20A', '\x20B',
- '\t', '\x13', '\x2', '\x2', '\x20B', '\x98', '\x3', '\x2', '\x2', '\x2',
- '\x20C', '\x20D', '\t', '\x14', '\x2', '\x2', '\x20D', '\x9A', '\x3',
- '\x2', '\x2', '\x2', '\x20E', '\x20F', '\t', '\x15', '\x2', '\x2', '\x20F',
- '\x9C', '\x3', '\x2', '\x2', '\x2', '\x210', '\x211', '\t', '\x16', '\x2',
- '\x2', '\x211', '\x9E', '\x3', '\x2', '\x2', '\x2', '\x212', '\x213',
- '\t', '\x17', '\x2', '\x2', '\x213', '\xA0', '\x3', '\x2', '\x2', '\x2',
- '\x214', '\x215', '\t', '\x18', '\x2', '\x2', '\x215', '\xA2', '\x3',
- '\x2', '\x2', '\x2', '\x216', '\x217', '\t', '\x19', '\x2', '\x2', '\x217',
- '\xA4', '\x3', '\x2', '\x2', '\x2', '\x218', '\x219', '\t', '\x1A', '\x2',
- '\x2', '\x219', '\xA6', '\x3', '\x2', '\x2', '\x2', '\x21A', '\x21B',
- '\t', '\x1B', '\x2', '\x2', '\x21B', '\xA8', '\x3', '\x2', '\x2', '\x2',
- '\x21C', '\x21D', '\t', '\x1C', '\x2', '\x2', '\x21D', '\xAA', '\x3',
- '\x2', '\x2', '\x2', '\x21E', '\x21F', '\t', '\x1D', '\x2', '\x2', '\x21F',
- '\xAC', '\x3', '\x2', '\x2', '\x2', '\x220', '\x221', '\t', '\x1E', '\x2',
- '\x2', '\x221', '\xAE', '\x3', '\x2', '\x2', '\x2', '\x222', '\x223',
- '\t', '\x1F', '\x2', '\x2', '\x223', '\xB0', '\x3', '\x2', '\x2', '\x2',
- '\x224', '\x225', '\t', ' ', '\x2', '\x2', '\x225', '\xB2', '\x3', '\x2',
- '\x2', '\x2', '\x226', '\x227', '\t', '!', '\x2', '\x2', '\x227', '\xB4',
- '\x3', '\x2', '\x2', '\x2', '\x228', '\x229', '\t', '\"', '\x2', '\x2',
- '\x229', '\xB6', '\x3', '\x2', '\x2', '\x2', '\x1A', '\x2', '\x188', '\x18D',
- '\x192', '\x198', '\x19B', '\x19F', '\x1A4', '\x1A6', '\x1A9', '\x1AF',
- '\x1B3', '\x1B8', '\x1BA', '\x1BC', '\x1C1', '\x1C3', '\x1CA', '\x1CC',
- '\x1D0', '\x1D5', '\x1E6', '\x1EC', '\x1EF', '\x3', '\b', '\x2', '\x2',
- };
+ static sqlLexer() {
+ decisionToDFA = new DFA[_ATN.NumberOfDecisions];
+ for (int i = 0; i < _ATN.NumberOfDecisions; i++) {
+ decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i);
+ }
+ }
+ private static char[] _serializedATN = {
+ '\x3', '\x608B', '\xA72A', '\x8133', '\xB9ED', '\x417C', '\x3BE7', '\x7786',
+ '\x5964', '\x2', '?', '\x235', '\b', '\x1', '\x4', '\x2', '\t', '\x2',
+ '\x4', '\x3', '\t', '\x3', '\x4', '\x4', '\t', '\x4', '\x4', '\x5', '\t',
+ '\x5', '\x4', '\x6', '\t', '\x6', '\x4', '\a', '\t', '\a', '\x4', '\b',
+ '\t', '\b', '\x4', '\t', '\t', '\t', '\x4', '\n', '\t', '\n', '\x4', '\v',
+ '\t', '\v', '\x4', '\f', '\t', '\f', '\x4', '\r', '\t', '\r', '\x4', '\xE',
+ '\t', '\xE', '\x4', '\xF', '\t', '\xF', '\x4', '\x10', '\t', '\x10', '\x4',
+ '\x11', '\t', '\x11', '\x4', '\x12', '\t', '\x12', '\x4', '\x13', '\t',
+ '\x13', '\x4', '\x14', '\t', '\x14', '\x4', '\x15', '\t', '\x15', '\x4',
+ '\x16', '\t', '\x16', '\x4', '\x17', '\t', '\x17', '\x4', '\x18', '\t',
+ '\x18', '\x4', '\x19', '\t', '\x19', '\x4', '\x1A', '\t', '\x1A', '\x4',
+ '\x1B', '\t', '\x1B', '\x4', '\x1C', '\t', '\x1C', '\x4', '\x1D', '\t',
+ '\x1D', '\x4', '\x1E', '\t', '\x1E', '\x4', '\x1F', '\t', '\x1F', '\x4',
+ ' ', '\t', ' ', '\x4', '!', '\t', '!', '\x4', '\"', '\t', '\"', '\x4',
+ '#', '\t', '#', '\x4', '$', '\t', '$', '\x4', '%', '\t', '%', '\x4', '&',
+ '\t', '&', '\x4', '\'', '\t', '\'', '\x4', '(', '\t', '(', '\x4', ')',
+ '\t', ')', '\x4', '*', '\t', '*', '\x4', '+', '\t', '+', '\x4', ',', '\t',
+ ',', '\x4', '-', '\t', '-', '\x4', '.', '\t', '.', '\x4', '/', '\t', '/',
+ '\x4', '\x30', '\t', '\x30', '\x4', '\x31', '\t', '\x31', '\x4', '\x32',
+ '\t', '\x32', '\x4', '\x33', '\t', '\x33', '\x4', '\x34', '\t', '\x34',
+ '\x4', '\x35', '\t', '\x35', '\x4', '\x36', '\t', '\x36', '\x4', '\x37',
+ '\t', '\x37', '\x4', '\x38', '\t', '\x38', '\x4', '\x39', '\t', '\x39',
+ '\x4', ':', '\t', ':', '\x4', ';', '\t', ';', '\x4', '<', '\t', '<', '\x4',
+ '=', '\t', '=', '\x4', '>', '\t', '>', '\x4', '?', '\t', '?', '\x4', '@',
+ '\t', '@', '\x4', '\x41', '\t', '\x41', '\x4', '\x42', '\t', '\x42', '\x4',
+ '\x43', '\t', '\x43', '\x4', '\x44', '\t', '\x44', '\x4', '\x45', '\t',
+ '\x45', '\x4', '\x46', '\t', '\x46', '\x4', 'G', '\t', 'G', '\x4', 'H',
+ '\t', 'H', '\x4', 'I', '\t', 'I', '\x4', 'J', '\t', 'J', '\x4', 'K', '\t',
+ 'K', '\x4', 'L', '\t', 'L', '\x4', 'M', '\t', 'M', '\x4', 'N', '\t', 'N',
+ '\x4', 'O', '\t', 'O', '\x4', 'P', '\t', 'P', '\x4', 'Q', '\t', 'Q', '\x4',
+ 'R', '\t', 'R', '\x4', 'S', '\t', 'S', '\x4', 'T', '\t', 'T', '\x4', 'U',
+ '\t', 'U', '\x4', 'V', '\t', 'V', '\x4', 'W', '\t', 'W', '\x4', 'X', '\t',
+ 'X', '\x4', 'Y', '\t', 'Y', '\x4', 'Z', '\t', 'Z', '\x4', '[', '\t', '[',
+ '\x4', '\\', '\t', '\\', '\x4', ']', '\t', ']', '\x3', '\x2', '\x3', '\x2',
+ '\x3', '\x3', '\x3', '\x3', '\x3', '\x4', '\x3', '\x4', '\x3', '\x5',
+ '\x3', '\x5', '\x3', '\x6', '\x3', '\x6', '\x3', '\a', '\x3', '\a', '\x3',
+ '\b', '\x3', '\b', '\x3', '\t', '\x3', '\t', '\x3', '\n', '\x3', '\n',
+ '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', '\f', '\x3', '\f', '\x3',
+ '\r', '\x3', '\r', '\x3', '\xE', '\x3', '\xE', '\x3', '\xF', '\x3', '\xF',
+ '\x3', '\x10', '\x3', '\x10', '\x3', '\x11', '\x3', '\x11', '\x3', '\x12',
+ '\x3', '\x12', '\x3', '\x12', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13',
+ '\x3', '\x14', '\x3', '\x14', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15',
+ '\x3', '\x16', '\x3', '\x16', '\x3', '\x17', '\x3', '\x17', '\x3', '\x18',
+ '\x3', '\x18', '\x3', '\x19', '\x3', '\x19', '\x3', '\x19', '\x3', '\x1A',
+ '\x3', '\x1A', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1C', '\x3', '\x1C',
+ '\x3', '\x1D', '\x3', '\x1D', '\x3', '\x1D', '\x3', '\x1D', '\x3', '\x1E',
+ '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1E',
+ '\x3', '\x1F', '\x3', '\x1F', '\x3', '\x1F', '\x3', ' ', '\x3', ' ', '\x3',
+ ' ', '\x3', ' ', '\x3', '!', '\x3', '!', '\x3', '!', '\x3', '!', '\x3',
+ '!', '\x3', '!', '\x3', '!', '\x3', '!', '\x3', '\"', '\x3', '\"', '\x3',
+ '\"', '\x3', '#', '\x3', '#', '\x3', '#', '\x3', '#', '\x3', '#', '\x3',
+ '$', '\x3', '$', '\x3', '$', '\x3', '$', '\x3', '$', '\x3', '$', '\x3',
+ '$', '\x3', '$', '\x3', '$', '\x3', '%', '\x3', '%', '\x3', '%', '\x3',
+ '%', '\x3', '%', '\x3', '%', '\x3', '%', '\x3', '&', '\x3', '&', '\x3',
+ '&', '\x3', '&', '\x3', '&', '\x3', '&', '\x3', '&', '\x3', '\'', '\x3',
+ '\'', '\x3', '\'', '\x3', '\'', '\x3', '\'', '\x3', '\'', '\x3', '(',
+ '\x3', '(', '\x3', '(', '\x3', '(', '\x3', '(', '\x3', ')', '\x3', ')',
+ '\x3', ')', '\x3', ')', '\x3', ')', '\x3', ')', '\x3', '*', '\x3', '*',
+ '\x3', '*', '\x3', '+', '\x3', '+', '\x3', '+', '\x3', '+', '\x3', '+',
+ '\x3', ',', '\x3', ',', '\x3', ',', '\x3', ',', '\x3', ',', '\x3', '-',
+ '\x3', '-', '\x3', '-', '\x3', '-', '\x3', '-', '\x3', '-', '\x3', '.',
+ '\x3', '.', '\x3', '.', '\x3', '.', '\x3', '/', '\x3', '/', '\x3', '/',
+ '\x3', '/', '\x3', '/', '\x3', '\x30', '\x3', '\x30', '\x3', '\x30', '\x3',
+ '\x30', '\x3', '\x30', '\x3', '\x30', '\x3', '\x30', '\x3', '\x31', '\x3',
+ '\x31', '\x3', '\x31', '\x3', '\x32', '\x3', '\x32', '\x3', '\x32', '\x3',
+ '\x32', '\x3', '\x32', '\x3', '\x32', '\x3', '\x33', '\x3', '\x33', '\x3',
+ '\x33', '\x3', '\x33', '\x3', '\x33', '\x3', '\x33', '\x3', '\x33', '\x3',
+ '\x34', '\x3', '\x34', '\x3', '\x34', '\x3', '\x34', '\x3', '\x35', '\x3',
+ '\x35', '\x3', '\x35', '\x3', '\x35', '\x3', '\x35', '\x3', '\x36', '\x3',
+ '\x36', '\x3', '\x36', '\x3', '\x36', '\x3', '\x37', '\x3', '\x37', '\x3',
+ '\x37', '\x3', '\x37', '\x3', '\x37', '\x3', '\x37', '\x3', '\x37', '\x3',
+ '\x37', '\x3', '\x37', '\x3', '\x37', '\x3', '\x38', '\x3', '\x38', '\x3',
+ '\x38', '\x3', '\x38', '\x3', '\x38', '\x3', '\x38', '\x3', '\x39', '\x3',
+ '\x39', '\x3', '\x39', '\x3', '\x39', '\x3', '\x39', '\x3', '\x39', '\x3',
+ ':', '\x6', ':', '\x197', '\n', ':', '\r', ':', '\xE', ':', '\x198', '\x3',
+ ':', '\x3', ':', '\x3', ';', '\x5', ';', '\x19E', '\n', ';', '\x3', ';',
+ '\x6', ';', '\x1A1', '\n', ';', '\r', ';', '\xE', ';', '\x1A2', '\x3',
+ ';', '\x3', ';', '\a', ';', '\x1A7', '\n', ';', '\f', ';', '\xE', ';',
+ '\x1AA', '\v', ';', '\x5', ';', '\x1AC', '\n', ';', '\x3', ';', '\x3',
+ ';', '\x5', ';', '\x1B0', '\n', ';', '\x3', ';', '\x6', ';', '\x1B3',
+ '\n', ';', '\r', ';', '\xE', ';', '\x1B4', '\x5', ';', '\x1B7', '\n',
+ ';', '\x3', ';', '\x5', ';', '\x1BA', '\n', ';', '\x3', ';', '\x3', ';',
+ '\x6', ';', '\x1BE', '\n', ';', '\r', ';', '\xE', ';', '\x1BF', '\x3',
+ ';', '\x3', ';', '\x5', ';', '\x1C4', '\n', ';', '\x3', ';', '\x6', ';',
+ '\x1C7', '\n', ';', '\r', ';', '\xE', ';', '\x1C8', '\x5', ';', '\x1CB',
+ '\n', ';', '\x5', ';', '\x1CD', '\n', ';', '\x3', '<', '\x3', '<', '\x3',
+ '<', '\a', '<', '\x1D2', '\n', '<', '\f', '<', '\xE', '<', '\x1D5', '\v',
+ '<', '\x3', '<', '\x3', '<', '\x3', '<', '\x3', '<', '\a', '<', '\x1DB',
+ '\n', '<', '\f', '<', '\xE', '<', '\x1DE', '\v', '<', '\x3', '<', '\x5',
+ '<', '\x1E1', '\n', '<', '\x3', '=', '\x3', '=', '\x3', '=', '\x5', '=',
+ '\x1E6', '\n', '=', '\x3', '>', '\x3', '>', '\x3', '>', '\x3', '>', '\x3',
+ '>', '\x3', '>', '\x3', '?', '\x3', '?', '\x3', '@', '\x3', '@', '\x3',
+ '\x41', '\x3', '\x41', '\x3', '\x41', '\x3', '\x41', '\a', '\x41', '\x1F6',
+ '\n', '\x41', '\f', '\x41', '\xE', '\x41', '\x1F9', '\v', '\x41', '\x5',
+ '\x41', '\x1FB', '\n', '\x41', '\x3', '\x42', '\x3', '\x42', '\x3', '\x42',
+ '\x3', '\x43', '\x3', '\x43', '\x3', '\x44', '\x3', '\x44', '\x3', '\x45',
+ '\x3', '\x45', '\x3', '\x46', '\x3', '\x46', '\x3', 'G', '\x3', 'G', '\x3',
+ 'H', '\x3', 'H', '\x3', 'I', '\x3', 'I', '\x3', 'J', '\x3', 'J', '\x3',
+ 'K', '\x3', 'K', '\x3', 'L', '\x3', 'L', '\x3', 'M', '\x3', 'M', '\x3',
+ 'N', '\x3', 'N', '\x3', 'O', '\x3', 'O', '\x3', 'P', '\x3', 'P', '\x3',
+ 'Q', '\x3', 'Q', '\x3', 'R', '\x3', 'R', '\x3', 'S', '\x3', 'S', '\x3',
+ 'T', '\x3', 'T', '\x3', 'U', '\x3', 'U', '\x3', 'V', '\x3', 'V', '\x3',
+ 'W', '\x3', 'W', '\x3', 'X', '\x3', 'X', '\x3', 'Y', '\x3', 'Y', '\x3',
+ 'Z', '\x3', 'Z', '\x3', '[', '\x3', '[', '\x3', '\\', '\x3', '\\', '\x3',
+ ']', '\x3', ']', '\x2', '\x2', '^', '\x3', '\x3', '\x5', '\x4', '\a',
+ '\x5', '\t', '\x6', '\v', '\a', '\r', '\b', '\xF', '\t', '\x11', '\n',
+ '\x13', '\v', '\x15', '\f', '\x17', '\r', '\x19', '\xE', '\x1B', '\xF',
+ '\x1D', '\x10', '\x1F', '\x11', '!', '\x12', '#', '\x13', '%', '\x14',
+ '\'', '\x15', ')', '\x16', '+', '\x17', '-', '\x18', '/', '\x19', '\x31',
+ '\x1A', '\x33', '\x1B', '\x35', '\x1C', '\x37', '\x1D', '\x39', '\x1E',
+ ';', '\x1F', '=', ' ', '?', '!', '\x41', '\"', '\x43', '#', '\x45', '$',
+ 'G', '%', 'I', '&', 'K', '\'', 'M', '(', 'O', ')', 'Q', '*', 'S', '+',
+ 'U', ',', 'W', '-', 'Y', '.', '[', '/', ']', '\x30', '_', '\x31', '\x61',
+ '\x32', '\x63', '\x33', '\x65', '\x34', 'g', '\x35', 'i', '\x36', 'k',
+ '\x37', 'm', '\x38', 'o', '\x39', 'q', ':', 's', ';', 'u', '<', 'w', '=',
+ 'y', '\x2', '{', '\x2', '}', '\x2', '\x7F', '\x2', '\x81', '>', '\x83',
+ '?', '\x85', '\x2', '\x87', '\x2', '\x89', '\x2', '\x8B', '\x2', '\x8D',
+ '\x2', '\x8F', '\x2', '\x91', '\x2', '\x93', '\x2', '\x95', '\x2', '\x97',
+ '\x2', '\x99', '\x2', '\x9B', '\x2', '\x9D', '\x2', '\x9F', '\x2', '\xA1',
+ '\x2', '\xA3', '\x2', '\xA5', '\x2', '\xA7', '\x2', '\xA9', '\x2', '\xAB',
+ '\x2', '\xAD', '\x2', '\xAF', '\x2', '\xB1', '\x2', '\xB3', '\x2', '\xB5',
+ '\x2', '\xB7', '\x2', '\xB9', '\x2', '\x3', '\x2', '#', '\x5', '\x2',
+ '\v', '\f', '\xF', '\xF', '\"', '\"', '\x4', '\x2', '-', '-', '/', '/',
+ '\n', '\x2', '$', '$', '\x31', '\x31', '^', '^', '\x64', '\x64', 'h',
+ 'h', 'p', 'p', 't', 't', 'v', 'v', '\x5', '\x2', '\x32', ';', '\x43',
+ 'H', '\x63', 'h', '\x5', '\x2', '\x2', '!', '$', '$', '^', '^', '\x5',
+ '\x2', '\x43', '\\', '\x61', '\x61', '\x63', '|', '\x3', '\x2', '\x32',
+ ';', '\x4', '\x2', '\x43', '\x43', '\x63', '\x63', '\x4', '\x2', '\x44',
+ '\x44', '\x64', '\x64', '\x4', '\x2', '\x45', '\x45', '\x65', '\x65',
+ '\x4', '\x2', '\x46', '\x46', '\x66', '\x66', '\x4', '\x2', 'G', 'G',
+ 'g', 'g', '\x4', '\x2', 'H', 'H', 'h', 'h', '\x4', '\x2', 'I', 'I', 'i',
+ 'i', '\x4', '\x2', 'J', 'J', 'j', 'j', '\x4', '\x2', 'K', 'K', 'k', 'k',
+ '\x4', '\x2', 'L', 'L', 'l', 'l', '\x4', '\x2', 'M', 'M', 'm', 'm', '\x4',
+ '\x2', 'N', 'N', 'n', 'n', '\x4', '\x2', 'O', 'O', 'o', 'o', '\x4', '\x2',
+ 'P', 'P', 'p', 'p', '\x4', '\x2', 'Q', 'Q', 'q', 'q', '\x4', '\x2', 'R',
+ 'R', 'r', 'r', '\x4', '\x2', 'S', 'S', 's', 's', '\x4', '\x2', 'T', 'T',
+ 't', 't', '\x4', '\x2', 'U', 'U', 'u', 'u', '\x4', '\x2', 'V', 'V', 'v',
+ 'v', '\x4', '\x2', 'W', 'W', 'w', 'w', '\x4', '\x2', 'X', 'X', 'x', 'x',
+ '\x4', '\x2', 'Y', 'Y', 'y', 'y', '\x4', '\x2', 'Z', 'Z', 'z', 'z', '\x4',
+ '\x2', '[', '[', '{', '{', '\x4', '\x2', '\\', '\\', '|', '|', '\x2',
+ '\x22C', '\x2', '\x3', '\x3', '\x2', '\x2', '\x2', '\x2', '\x5', '\x3',
+ '\x2', '\x2', '\x2', '\x2', '\a', '\x3', '\x2', '\x2', '\x2', '\x2', '\t',
+ '\x3', '\x2', '\x2', '\x2', '\x2', '\v', '\x3', '\x2', '\x2', '\x2', '\x2',
+ '\r', '\x3', '\x2', '\x2', '\x2', '\x2', '\xF', '\x3', '\x2', '\x2', '\x2',
+ '\x2', '\x11', '\x3', '\x2', '\x2', '\x2', '\x2', '\x13', '\x3', '\x2',
+ '\x2', '\x2', '\x2', '\x15', '\x3', '\x2', '\x2', '\x2', '\x2', '\x17',
+ '\x3', '\x2', '\x2', '\x2', '\x2', '\x19', '\x3', '\x2', '\x2', '\x2',
+ '\x2', '\x1B', '\x3', '\x2', '\x2', '\x2', '\x2', '\x1D', '\x3', '\x2',
+ '\x2', '\x2', '\x2', '\x1F', '\x3', '\x2', '\x2', '\x2', '\x2', '!', '\x3',
+ '\x2', '\x2', '\x2', '\x2', '#', '\x3', '\x2', '\x2', '\x2', '\x2', '%',
+ '\x3', '\x2', '\x2', '\x2', '\x2', '\'', '\x3', '\x2', '\x2', '\x2', '\x2',
+ ')', '\x3', '\x2', '\x2', '\x2', '\x2', '+', '\x3', '\x2', '\x2', '\x2',
+ '\x2', '-', '\x3', '\x2', '\x2', '\x2', '\x2', '/', '\x3', '\x2', '\x2',
+ '\x2', '\x2', '\x31', '\x3', '\x2', '\x2', '\x2', '\x2', '\x33', '\x3',
+ '\x2', '\x2', '\x2', '\x2', '\x35', '\x3', '\x2', '\x2', '\x2', '\x2',
+ '\x37', '\x3', '\x2', '\x2', '\x2', '\x2', '\x39', '\x3', '\x2', '\x2',
+ '\x2', '\x2', ';', '\x3', '\x2', '\x2', '\x2', '\x2', '=', '\x3', '\x2',
+ '\x2', '\x2', '\x2', '?', '\x3', '\x2', '\x2', '\x2', '\x2', '\x41', '\x3',
+ '\x2', '\x2', '\x2', '\x2', '\x43', '\x3', '\x2', '\x2', '\x2', '\x2',
+ '\x45', '\x3', '\x2', '\x2', '\x2', '\x2', 'G', '\x3', '\x2', '\x2', '\x2',
+ '\x2', 'I', '\x3', '\x2', '\x2', '\x2', '\x2', 'K', '\x3', '\x2', '\x2',
+ '\x2', '\x2', 'M', '\x3', '\x2', '\x2', '\x2', '\x2', 'O', '\x3', '\x2',
+ '\x2', '\x2', '\x2', 'Q', '\x3', '\x2', '\x2', '\x2', '\x2', 'S', '\x3',
+ '\x2', '\x2', '\x2', '\x2', 'U', '\x3', '\x2', '\x2', '\x2', '\x2', 'W',
+ '\x3', '\x2', '\x2', '\x2', '\x2', 'Y', '\x3', '\x2', '\x2', '\x2', '\x2',
+ '[', '\x3', '\x2', '\x2', '\x2', '\x2', ']', '\x3', '\x2', '\x2', '\x2',
+ '\x2', '_', '\x3', '\x2', '\x2', '\x2', '\x2', '\x61', '\x3', '\x2', '\x2',
+ '\x2', '\x2', '\x63', '\x3', '\x2', '\x2', '\x2', '\x2', '\x65', '\x3',
+ '\x2', '\x2', '\x2', '\x2', 'g', '\x3', '\x2', '\x2', '\x2', '\x2', 'i',
+ '\x3', '\x2', '\x2', '\x2', '\x2', 'k', '\x3', '\x2', '\x2', '\x2', '\x2',
+ 'm', '\x3', '\x2', '\x2', '\x2', '\x2', 'o', '\x3', '\x2', '\x2', '\x2',
+ '\x2', 'q', '\x3', '\x2', '\x2', '\x2', '\x2', 's', '\x3', '\x2', '\x2',
+ '\x2', '\x2', 'u', '\x3', '\x2', '\x2', '\x2', '\x2', 'w', '\x3', '\x2',
+ '\x2', '\x2', '\x2', '\x81', '\x3', '\x2', '\x2', '\x2', '\x2', '\x83',
+ '\x3', '\x2', '\x2', '\x2', '\x3', '\xBB', '\x3', '\x2', '\x2', '\x2',
+ '\x5', '\xBD', '\x3', '\x2', '\x2', '\x2', '\a', '\xBF', '\x3', '\x2',
+ '\x2', '\x2', '\t', '\xC1', '\x3', '\x2', '\x2', '\x2', '\v', '\xC3',
+ '\x3', '\x2', '\x2', '\x2', '\r', '\xC5', '\x3', '\x2', '\x2', '\x2',
+ '\xF', '\xC7', '\x3', '\x2', '\x2', '\x2', '\x11', '\xC9', '\x3', '\x2',
+ '\x2', '\x2', '\x13', '\xCB', '\x3', '\x2', '\x2', '\x2', '\x15', '\xCD',
+ '\x3', '\x2', '\x2', '\x2', '\x17', '\xD0', '\x3', '\x2', '\x2', '\x2',
+ '\x19', '\xD2', '\x3', '\x2', '\x2', '\x2', '\x1B', '\xD4', '\x3', '\x2',
+ '\x2', '\x2', '\x1D', '\xD6', '\x3', '\x2', '\x2', '\x2', '\x1F', '\xD8',
+ '\x3', '\x2', '\x2', '\x2', '!', '\xDA', '\x3', '\x2', '\x2', '\x2', '#',
+ '\xDC', '\x3', '\x2', '\x2', '\x2', '%', '\xDF', '\x3', '\x2', '\x2',
+ '\x2', '\'', '\xE2', '\x3', '\x2', '\x2', '\x2', ')', '\xE4', '\x3', '\x2',
+ '\x2', '\x2', '+', '\xE7', '\x3', '\x2', '\x2', '\x2', '-', '\xE9', '\x3',
+ '\x2', '\x2', '\x2', '/', '\xEB', '\x3', '\x2', '\x2', '\x2', '\x31',
+ '\xED', '\x3', '\x2', '\x2', '\x2', '\x33', '\xF0', '\x3', '\x2', '\x2',
+ '\x2', '\x35', '\xF2', '\x3', '\x2', '\x2', '\x2', '\x37', '\xF4', '\x3',
+ '\x2', '\x2', '\x2', '\x39', '\xF6', '\x3', '\x2', '\x2', '\x2', ';',
+ '\xFA', '\x3', '\x2', '\x2', '\x2', '=', '\x100', '\x3', '\x2', '\x2',
+ '\x2', '?', '\x103', '\x3', '\x2', '\x2', '\x2', '\x41', '\x107', '\x3',
+ '\x2', '\x2', '\x2', '\x43', '\x10F', '\x3', '\x2', '\x2', '\x2', '\x45',
+ '\x112', '\x3', '\x2', '\x2', '\x2', 'G', '\x117', '\x3', '\x2', '\x2',
+ '\x2', 'I', '\x120', '\x3', '\x2', '\x2', '\x2', 'K', '\x127', '\x3',
+ '\x2', '\x2', '\x2', 'M', '\x12E', '\x3', '\x2', '\x2', '\x2', 'O', '\x134',
+ '\x3', '\x2', '\x2', '\x2', 'Q', '\x139', '\x3', '\x2', '\x2', '\x2',
+ 'S', '\x13F', '\x3', '\x2', '\x2', '\x2', 'U', '\x142', '\x3', '\x2',
+ '\x2', '\x2', 'W', '\x147', '\x3', '\x2', '\x2', '\x2', 'Y', '\x14C',
+ '\x3', '\x2', '\x2', '\x2', '[', '\x152', '\x3', '\x2', '\x2', '\x2',
+ ']', '\x156', '\x3', '\x2', '\x2', '\x2', '_', '\x15B', '\x3', '\x2',
+ '\x2', '\x2', '\x61', '\x162', '\x3', '\x2', '\x2', '\x2', '\x63', '\x165',
+ '\x3', '\x2', '\x2', '\x2', '\x65', '\x16B', '\x3', '\x2', '\x2', '\x2',
+ 'g', '\x172', '\x3', '\x2', '\x2', '\x2', 'i', '\x176', '\x3', '\x2',
+ '\x2', '\x2', 'k', '\x17B', '\x3', '\x2', '\x2', '\x2', 'm', '\x17F',
+ '\x3', '\x2', '\x2', '\x2', 'o', '\x189', '\x3', '\x2', '\x2', '\x2',
+ 'q', '\x18F', '\x3', '\x2', '\x2', '\x2', 's', '\x196', '\x3', '\x2',
+ '\x2', '\x2', 'u', '\x1CC', '\x3', '\x2', '\x2', '\x2', 'w', '\x1E0',
+ '\x3', '\x2', '\x2', '\x2', 'y', '\x1E2', '\x3', '\x2', '\x2', '\x2',
+ '{', '\x1E7', '\x3', '\x2', '\x2', '\x2', '}', '\x1ED', '\x3', '\x2',
+ '\x2', '\x2', '\x7F', '\x1EF', '\x3', '\x2', '\x2', '\x2', '\x81', '\x1FA',
+ '\x3', '\x2', '\x2', '\x2', '\x83', '\x1FC', '\x3', '\x2', '\x2', '\x2',
+ '\x85', '\x1FF', '\x3', '\x2', '\x2', '\x2', '\x87', '\x201', '\x3', '\x2',
+ '\x2', '\x2', '\x89', '\x203', '\x3', '\x2', '\x2', '\x2', '\x8B', '\x205',
+ '\x3', '\x2', '\x2', '\x2', '\x8D', '\x207', '\x3', '\x2', '\x2', '\x2',
+ '\x8F', '\x209', '\x3', '\x2', '\x2', '\x2', '\x91', '\x20B', '\x3', '\x2',
+ '\x2', '\x2', '\x93', '\x20D', '\x3', '\x2', '\x2', '\x2', '\x95', '\x20F',
+ '\x3', '\x2', '\x2', '\x2', '\x97', '\x211', '\x3', '\x2', '\x2', '\x2',
+ '\x99', '\x213', '\x3', '\x2', '\x2', '\x2', '\x9B', '\x215', '\x3', '\x2',
+ '\x2', '\x2', '\x9D', '\x217', '\x3', '\x2', '\x2', '\x2', '\x9F', '\x219',
+ '\x3', '\x2', '\x2', '\x2', '\xA1', '\x21B', '\x3', '\x2', '\x2', '\x2',
+ '\xA3', '\x21D', '\x3', '\x2', '\x2', '\x2', '\xA5', '\x21F', '\x3', '\x2',
+ '\x2', '\x2', '\xA7', '\x221', '\x3', '\x2', '\x2', '\x2', '\xA9', '\x223',
+ '\x3', '\x2', '\x2', '\x2', '\xAB', '\x225', '\x3', '\x2', '\x2', '\x2',
+ '\xAD', '\x227', '\x3', '\x2', '\x2', '\x2', '\xAF', '\x229', '\x3', '\x2',
+ '\x2', '\x2', '\xB1', '\x22B', '\x3', '\x2', '\x2', '\x2', '\xB3', '\x22D',
+ '\x3', '\x2', '\x2', '\x2', '\xB5', '\x22F', '\x3', '\x2', '\x2', '\x2',
+ '\xB7', '\x231', '\x3', '\x2', '\x2', '\x2', '\xB9', '\x233', '\x3', '\x2',
+ '\x2', '\x2', '\xBB', '\xBC', '\a', ',', '\x2', '\x2', '\xBC', '\x4',
+ '\x3', '\x2', '\x2', '\x2', '\xBD', '\xBE', '\a', '.', '\x2', '\x2', '\xBE',
+ '\x6', '\x3', '\x2', '\x2', '\x2', '\xBF', '\xC0', '\a', '*', '\x2', '\x2',
+ '\xC0', '\b', '\x3', '\x2', '\x2', '\x2', '\xC1', '\xC2', '\a', '+', '\x2',
+ '\x2', '\xC2', '\n', '\x3', '\x2', '\x2', '\x2', '\xC3', '\xC4', '\a',
+ '\x30', '\x2', '\x2', '\xC4', '\f', '\x3', '\x2', '\x2', '\x2', '\xC5',
+ '\xC6', '\a', ']', '\x2', '\x2', '\xC6', '\xE', '\x3', '\x2', '\x2', '\x2',
+ '\xC7', '\xC8', '\a', '_', '\x2', '\x2', '\xC8', '\x10', '\x3', '\x2',
+ '\x2', '\x2', '\xC9', '\xCA', '\a', '\x41', '\x2', '\x2', '\xCA', '\x12',
+ '\x3', '\x2', '\x2', '\x2', '\xCB', '\xCC', '\a', '<', '\x2', '\x2', '\xCC',
+ '\x14', '\x3', '\x2', '\x2', '\x2', '\xCD', '\xCE', '\a', '\x41', '\x2',
+ '\x2', '\xCE', '\xCF', '\a', '\x41', '\x2', '\x2', '\xCF', '\x16', '\x3',
+ '\x2', '\x2', '\x2', '\xD0', '\xD1', '\a', '\x31', '\x2', '\x2', '\xD1',
+ '\x18', '\x3', '\x2', '\x2', '\x2', '\xD2', '\xD3', '\a', '\'', '\x2',
+ '\x2', '\xD3', '\x1A', '\x3', '\x2', '\x2', '\x2', '\xD4', '\xD5', '\a',
+ '-', '\x2', '\x2', '\xD5', '\x1C', '\x3', '\x2', '\x2', '\x2', '\xD6',
+ '\xD7', '\a', '/', '\x2', '\x2', '\xD7', '\x1E', '\x3', '\x2', '\x2',
+ '\x2', '\xD8', '\xD9', '\a', '>', '\x2', '\x2', '\xD9', ' ', '\x3', '\x2',
+ '\x2', '\x2', '\xDA', '\xDB', '\a', '@', '\x2', '\x2', '\xDB', '\"', '\x3',
+ '\x2', '\x2', '\x2', '\xDC', '\xDD', '\a', '@', '\x2', '\x2', '\xDD',
+ '\xDE', '\a', '?', '\x2', '\x2', '\xDE', '$', '\x3', '\x2', '\x2', '\x2',
+ '\xDF', '\xE0', '\a', '>', '\x2', '\x2', '\xE0', '\xE1', '\a', '?', '\x2',
+ '\x2', '\xE1', '&', '\x3', '\x2', '\x2', '\x2', '\xE2', '\xE3', '\a',
+ '?', '\x2', '\x2', '\xE3', '(', '\x3', '\x2', '\x2', '\x2', '\xE4', '\xE5',
+ '\a', '#', '\x2', '\x2', '\xE5', '\xE6', '\a', '?', '\x2', '\x2', '\xE6',
+ '*', '\x3', '\x2', '\x2', '\x2', '\xE7', '\xE8', '\a', '(', '\x2', '\x2',
+ '\xE8', ',', '\x3', '\x2', '\x2', '\x2', '\xE9', '\xEA', '\a', '`', '\x2',
+ '\x2', '\xEA', '.', '\x3', '\x2', '\x2', '\x2', '\xEB', '\xEC', '\a',
+ '~', '\x2', '\x2', '\xEC', '\x30', '\x3', '\x2', '\x2', '\x2', '\xED',
+ '\xEE', '\a', '~', '\x2', '\x2', '\xEE', '\xEF', '\a', '~', '\x2', '\x2',
+ '\xEF', '\x32', '\x3', '\x2', '\x2', '\x2', '\xF0', '\xF1', '\a', '\x80',
+ '\x2', '\x2', '\xF1', '\x34', '\x3', '\x2', '\x2', '\x2', '\xF2', '\xF3',
+ '\a', '}', '\x2', '\x2', '\xF3', '\x36', '\x3', '\x2', '\x2', '\x2', '\xF4',
+ '\xF5', '\a', '\x7F', '\x2', '\x2', '\xF5', '\x38', '\x3', '\x2', '\x2',
+ '\x2', '\xF6', '\xF7', '\x5', '\x87', '\x44', '\x2', '\xF7', '\xF8', '\x5',
+ '\xA1', 'Q', '\x2', '\xF8', '\xF9', '\x5', '\x8D', 'G', '\x2', '\xF9',
+ ':', '\x3', '\x2', '\x2', '\x2', '\xFA', '\xFB', '\x5', '\x87', '\x44',
+ '\x2', '\xFB', '\xFC', '\x5', '\xA9', 'U', '\x2', '\xFC', '\xFD', '\x5',
+ '\xA9', 'U', '\x2', '\xFD', '\xFE', '\x5', '\x87', '\x44', '\x2', '\xFE',
+ '\xFF', '\x5', '\xB7', '\\', '\x2', '\xFF', '<', '\x3', '\x2', '\x2',
+ '\x2', '\x100', '\x101', '\x5', '\x87', '\x44', '\x2', '\x101', '\x102',
+ '\x5', '\xAB', 'V', '\x2', '\x102', '>', '\x3', '\x2', '\x2', '\x2', '\x103',
+ '\x104', '\x5', '\x87', '\x44', '\x2', '\x104', '\x105', '\x5', '\xAB',
+ 'V', '\x2', '\x105', '\x106', '\x5', '\x8B', '\x46', '\x2', '\x106', '@',
+ '\x3', '\x2', '\x2', '\x2', '\x107', '\x108', '\x5', '\x89', '\x45', '\x2',
+ '\x108', '\x109', '\x5', '\x8F', 'H', '\x2', '\x109', '\x10A', '\x5',
+ '\xAD', 'W', '\x2', '\x10A', '\x10B', '\x5', '\xB3', 'Z', '\x2', '\x10B',
+ '\x10C', '\x5', '\x8F', 'H', '\x2', '\x10C', '\x10D', '\x5', '\x8F', 'H',
+ '\x2', '\x10D', '\x10E', '\x5', '\xA1', 'Q', '\x2', '\x10E', '\x42', '\x3',
+ '\x2', '\x2', '\x2', '\x10F', '\x110', '\x5', '\x89', '\x45', '\x2', '\x110',
+ '\x111', '\x5', '\xB7', '\\', '\x2', '\x111', '\x44', '\x3', '\x2', '\x2',
+ '\x2', '\x112', '\x113', '\x5', '\x8D', 'G', '\x2', '\x113', '\x114',
+ '\x5', '\x8F', 'H', '\x2', '\x114', '\x115', '\x5', '\xAB', 'V', '\x2',
+ '\x115', '\x116', '\x5', '\x8B', '\x46', '\x2', '\x116', '\x46', '\x3',
+ '\x2', '\x2', '\x2', '\x117', '\x118', '\x5', '\x8D', 'G', '\x2', '\x118',
+ '\x119', '\x5', '\x97', 'L', '\x2', '\x119', '\x11A', '\x5', '\xAB', 'V',
+ '\x2', '\x11A', '\x11B', '\x5', '\xAD', 'W', '\x2', '\x11B', '\x11C',
+ '\x5', '\x97', 'L', '\x2', '\x11C', '\x11D', '\x5', '\xA1', 'Q', '\x2',
+ '\x11D', '\x11E', '\x5', '\x8B', '\x46', '\x2', '\x11E', '\x11F', '\x5',
+ '\xAD', 'W', '\x2', '\x11F', 'H', '\x3', '\x2', '\x2', '\x2', '\x120',
+ '\x121', '\x5', '\x8F', 'H', '\x2', '\x121', '\x122', '\x5', '\xAB', 'V',
+ '\x2', '\x122', '\x123', '\x5', '\x8B', '\x46', '\x2', '\x123', '\x124',
+ '\x5', '\x87', '\x44', '\x2', '\x124', '\x125', '\x5', '\xA5', 'S', '\x2',
+ '\x125', '\x126', '\x5', '\x8F', 'H', '\x2', '\x126', 'J', '\x3', '\x2',
+ '\x2', '\x2', '\x127', '\x128', '\x5', '\x8F', 'H', '\x2', '\x128', '\x129',
+ '\x5', '\xB5', '[', '\x2', '\x129', '\x12A', '\x5', '\x97', 'L', '\x2',
+ '\x12A', '\x12B', '\x5', '\xAB', 'V', '\x2', '\x12B', '\x12C', '\x5',
+ '\xAD', 'W', '\x2', '\x12C', '\x12D', '\x5', '\xAB', 'V', '\x2', '\x12D',
+ 'L', '\x3', '\x2', '\x2', '\x2', '\x12E', '\x12F', '\a', 'h', '\x2', '\x2',
+ '\x12F', '\x130', '\a', '\x63', '\x2', '\x2', '\x130', '\x131', '\a',
+ 'n', '\x2', '\x2', '\x131', '\x132', '\a', 'u', '\x2', '\x2', '\x132',
+ '\x133', '\a', 'g', '\x2', '\x2', '\x133', 'N', '\x3', '\x2', '\x2', '\x2',
+ '\x134', '\x135', '\x5', '\x91', 'I', '\x2', '\x135', '\x136', '\x5',
+ '\xA9', 'U', '\x2', '\x136', '\x137', '\x5', '\xA3', 'R', '\x2', '\x137',
+ '\x138', '\x5', '\x9F', 'P', '\x2', '\x138', 'P', '\x3', '\x2', '\x2',
+ '\x2', '\x139', '\x13A', '\x5', '\x93', 'J', '\x2', '\x13A', '\x13B',
+ '\x5', '\xA9', 'U', '\x2', '\x13B', '\x13C', '\x5', '\xA3', 'R', '\x2',
+ '\x13C', '\x13D', '\x5', '\xAF', 'X', '\x2', '\x13D', '\x13E', '\x5',
+ '\xA5', 'S', '\x2', '\x13E', 'R', '\x3', '\x2', '\x2', '\x2', '\x13F',
+ '\x140', '\x5', '\x97', 'L', '\x2', '\x140', '\x141', '\x5', '\xA1', 'Q',
+ '\x2', '\x141', 'T', '\x3', '\x2', '\x2', '\x2', '\x142', '\x143', '\x5',
+ '\x99', 'M', '\x2', '\x143', '\x144', '\x5', '\xA3', 'R', '\x2', '\x144',
+ '\x145', '\x5', '\x97', 'L', '\x2', '\x145', '\x146', '\x5', '\xA1', 'Q',
+ '\x2', '\x146', 'V', '\x3', '\x2', '\x2', '\x2', '\x147', '\x148', '\x5',
+ '\x9D', 'O', '\x2', '\x148', '\x149', '\x5', '\x97', 'L', '\x2', '\x149',
+ '\x14A', '\x5', '\x9B', 'N', '\x2', '\x14A', '\x14B', '\x5', '\x8F', 'H',
+ '\x2', '\x14B', 'X', '\x3', '\x2', '\x2', '\x2', '\x14C', '\x14D', '\x5',
+ '\x9D', 'O', '\x2', '\x14D', '\x14E', '\x5', '\x97', 'L', '\x2', '\x14E',
+ '\x14F', '\x5', '\x9F', 'P', '\x2', '\x14F', '\x150', '\x5', '\x97', 'L',
+ '\x2', '\x150', '\x151', '\x5', '\xAD', 'W', '\x2', '\x151', 'Z', '\x3',
+ '\x2', '\x2', '\x2', '\x152', '\x153', '\x5', '\xA1', 'Q', '\x2', '\x153',
+ '\x154', '\x5', '\xA3', 'R', '\x2', '\x154', '\x155', '\x5', '\xAD', 'W',
+ '\x2', '\x155', '\\', '\x3', '\x2', '\x2', '\x2', '\x156', '\x157', '\a',
+ 'p', '\x2', '\x2', '\x157', '\x158', '\a', 'w', '\x2', '\x2', '\x158',
+ '\x159', '\a', 'n', '\x2', '\x2', '\x159', '\x15A', '\a', 'n', '\x2',
+ '\x2', '\x15A', '^', '\x3', '\x2', '\x2', '\x2', '\x15B', '\x15C', '\x5',
+ '\xA3', 'R', '\x2', '\x15C', '\x15D', '\x5', '\x91', 'I', '\x2', '\x15D',
+ '\x15E', '\x5', '\x91', 'I', '\x2', '\x15E', '\x15F', '\x5', '\xAB', 'V',
+ '\x2', '\x15F', '\x160', '\x5', '\x8F', 'H', '\x2', '\x160', '\x161',
+ '\x5', '\xAD', 'W', '\x2', '\x161', '`', '\x3', '\x2', '\x2', '\x2', '\x162',
+ '\x163', '\x5', '\xA3', 'R', '\x2', '\x163', '\x164', '\x5', '\xA9', 'U',
+ '\x2', '\x164', '\x62', '\x3', '\x2', '\x2', '\x2', '\x165', '\x166',
+ '\x5', '\xA3', 'R', '\x2', '\x166', '\x167', '\x5', '\xA9', 'U', '\x2',
+ '\x167', '\x168', '\x5', '\x8D', 'G', '\x2', '\x168', '\x169', '\x5',
+ '\x8F', 'H', '\x2', '\x169', '\x16A', '\x5', '\xA9', 'U', '\x2', '\x16A',
+ '\x64', '\x3', '\x2', '\x2', '\x2', '\x16B', '\x16C', '\x5', '\xAB', 'V',
+ '\x2', '\x16C', '\x16D', '\x5', '\x8F', 'H', '\x2', '\x16D', '\x16E',
+ '\x5', '\x9D', 'O', '\x2', '\x16E', '\x16F', '\x5', '\x8F', 'H', '\x2',
+ '\x16F', '\x170', '\x5', '\x8B', '\x46', '\x2', '\x170', '\x171', '\x5',
+ '\xAD', 'W', '\x2', '\x171', '\x66', '\x3', '\x2', '\x2', '\x2', '\x172',
+ '\x173', '\x5', '\xAD', 'W', '\x2', '\x173', '\x174', '\x5', '\xA3', 'R',
+ '\x2', '\x174', '\x175', '\x5', '\xA5', 'S', '\x2', '\x175', 'h', '\x3',
+ '\x2', '\x2', '\x2', '\x176', '\x177', '\a', 'v', '\x2', '\x2', '\x177',
+ '\x178', '\a', 't', '\x2', '\x2', '\x178', '\x179', '\a', 'w', '\x2',
+ '\x2', '\x179', '\x17A', '\a', 'g', '\x2', '\x2', '\x17A', 'j', '\x3',
+ '\x2', '\x2', '\x2', '\x17B', '\x17C', '\x5', '\xAF', 'X', '\x2', '\x17C',
+ '\x17D', '\x5', '\x8D', 'G', '\x2', '\x17D', '\x17E', '\x5', '\x91', 'I',
+ '\x2', '\x17E', 'l', '\x3', '\x2', '\x2', '\x2', '\x17F', '\x180', '\a',
+ 'w', '\x2', '\x2', '\x180', '\x181', '\a', 'p', '\x2', '\x2', '\x181',
+ '\x182', '\a', '\x66', '\x2', '\x2', '\x182', '\x183', '\a', 'g', '\x2',
+ '\x2', '\x183', '\x184', '\a', 'h', '\x2', '\x2', '\x184', '\x185', '\a',
+ 'k', '\x2', '\x2', '\x185', '\x186', '\a', 'p', '\x2', '\x2', '\x186',
+ '\x187', '\a', 'g', '\x2', '\x2', '\x187', '\x188', '\a', '\x66', '\x2',
+ '\x2', '\x188', 'n', '\x3', '\x2', '\x2', '\x2', '\x189', '\x18A', '\x5',
+ '\xB1', 'Y', '\x2', '\x18A', '\x18B', '\x5', '\x87', '\x44', '\x2', '\x18B',
+ '\x18C', '\x5', '\x9D', 'O', '\x2', '\x18C', '\x18D', '\x5', '\xAF', 'X',
+ '\x2', '\x18D', '\x18E', '\x5', '\x8F', 'H', '\x2', '\x18E', 'p', '\x3',
+ '\x2', '\x2', '\x2', '\x18F', '\x190', '\x5', '\xB3', 'Z', '\x2', '\x190',
+ '\x191', '\x5', '\x95', 'K', '\x2', '\x191', '\x192', '\x5', '\x8F', 'H',
+ '\x2', '\x192', '\x193', '\x5', '\xA9', 'U', '\x2', '\x193', '\x194',
+ '\x5', '\x8F', 'H', '\x2', '\x194', 'r', '\x3', '\x2', '\x2', '\x2', '\x195',
+ '\x197', '\t', '\x2', '\x2', '\x2', '\x196', '\x195', '\x3', '\x2', '\x2',
+ '\x2', '\x197', '\x198', '\x3', '\x2', '\x2', '\x2', '\x198', '\x196',
+ '\x3', '\x2', '\x2', '\x2', '\x198', '\x199', '\x3', '\x2', '\x2', '\x2',
+ '\x199', '\x19A', '\x3', '\x2', '\x2', '\x2', '\x19A', '\x19B', '\b',
+ ':', '\x2', '\x2', '\x19B', 't', '\x3', '\x2', '\x2', '\x2', '\x19C',
+ '\x19E', '\t', '\x3', '\x2', '\x2', '\x19D', '\x19C', '\x3', '\x2', '\x2',
+ '\x2', '\x19D', '\x19E', '\x3', '\x2', '\x2', '\x2', '\x19E', '\x1A0',
+ '\x3', '\x2', '\x2', '\x2', '\x19F', '\x1A1', '\x5', '\x85', '\x43', '\x2',
+ '\x1A0', '\x19F', '\x3', '\x2', '\x2', '\x2', '\x1A1', '\x1A2', '\x3',
+ '\x2', '\x2', '\x2', '\x1A2', '\x1A0', '\x3', '\x2', '\x2', '\x2', '\x1A2',
+ '\x1A3', '\x3', '\x2', '\x2', '\x2', '\x1A3', '\x1AB', '\x3', '\x2', '\x2',
+ '\x2', '\x1A4', '\x1A8', '\a', '\x30', '\x2', '\x2', '\x1A5', '\x1A7',
+ '\x5', '\x85', '\x43', '\x2', '\x1A6', '\x1A5', '\x3', '\x2', '\x2', '\x2',
+ '\x1A7', '\x1AA', '\x3', '\x2', '\x2', '\x2', '\x1A8', '\x1A6', '\x3',
+ '\x2', '\x2', '\x2', '\x1A8', '\x1A9', '\x3', '\x2', '\x2', '\x2', '\x1A9',
+ '\x1AC', '\x3', '\x2', '\x2', '\x2', '\x1AA', '\x1A8', '\x3', '\x2', '\x2',
+ '\x2', '\x1AB', '\x1A4', '\x3', '\x2', '\x2', '\x2', '\x1AB', '\x1AC',
+ '\x3', '\x2', '\x2', '\x2', '\x1AC', '\x1B6', '\x3', '\x2', '\x2', '\x2',
+ '\x1AD', '\x1AF', '\x5', '\x8F', 'H', '\x2', '\x1AE', '\x1B0', '\t', '\x3',
+ '\x2', '\x2', '\x1AF', '\x1AE', '\x3', '\x2', '\x2', '\x2', '\x1AF', '\x1B0',
+ '\x3', '\x2', '\x2', '\x2', '\x1B0', '\x1B2', '\x3', '\x2', '\x2', '\x2',
+ '\x1B1', '\x1B3', '\x5', '\x85', '\x43', '\x2', '\x1B2', '\x1B1', '\x3',
+ '\x2', '\x2', '\x2', '\x1B3', '\x1B4', '\x3', '\x2', '\x2', '\x2', '\x1B4',
+ '\x1B2', '\x3', '\x2', '\x2', '\x2', '\x1B4', '\x1B5', '\x3', '\x2', '\x2',
+ '\x2', '\x1B5', '\x1B7', '\x3', '\x2', '\x2', '\x2', '\x1B6', '\x1AD',
+ '\x3', '\x2', '\x2', '\x2', '\x1B6', '\x1B7', '\x3', '\x2', '\x2', '\x2',
+ '\x1B7', '\x1CD', '\x3', '\x2', '\x2', '\x2', '\x1B8', '\x1BA', '\t',
+ '\x3', '\x2', '\x2', '\x1B9', '\x1B8', '\x3', '\x2', '\x2', '\x2', '\x1B9',
+ '\x1BA', '\x3', '\x2', '\x2', '\x2', '\x1BA', '\x1BB', '\x3', '\x2', '\x2',
+ '\x2', '\x1BB', '\x1BD', '\a', '\x30', '\x2', '\x2', '\x1BC', '\x1BE',
+ '\x5', '\x85', '\x43', '\x2', '\x1BD', '\x1BC', '\x3', '\x2', '\x2', '\x2',
+ '\x1BE', '\x1BF', '\x3', '\x2', '\x2', '\x2', '\x1BF', '\x1BD', '\x3',
+ '\x2', '\x2', '\x2', '\x1BF', '\x1C0', '\x3', '\x2', '\x2', '\x2', '\x1C0',
+ '\x1CA', '\x3', '\x2', '\x2', '\x2', '\x1C1', '\x1C3', '\x5', '\x8F',
+ 'H', '\x2', '\x1C2', '\x1C4', '\t', '\x3', '\x2', '\x2', '\x1C3', '\x1C2',
+ '\x3', '\x2', '\x2', '\x2', '\x1C3', '\x1C4', '\x3', '\x2', '\x2', '\x2',
+ '\x1C4', '\x1C6', '\x3', '\x2', '\x2', '\x2', '\x1C5', '\x1C7', '\x5',
+ '\x85', '\x43', '\x2', '\x1C6', '\x1C5', '\x3', '\x2', '\x2', '\x2', '\x1C7',
+ '\x1C8', '\x3', '\x2', '\x2', '\x2', '\x1C8', '\x1C6', '\x3', '\x2', '\x2',
+ '\x2', '\x1C8', '\x1C9', '\x3', '\x2', '\x2', '\x2', '\x1C9', '\x1CB',
+ '\x3', '\x2', '\x2', '\x2', '\x1CA', '\x1C1', '\x3', '\x2', '\x2', '\x2',
+ '\x1CA', '\x1CB', '\x3', '\x2', '\x2', '\x2', '\x1CB', '\x1CD', '\x3',
+ '\x2', '\x2', '\x2', '\x1CC', '\x19D', '\x3', '\x2', '\x2', '\x2', '\x1CC',
+ '\x1B9', '\x3', '\x2', '\x2', '\x2', '\x1CD', 'v', '\x3', '\x2', '\x2',
+ '\x2', '\x1CE', '\x1D3', '\a', '$', '\x2', '\x2', '\x1CF', '\x1D2', '\x5',
+ 'y', '=', '\x2', '\x1D0', '\x1D2', '\x5', '\x7F', '@', '\x2', '\x1D1',
+ '\x1CF', '\x3', '\x2', '\x2', '\x2', '\x1D1', '\x1D0', '\x3', '\x2', '\x2',
+ '\x2', '\x1D2', '\x1D5', '\x3', '\x2', '\x2', '\x2', '\x1D3', '\x1D1',
+ '\x3', '\x2', '\x2', '\x2', '\x1D3', '\x1D4', '\x3', '\x2', '\x2', '\x2',
+ '\x1D4', '\x1D6', '\x3', '\x2', '\x2', '\x2', '\x1D5', '\x1D3', '\x3',
+ '\x2', '\x2', '\x2', '\x1D6', '\x1E1', '\a', '$', '\x2', '\x2', '\x1D7',
+ '\x1DC', '\a', ')', '\x2', '\x2', '\x1D8', '\x1DB', '\x5', 'y', '=', '\x2',
+ '\x1D9', '\x1DB', '\x5', '\x7F', '@', '\x2', '\x1DA', '\x1D8', '\x3',
+ '\x2', '\x2', '\x2', '\x1DA', '\x1D9', '\x3', '\x2', '\x2', '\x2', '\x1DB',
+ '\x1DE', '\x3', '\x2', '\x2', '\x2', '\x1DC', '\x1DA', '\x3', '\x2', '\x2',
+ '\x2', '\x1DC', '\x1DD', '\x3', '\x2', '\x2', '\x2', '\x1DD', '\x1DF',
+ '\x3', '\x2', '\x2', '\x2', '\x1DE', '\x1DC', '\x3', '\x2', '\x2', '\x2',
+ '\x1DF', '\x1E1', '\a', ')', '\x2', '\x2', '\x1E0', '\x1CE', '\x3', '\x2',
+ '\x2', '\x2', '\x1E0', '\x1D7', '\x3', '\x2', '\x2', '\x2', '\x1E1', 'x',
+ '\x3', '\x2', '\x2', '\x2', '\x1E2', '\x1E5', '\a', '^', '\x2', '\x2',
+ '\x1E3', '\x1E6', '\t', '\x4', '\x2', '\x2', '\x1E4', '\x1E6', '\x5',
+ '{', '>', '\x2', '\x1E5', '\x1E3', '\x3', '\x2', '\x2', '\x2', '\x1E5',
+ '\x1E4', '\x3', '\x2', '\x2', '\x2', '\x1E6', 'z', '\x3', '\x2', '\x2',
+ '\x2', '\x1E7', '\x1E8', '\a', 'w', '\x2', '\x2', '\x1E8', '\x1E9', '\x5',
+ '}', '?', '\x2', '\x1E9', '\x1EA', '\x5', '}', '?', '\x2', '\x1EA', '\x1EB',
+ '\x5', '}', '?', '\x2', '\x1EB', '\x1EC', '\x5', '}', '?', '\x2', '\x1EC',
+ '|', '\x3', '\x2', '\x2', '\x2', '\x1ED', '\x1EE', '\t', '\x5', '\x2',
+ '\x2', '\x1EE', '~', '\x3', '\x2', '\x2', '\x2', '\x1EF', '\x1F0', '\n',
+ '\x6', '\x2', '\x2', '\x1F0', '\x80', '\x3', '\x2', '\x2', '\x2', '\x1F1',
+ '\x1FB', '\x3', '\x2', '\x2', '\x2', '\x1F2', '\x1F7', '\t', '\a', '\x2',
+ '\x2', '\x1F3', '\x1F6', '\t', '\a', '\x2', '\x2', '\x1F4', '\x1F6', '\x5',
+ '\x85', '\x43', '\x2', '\x1F5', '\x1F3', '\x3', '\x2', '\x2', '\x2', '\x1F5',
+ '\x1F4', '\x3', '\x2', '\x2', '\x2', '\x1F6', '\x1F9', '\x3', '\x2', '\x2',
+ '\x2', '\x1F7', '\x1F5', '\x3', '\x2', '\x2', '\x2', '\x1F7', '\x1F8',
+ '\x3', '\x2', '\x2', '\x2', '\x1F8', '\x1FB', '\x3', '\x2', '\x2', '\x2',
+ '\x1F9', '\x1F7', '\x3', '\x2', '\x2', '\x2', '\x1FA', '\x1F1', '\x3',
+ '\x2', '\x2', '\x2', '\x1FA', '\x1F2', '\x3', '\x2', '\x2', '\x2', '\x1FB',
+ '\x82', '\x3', '\x2', '\x2', '\x2', '\x1FC', '\x1FD', '\a', '\x42', '\x2',
+ '\x2', '\x1FD', '\x1FE', '\x5', '\x81', '\x41', '\x2', '\x1FE', '\x84',
+ '\x3', '\x2', '\x2', '\x2', '\x1FF', '\x200', '\t', '\b', '\x2', '\x2',
+ '\x200', '\x86', '\x3', '\x2', '\x2', '\x2', '\x201', '\x202', '\t', '\t',
+ '\x2', '\x2', '\x202', '\x88', '\x3', '\x2', '\x2', '\x2', '\x203', '\x204',
+ '\t', '\n', '\x2', '\x2', '\x204', '\x8A', '\x3', '\x2', '\x2', '\x2',
+ '\x205', '\x206', '\t', '\v', '\x2', '\x2', '\x206', '\x8C', '\x3', '\x2',
+ '\x2', '\x2', '\x207', '\x208', '\t', '\f', '\x2', '\x2', '\x208', '\x8E',
+ '\x3', '\x2', '\x2', '\x2', '\x209', '\x20A', '\t', '\r', '\x2', '\x2',
+ '\x20A', '\x90', '\x3', '\x2', '\x2', '\x2', '\x20B', '\x20C', '\t', '\xE',
+ '\x2', '\x2', '\x20C', '\x92', '\x3', '\x2', '\x2', '\x2', '\x20D', '\x20E',
+ '\t', '\xF', '\x2', '\x2', '\x20E', '\x94', '\x3', '\x2', '\x2', '\x2',
+ '\x20F', '\x210', '\t', '\x10', '\x2', '\x2', '\x210', '\x96', '\x3',
+ '\x2', '\x2', '\x2', '\x211', '\x212', '\t', '\x11', '\x2', '\x2', '\x212',
+ '\x98', '\x3', '\x2', '\x2', '\x2', '\x213', '\x214', '\t', '\x12', '\x2',
+ '\x2', '\x214', '\x9A', '\x3', '\x2', '\x2', '\x2', '\x215', '\x216',
+ '\t', '\x13', '\x2', '\x2', '\x216', '\x9C', '\x3', '\x2', '\x2', '\x2',
+ '\x217', '\x218', '\t', '\x14', '\x2', '\x2', '\x218', '\x9E', '\x3',
+ '\x2', '\x2', '\x2', '\x219', '\x21A', '\t', '\x15', '\x2', '\x2', '\x21A',
+ '\xA0', '\x3', '\x2', '\x2', '\x2', '\x21B', '\x21C', '\t', '\x16', '\x2',
+ '\x2', '\x21C', '\xA2', '\x3', '\x2', '\x2', '\x2', '\x21D', '\x21E',
+ '\t', '\x17', '\x2', '\x2', '\x21E', '\xA4', '\x3', '\x2', '\x2', '\x2',
+ '\x21F', '\x220', '\t', '\x18', '\x2', '\x2', '\x220', '\xA6', '\x3',
+ '\x2', '\x2', '\x2', '\x221', '\x222', '\t', '\x19', '\x2', '\x2', '\x222',
+ '\xA8', '\x3', '\x2', '\x2', '\x2', '\x223', '\x224', '\t', '\x1A', '\x2',
+ '\x2', '\x224', '\xAA', '\x3', '\x2', '\x2', '\x2', '\x225', '\x226',
+ '\t', '\x1B', '\x2', '\x2', '\x226', '\xAC', '\x3', '\x2', '\x2', '\x2',
+ '\x227', '\x228', '\t', '\x1C', '\x2', '\x2', '\x228', '\xAE', '\x3',
+ '\x2', '\x2', '\x2', '\x229', '\x22A', '\t', '\x1D', '\x2', '\x2', '\x22A',
+ '\xB0', '\x3', '\x2', '\x2', '\x2', '\x22B', '\x22C', '\t', '\x1E', '\x2',
+ '\x2', '\x22C', '\xB2', '\x3', '\x2', '\x2', '\x2', '\x22D', '\x22E',
+ '\t', '\x1F', '\x2', '\x2', '\x22E', '\xB4', '\x3', '\x2', '\x2', '\x2',
+ '\x22F', '\x230', '\t', ' ', '\x2', '\x2', '\x230', '\xB6', '\x3', '\x2',
+ '\x2', '\x2', '\x231', '\x232', '\t', '!', '\x2', '\x2', '\x232', '\xB8',
+ '\x3', '\x2', '\x2', '\x2', '\x233', '\x234', '\t', '\"', '\x2', '\x2',
+ '\x234', '\xBA', '\x3', '\x2', '\x2', '\x2', '\x1A', '\x2', '\x198', '\x19D',
+ '\x1A2', '\x1A8', '\x1AB', '\x1AF', '\x1B4', '\x1B6', '\x1B9', '\x1BF',
+ '\x1C3', '\x1C8', '\x1CA', '\x1CC', '\x1D1', '\x1D3', '\x1DA', '\x1DC',
+ '\x1E0', '\x1E5', '\x1F5', '\x1F7', '\x1FA', '\x3', '\b', '\x2', '\x2',
+ };
- public static readonly ATN _ATN =
- new ATNDeserializer().Deserialize(_serializedATN);
+ public static readonly ATN _ATN =
+ new ATNDeserializer().Deserialize(_serializedATN);
}
diff --git a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlParser.cs b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlParser.cs
index aab000dae7..7e92c2c20f 100644
--- a/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlParser.cs
+++ b/Microsoft.Azure.Cosmos/src/Query/Core/Parser/sqlParser.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// ANTLR Version: 4.7.2
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-// Generated from C:\CosmosSQLANTLR\CosmosSqlAntlr\CosmosSqlAntlr\sql.g4 by ANTLR 4.7.2
+// Generated from sql.g4 by ANTLR 4.7.2
// Unreachable code detected
#pragma warning disable 0162
@@ -31,4347 +31,3916 @@
using DFA = Antlr4.Runtime.Dfa.DFA;
[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.7.2")]
-internal partial class sqlParser : Parser
-{
- protected static DFA[] decisionToDFA;
- protected static PredictionContextCache sharedContextCache = new PredictionContextCache();
- public const int
- T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, T__7 = 8, T__8 = 9,
- T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, T__14 = 15, T__15 = 16, T__16 = 17,
- T__17 = 18, T__18 = 19, T__19 = 20, T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24,
- T__24 = 25, T__25 = 26, T__26 = 27, K_AND = 28, K_ARRAY = 29, K_AS = 30, K_ASC = 31,
- K_BETWEEN = 32, K_BY = 33, K_DESC = 34, K_DISTINCT = 35, K_EXISTS = 36, K_FALSE = 37,
- K_FROM = 38, K_GROUP = 39, K_IN = 40, K_JOIN = 41, K_LIMIT = 42, K_NOT = 43, K_NULL = 44,
- K_OFFSET = 45, K_OR = 46, K_ORDER = 47, K_SELECT = 48, K_TOP = 49, K_TRUE = 50, K_UDF = 51,
- K_UNDEFINED = 52, K_VALUE = 53, K_WHERE = 54, WS = 55, NUMERIC_LITERAL = 56, STRING_LITERAL = 57,
- IDENTIFIER = 58, PARAMETER = 59;
- public const int
- RULE_program = 0, RULE_sql_query = 1, RULE_select_clause = 2, RULE_top_spec = 3,
- RULE_selection = 4, RULE_select_star_spec = 5, RULE_select_value_spec = 6,
- RULE_select_list_spec = 7, RULE_select_item = 8, RULE_from_clause = 9,
- RULE_collection_expression = 10, RULE_collection = 11, RULE_path_expression = 12,
- RULE_where_clause = 13, RULE_group_by_clause = 14, RULE_order_by_clause = 15,
- RULE_order_by_items = 16, RULE_order_by_item = 17, RULE_sort_order = 18,
- RULE_offset_limit_clause = 19, RULE_offset_count = 20, RULE_limit_count = 21,
- RULE_scalar_expression = 22, RULE_logical_scalar_expression = 23, RULE_in_scalar_expression = 24,
- RULE_binary_scalar_expression = 25, RULE_multiplicative_operator = 26,
- RULE_additive_operator = 27, RULE_relational_operator = 28, RULE_equality_operator = 29,
- RULE_bitwise_and_operator = 30, RULE_bitwise_exclusive_or_operator = 31,
- RULE_bitwise_inclusive_or_operator = 32, RULE_string_concat_operator = 33,
- RULE_unary_scalar_expression = 34, RULE_unary_operator = 35, RULE_primary_expression = 36,
- RULE_scalar_expression_list = 37, RULE_object_property_list = 38, RULE_object_property = 39,
- RULE_literal = 40;
- public static readonly string[] ruleNames = {
- "program", "sql_query", "select_clause", "top_spec", "selection", "select_star_spec",
- "select_value_spec", "select_list_spec", "select_item", "from_clause",
- "collection_expression", "collection", "path_expression", "where_clause",
- "group_by_clause", "order_by_clause", "order_by_items", "order_by_item",
- "sort_order", "offset_limit_clause", "offset_count", "limit_count", "scalar_expression",
- "logical_scalar_expression", "in_scalar_expression", "binary_scalar_expression",
- "multiplicative_operator", "additive_operator", "relational_operator",
- "equality_operator", "bitwise_and_operator", "bitwise_exclusive_or_operator",
- "bitwise_inclusive_or_operator", "string_concat_operator", "unary_scalar_expression",
- "unary_operator", "primary_expression", "scalar_expression_list", "object_property_list",
- "object_property", "literal"
- };
-
- private static readonly string[] _LiteralNames = {
- null, "'*'", "','", "'('", "')'", "'.'", "'['", "']'", "'?'", "':'", "'??'",
- "'/'", "'%'", "'+'", "'-'", "'<'", "'>'", "'>='", "'<='", "'='", "'!='",
- "'&'", "'^'", "'|'", "'||'", "'~'", "'{'", "'}'", null, null, null, null,
- null, null, null, null, null, "'false'", null, null, null, null, null,
- null, "'null'", null, null, null, null, null, "'true'", null, "'undefined'"
- };
- private static readonly string[] _SymbolicNames = {
- null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, "K_AND", "K_ARRAY", "K_AS", "K_ASC", "K_BETWEEN",
- "K_BY", "K_DESC", "K_DISTINCT", "K_EXISTS", "K_FALSE", "K_FROM", "K_GROUP",
- "K_IN", "K_JOIN", "K_LIMIT", "K_NOT", "K_NULL", "K_OFFSET", "K_OR", "K_ORDER",
- "K_SELECT", "K_TOP", "K_TRUE", "K_UDF", "K_UNDEFINED", "K_VALUE", "K_WHERE",
- "WS", "NUMERIC_LITERAL", "STRING_LITERAL", "IDENTIFIER", "PARAMETER"
- };
- public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames);
-
- [NotNull]
- public override IVocabulary Vocabulary
- {
- get
- {
- return DefaultVocabulary;
- }
- }
-
- public override string GrammarFileName { get { return "sql.g4"; } }
-
- public override string[] RuleNames { get { return ruleNames; } }
-
- public override string SerializedAtn { get { return new string(_serializedATN); } }
-
- static sqlParser()
- {
- decisionToDFA = new DFA[_ATN.NumberOfDecisions];
- for (int i = 0; i < _ATN.NumberOfDecisions; i++)
- {
- decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i);
- }
- }
-
- public sqlParser(ITokenStream input) : this(input, Console.Out, Console.Error) { }
-
- public sqlParser(ITokenStream input, TextWriter output, TextWriter errorOutput)
- : base(input, output, errorOutput)
- {
- Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache);
- }
-
- public partial class ProgramContext : ParserRuleContext
- {
- public Sql_queryContext sql_query()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode Eof() { return GetToken(sqlParser.Eof, 0); }
- public ProgramContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_program; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterProgram(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitProgram(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitProgram(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public ProgramContext program()
- {
- ProgramContext _localctx = new ProgramContext(Context, State);
- EnterRule(_localctx, 0, RULE_program);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 82; sql_query();
- State = 83; Match(Eof);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Sql_queryContext : ParserRuleContext
- {
- public Select_clauseContext select_clause()
- {
- return GetRuleContext(0);
- }
- public From_clauseContext from_clause()
- {
- return GetRuleContext(0);
- }
- public Where_clauseContext where_clause()
- {
- return GetRuleContext(0);
- }
- public Group_by_clauseContext group_by_clause()
- {
- return GetRuleContext(0);
- }
- public Order_by_clauseContext order_by_clause()
- {
- return GetRuleContext(0);
- }
- public Offset_limit_clauseContext offset_limit_clause()
- {
- return GetRuleContext(0);
- }
- public Sql_queryContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_sql_query; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSql_query(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSql_query(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSql_query(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Sql_queryContext sql_query()
- {
- Sql_queryContext _localctx = new Sql_queryContext(Context, State);
- EnterRule(_localctx, 2, RULE_sql_query);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 85; select_clause();
- State = 87;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_FROM)
- {
- {
- State = 86; from_clause();
- }
- }
-
- State = 90;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_WHERE)
- {
- {
- State = 89; where_clause();
- }
- }
-
- State = 93;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_GROUP)
- {
- {
- State = 92; group_by_clause();
- }
- }
-
- State = 96;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_ORDER)
- {
- {
- State = 95; order_by_clause();
- }
- }
-
- State = 99;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_OFFSET)
- {
- {
- State = 98; offset_limit_clause();
- }
- }
-
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Select_clauseContext : ParserRuleContext
- {
- public ITerminalNode K_SELECT() { return GetToken(sqlParser.K_SELECT, 0); }
- public SelectionContext selection()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode K_DISTINCT() { return GetToken(sqlParser.K_DISTINCT, 0); }
- public Top_specContext top_spec()
- {
- return GetRuleContext(0);
- }
- public Select_clauseContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_select_clause; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSelect_clause(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSelect_clause(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSelect_clause(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Select_clauseContext select_clause()
- {
- Select_clauseContext _localctx = new Select_clauseContext(Context, State);
- EnterRule(_localctx, 4, RULE_select_clause);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 101; Match(K_SELECT);
- State = 103;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_DISTINCT)
- {
- {
- State = 102; Match(K_DISTINCT);
- }
- }
-
- State = 106;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_TOP)
- {
- {
- State = 105; top_spec();
- }
- }
-
- State = 108; selection();
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Top_specContext : ParserRuleContext
- {
- public ITerminalNode K_TOP() { return GetToken(sqlParser.K_TOP, 0); }
- public ITerminalNode NUMERIC_LITERAL() { return GetToken(sqlParser.NUMERIC_LITERAL, 0); }
- public ITerminalNode PARAMETER() { return GetToken(sqlParser.PARAMETER, 0); }
- public Top_specContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_top_spec; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterTop_spec(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitTop_spec(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitTop_spec(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Top_specContext top_spec()
- {
- Top_specContext _localctx = new Top_specContext(Context, State);
- EnterRule(_localctx, 6, RULE_top_spec);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 110; Match(K_TOP);
- State = 111;
- _la = TokenStream.LA(1);
- if (!(_la == NUMERIC_LITERAL || _la == PARAMETER))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class SelectionContext : ParserRuleContext
- {
- public Select_star_specContext select_star_spec()
- {
- return GetRuleContext(0);
- }
- public Select_value_specContext select_value_spec()
- {
- return GetRuleContext(0);
- }
- public Select_list_specContext select_list_spec()
- {
- return GetRuleContext(0);
- }
- public SelectionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_selection; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSelection(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSelection(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSelection(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public SelectionContext selection()
- {
- SelectionContext _localctx = new SelectionContext(Context, State);
- EnterRule(_localctx, 8, RULE_selection);
- try
- {
- State = 116;
- ErrorHandler.Sync(this);
- switch (TokenStream.LA(1))
- {
- case T__0:
- EnterOuterAlt(_localctx, 1);
- {
- State = 113; select_star_spec();
- }
- break;
- case K_VALUE:
- EnterOuterAlt(_localctx, 2);
- {
- State = 114; select_value_spec();
- }
- break;
- case T__2:
- case T__5:
- case T__12:
- case T__13:
- case T__24:
- case T__25:
- case K_ARRAY:
- case K_EXISTS:
- case K_FALSE:
- case K_NOT:
- case K_NULL:
- case K_TRUE:
- case K_UDF:
- case K_UNDEFINED:
- case NUMERIC_LITERAL:
- case STRING_LITERAL:
- case IDENTIFIER:
- case PARAMETER:
- EnterOuterAlt(_localctx, 3);
- {
- State = 115; select_list_spec();
- }
- break;
- default:
- throw new NoViableAltException(this);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Select_star_specContext : ParserRuleContext
- {
- public Select_star_specContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_select_star_spec; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSelect_star_spec(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSelect_star_spec(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSelect_star_spec(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Select_star_specContext select_star_spec()
- {
- Select_star_specContext _localctx = new Select_star_specContext(Context, State);
- EnterRule(_localctx, 10, RULE_select_star_spec);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 118; Match(T__0);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Select_value_specContext : ParserRuleContext
- {
- public ITerminalNode K_VALUE() { return GetToken(sqlParser.K_VALUE, 0); }
- public Scalar_expressionContext scalar_expression()
- {
- return GetRuleContext(0);
- }
- public Select_value_specContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_select_value_spec; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSelect_value_spec(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSelect_value_spec(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSelect_value_spec(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Select_value_specContext select_value_spec()
- {
- Select_value_specContext _localctx = new Select_value_specContext(Context, State);
- EnterRule(_localctx, 12, RULE_select_value_spec);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 120; Match(K_VALUE);
- State = 121; scalar_expression(0);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Select_list_specContext : ParserRuleContext
- {
- public Select_itemContext[] select_item()
- {
- return GetRuleContexts();
- }
- public Select_itemContext select_item(int i)
- {
- return GetRuleContext(i);
- }
- public Select_list_specContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_select_list_spec; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSelect_list_spec(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSelect_list_spec(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSelect_list_spec(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Select_list_specContext select_list_spec()
- {
- Select_list_specContext _localctx = new Select_list_specContext(Context, State);
- EnterRule(_localctx, 14, RULE_select_list_spec);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 123; select_item();
- State = 128;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- while (_la == T__1)
- {
- {
- {
- State = 124; Match(T__1);
- State = 125; select_item();
- }
- }
- State = 130;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Select_itemContext : ParserRuleContext
- {
- public Scalar_expressionContext scalar_expression()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode K_AS() { return GetToken(sqlParser.K_AS, 0); }
- public ITerminalNode IDENTIFIER() { return GetToken(sqlParser.IDENTIFIER, 0); }
- public Select_itemContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_select_item; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSelect_item(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSelect_item(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSelect_item(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Select_itemContext select_item()
- {
- Select_itemContext _localctx = new Select_itemContext(Context, State);
- EnterRule(_localctx, 16, RULE_select_item);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 131; scalar_expression(0);
- State = 134;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_AS)
- {
- {
- State = 132; Match(K_AS);
- State = 133; Match(IDENTIFIER);
- }
- }
-
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class From_clauseContext : ParserRuleContext
- {
- public ITerminalNode K_FROM() { return GetToken(sqlParser.K_FROM, 0); }
- public Collection_expressionContext collection_expression()
- {
- return GetRuleContext(0);
- }
- public From_clauseContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_from_clause; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterFrom_clause(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitFrom_clause(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitFrom_clause(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public From_clauseContext from_clause()
- {
- From_clauseContext _localctx = new From_clauseContext(Context, State);
- EnterRule(_localctx, 18, RULE_from_clause);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 136; Match(K_FROM);
- State = 137; collection_expression(0);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Collection_expressionContext : ParserRuleContext
- {
- public Collection_expressionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_collection_expression; } }
-
- public Collection_expressionContext() { }
- public virtual void CopyFrom(Collection_expressionContext context)
- {
- base.CopyFrom(context);
- }
- }
- public partial class JoinCollectionExpressionContext : Collection_expressionContext
- {
- public Collection_expressionContext[] collection_expression()
- {
- return GetRuleContexts();
- }
- public Collection_expressionContext collection_expression(int i)
- {
- return GetRuleContext(i);
- }
- public ITerminalNode K_JOIN() { return GetToken(sqlParser.K_JOIN, 0); }
- public JoinCollectionExpressionContext(Collection_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterJoinCollectionExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitJoinCollectionExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitJoinCollectionExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class AliasedCollectionExpressionContext : Collection_expressionContext
- {
- public CollectionContext collection()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode K_AS() { return GetToken(sqlParser.K_AS, 0); }
- public ITerminalNode IDENTIFIER() { return GetToken(sqlParser.IDENTIFIER, 0); }
- public AliasedCollectionExpressionContext(Collection_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterAliasedCollectionExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitAliasedCollectionExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitAliasedCollectionExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class ArrayIteratorCollectionExpressionContext : Collection_expressionContext
- {
- public ITerminalNode IDENTIFIER() { return GetToken(sqlParser.IDENTIFIER, 0); }
- public ITerminalNode K_IN() { return GetToken(sqlParser.K_IN, 0); }
- public CollectionContext collection()
- {
- return GetRuleContext(0);
- }
- public ArrayIteratorCollectionExpressionContext(Collection_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterArrayIteratorCollectionExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitArrayIteratorCollectionExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitArrayIteratorCollectionExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Collection_expressionContext collection_expression()
- {
- return collection_expression(0);
- }
-
- private Collection_expressionContext collection_expression(int _p)
- {
- ParserRuleContext _parentctx = Context;
- int _parentState = State;
- Collection_expressionContext _localctx = new Collection_expressionContext(Context, _parentState);
- Collection_expressionContext _prevctx = _localctx;
- int _startState = 20;
- EnterRecursionRule(_localctx, 20, RULE_collection_expression, _p);
- try
- {
- int _alt;
- EnterOuterAlt(_localctx, 1);
- {
- State = 148;
- ErrorHandler.Sync(this);
- switch (Interpreter.AdaptivePredict(TokenStream, 11, Context))
- {
- case 1:
- {
- _localctx = new AliasedCollectionExpressionContext(_localctx);
- Context = _localctx;
- _prevctx = _localctx;
-
- State = 140; collection();
- State = 143;
- ErrorHandler.Sync(this);
- switch (Interpreter.AdaptivePredict(TokenStream, 10, Context))
- {
- case 1:
- {
- State = 141; Match(K_AS);
- State = 142; Match(IDENTIFIER);
- }
- break;
- }
- }
- break;
- case 2:
- {
- _localctx = new ArrayIteratorCollectionExpressionContext(_localctx);
- Context = _localctx;
- _prevctx = _localctx;
- State = 145; Match(IDENTIFIER);
- State = 146; Match(K_IN);
- State = 147; collection();
- }
- break;
- }
- Context.Stop = TokenStream.LT(-1);
- State = 155;
- ErrorHandler.Sync(this);
- _alt = Interpreter.AdaptivePredict(TokenStream, 12, Context);
- while (_alt != 2 && _alt != global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER)
- {
- if (_alt == 1)
- {
- if (ParseListeners != null)
- TriggerExitRuleEvent();
- _prevctx = _localctx;
- {
- {
- _localctx = new JoinCollectionExpressionContext(new Collection_expressionContext(_parentctx, _parentState));
- PushNewRecursionContext(_localctx, _startState, RULE_collection_expression);
- State = 150;
- if (!(Precpred(Context, 1))) throw new FailedPredicateException(this, "Precpred(Context, 1)");
- State = 151; Match(K_JOIN);
- State = 152; collection_expression(2);
- }
- }
- }
- State = 157;
- ErrorHandler.Sync(this);
- _alt = Interpreter.AdaptivePredict(TokenStream, 12, Context);
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- UnrollRecursionContexts(_parentctx);
- }
- return _localctx;
- }
-
- public partial class CollectionContext : ParserRuleContext
- {
- public CollectionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_collection; } }
-
- public CollectionContext() { }
- public virtual void CopyFrom(CollectionContext context)
- {
- base.CopyFrom(context);
- }
- }
- public partial class InputPathCollectionContext : CollectionContext
- {
- public ITerminalNode IDENTIFIER() { return GetToken(sqlParser.IDENTIFIER, 0); }
- public Path_expressionContext path_expression()
- {
- return GetRuleContext(0);
- }
- public InputPathCollectionContext(CollectionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterInputPathCollection(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitInputPathCollection(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitInputPathCollection(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class SubqueryCollectionContext : CollectionContext
- {
- public Sql_queryContext sql_query()
- {
- return GetRuleContext(0);
- }
- public SubqueryCollectionContext(CollectionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSubqueryCollection(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSubqueryCollection(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSubqueryCollection(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public CollectionContext collection()
- {
- CollectionContext _localctx = new CollectionContext(Context, State);
- EnterRule(_localctx, 22, RULE_collection);
- try
- {
- State = 166;
- ErrorHandler.Sync(this);
- switch (TokenStream.LA(1))
- {
- case IDENTIFIER:
- _localctx = new InputPathCollectionContext(_localctx);
- EnterOuterAlt(_localctx, 1);
- {
- State = 158; Match(IDENTIFIER);
- State = 160;
- ErrorHandler.Sync(this);
- switch (Interpreter.AdaptivePredict(TokenStream, 13, Context))
- {
- case 1:
- {
- State = 159; path_expression(0);
- }
- break;
- }
- }
- break;
- case T__2:
- _localctx = new SubqueryCollectionContext(_localctx);
- EnterOuterAlt(_localctx, 2);
- {
- State = 162; Match(T__2);
- State = 163; sql_query();
- State = 164; Match(T__3);
- }
- break;
- default:
- throw new NoViableAltException(this);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Path_expressionContext : ParserRuleContext
- {
- public Path_expressionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_path_expression; } }
-
- public Path_expressionContext() { }
- public virtual void CopyFrom(Path_expressionContext context)
- {
- base.CopyFrom(context);
- }
- }
- public partial class StringPathExpressionContext : Path_expressionContext
- {
- public Path_expressionContext path_expression()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode STRING_LITERAL() { return GetToken(sqlParser.STRING_LITERAL, 0); }
- public StringPathExpressionContext(Path_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterStringPathExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitStringPathExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitStringPathExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class EpsilonPathExpressionContext : Path_expressionContext
- {
- public EpsilonPathExpressionContext(Path_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterEpsilonPathExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitEpsilonPathExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitEpsilonPathExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class IdentifierPathExpressionContext : Path_expressionContext
- {
- public Path_expressionContext path_expression()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode IDENTIFIER() { return GetToken(sqlParser.IDENTIFIER, 0); }
- public IdentifierPathExpressionContext(Path_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterIdentifierPathExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitIdentifierPathExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitIdentifierPathExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class NumberPathExpressionContext : Path_expressionContext
- {
- public Path_expressionContext path_expression()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode NUMERIC_LITERAL() { return GetToken(sqlParser.NUMERIC_LITERAL, 0); }
- public NumberPathExpressionContext(Path_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterNumberPathExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitNumberPathExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitNumberPathExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Path_expressionContext path_expression()
- {
- return path_expression(0);
- }
-
- private Path_expressionContext path_expression(int _p)
- {
- ParserRuleContext _parentctx = Context;
- int _parentState = State;
- Path_expressionContext _localctx = new Path_expressionContext(Context, _parentState);
- Path_expressionContext _prevctx = _localctx;
- int _startState = 24;
- EnterRecursionRule(_localctx, 24, RULE_path_expression, _p);
- try
- {
- int _alt;
- EnterOuterAlt(_localctx, 1);
- {
- {
- _localctx = new EpsilonPathExpressionContext(_localctx);
- Context = _localctx;
- _prevctx = _localctx;
-
- }
- Context.Stop = TokenStream.LT(-1);
- State = 182;
- ErrorHandler.Sync(this);
- _alt = Interpreter.AdaptivePredict(TokenStream, 16, Context);
- while (_alt != 2 && _alt != global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER)
- {
- if (_alt == 1)
- {
- if (ParseListeners != null)
- TriggerExitRuleEvent();
- _prevctx = _localctx;
- {
- State = 180;
- ErrorHandler.Sync(this);
- switch (Interpreter.AdaptivePredict(TokenStream, 15, Context))
- {
- case 1:
- {
- _localctx = new IdentifierPathExpressionContext(new Path_expressionContext(_parentctx, _parentState));
- PushNewRecursionContext(_localctx, _startState, RULE_path_expression);
- State = 169;
- if (!(Precpred(Context, 4))) throw new FailedPredicateException(this, "Precpred(Context, 4)");
- State = 170; Match(T__4);
- State = 171; Match(IDENTIFIER);
- }
- break;
- case 2:
- {
- _localctx = new NumberPathExpressionContext(new Path_expressionContext(_parentctx, _parentState));
- PushNewRecursionContext(_localctx, _startState, RULE_path_expression);
- State = 172;
- if (!(Precpred(Context, 3))) throw new FailedPredicateException(this, "Precpred(Context, 3)");
- State = 173; Match(T__5);
- State = 174; Match(NUMERIC_LITERAL);
- State = 175; Match(T__6);
- }
- break;
- case 3:
- {
- _localctx = new StringPathExpressionContext(new Path_expressionContext(_parentctx, _parentState));
- PushNewRecursionContext(_localctx, _startState, RULE_path_expression);
- State = 176;
- if (!(Precpred(Context, 2))) throw new FailedPredicateException(this, "Precpred(Context, 2)");
- State = 177; Match(T__5);
- State = 178; Match(STRING_LITERAL);
- State = 179; Match(T__6);
- }
- break;
- }
- }
- }
- State = 184;
- ErrorHandler.Sync(this);
- _alt = Interpreter.AdaptivePredict(TokenStream, 16, Context);
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- UnrollRecursionContexts(_parentctx);
- }
- return _localctx;
- }
-
- public partial class Where_clauseContext : ParserRuleContext
- {
- public ITerminalNode K_WHERE() { return GetToken(sqlParser.K_WHERE, 0); }
- public Scalar_expressionContext scalar_expression()
- {
- return GetRuleContext(0);
- }
- public Where_clauseContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_where_clause; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterWhere_clause(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitWhere_clause(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitWhere_clause(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Where_clauseContext where_clause()
- {
- Where_clauseContext _localctx = new Where_clauseContext(Context, State);
- EnterRule(_localctx, 26, RULE_where_clause);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 185; Match(K_WHERE);
- State = 186; scalar_expression(0);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Group_by_clauseContext : ParserRuleContext
- {
- public ITerminalNode K_GROUP() { return GetToken(sqlParser.K_GROUP, 0); }
- public ITerminalNode K_BY() { return GetToken(sqlParser.K_BY, 0); }
- public Scalar_expression_listContext scalar_expression_list()
- {
- return GetRuleContext(0);
- }
- public Group_by_clauseContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_group_by_clause; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterGroup_by_clause(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitGroup_by_clause(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitGroup_by_clause(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Group_by_clauseContext group_by_clause()
- {
- Group_by_clauseContext _localctx = new Group_by_clauseContext(Context, State);
- EnterRule(_localctx, 28, RULE_group_by_clause);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 188; Match(K_GROUP);
- State = 189; Match(K_BY);
- State = 190; scalar_expression_list();
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Order_by_clauseContext : ParserRuleContext
- {
- public ITerminalNode K_ORDER() { return GetToken(sqlParser.K_ORDER, 0); }
- public ITerminalNode K_BY() { return GetToken(sqlParser.K_BY, 0); }
- public Order_by_itemsContext order_by_items()
- {
- return GetRuleContext(0);
- }
- public Order_by_clauseContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_order_by_clause; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterOrder_by_clause(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitOrder_by_clause(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitOrder_by_clause(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Order_by_clauseContext order_by_clause()
- {
- Order_by_clauseContext _localctx = new Order_by_clauseContext(Context, State);
- EnterRule(_localctx, 30, RULE_order_by_clause);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 192; Match(K_ORDER);
- State = 193; Match(K_BY);
- State = 194; order_by_items();
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Order_by_itemsContext : ParserRuleContext
- {
- public Order_by_itemContext[] order_by_item()
- {
- return GetRuleContexts();
- }
- public Order_by_itemContext order_by_item(int i)
- {
- return GetRuleContext(i);
- }
- public Order_by_itemsContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_order_by_items; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterOrder_by_items(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitOrder_by_items(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitOrder_by_items(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Order_by_itemsContext order_by_items()
- {
- Order_by_itemsContext _localctx = new Order_by_itemsContext(Context, State);
- EnterRule(_localctx, 32, RULE_order_by_items);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 196; order_by_item();
- State = 201;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- while (_la == T__1)
- {
- {
- {
- State = 197; Match(T__1);
- State = 198; order_by_item();
- }
- }
- State = 203;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Order_by_itemContext : ParserRuleContext
- {
- public Scalar_expressionContext scalar_expression()
- {
- return GetRuleContext(0);
- }
- public Sort_orderContext sort_order()
- {
- return GetRuleContext(0);
- }
- public Order_by_itemContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_order_by_item; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterOrder_by_item(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitOrder_by_item(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitOrder_by_item(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Order_by_itemContext order_by_item()
- {
- Order_by_itemContext _localctx = new Order_by_itemContext(Context, State);
- EnterRule(_localctx, 34, RULE_order_by_item);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 204; scalar_expression(0);
- State = 206;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_ASC || _la == K_DESC)
- {
- {
- State = 205; sort_order();
- }
- }
-
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Sort_orderContext : ParserRuleContext
- {
- public ITerminalNode K_ASC() { return GetToken(sqlParser.K_ASC, 0); }
- public ITerminalNode K_DESC() { return GetToken(sqlParser.K_DESC, 0); }
- public Sort_orderContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_sort_order; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSort_order(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSort_order(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitSort_order(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Sort_orderContext sort_order()
- {
- Sort_orderContext _localctx = new Sort_orderContext(Context, State);
- EnterRule(_localctx, 36, RULE_sort_order);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 208;
- _la = TokenStream.LA(1);
- if (!(_la == K_ASC || _la == K_DESC))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Offset_limit_clauseContext : ParserRuleContext
- {
- public ITerminalNode K_OFFSET() { return GetToken(sqlParser.K_OFFSET, 0); }
- public Offset_countContext offset_count()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode K_LIMIT() { return GetToken(sqlParser.K_LIMIT, 0); }
- public Limit_countContext limit_count()
- {
- return GetRuleContext(0);
- }
- public Offset_limit_clauseContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_offset_limit_clause; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterOffset_limit_clause(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitOffset_limit_clause(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitOffset_limit_clause(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Offset_limit_clauseContext offset_limit_clause()
- {
- Offset_limit_clauseContext _localctx = new Offset_limit_clauseContext(Context, State);
- EnterRule(_localctx, 38, RULE_offset_limit_clause);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 210; Match(K_OFFSET);
- State = 211; offset_count();
- State = 212; Match(K_LIMIT);
- State = 213; limit_count();
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Offset_countContext : ParserRuleContext
- {
- public ITerminalNode NUMERIC_LITERAL() { return GetToken(sqlParser.NUMERIC_LITERAL, 0); }
- public ITerminalNode PARAMETER() { return GetToken(sqlParser.PARAMETER, 0); }
- public Offset_countContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_offset_count; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterOffset_count(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitOffset_count(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitOffset_count(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Offset_countContext offset_count()
- {
- Offset_countContext _localctx = new Offset_countContext(Context, State);
- EnterRule(_localctx, 40, RULE_offset_count);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 215;
- _la = TokenStream.LA(1);
- if (!(_la == NUMERIC_LITERAL || _la == PARAMETER))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Limit_countContext : ParserRuleContext
- {
- public ITerminalNode NUMERIC_LITERAL() { return GetToken(sqlParser.NUMERIC_LITERAL, 0); }
- public ITerminalNode PARAMETER() { return GetToken(sqlParser.PARAMETER, 0); }
- public Limit_countContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_limit_count; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterLimit_count(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitLimit_count(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitLimit_count(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Limit_countContext limit_count()
- {
- Limit_countContext _localctx = new Limit_countContext(Context, State);
- EnterRule(_localctx, 42, RULE_limit_count);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 217;
- _la = TokenStream.LA(1);
- if (!(_la == NUMERIC_LITERAL || _la == PARAMETER))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Scalar_expressionContext : ParserRuleContext
- {
- public Scalar_expressionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_scalar_expression; } }
-
- public Scalar_expressionContext() { }
- public virtual void CopyFrom(Scalar_expressionContext context)
- {
- base.CopyFrom(context);
- }
- }
- public partial class LogicalScalarExpressionContext : Scalar_expressionContext
- {
- public Logical_scalar_expressionContext logical_scalar_expression()
- {
- return GetRuleContext(0);
- }
- public LogicalScalarExpressionContext(Scalar_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterLogicalScalarExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitLogicalScalarExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitLogicalScalarExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class ConditionalScalarExpressionContext : Scalar_expressionContext
- {
- public Scalar_expressionContext[] scalar_expression()
- {
- return GetRuleContexts();
- }
- public Scalar_expressionContext scalar_expression(int i)
- {
- return GetRuleContext(i);
- }
- public ConditionalScalarExpressionContext(Scalar_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterConditionalScalarExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitConditionalScalarExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitConditionalScalarExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class CoalesceScalarExpressionContext : Scalar_expressionContext
- {
- public Scalar_expressionContext[] scalar_expression()
- {
- return GetRuleContexts();
- }
- public Scalar_expressionContext scalar_expression(int i)
- {
- return GetRuleContext(i);
- }
- public CoalesceScalarExpressionContext(Scalar_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterCoalesceScalarExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitCoalesceScalarExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitCoalesceScalarExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
- public partial class BetweenScalarExpressionContext : Scalar_expressionContext
- {
- public Binary_scalar_expressionContext[] binary_scalar_expression()
- {
- return GetRuleContexts();
- }
- public Binary_scalar_expressionContext binary_scalar_expression(int i)
- {
- return GetRuleContext(i);
- }
- public ITerminalNode K_BETWEEN() { return GetToken(sqlParser.K_BETWEEN, 0); }
- public ITerminalNode K_AND() { return GetToken(sqlParser.K_AND, 0); }
- public ITerminalNode K_NOT() { return GetToken(sqlParser.K_NOT, 0); }
- public BetweenScalarExpressionContext(Scalar_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterBetweenScalarExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitBetweenScalarExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitBetweenScalarExpression(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Scalar_expressionContext scalar_expression()
- {
- return scalar_expression(0);
- }
-
- private Scalar_expressionContext scalar_expression(int _p)
- {
- ParserRuleContext _parentctx = Context;
- int _parentState = State;
- Scalar_expressionContext _localctx = new Scalar_expressionContext(Context, _parentState);
- Scalar_expressionContext _prevctx = _localctx;
- int _startState = 44;
- EnterRecursionRule(_localctx, 44, RULE_scalar_expression, _p);
- int _la;
- try
- {
- int _alt;
- EnterOuterAlt(_localctx, 1);
- {
- State = 230;
- ErrorHandler.Sync(this);
- switch (Interpreter.AdaptivePredict(TokenStream, 20, Context))
- {
- case 1:
- {
- _localctx = new LogicalScalarExpressionContext(_localctx);
- Context = _localctx;
- _prevctx = _localctx;
-
- State = 220; logical_scalar_expression();
- }
- break;
- case 2:
- {
- _localctx = new BetweenScalarExpressionContext(_localctx);
- Context = _localctx;
- _prevctx = _localctx;
- State = 221; binary_scalar_expression(0);
- State = 223;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_NOT)
- {
- {
- State = 222; Match(K_NOT);
- }
- }
-
- State = 225; Match(K_BETWEEN);
- State = 226; binary_scalar_expression(0);
- State = 227; Match(K_AND);
- State = 228; binary_scalar_expression(0);
- }
- break;
- }
- Context.Stop = TokenStream.LT(-1);
- State = 243;
- ErrorHandler.Sync(this);
- _alt = Interpreter.AdaptivePredict(TokenStream, 22, Context);
- while (_alt != 2 && _alt != global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER)
- {
- if (_alt == 1)
- {
- if (ParseListeners != null)
- TriggerExitRuleEvent();
- _prevctx = _localctx;
- {
- State = 241;
- ErrorHandler.Sync(this);
- switch (Interpreter.AdaptivePredict(TokenStream, 21, Context))
- {
- case 1:
- {
- _localctx = new ConditionalScalarExpressionContext(new Scalar_expressionContext(_parentctx, _parentState));
- PushNewRecursionContext(_localctx, _startState, RULE_scalar_expression);
- State = 232;
- if (!(Precpred(Context, 4))) throw new FailedPredicateException(this, "Precpred(Context, 4)");
- State = 233; Match(T__7);
- State = 234; scalar_expression(0);
- State = 235; Match(T__8);
- State = 236; scalar_expression(5);
- }
- break;
- case 2:
- {
- _localctx = new CoalesceScalarExpressionContext(new Scalar_expressionContext(_parentctx, _parentState));
- PushNewRecursionContext(_localctx, _startState, RULE_scalar_expression);
- State = 238;
- if (!(Precpred(Context, 3))) throw new FailedPredicateException(this, "Precpred(Context, 3)");
- State = 239; Match(T__9);
- State = 240; scalar_expression(4);
- }
- break;
- }
- }
- }
- State = 245;
- ErrorHandler.Sync(this);
- _alt = Interpreter.AdaptivePredict(TokenStream, 22, Context);
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- UnrollRecursionContexts(_parentctx);
- }
- return _localctx;
- }
-
- public partial class Logical_scalar_expressionContext : ParserRuleContext
- {
- public Binary_scalar_expressionContext binary_scalar_expression()
- {
- return GetRuleContext(0);
- }
- public In_scalar_expressionContext in_scalar_expression()
- {
- return GetRuleContext(0);
- }
- public Logical_scalar_expressionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_logical_scalar_expression; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterLogical_scalar_expression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitLogical_scalar_expression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitLogical_scalar_expression(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Logical_scalar_expressionContext logical_scalar_expression()
- {
- Logical_scalar_expressionContext _localctx = new Logical_scalar_expressionContext(Context, State);
- EnterRule(_localctx, 46, RULE_logical_scalar_expression);
- try
- {
- State = 248;
- ErrorHandler.Sync(this);
- switch (Interpreter.AdaptivePredict(TokenStream, 23, Context))
- {
- case 1:
- EnterOuterAlt(_localctx, 1);
- {
- State = 246; binary_scalar_expression(0);
- }
- break;
- case 2:
- EnterOuterAlt(_localctx, 2);
- {
- State = 247; in_scalar_expression();
- }
- break;
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class In_scalar_expressionContext : ParserRuleContext
- {
- public Binary_scalar_expressionContext binary_scalar_expression()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode K_IN() { return GetToken(sqlParser.K_IN, 0); }
- public Scalar_expression_listContext scalar_expression_list()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode K_NOT() { return GetToken(sqlParser.K_NOT, 0); }
- public In_scalar_expressionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_in_scalar_expression; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterIn_scalar_expression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitIn_scalar_expression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitIn_scalar_expression(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public In_scalar_expressionContext in_scalar_expression()
- {
- In_scalar_expressionContext _localctx = new In_scalar_expressionContext(Context, State);
- EnterRule(_localctx, 48, RULE_in_scalar_expression);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 250; binary_scalar_expression(0);
- State = 252;
- ErrorHandler.Sync(this);
- _la = TokenStream.LA(1);
- if (_la == K_NOT)
- {
- {
- State = 251; Match(K_NOT);
- }
- }
-
- State = 254; Match(K_IN);
- State = 255; Match(T__2);
- State = 256; scalar_expression_list();
- State = 257; Match(T__3);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Binary_scalar_expressionContext : ParserRuleContext
- {
- public Unary_scalar_expressionContext unary_scalar_expression()
- {
- return GetRuleContext(0);
- }
- public Binary_scalar_expressionContext[] binary_scalar_expression()
- {
- return GetRuleContexts();
- }
- public Binary_scalar_expressionContext binary_scalar_expression(int i)
- {
- return GetRuleContext(i);
- }
- public Multiplicative_operatorContext multiplicative_operator()
- {
- return GetRuleContext(0);
- }
- public Additive_operatorContext additive_operator()
- {
- return GetRuleContext(0);
- }
- public Relational_operatorContext relational_operator()
- {
- return GetRuleContext(0);
- }
- public Equality_operatorContext equality_operator()
- {
- return GetRuleContext(0);
- }
- public Bitwise_and_operatorContext bitwise_and_operator()
- {
- return GetRuleContext(0);
- }
- public Bitwise_exclusive_or_operatorContext bitwise_exclusive_or_operator()
- {
- return GetRuleContext(0);
- }
- public Bitwise_inclusive_or_operatorContext bitwise_inclusive_or_operator()
- {
- return GetRuleContext(0);
- }
- public ITerminalNode K_AND() { return GetToken(sqlParser.K_AND, 0); }
- public ITerminalNode K_OR() { return GetToken(sqlParser.K_OR, 0); }
- public String_concat_operatorContext string_concat_operator()
- {
- return GetRuleContext(0);
- }
- public Binary_scalar_expressionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_binary_scalar_expression; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterBinary_scalar_expression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitBinary_scalar_expression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitBinary_scalar_expression(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Binary_scalar_expressionContext binary_scalar_expression()
- {
- return binary_scalar_expression(0);
- }
-
- private Binary_scalar_expressionContext binary_scalar_expression(int _p)
- {
- ParserRuleContext _parentctx = Context;
- int _parentState = State;
- Binary_scalar_expressionContext _localctx = new Binary_scalar_expressionContext(Context, _parentState);
- Binary_scalar_expressionContext _prevctx = _localctx;
- int _startState = 50;
- EnterRecursionRule(_localctx, 50, RULE_binary_scalar_expression, _p);
- try
- {
- int _alt;
- EnterOuterAlt(_localctx, 1);
- {
- {
- State = 260; unary_scalar_expression();
- }
- Context.Stop = TokenStream.LT(-1);
- State = 302;
- ErrorHandler.Sync(this);
- _alt = Interpreter.AdaptivePredict(TokenStream, 26, Context);
- while (_alt != 2 && _alt != global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER)
- {
- if (_alt == 1)
- {
- if (ParseListeners != null)
- TriggerExitRuleEvent();
- _prevctx = _localctx;
- {
- State = 300;
- ErrorHandler.Sync(this);
- switch (Interpreter.AdaptivePredict(TokenStream, 25, Context))
- {
- case 1:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 262;
- if (!(Precpred(Context, 10))) throw new FailedPredicateException(this, "Precpred(Context, 10)");
- State = 263; multiplicative_operator();
- State = 264; binary_scalar_expression(11);
- }
- break;
- case 2:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 266;
- if (!(Precpred(Context, 9))) throw new FailedPredicateException(this, "Precpred(Context, 9)");
- State = 267; additive_operator();
- State = 268; binary_scalar_expression(10);
- }
- break;
- case 3:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 270;
- if (!(Precpred(Context, 8))) throw new FailedPredicateException(this, "Precpred(Context, 8)");
- State = 271; relational_operator();
- State = 272; binary_scalar_expression(9);
- }
- break;
- case 4:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 274;
- if (!(Precpred(Context, 7))) throw new FailedPredicateException(this, "Precpred(Context, 7)");
- State = 275; equality_operator();
- State = 276; binary_scalar_expression(8);
- }
- break;
- case 5:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 278;
- if (!(Precpred(Context, 6))) throw new FailedPredicateException(this, "Precpred(Context, 6)");
- State = 279; bitwise_and_operator();
- State = 280; binary_scalar_expression(7);
- }
- break;
- case 6:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 282;
- if (!(Precpred(Context, 5))) throw new FailedPredicateException(this, "Precpred(Context, 5)");
- State = 283; bitwise_exclusive_or_operator();
- State = 284; binary_scalar_expression(6);
- }
- break;
- case 7:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 286;
- if (!(Precpred(Context, 4))) throw new FailedPredicateException(this, "Precpred(Context, 4)");
- State = 287; bitwise_inclusive_or_operator();
- State = 288; binary_scalar_expression(5);
- }
- break;
- case 8:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 290;
- if (!(Precpred(Context, 3))) throw new FailedPredicateException(this, "Precpred(Context, 3)");
- State = 291; Match(K_AND);
- State = 292; binary_scalar_expression(4);
- }
- break;
- case 9:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 293;
- if (!(Precpred(Context, 2))) throw new FailedPredicateException(this, "Precpred(Context, 2)");
- State = 294; Match(K_OR);
- State = 295; binary_scalar_expression(3);
- }
- break;
- case 10:
- {
- _localctx = new Binary_scalar_expressionContext(_parentctx, _parentState);
- PushNewRecursionContext(_localctx, _startState, RULE_binary_scalar_expression);
- State = 296;
- if (!(Precpred(Context, 1))) throw new FailedPredicateException(this, "Precpred(Context, 1)");
- State = 297; string_concat_operator();
- State = 298; binary_scalar_expression(2);
- }
- break;
- }
- }
- }
- State = 304;
- ErrorHandler.Sync(this);
- _alt = Interpreter.AdaptivePredict(TokenStream, 26, Context);
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- UnrollRecursionContexts(_parentctx);
- }
- return _localctx;
- }
-
- public partial class Multiplicative_operatorContext : ParserRuleContext
- {
- public Multiplicative_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_multiplicative_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterMultiplicative_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitMultiplicative_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitMultiplicative_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Multiplicative_operatorContext multiplicative_operator()
- {
- Multiplicative_operatorContext _localctx = new Multiplicative_operatorContext(Context, State);
- EnterRule(_localctx, 52, RULE_multiplicative_operator);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 305;
- _la = TokenStream.LA(1);
- if (!((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << T__10) | (1L << T__11))) != 0)))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Additive_operatorContext : ParserRuleContext
- {
- public Additive_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_additive_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterAdditive_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitAdditive_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitAdditive_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Additive_operatorContext additive_operator()
- {
- Additive_operatorContext _localctx = new Additive_operatorContext(Context, State);
- EnterRule(_localctx, 54, RULE_additive_operator);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 307;
- _la = TokenStream.LA(1);
- if (!(_la == T__12 || _la == T__13))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Relational_operatorContext : ParserRuleContext
- {
- public Relational_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_relational_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterRelational_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitRelational_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitRelational_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Relational_operatorContext relational_operator()
- {
- Relational_operatorContext _localctx = new Relational_operatorContext(Context, State);
- EnterRule(_localctx, 56, RULE_relational_operator);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 309;
- _la = TokenStream.LA(1);
- if (!((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__14) | (1L << T__15) | (1L << T__16) | (1L << T__17))) != 0)))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Equality_operatorContext : ParserRuleContext
- {
- public Equality_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_equality_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterEquality_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitEquality_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitEquality_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Equality_operatorContext equality_operator()
- {
- Equality_operatorContext _localctx = new Equality_operatorContext(Context, State);
- EnterRule(_localctx, 58, RULE_equality_operator);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 311;
- _la = TokenStream.LA(1);
- if (!(_la == T__18 || _la == T__19))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Bitwise_and_operatorContext : ParserRuleContext
- {
- public Bitwise_and_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_bitwise_and_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterBitwise_and_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitBitwise_and_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitBitwise_and_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Bitwise_and_operatorContext bitwise_and_operator()
- {
- Bitwise_and_operatorContext _localctx = new Bitwise_and_operatorContext(Context, State);
- EnterRule(_localctx, 60, RULE_bitwise_and_operator);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 313; Match(T__20);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Bitwise_exclusive_or_operatorContext : ParserRuleContext
- {
- public Bitwise_exclusive_or_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_bitwise_exclusive_or_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterBitwise_exclusive_or_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitBitwise_exclusive_or_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitBitwise_exclusive_or_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Bitwise_exclusive_or_operatorContext bitwise_exclusive_or_operator()
- {
- Bitwise_exclusive_or_operatorContext _localctx = new Bitwise_exclusive_or_operatorContext(Context, State);
- EnterRule(_localctx, 62, RULE_bitwise_exclusive_or_operator);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 315; Match(T__21);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Bitwise_inclusive_or_operatorContext : ParserRuleContext
- {
- public Bitwise_inclusive_or_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_bitwise_inclusive_or_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterBitwise_inclusive_or_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitBitwise_inclusive_or_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitBitwise_inclusive_or_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Bitwise_inclusive_or_operatorContext bitwise_inclusive_or_operator()
- {
- Bitwise_inclusive_or_operatorContext _localctx = new Bitwise_inclusive_or_operatorContext(Context, State);
- EnterRule(_localctx, 64, RULE_bitwise_inclusive_or_operator);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 317; Match(T__22);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class String_concat_operatorContext : ParserRuleContext
- {
- public String_concat_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_string_concat_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterString_concat_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitString_concat_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitString_concat_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public String_concat_operatorContext string_concat_operator()
- {
- String_concat_operatorContext _localctx = new String_concat_operatorContext(Context, State);
- EnterRule(_localctx, 66, RULE_string_concat_operator);
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 319; Match(T__23);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Unary_scalar_expressionContext : ParserRuleContext
- {
- public Primary_expressionContext primary_expression()
- {
- return GetRuleContext(0);
- }
- public Unary_operatorContext unary_operator()
- {
- return GetRuleContext(0);
- }
- public Unary_scalar_expressionContext unary_scalar_expression()
- {
- return GetRuleContext(0);
- }
- public Unary_scalar_expressionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_unary_scalar_expression; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterUnary_scalar_expression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitUnary_scalar_expression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitUnary_scalar_expression(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Unary_scalar_expressionContext unary_scalar_expression()
- {
- Unary_scalar_expressionContext _localctx = new Unary_scalar_expressionContext(Context, State);
- EnterRule(_localctx, 68, RULE_unary_scalar_expression);
- try
- {
- State = 325;
- ErrorHandler.Sync(this);
- switch (TokenStream.LA(1))
- {
- case T__2:
- case T__5:
- case T__25:
- case K_ARRAY:
- case K_EXISTS:
- case K_FALSE:
- case K_NULL:
- case K_TRUE:
- case K_UDF:
- case K_UNDEFINED:
- case NUMERIC_LITERAL:
- case STRING_LITERAL:
- case IDENTIFIER:
- case PARAMETER:
- EnterOuterAlt(_localctx, 1);
- {
- State = 321; primary_expression(0);
- }
- break;
- case T__12:
- case T__13:
- case T__24:
- case K_NOT:
- EnterOuterAlt(_localctx, 2);
- {
- State = 322; unary_operator();
- State = 323; unary_scalar_expression();
- }
- break;
- default:
- throw new NoViableAltException(this);
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Unary_operatorContext : ParserRuleContext
- {
- public ITerminalNode K_NOT() { return GetToken(sqlParser.K_NOT, 0); }
- public Unary_operatorContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_unary_operator; } }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterUnary_operator(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitUnary_operator(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor;
- if (typedVisitor != null) return typedVisitor.VisitUnary_operator(this);
- else return visitor.VisitChildren(this);
- }
- }
-
- [RuleVersion(0)]
- public Unary_operatorContext unary_operator()
- {
- Unary_operatorContext _localctx = new Unary_operatorContext(Context, State);
- EnterRule(_localctx, 70, RULE_unary_operator);
- int _la;
- try
- {
- EnterOuterAlt(_localctx, 1);
- {
- State = 327;
- _la = TokenStream.LA(1);
- if (!((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__12) | (1L << T__13) | (1L << T__24) | (1L << K_NOT))) != 0)))
- {
- ErrorHandler.RecoverInline(this);
- }
- else
- {
- ErrorHandler.ReportMatch(this);
- Consume();
- }
- }
- }
- catch (RecognitionException re)
- {
- _localctx.exception = re;
- ErrorHandler.ReportError(this, re);
- ErrorHandler.Recover(this, re);
- }
- finally
- {
- ExitRule();
- }
- return _localctx;
- }
-
- public partial class Primary_expressionContext : ParserRuleContext
- {
- public Primary_expressionContext(ParserRuleContext parent, int invokingState)
- : base(parent, invokingState)
- {
- }
- public override int RuleIndex { get { return RULE_primary_expression; } }
-
- public Primary_expressionContext() { }
- public virtual void CopyFrom(Primary_expressionContext context)
- {
- base.CopyFrom(context);
- }
- }
- public partial class SubqueryScalarExpressionContext : Primary_expressionContext
- {
- public Sql_queryContext sql_query()
- {
- return GetRuleContext(0);
- }
- public SubqueryScalarExpressionContext(Primary_expressionContext context) { CopyFrom(context); }
- public override void EnterRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.EnterSubqueryScalarExpression(this);
- }
- public override void ExitRule(IParseTreeListener listener)
- {
- IsqlListener typedListener = listener as IsqlListener;
- if (typedListener != null) typedListener.ExitSubqueryScalarExpression(this);
- }
- public override TResult Accept(IParseTreeVisitor visitor)
- {
- IsqlVisitor typedVisitor = visitor as IsqlVisitor