All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.brackit.query.compiler.XQ Maven / Gradle / Ivy

/*
 * [New BSD License]
 * Copyright (c) 2011-2012, Brackit Project Team 
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of the Brackit Project Team nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package io.brackit.query.compiler;

import java.lang.reflect.Field;

/**
 * 

* {@link AST} node type constants for XQuery ASTs. *

* * @author Sebastian Baechle */ /* * Update number assignment with awk '/= [0-9]+/{sub(/= [0-9]+/, sprintf("= %i", * cnt++));} 1' XQ.java > XQ.tmp && mv XQ.tmp XQ.java */ public final class XQ { public static final int XQuery = 0; public static final int LibraryModule = 1; public static final int MainModule = 2; public static final int Prolog = 3; public static final int NamespaceDeclaration = 4; public static final int QueryBody = 5; public static final int SequenceExpr = 6; public static final int FlowrExpr = 7; public static final int ForClause = 8; public static final int AllowingEmpty = 9; public static final int TypedVariableBinding = 10; public static final int Variable = 11; public static final int LetClause = 12; public static final int WhereClause = 13; public static final int GroupByClause = 14; public static final int GroupBySpec = 15; public static final int AggregateSpec = 16; public static final int DftAggregateSpec = 17; public static final int AggregateBinding = 18; public static final int SequenceAgg = 19; public static final int CountAgg = 20; public static final int SumAgg = 21; public static final int AvgAgg = 22; public static final int MinAgg = 23; public static final int MaxAgg = 24; public static final int SingleAgg = 25; public static final int VariableRef = 26; public static final int Collation = 27; public static final int OrderByClause = 28; public static final int OrderBySpec = 29; public static final int OrderByKind = 30; public static final int ASCENDING = 31; public static final int DESCENDING = 32; public static final int OrderByEmptyMode = 33; public static final int GREATEST = 34; public static final int LEAST = 35; public static final int CountClause = 36; public static final int ReturnClause = 37; public static final int OrExpr = 38; public static final int AndExpr = 39; public static final int GeneralCompEQ = 40; public static final int GeneralCompNE = 41; public static final int GeneralCompLT = 42; public static final int GeneralCompLE = 43; public static final int GeneralCompGT = 44; public static final int GeneralCompGE = 45; public static final int ValueCompEQ = 46; public static final int ValueCompNE = 47; public static final int ValueCompLT = 48; public static final int ValueCompLE = 49; public static final int ValueCompGT = 50; public static final int ValueCompGE = 51; public static final int NodeCompIs = 52; public static final int NodeCompPrecedes = 53; public static final int NodeCompFollows = 54; public static final int ComparisonExpr = 55; public static final int StringConcatExpr = 56; public static final int RangeExpr = 57; public static final int AddOp = 58; public static final int SubtractOp = 59; public static final int ArithmeticExpr = 60; public static final int MultiplyOp = 61; public static final int DivideOp = 62; public static final int IDivideOp = 63; public static final int ModulusOp = 64; public static final int UnionExpr = 65; public static final int IntersectExpr = 66; public static final int ExceptExpr = 67; public static final int InstanceofExpr = 68; public static final int SequenceType = 69; public static final int EmptySequenceType = 70; public static final int ItemType = 71; public static final int AtomicOrUnionType = 72; public static final int CardinalityOne = 73; public static final int CardinalityZeroOrOne = 74; public static final int CardinalityZeroOrMany = 75; public static final int CardinalityOneOrMany = 76; public static final int TreatExpr = 77; public static final int CastableExpr = 78; public static final int CastExpr = 79; public static final int FunctionCall = 80; public static final int PathExpr = 81; public static final int MapExpr = 82; public static final int StepExpr = 83; public static final int AxisSpec = 84; public static final int SELF = 85; public static final int CHILD = 86; public static final int DESCENDANT = 87; public static final int DESCENDANT_OR_SELF = 88; public static final int ATTRIBUTE = 89; public static final int FOLLOWING_SIBLING = 90; public static final int FOLLOWING = 91; public static final int PARENT = 92; public static final int ANCESTOR = 93; public static final int PRECEDING_SIBLING = 94; public static final int PRECEDING = 95; public static final int ANCESTOR_OR_SELF = 96; public static final int KindTestAnyKind = 97; public static final int KindTestDocument = 98; public static final int NameTest = 99; public static final int Wildcard = 100; public static final int Nilled = 101; public static final int KindTestElement = 102; public static final int KindTestAttribute = 103; public static final int KindTestSchemaElement = 104; public static final int KindTestSchemaAttribute = 105; public static final int KindTestPi = 106; public static final int KindTestComment = 107; public static final int KindTestText = 108; public static final int KindTestNamespaceNode = 109; public static final int NSWildcardNameTest = 110; public static final int NSNameWildcardTest = 111; public static final int ParenthesizedExpr = 112; public static final int ContextItemExpr = 113; public static final int ArgumentPlaceHolder = 114; public static final int OrderedExpr = 115; public static final int UnorderedExpr = 116; public static final int Int = 117; public static final int Str = 118; public static final int QNm = 119; public static final int Dbl = 120; public static final int Dec = 121; public static final int AnyURI = 122; public static final int Bool = 123; public static final int Annotation = 124; public static final int FunctionTest = 125; public static final int AnyFunctionType = 126; public static final int TypedFunctionType = 127; public static final int SomeQuantifier = 128; public static final int EveryQuantifier = 129; public static final int QuantifiedExpr = 130; public static final int QuantifiedBinding = 131; public static final int SwitchExpr = 132; public static final int SwitchClause = 133; public static final int TypeSwitch = 134; public static final int TypeSwitchCase = 135; public static final int IfExpr = 136; public static final int TryCatchExpr = 137; public static final int CatchClause = 138; public static final int CatchErrorList = 139; public static final int ExtensionExpr = 140; public static final int Pragma = 141; public static final int PragmaContent = 142; public static final int ValidateExpr = 143; public static final int ValidateLax = 144; public static final int ValidateStrict = 145; public static final int LiteralFuncItem = 146; public static final int InlineFuncItem = 147; public static final int TypedVariableDeclaration = 148; public static final int CompElementConstructor = 149; public static final int CompAttributeConstructor = 150; public static final int CompCommentConstructor = 151; public static final int ContentSequence = 152; public static final int EnclosedExpr = 153; public static final int DirElementConstructor = 154; public static final int DirAttributeConstructor = 155; public static final int DirCommentConstructor = 156; public static final int DirPIConstructor = 157; public static final int CompDocumentConstructor = 158; public static final int CompTextConstructor = 159; public static final int DefaultElementNamespace = 160; public static final int DefaultFunctionNamespace = 161; public static final int SchemaImport = 162; public static final int ModuleImport = 163; public static final int Namespace = 164; public static final int ContextItemDeclaration = 165; public static final int ExternalVariable = 166; public static final int AnnotatedDecl = 167; public static final int FunctionDecl = 168; public static final int ExternalFunction = 169; public static final int BoundarySpaceDeclaration = 170; public static final int BoundarySpaceModePreserve = 171; public static final int BoundarySpaceModeStrip = 172; public static final int CollationDeclaration = 173; public static final int BaseURIDeclaration = 174; public static final int ConstructionDeclaration = 175; public static final int ConstructionModePreserve = 176; public static final int ConstructionModeStrip = 177; public static final int OrderingModeDeclaration = 178; public static final int OrderingModeOrdered = 179; public static final int OrderingModeUnordered = 180; public static final int EmptyOrderDeclaration = 181; public static final int EmptyOrderModeGreatest = 182; public static final int EmptyOrderModeLeast = 183; public static final int CopyNamespacesDeclaration = 184; public static final int CopyNamespacesPreserveModePreserve = 185; public static final int CopyNamespacesPreserveModeNoPreserve = 186; public static final int CopyNamespacesInheritModeInherit = 187; public static final int CopyNamespacesInheritModeNoInherit = 188; public static final int DecimalFormatDeclaration = 189; public static final int DecimalFormatDefault = 190; public static final int DecimalFormatProperty = 191; public static final int DecimalFormatPropertyDecimalSeparator = 192; public static final int DecimalFormatPropertyGroupingSeparator = 193; public static final int DecimalFormatPropertyInfinity = 194; public static final int DecimalFormatPropertyMinusSign = 195; public static final int DecimalFormatPropertyNaN = 196; public static final int DecimalFormatPropertyPercent = 197; public static final int DecimalFormatPropertyPerMille = 198; public static final int DecimalFormatPropertyZeroDigit = 199; public static final int DecimalFormatPropertyDigit = 200; public static final int DecimalFormatPropertyPatternSeparator = 201; public static final int OptionDeclaration = 202; public static final int CompNamespaceConstructor = 203; public static final int CompPIConstructor = 204; public static final int Predicate = 205; public static final int FilterExpr = 206; public static final int DynamicFunctionCallExpr = 207; public static final int SlidingWindowClause = 208; public static final int TumblingWindowClause = 209; public static final int WindowStartCondition = 210; public static final int WindowEndCondition = 211; public static final int WindowVars = 212; public static final int PreviousItemBinding = 213; public static final int NextItemBinding = 214; // Begin XQuery Update Facility 1.0 public static final int RevalidationDeclaration = 215; public static final int RevalidationModeStrict = 216; public static final int RevalidationModeLax = 217; public static final int RevalidationModeSkip = 218; public static final int InsertExpr = 219; public static final int InsertFirst = 220; public static final int InsertLast = 221; public static final int InsertAfter = 222; public static final int InsertBefore = 223; public static final int InsertInto = 224; public static final int DeleteExpr = 225; public static final int ReplaceValueExpr = 226; public static final int ReplaceNodeExpr = 227; public static final int RenameExpr = 228; public static final int TransformExpr = 229; public static final int CopyVariableBinding = 230; // End XQuery Update Facility 1.0 // Begin brackit's set-oriented extensions public static final int PipeExpr = 231; public static final int Selection = 232; public static final int GroupBy = 233; public static final int OrderBy = 234; public static final int Join = 235; public static final int JoinClause = 236; public static final int Start = 237; public static final int ForBind = 238; public static final int LetBind = 239; public static final int Count = 240; public static final int End = 241; // End brackit's set-oriented extensions // Begin brackit's custom array syntax public static final int KindTestArray = 242; public static final int ArrayAccess = 243; public static final int ArrayConstructor = 244; public static final int SequenceField = 245; public static final int FlattenedField = 246; public static final int ArrayIndexSlice = 247; // End brackit's custom array syntax // Begin brackit's custom object syntax public static final int KindTestObject = 248; public static final int ObjectProjection = 249; public static final int ObjectConstructor = 250; public static final int ObjectField = 251; public static final int KeyValueField = 252; public static final int DerefExpr = 253; public static final int DerefDescendantExpr = 254; // End brackit's custom object syntax // Begin temporal public static final int NEXT = 255; public static final int PREVIOUS = 256; public static final int FUTURE = 257; public static final int FUTURE_OR_SELF = 258; public static final int PAST = 259; public static final int PAST_OR_SELF = 260; public static final int FIRST = 261; public static final int LAST = 262; public static final int ALL_TIMES = 263; // End temporal public static final int JsonItemTest = 264; public static final int StructuredItemTest = 265; public static final int KindTestNull = 266; public static final int Null = 267; // Begin JSONiq update expressions public static final int InsertJsonExpr = 268; public static final int DeleteJsonExpr = 269; public static final int RenameJsonExpr = 270; public static final int ReplaceJsonExpr = 271; public static final int AppendJsonExpr = 272; // End JSONiq update expressions public static final String[] NAMES = new String[] { "XQuery", "LibraryModule", "MainModule", "Prolog", "NamespaceDeclaration", "QueryBody", "SequenceExpr", "FlowrExpr", "ForClause", "AllowingEmpty", "TypedVariableBinding", "Variable", "LetClause", "WhereClause", "GroupByClause", "GroupBySpec", "AggregateSpec", "DftAggregateSpec", "AggregateBinding", "SequenceAgg", "CountAgg", "SumAgg", "AvgAgg", "MinAgg", "MaxAgg", "SingleAgg", "VariableRef", "Collation", "OrderByClause", "OrderBySpec", "OrderByKind", "ASCENDING", "DESCENDING", "OrderByEmptyMode", "GREATEST", "LEAST", "CountClause", "ReturnClause", "OrExpr", "AndExpr", "GeneralCompEQ", "GeneralCompNE", "GeneralCompLT", "GeneralCompLE", "GeneralCompGT", "GeneralCompGE", "ValueCompEQ", "ValueCompNE", "ValueCompLT", "ValueCompLE", "ValueCompGT", "ValueCompGE", "NodeCompIs", "NodeCompPrecedes", "NodeCompFollows", "ComparisonExpr", "StringConcatExpr", "RangeExpr", "AddOp", "SubtractOp", "ArithmeticExpr", "MultiplyOp", "DivideOp", "IDivideOp", "ModulusOp", "UnionExpr", "IntersectExpr", "ExceptExpr", "InstanceofExpr", "SequenceType", "EmptySequenceType", "ItemType", "AtomicOrUnionType", "CardinalityOne", "CardinalityZeroOrOne", "CardinalityZeroOrMany", "CardinalityOneOrMany", "TreatExpr", "CastableExpr", "CastExpr", "FunctionCall", "PathExpr", "MapExpr", "StepExpr", "AxisSpec", "SELF", "CHILD", "DESCENDANT", "DESCENDANT_OR_SELF", "ATTRIBUTE", "FOLLOWING_SIBLING", "FOLLOWING", "PARENT", "ANCESTOR", "PRECEDING_SIBLING", "PRECEDING", "ANCESTOR_OR_SELF", "KindTestAnyKind", "KindTestDocument", "NameTest", "Wildcard", "Nilled", "KindTestElement", "KindTestAttribute", "KindTestSchemaElement", "KindTestSchemaAttribute", "KindTestPi", "KindTestComment", "KindTestText", "KindTestNamespaceNode", "NSWildcardNameTest", "NSNameWildcardTest", "ParenthesizedExpr", "ContextItemExpr", "ArgumentPlaceHolder", "OrderedExpr", "UnorderedExpr", "Int", "Str", "QNm", "Dbl", "Dec", "AnyURI", "Bool", "Annotation", "FunctionTest", "AnyFunctionType", "TypedFunctionType", "SomeQuantifier", "EveryQuantifier", "QuantifiedExpr", "QuantifiedBinding", "SwitchExpr", "SwitchClause", "TypeSwitch", "TypeSwitchCase", "IfExpr", "TryCatchExpr", "CatchClause", "CatchErrorList", "ExtensionExpr", "Pragma", "PragmaContent", "ValidateExpr", "ValidateLax", "ValidateStrict", "LiteralFuncItem", "InlineFuncItem", "TypedVariableDeclaration", "CompElementConstructor", "CompAttributeConstructor", "CompCommentConstructor", "ContentSequence", "EnclosedExpr", "DirElementConstructor", "DirAttributeConstructor", "DirCommentConstructor", "DirPIConstructor", "CompDocumentConstructor", "CompTextConstructor", "DefaultElementNamespace", "DefaultFunctionNamespace", "SchemaImport", "ModuleImport", "Namespace", "ContextItemDeclaration", "ExternalVariable", "AnnotatedDecl", "FunctionDecl", "ExternalFunction", "BoundarySpaceDeclaration", "BoundarySpaceModePreserve", "BoundarySpaceModeStrip", "CollationDeclaration", "BaseURIDeclaration", "ConstructionDeclaration", "ConstructionModePreserve", "ConstructionModeStrip", "OrderingModeDeclaration", "OrderingModeOrdered", "OrderingModeUnordered", "EmptyOrderDeclaration", "EmptyOrderModeGreatest", "EmptyOrderModeLeast", "CopyNamespacesDeclaration", "CopyNamespacesPreserveModePreserve", "CopyNamespacesPreserveModeNoPreserve", "CopyNamespacesInheritModeInherit", "CopyNamespacesInheritModeNoInherit", "DecimalFormatDeclaration", "DecimalFormatDefault", "DecimalFormatProperty", "DecimalFormatPropertyDecimalSeparator", "DecimalFormatPropertyGroupingSeparator", "DecimalFormatPropertyInfinity", "DecimalFormatPropertyMinusSign", "DecimalFormatPropertyNaN", "DecimalFormatPropertyPercent", "DecimalFormatPropertyPerMille", "DecimalFormatPropertyZeroDigit", "DecimalFormatPropertyDigit", "DecimalFormatPropertyPatternSeparator", "OptionDeclaration", "CompNamespaceConstructor", "CompPIConstructor", "Predicate", "FilterExpr", "DynamicFunctionCallExpr", "SlidingWindowClause", "TumblingWindowClause", "WindowStartCondition", "WindowEndCondition", "WindowVars", "PreviousItemBinding", "NextItemBinding", // Begin XQuery Update Facility 1.0 "RevalidationDeclaration", "RevalidationModeStrict", "RevalidationModeLax", "RevalidationModeSkip", "InsertExpr", "InsertFirst", "InsertLast", "InsertAfter", "InsertBefore", "InsertInto", "DeleteExpr", "ReplaceValueExpr", "ReplaceNodeExpr", "RenameExpr", "TransformExpr", "CopyVariableBinding", // End XQuery Update Facility 1.0 // Begin brackit's set-oriented extensions "PipeExpr", "Selection", "GroupBy", "OrderBy", "Join", "JoinClause", "Start", "ForBind", "LetBind", "Count", "End", // End brackit's set-oriented extensions // Begin brackit's custom array syntax "KindTestArray", "ArrayAccess", "ArrayConstructor", "SequenceField", "FlattenedField", "ArrayIndexSlice", // End brackit's custom array syntax // Begin brackit's custom object syntax "KindTestObject", "ObjectProjection", "ObjectConstructor", "ObjectField", "KeyValueField", "DerefExpr", "DerefDescendantExpr", // End brackit's custom object syntax // Begin temporal "NEXT", "PREVIOUS", "EARLIER", "EARLIER_OR_SELF", "FUTURE", "FUTURE_OR_SELF", "FIRST", "LAST", "ALL_TIME", // End temporal "JsonItemTest", "StructuredItemTest", "KindTestNull", "Null", // Begin JSONiq update expressions "InsertJsonExpr", "DeleteJsonExpr", "RenameJsonExpr", "ReplaceJsonExpr", "AppendJsonExpr", // End JSONiq update expressions }; private XQ() { } private static int base = 272; public static synchronized int allocate(int noOfTokens) { int r = base; base += noOfTokens; return r; } public static void main(String[] args) throws Exception { XQ xq = new XQ(); for (Field f : XQ.class.getFields()) { if ((f.getType().isPrimitive()) && (f.getType().equals(Integer.TYPE))) { int pos = f.getInt(xq); String val = NAMES[pos]; if (!val.equals(f.getName())) { System.out.println(String.format("Mismatch at %s: %s != %s", pos, f.getName(), val)); } } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy