Merge lp:~zorba-coders/zorba/type-api into lp:zorba
- type-api
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Rodolfo Ochoa | ||||
Approved revision: | 11478 | ||||
Merged at revision: | 11638 | ||||
Proposed branch: | lp:~zorba-coders/zorba/type-api | ||||
Merge into: | lp:zorba | ||||
Diff against target: |
48770 lines (+15441/-12337) 118 files modified
doc/java/examples/Test_Zorba.java (+9/-9) include/zorba/api_shared_types.h (+1/-2) include/zorba/collection.h (+1/-1) include/zorba/identtypes.h (+0/-72) include/zorba/static_context.h (+22/-21) include/zorba/typeident.h (+189/-131) modules/http-client/json/http-client.xq.src/http_response_parser.cpp (+1/-0) src/api/CMakeLists.txt (+1/-2) src/api/collectionimpl.cpp (+5/-5) src/api/collectionimpl.h (+1/-1) src/api/dynamiccontextimpl.cpp (+5/-12) src/api/identtypesimpl.cpp (+0/-67) src/api/sequencetype.cpp (+799/-0) src/api/staticcontextimpl.cpp (+32/-50) src/api/staticcontextimpl.h (+6/-7) src/api/typeidentimpl.cpp (+0/-397) src/api/unmarshaller.cpp (+12/-0) src/api/unmarshaller.h (+8/-2) src/compiler/codegen/plan_visitor.cpp (+7/-7) src/compiler/expression/expr.cpp (+3/-3) src/compiler/expression/expr_base.cpp (+6/-6) src/compiler/expression/expr_type.cpp (+32/-32) src/compiler/expression/flwor_expr.cpp (+5/-5) src/compiler/parser/jsoniq_parser.cpp (+5612/-4219) src/compiler/parser/jsoniq_parser.hpp (+46/-29) src/compiler/parser/jsoniq_scanner.cpp (+446/-443) src/compiler/parser/parser.y (+39/-39) src/compiler/parser/xquery_parser.cpp (+5552/-4152) src/compiler/parser/xquery_parser.hpp (+46/-29) src/compiler/parser/xquery_scanner.cpp (+440/-449) src/compiler/parsetree/parsenode_print_xml_visitor.cpp (+1/-1) src/compiler/parsetree/parsenode_print_xqdoc_visitor.cpp (+1/-1) src/compiler/parsetree/parsenode_print_xquery_visitor.cpp (+3/-3) src/compiler/parsetree/parsenode_visitor.h (+1/-1) src/compiler/parsetree/parsenodes.cpp (+15/-15) src/compiler/parsetree/parsenodes.h (+52/-52) src/compiler/rewriter/rules/flwor_rules.cpp (+5/-5) src/compiler/rewriter/rules/fold_rules.cpp (+6/-6) src/compiler/rewriter/rules/index_join_rule.cpp (+9/-9) src/compiler/rewriter/rules/nodeid_rules.cpp (+7/-7) src/compiler/rewriter/rules/type_rules.cpp (+1/-1) src/compiler/rewriter/tools/dataflow_annotations.cpp (+5/-5) src/compiler/translator/translator.cpp (+40/-40) src/functions/func_accessors_impl.cpp (+2/-2) src/functions/func_booleans_impl.cpp (+5/-5) src/functions/func_jsoniq_functions_impl.cpp (+2/-2) src/functions/func_numerics_impl.cpp (+5/-5) src/functions/func_parse_fragment_impl.cpp (+0/-1) src/functions/func_sequences_impl.cpp (+12/-12) src/functions/func_strings_impl.cpp (+1/-1) src/functions/function.cpp (+2/-2) src/functions/signature.cpp (+92/-92) src/runtime/core/arithmetic_impl.cpp (+2/-2) src/runtime/core/path_iterators.cpp (+4/-4) src/runtime/core/sequencetypes.cpp (+22/-22) src/runtime/core/sequencetypes.h (+12/-10) src/runtime/indexing/index_ddl.cpp (+1/-1) src/runtime/json/jsoniq_functions_impl.cpp (+1/-1) src/runtime/sequences/sequences_impl.cpp (+2/-2) src/runtime/store/maps_impl.cpp (+2/-2) src/types/casting.cpp (+15/-15) src/types/root_typemanager.cpp (+45/-46) src/types/root_typemanager.h (+11/-11) src/types/schema/EventSchemaValidator.cpp (+1/-1) src/types/schema/revalidateUtils.cpp (+1/-1) src/types/schema/schema.cpp (+5/-5) src/types/schema/validate.cpp (+9/-12) src/types/typeconstants.h (+0/-10) src/types/typeimpl.cpp (+23/-23) src/types/typeimpl.h (+18/-22) src/types/typemanager.h (+17/-17) src/types/typemanagerimpl.cpp (+156/-309) src/types/typemanagerimpl.h (+15/-17) src/types/typeops.cpp (+55/-273) src/types/typeops.h (+15/-24) swig/Collection.h (+2/-2) swig/Collection.i (+2/-2) swig/SequenceType.h (+183/-0) swig/SequenceType.i (+370/-0) swig/StaticContext.h (+6/-5) swig/StaticContext.i (+10/-10) swig/TypeIdentifier.h (+0/-102) swig/TypeIdentifier.i (+0/-197) swig/csharp/CMakeLists.txt (+3/-3) swig/java/CMakeLists.txt (+8/-8) swig/java/ZorbaInputWrapper.java (+2/-2) swig/java/ZorbaOutputWrapper.java (+1/-1) swig/java/ZorbaReaderWrapper.java (+2/-2) swig/java/ZorbaWriterWrapper.java (+2/-2) swig/php/CMakeLists.txt (+3/-3) swig/python/CMakeLists.txt (+5/-3) swig/ruby/CMakeLists.txt (+5/-5) swig/xqj/ZorbaXQCollection.java (+12/-12) swig/xqj/ZorbaXQCollectionManager.java (+7/-7) swig/xqj/ZorbaXQConnection.java (+193/-188) swig/xqj/ZorbaXQDataSource.java (+2/-2) swig/xqj/ZorbaXQDocumentManager.java (+4/-4) swig/xqj/ZorbaXQExpression.java (+27/-27) swig/xqj/ZorbaXQItem.java (+5/-5) swig/xqj/ZorbaXQItemType.java (+317/-237) swig/xqj/ZorbaXQMetaData.java (+3/-3) swig/xqj/ZorbaXQPreparedExpression.java (+36/-36) swig/xqj/ZorbaXQResultItem.java (+2/-2) swig/xqj/ZorbaXQResultSequence.java (+6/-6) swig/xqj/ZorbaXQResultSequenceScrollable.java (+6/-6) swig/xqj/ZorbaXQSequence.java (+14/-14) swig/xqj/ZorbaXQSequenceType.java (+1/-1) swig/xqj/ZorbaXQStaticCollectionManager.java (+7/-7) swig/xqj/ZorbaXQStaticContext.java (+12/-12) swig/xqj/ZorbaXQXmlDataManager.java (+4/-4) swig/xqj/managers/Api_test.java (+1/-1) swig/xqj/managers/Tests.java (+12/-12) swig/xqj/tck/xqj_test.bat.in (+11/-7) swig/xqj/tck/xqj_test.sh.in (+6/-6) swig/xqj/tck/zorba.properties (+1/-1) swig/zorba_api.i (+2/-2) test/unit/context_item.cpp (+13/-13) test/unit/staticcollectionmanager.cpp (+108/-85) |
||||
To merge this branch: | bzr merge lp:~zorba-coders/zorba/type-api | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Markos Zaharioudakis | Approve | ||
Review via email: mp+169278@code.launchpad.net |
Commit message
Renamed class TypeIdentifier to SequenceType and changed its api and implementation (fix for bug #1056787)
Description of the change
Renamed class TypeIdentifier to SequenceType and changed its api and implementation (fix for bug #1056787)
Markos Zaharioudakis (markos-za) : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue result for https:/
Stage "BuildZorbaUbuntu" failed.
Check compiler output at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for the following merge proposals:
https:/
Progress dashboard at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue result for https:/
Stage "BuildZorbaUbuntu" failed.
Check compiler output at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for the following merge proposals:
https:/
Progress dashboard at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue result for https:/
Stage "BuildZorbaUbuntu" failed.
Check compiler output at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for the following merge proposals:
https:/
Progress dashboard at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue result for https:/
Stage "TestZorbaUbuntu" failed.
1 tests failed (8490 total tests run).
Check test results at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for the following merge proposals:
https:/
Progress dashboard at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue result for https:/
Stage "TestZorbaUbuntu" failed.
23 tests failed (8536 total tests run).
Check test results at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for the following merge proposals:
https:/
Progress dashboard at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue succeeded - proposal merged!
Preview Diff
1 | === modified file 'doc/java/examples/Test_Zorba.java' | |||
2 | --- doc/java/examples/Test_Zorba.java 2013-02-07 17:24:36 +0000 | |||
3 | +++ doc/java/examples/Test_Zorba.java 2013-09-24 21:48:10 +0000 | |||
4 | @@ -14,13 +14,13 @@ | |||
5 | 14 | * limitations under the License. | 14 | * limitations under the License. |
6 | 15 | */ | 15 | */ |
7 | 16 | 16 | ||
15 | 17 | import org.zorbaxquery.api.Zorba; | 17 | import io.zorba.api.Zorba; |
16 | 18 | import org.zorbaxquery.api.XQuery; | 18 | import io.zorba.api.XQuery; |
17 | 19 | import org.zorbaxquery.api.Iterator; | 19 | import io.zorba.api.Iterator; |
18 | 20 | import org.zorbaxquery.api.Item; | 20 | import io.zorba.api.Item; |
19 | 21 | import org.zorbaxquery.api.XmlDataManager; | 21 | import io.zorba.api.XmlDataManager; |
20 | 22 | import org.zorbaxquery.api.DocumentManager; | 22 | import io.zorba.api.DocumentManager; |
21 | 23 | import org.zorbaxquery.api.InMemoryStore; | 23 | import io.zorba.api.InMemoryStore; |
22 | 24 | 24 | ||
23 | 25 | 25 | ||
24 | 26 | public class Test_Zorba | 26 | public class Test_Zorba |
25 | @@ -28,7 +28,7 @@ | |||
26 | 28 | 28 | ||
27 | 29 | static | 29 | static |
28 | 30 | { | 30 | { |
30 | 31 | System.loadLibrary ( "zorba_api" ); | 31 | System.loadLibrary ( "zorba_api_java" ); |
31 | 32 | } | 32 | } |
32 | 33 | 33 | ||
33 | 34 | static boolean example_1(Zorba aZorba) | 34 | static boolean example_1(Zorba aZorba) |
34 | @@ -147,7 +147,7 @@ | |||
35 | 147 | System.exit ( 1 ); | 147 | System.exit ( 1 ); |
36 | 148 | 148 | ||
37 | 149 | System.out.println ( "executing example 5" ); | 149 | System.out.println ( "executing example 5" ); |
39 | 150 | res = example_5 ( zorba ); | 150 | //res = example_5 ( zorba ); |
40 | 151 | if (!res) | 151 | if (!res) |
41 | 152 | System.exit ( 1 ); | 152 | System.exit ( 1 ); |
42 | 153 | 153 | ||
43 | 154 | 154 | ||
44 | === modified file 'include/zorba/api_shared_types.h' | |||
45 | --- include/zorba/api_shared_types.h 2013-08-06 08:41:26 +0000 | |||
46 | +++ include/zorba/api_shared_types.h 2013-09-24 21:48:10 +0000 | |||
47 | @@ -37,6 +37,7 @@ | |||
48 | 37 | class Iterator; | 37 | class Iterator; |
49 | 38 | class ModuleInfo; | 38 | class ModuleInfo; |
50 | 39 | class QueryLocation; | 39 | class QueryLocation; |
51 | 40 | class SequenceType; | ||
52 | 40 | class SerializationCallback; | 41 | class SerializationCallback; |
53 | 41 | class Serializer; | 42 | class Serializer; |
54 | 42 | class StatelessExternalFunction; | 43 | class StatelessExternalFunction; |
55 | @@ -46,7 +47,6 @@ | |||
56 | 46 | class StemmerProvider; | 47 | class StemmerProvider; |
57 | 47 | class TokenizerProvider; | 48 | class TokenizerProvider; |
58 | 48 | #endif /* ZORBA_NO_FULL_TEXT */ | 49 | #endif /* ZORBA_NO_FULL_TEXT */ |
59 | 49 | class TypeIdentifier; | ||
60 | 50 | class XmlDataManager; | 50 | class XmlDataManager; |
61 | 51 | class XQuery; | 51 | class XQuery; |
62 | 52 | class Zorba; | 52 | class Zorba; |
63 | @@ -62,7 +62,6 @@ | |||
64 | 62 | typedef SmartPtr<Serializer> Serializer_t; | 62 | typedef SmartPtr<Serializer> Serializer_t; |
65 | 63 | typedef SmartPtr<StaticContext> StaticContext_t; | 63 | typedef SmartPtr<StaticContext> StaticContext_t; |
66 | 64 | typedef SmartPtr<XmlDataManager> XmlDataManager_t; | 64 | typedef SmartPtr<XmlDataManager> XmlDataManager_t; |
67 | 65 | typedef SmartPtr<TypeIdentifier> TypeIdentifier_t; | ||
68 | 66 | typedef SmartPtr<XQuery> XQuery_t; | 65 | typedef SmartPtr<XQuery> XQuery_t; |
69 | 67 | 66 | ||
70 | 68 | // data handlers | 67 | // data handlers |
71 | 69 | 68 | ||
72 | === modified file 'include/zorba/collection.h' | |||
73 | --- include/zorba/collection.h 2013-02-07 17:24:36 +0000 | |||
74 | +++ include/zorba/collection.h 2013-09-24 21:48:10 +0000 | |||
75 | @@ -210,7 +210,7 @@ | |||
76 | 210 | * | 210 | * |
77 | 211 | * @see isStatic() | 211 | * @see isStatic() |
78 | 212 | */ | 212 | */ |
80 | 213 | virtual TypeIdentifier_t | 213 | virtual SequenceType |
81 | 214 | getType() const = 0; | 214 | getType() const = 0; |
82 | 215 | 215 | ||
83 | 216 | /** \brief Register a DiagnosticHandler to which errors | 216 | /** \brief Register a DiagnosticHandler to which errors |
84 | 217 | 217 | ||
85 | === removed file 'include/zorba/identtypes.h' | |||
86 | --- include/zorba/identtypes.h 2013-06-15 02:57:08 +0000 | |||
87 | +++ include/zorba/identtypes.h 1970-01-01 00:00:00 +0000 | |||
88 | @@ -1,72 +0,0 @@ | |||
89 | 1 | /* | ||
90 | 2 | * Copyright 2006-2008 The FLWOR Foundation. | ||
91 | 3 | * | ||
92 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); | ||
93 | 5 | * you may not use this file except in compliance with the License. | ||
94 | 6 | * You may obtain a copy of the License at | ||
95 | 7 | * | ||
96 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 | ||
97 | 9 | * | ||
98 | 10 | * Unless required by applicable law or agreed to in writing, software | ||
99 | 11 | * distributed under the License is distributed on an "AS IS" BASIS, | ||
100 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
101 | 13 | * See the License for the specific language governing permissions and | ||
102 | 14 | * limitations under the License. | ||
103 | 15 | */ | ||
104 | 16 | #ifndef ZORBA_TYPEIDENT_TYPES_API_H | ||
105 | 17 | #define ZORBA_TYPEIDENT_TYPES_API_H | ||
106 | 18 | |||
107 | 19 | #include <zorba/config.h> | ||
108 | 20 | #include <iostream> | ||
109 | 21 | |||
110 | 22 | namespace zorba | ||
111 | 23 | { | ||
112 | 24 | |||
113 | 25 | class ZORBA_DLL_PUBLIC IdentTypes | ||
114 | 26 | { | ||
115 | 27 | public: | ||
116 | 28 | typedef enum | ||
117 | 29 | { | ||
118 | 30 | NAMED_TYPE, // AtomicOrUnionType | ||
119 | 31 | ELEMENT_TYPE, | ||
120 | 32 | ATTRIBUTE_TYPE, | ||
121 | 33 | DOCUMENT_TYPE, | ||
122 | 34 | PI_TYPE, | ||
123 | 35 | TEXT_TYPE, | ||
124 | 36 | COMMENT_TYPE, | ||
125 | 37 | NAMESPACE_TYPE, | ||
126 | 38 | ANY_NODE_TYPE, // node() | ||
127 | 39 | STRUCTURED_ITEM_TYPE, // structured-item | ||
128 | 40 | JSON_ITEM_TYPE, | ||
129 | 41 | JSON_OBJECT_TYPE, | ||
130 | 42 | JSON_ARRAY_TYPE, | ||
131 | 43 | ITEM_TYPE, // item() | ||
132 | 44 | EMPTY_TYPE, // empty-sequence() | ||
133 | 45 | SCHEMA_ELEMENT_TYPE, | ||
134 | 46 | SCHEMA_ATTRIBUTE_TYPE, | ||
135 | 47 | INVALID_TYPE | ||
136 | 48 | } kind_t; | ||
137 | 49 | |||
138 | 50 | static char const *const kind_string_of[]; | ||
139 | 51 | |||
140 | 52 | typedef enum | ||
141 | 53 | { | ||
142 | 54 | QUANT_ONE, | ||
143 | 55 | QUANT_QUESTION, | ||
144 | 56 | QUANT_PLUS, | ||
145 | 57 | QUANT_STAR | ||
146 | 58 | } quantifier_t; | ||
147 | 59 | |||
148 | 60 | static char const *const quantifier_string_of[]; | ||
149 | 61 | }; | ||
150 | 62 | } | ||
151 | 63 | |||
152 | 64 | namespace std { | ||
153 | 65 | |||
154 | 66 | ZORBA_DLL_PUBLIC ostream& operator<<(ostream& o, const zorba::IdentTypes::kind_t ik); | ||
155 | 67 | ZORBA_DLL_PUBLIC ostream& operator<<(ostream& o, const zorba::IdentTypes::quantifier_t iq); | ||
156 | 68 | |||
157 | 69 | } | ||
158 | 70 | |||
159 | 71 | #endif | ||
160 | 72 | /* vim:set et sw=2 ts=2: */ | ||
161 | 73 | 0 | ||
162 | === modified file 'include/zorba/static_context.h' | |||
163 | --- include/zorba/static_context.h 2013-08-09 08:27:30 +0000 | |||
164 | +++ include/zorba/static_context.h 2013-09-24 21:48:10 +0000 | |||
165 | @@ -36,21 +36,22 @@ | |||
166 | 36 | 36 | ||
167 | 37 | namespace zorba { | 37 | namespace zorba { |
168 | 38 | 38 | ||
184 | 39 | /** \brief Instances of the class StaticContext contain the information that is available | 39 | /** \brief Instances of the class StaticContext contain the information that is |
185 | 40 | * at the time the query is compiled. | 40 | * available at the time the query is compiled and run. |
186 | 41 | * | 41 | * |
187 | 42 | * This class contains the information that is defined in the %XQuery specification | 42 | * This class contains the information that is defined in the %XQuery specification |
188 | 43 | * (see http://www.w3.org/TR/xquery/#static_context). | 43 | * (see http://www.w3.org/TR/xquery/#static_context). |
189 | 44 | * | 44 | * |
190 | 45 | * A StaticContext can be created by calling Zorba::createStaticContext and then be passed | 45 | * A StaticContext can be created by calling Zorba::createStaticContext and then |
191 | 46 | * to the Zorba::compileQuery or XQuery::compile functions. | 46 | * be passed to the Zorba::compileQuery or XQuery::compile functions. If no |
192 | 47 | * If no static context has been passed to any of these functions, a default static context | 47 | * static context has been passed to any of these functions, a default static |
193 | 48 | * is used. It can be accessed by calling XQuery::getStaticContext on a compiled XQuery object. | 48 | * context is used. It can be accessed by calling XQuery::getStaticContext on |
194 | 49 | * | 49 | * a compiled XQuery object. |
195 | 50 | * Note: This class is reference counted. When writing multi-threaded clients, | 50 | * |
196 | 51 | * it is the responibility of the client code to synchronize assignments to the | 51 | * Note: This class is reference counted. When writing multi-threaded clients, |
197 | 52 | * SmartPtr holding this object. | 52 | * it is the responibility of the client code to synchronize assignments to the |
198 | 53 | */ | 53 | * SmartPtr holding this object. |
199 | 54 | */ | ||
200 | 54 | class ZORBA_DLL_PUBLIC StaticContext : public SmartObject | 55 | class ZORBA_DLL_PUBLIC StaticContext : public SmartObject |
201 | 55 | { | 56 | { |
202 | 56 | public: | 57 | public: |
203 | @@ -399,21 +400,21 @@ | |||
204 | 399 | /** \brief Set the type of a statically known document | 400 | /** \brief Set the type of a statically known document |
205 | 400 | */ | 401 | */ |
206 | 401 | virtual void | 402 | virtual void |
208 | 402 | setDocumentType(const String& aDocUri, TypeIdentifier_t type) = 0; | 403 | setDocumentType(const String& aDocUri, const SequenceType& type) = 0; |
209 | 403 | 404 | ||
210 | 404 | /** \brief Get the type of a statically known document | 405 | /** \brief Get the type of a statically known document |
211 | 405 | */ | 406 | */ |
213 | 406 | virtual TypeIdentifier_t | 407 | virtual SequenceType |
214 | 407 | getDocumentType(const String& aDocUri) const = 0; | 408 | getDocumentType(const String& aDocUri) const = 0; |
215 | 408 | 409 | ||
216 | 409 | /** \brief Set the type of a statically known collection | 410 | /** \brief Set the type of a statically known collection |
217 | 410 | */ | 411 | */ |
218 | 411 | virtual void | 412 | virtual void |
220 | 412 | setCollectionType(const String& aCollectionUri, TypeIdentifier_t type) = 0; | 413 | setCollectionType(const String& aCollectionUri, const SequenceType& type) = 0; |
221 | 413 | 414 | ||
222 | 414 | /** \brief Get the type of a statically known collection | 415 | /** \brief Get the type of a statically known collection |
223 | 415 | */ | 416 | */ |
225 | 416 | virtual TypeIdentifier_t | 417 | virtual SequenceType |
226 | 417 | getCollectionType(const String& aCollectionUri) const = 0; | 418 | getCollectionType(const String& aCollectionUri) const = 0; |
227 | 418 | 419 | ||
228 | 419 | /** \brief Check if a function with the given name and arity are registered in the context. | 420 | /** \brief Check if a function with the given name and arity are registered in the context. |
229 | @@ -456,11 +457,11 @@ | |||
230 | 456 | /** \brief Set the type of the context item. | 457 | /** \brief Set the type of the context item. |
231 | 457 | */ | 458 | */ |
232 | 458 | virtual void | 459 | virtual void |
234 | 459 | setContextItemStaticType(TypeIdentifier_t type) = 0; | 460 | setContextItemStaticType(const SequenceType& type) = 0; |
235 | 460 | 461 | ||
236 | 461 | /** \brief Fetch the type of the context item. | 462 | /** \brief Fetch the type of the context item. |
237 | 462 | */ | 463 | */ |
239 | 463 | virtual TypeIdentifier_t | 464 | virtual SequenceType |
240 | 464 | getContextItemStaticType() const = 0; | 465 | getContextItemStaticType() const = 0; |
241 | 465 | 466 | ||
242 | 466 | /** \brief Set the output stream that is used by the fn:trace function | 467 | /** \brief Set the output stream that is used by the fn:trace function |
243 | 467 | 468 | ||
244 | === modified file 'include/zorba/typeident.h' | |||
245 | --- include/zorba/typeident.h 2013-06-15 02:57:08 +0000 | |||
246 | +++ include/zorba/typeident.h 2013-09-24 21:48:10 +0000 | |||
247 | @@ -18,154 +18,212 @@ | |||
248 | 18 | 18 | ||
249 | 19 | #include <zorba/config.h> | 19 | #include <zorba/config.h> |
250 | 20 | #include <zorba/api_shared_types.h> | 20 | #include <zorba/api_shared_types.h> |
251 | 21 | #include <zorba/identtypes.h> | ||
252 | 22 | #include <zorba/zorba_string.h> | 21 | #include <zorba/zorba_string.h> |
253 | 23 | #include <iostream> | 22 | #include <iostream> |
254 | 24 | 23 | ||
255 | 25 | namespace zorba { | 24 | namespace zorba { |
256 | 26 | 25 | ||
258 | 27 | /** \brief Type identifiers | 26 | |
259 | 27 | class XQType; | ||
260 | 28 | |||
261 | 29 | |||
262 | 30 | /** | ||
263 | 31 | * \brief Representation and factory for xquery sequence types. | ||
264 | 28 | * | 32 | * |
266 | 29 | * The type identifiers are not used, yet. | 33 | * Class SequenceType represents xquery sequence types, as defined in |
267 | 34 | * http://www.w3.org/TR/xquery-30/#id-sequencetype-syntax. Instances of | ||
268 | 35 | * SequenceType may be returned by methods of Zorba's C++ API. The class also | ||
269 | 36 | * provides static methods to create instances of SequenceType, which can then | ||
270 | 37 | * be passed as arguments to other methods of Zorba's C++ API. | ||
271 | 30 | * | 38 | * |
272 | 31 | * Note: This class is reference counted. When writing multi-threaded clients, | 39 | * Note: This class is reference counted. When writing multi-threaded clients, |
273 | 32 | * it is the responibility of the client code to synchronize assignments to the | 40 | * it is the responibility of the client code to synchronize assignments to the |
274 | 33 | * SmartPtr holding this object. | 41 | * SmartPtr holding this object. |
275 | 34 | */ | 42 | */ |
277 | 35 | class ZORBA_DLL_PUBLIC TypeIdentifier : public SmartObject | 43 | class ZORBA_DLL_PUBLIC SequenceType |
278 | 36 | { | 44 | { |
398 | 37 | public: | 45 | public: |
399 | 38 | /** \brief Destructor | 46 | typedef enum |
400 | 39 | */ | 47 | { |
401 | 40 | ~TypeIdentifier(); | 48 | EMPTY_TYPE, // empty-sequence() |
402 | 41 | 49 | ITEM_TYPE, // item() | |
403 | 42 | static TypeIdentifier_t | 50 | ATOMIC_OR_UNION_TYPE, // AtomicOrUnionType |
404 | 43 | createNamedType( | 51 | FUNCTION_TYPE, // function(*) and subtypes |
405 | 44 | const String& uri, | 52 | STRUCTURED_ITEM_TYPE, // structured-item() |
406 | 45 | const String& localName, | 53 | NODE_TYPE, // node() |
407 | 46 | IdentTypes::quantifier_t quantifier = IdentTypes::QUANT_ONE); | 54 | DOCUMENT_TYPE, |
408 | 47 | 55 | ELEMENT_TYPE, | |
409 | 48 | static TypeIdentifier_t | 56 | SCHEMA_ELEMENT_TYPE, |
410 | 49 | createElementType( | 57 | ATTRIBUTE_TYPE, |
411 | 50 | const String& uri, | 58 | SCHEMA_ATTRIBUTE_TYPE, |
412 | 51 | bool uriWildcard, | 59 | PI_TYPE, |
413 | 52 | const String& localName, | 60 | TEXT_TYPE, |
414 | 53 | bool localNameWildcard, | 61 | COMMENT_TYPE, |
415 | 54 | TypeIdentifier_t contentType, | 62 | NAMESPACE_TYPE, |
416 | 55 | IdentTypes::quantifier_t quantifier = IdentTypes::QUANT_ONE); | 63 | JSON_ITEM_TYPE, |
417 | 56 | 64 | JSON_OBJECT_TYPE, | |
418 | 57 | static TypeIdentifier_t | 65 | JSON_ARRAY_TYPE, |
419 | 58 | createAttributeType( | 66 | INVALID_TYPE |
420 | 59 | const String& uri, | 67 | } Kind; |
421 | 60 | bool uriWildcard, | 68 | |
422 | 61 | const String& localName, | 69 | |
423 | 62 | bool localNameWildcard, | 70 | typedef enum |
424 | 63 | TypeIdentifier_t contentType, | 71 | { |
425 | 64 | IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 72 | QUANT_ONE, |
426 | 65 | 73 | QUANT_QUESTION, | |
427 | 66 | static TypeIdentifier_t | 74 | QUANT_STAR, |
428 | 67 | createDocumentType( | 75 | QUANT_PLUS, |
429 | 68 | TypeIdentifier_t contentType, | 76 | QUANT_INVALID |
430 | 69 | IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 77 | } Quantifier; |
431 | 70 | 78 | ||
432 | 71 | static TypeIdentifier_t | 79 | |
433 | 72 | createPIType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 80 | public: |
434 | 73 | 81 | /** | |
435 | 74 | static TypeIdentifier_t | 82 | * \brief Create an empty-sequence() type |
436 | 75 | createNamespaceType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 83 | */ |
437 | 76 | 84 | static SequenceType createEmptyType(); | |
438 | 77 | static TypeIdentifier_t | 85 | |
439 | 78 | createTextType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 86 | /** |
440 | 79 | 87 | * \brief Create an item() type with quantifier | |
441 | 80 | static TypeIdentifier_t | 88 | */ |
442 | 81 | createCommentType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 89 | static SequenceType createItemType(Quantifier q = QUANT_ONE); |
443 | 82 | 90 | ||
444 | 83 | static TypeIdentifier_t | 91 | /** |
445 | 84 | createAnyNodeType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 92 | * \brief Create an AtomicOrUnion type with quantifier |
446 | 85 | 93 | * | |
447 | 86 | static TypeIdentifier_t | 94 | * An AtomicOrUnion type is specified simply as a QName, which may identify |
448 | 87 | createStructuredItemType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 95 | * an XMLSchema builtin atomic type or a user-defined atomic or union type. |
449 | 88 | 96 | * In the case of user-defined types, the QName must be among the in-scope | |
450 | 89 | static TypeIdentifier_t | 97 | * type names of a given static context. Otherwise, for builtin types, the |
451 | 90 | createJSONItemType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 98 | * given sctx may be NULL. |
452 | 91 | 99 | */ | |
453 | 92 | static TypeIdentifier_t | 100 | static SequenceType createAtomicOrUnionType( |
454 | 93 | createJSONObjectType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 101 | const StaticContext_t& sctx, |
455 | 94 | 102 | const String& uri, | |
456 | 95 | static TypeIdentifier_t | 103 | const String& localName, |
457 | 96 | createJSONArrayType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 104 | Quantifier q = QUANT_ONE); |
458 | 97 | 105 | ||
459 | 98 | static TypeIdentifier_t | 106 | /** |
460 | 99 | createItemType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE); | 107 | * \brief Create an structured-item() type with quantifier |
461 | 100 | 108 | */ | |
462 | 101 | static TypeIdentifier_t | 109 | static SequenceType createStructuredItemType(Quantifier q = QUANT_ONE); |
463 | 102 | createEmptyType(); | 110 | |
464 | 103 | 111 | /** | |
465 | 104 | static TypeIdentifier_t | 112 | * \brief Create an node() type with quantifier |
466 | 105 | createSchemaElementType( | 113 | */ |
467 | 106 | const String& uri, | 114 | static SequenceType createAnyNodeType(Quantifier q = QUANT_ONE); |
468 | 107 | const String& localName, | 115 | |
469 | 108 | IdentTypes::quantifier_t quantifier = IdentTypes::QUANT_ONE); | 116 | /** |
470 | 109 | 117 | * \brief Create a document-node() type or subtype with quantifier | |
471 | 110 | static TypeIdentifier_t | 118 | */ |
472 | 111 | createSchemaAttributeType( | 119 | static SequenceType createDocumentType( |
473 | 112 | const String& uri, | 120 | const SequenceType& contentType, |
474 | 113 | const String& localName, | 121 | Quantifier q = QUANT_ONE); |
475 | 114 | IdentTypes::quantifier_t quantifier = IdentTypes::QUANT_ONE); | 122 | |
476 | 115 | 123 | /** | |
477 | 116 | IdentTypes::kind_t | 124 | * \brief Create an element() type or subtype with quantifier |
478 | 117 | getKind() const; | 125 | */ |
479 | 118 | 126 | static SequenceType createElementType( | |
480 | 119 | IdentTypes::quantifier_t | 127 | const StaticContext_t& sctx, |
481 | 120 | getQuantifier() const; | 128 | const String& nodeUri, |
482 | 121 | 129 | const String& nodeLocalName, | |
483 | 122 | const String& | 130 | const String& contentTypeUri, |
484 | 123 | getUri() const; | 131 | const String& contentTypeLocalName, |
485 | 124 | 132 | bool nillable, | |
486 | 125 | bool | 133 | Quantifier quant = QUANT_ONE); |
487 | 126 | isUriWildcard() const; | 134 | |
488 | 127 | 135 | static SequenceType createSchemaElementType( | |
489 | 128 | const String& | 136 | const StaticContext_t& sctx, |
490 | 129 | getLocalName() const; | 137 | const String& uri, |
491 | 130 | 138 | const String& localName, | |
492 | 131 | bool | 139 | Quantifier quant = QUANT_ONE); |
493 | 132 | isLocalNameWildcard() const; | 140 | |
494 | 133 | 141 | static SequenceType createAttributeType( | |
495 | 134 | TypeIdentifier_t | 142 | const StaticContext_t& sctx, |
496 | 135 | getContentType() const; | 143 | const String& nodeUri, |
497 | 136 | 144 | const String& nodeLocalName, | |
498 | 137 | std::ostream& | 145 | const String& contentTypeUri, |
499 | 138 | emit(std::ostream&) const; | 146 | const String& contentTypeLocalName, |
500 | 139 | 147 | Quantifier quant = QUANT_ONE); | |
501 | 140 | private: | 148 | |
502 | 141 | TypeIdentifier(); | 149 | static SequenceType createSchemaAttributeType( |
503 | 142 | 150 | const StaticContext_t& sctx, | |
504 | 143 | std::ostream& | 151 | const String& uri, |
505 | 144 | emitItemType(std::ostream&) const; | 152 | const String& localName, |
506 | 145 | 153 | Quantifier quant = QUANT_ONE); | |
507 | 146 | std::ostream& | 154 | |
508 | 147 | emitName(std::ostream&) const; | 155 | static SequenceType createPIType(Quantifier q = QUANT_ONE); |
509 | 148 | 156 | ||
510 | 149 | IdentTypes::kind_t m_kind; | 157 | static SequenceType createTextType(Quantifier q = QUANT_ONE); |
511 | 150 | IdentTypes::quantifier_t m_quantifier; | 158 | |
512 | 151 | String m_uri; | 159 | static SequenceType createCommentType(Quantifier q = QUANT_ONE); |
513 | 152 | bool m_uriWildcard; | 160 | |
514 | 153 | String m_localName; | 161 | static SequenceType createNamespaceType(Quantifier q = QUANT_ONE); |
515 | 154 | bool m_localNameWildcard; | 162 | |
516 | 155 | TypeIdentifier_t m_contentType; | 163 | static SequenceType createJSONItemType(Quantifier q = QUANT_ONE); |
517 | 164 | |||
518 | 165 | static SequenceType createJSONObjectType(Quantifier q = QUANT_ONE); | ||
519 | 166 | |||
520 | 167 | static SequenceType createJSONArrayType(Quantifier q = QUANT_ONE); | ||
521 | 168 | |||
522 | 169 | public: | ||
523 | 170 | SequenceType(); | ||
524 | 171 | |||
525 | 172 | SequenceType(const SequenceType& other); | ||
526 | 173 | |||
527 | 174 | /** | ||
528 | 175 | * \brief Destructor | ||
529 | 176 | */ | ||
530 | 177 | ~SequenceType(); | ||
531 | 178 | |||
532 | 179 | bool isValid() const; | ||
533 | 180 | |||
534 | 181 | Kind getKind() const; | ||
535 | 182 | |||
536 | 183 | Quantifier getQuantifier() const; | ||
537 | 184 | |||
538 | 185 | String getTypeUri() const; | ||
539 | 186 | |||
540 | 187 | String getTypeLocalName() const; | ||
541 | 188 | |||
542 | 189 | String getNodeUri() const; | ||
543 | 190 | |||
544 | 191 | String getNodeLocalName() const; | ||
545 | 192 | |||
546 | 193 | bool isWildcard() const; | ||
547 | 194 | |||
548 | 195 | String getContentTypeUri() const; | ||
549 | 196 | |||
550 | 197 | String getContentTypeLocalName() const; | ||
551 | 198 | |||
552 | 199 | bool isSchemaTest() const; | ||
553 | 200 | |||
554 | 201 | std::ostream& emit(std::ostream&) const; | ||
555 | 202 | |||
556 | 203 | private: | ||
557 | 204 | SequenceType(const XQType* t); | ||
558 | 205 | |||
559 | 206 | public: | ||
560 | 207 | static char const *const kind_string_of[]; | ||
561 | 208 | |||
562 | 209 | static char const *const quantifier_string_of[]; | ||
563 | 210 | |||
564 | 211 | private: | ||
565 | 212 | friend class Unmarshaller; | ||
566 | 213 | |||
567 | 214 | const XQType * theType; | ||
568 | 156 | }; | 215 | }; |
569 | 157 | 216 | ||
570 | 158 | #ifdef WIN32 | ||
571 | 159 | template class ZORBA_DLL_PUBLIC zorba::SmartPtr<TypeIdentifier>; | ||
572 | 160 | #endif | ||
573 | 161 | |||
574 | 162 | 217 | ||
575 | 163 | } /* namespace zorba */ | 218 | } /* namespace zorba */ |
576 | 164 | 219 | ||
581 | 165 | namespace std { | 220 | namespace std |
582 | 166 | 221 | { | |
583 | 167 | ZORBA_DLL_PUBLIC ostream& operator<<(ostream& o, const zorba::TypeIdentifier& ti); | 222 | |
584 | 168 | ZORBA_DLL_PUBLIC ostream& operator<<(ostream& o, const zorba::TypeIdentifier_t ti); | 223 | ZORBA_DLL_PUBLIC ostream& operator<<(ostream& o, const zorba::SequenceType& ti); |
585 | 224 | |||
586 | 225 | ZORBA_DLL_PUBLIC ostream& operator<<(ostream& o, const zorba::SequenceType::Kind k); | ||
587 | 226 | ZORBA_DLL_PUBLIC ostream& operator<<(ostream& o, const zorba::SequenceType::Quantifier q); | ||
588 | 169 | 227 | ||
589 | 170 | } | 228 | } |
590 | 171 | 229 | ||
591 | 172 | 230 | ||
592 | === modified file 'modules/http-client/json/http-client.xq.src/http_response_parser.cpp' | |||
593 | --- modules/http-client/json/http-client.xq.src/http_response_parser.cpp 2013-09-19 16:22:03 +0000 | |||
594 | +++ modules/http-client/json/http-client.xq.src/http_response_parser.cpp 2013-09-24 21:48:10 +0000 | |||
595 | @@ -21,6 +21,7 @@ | |||
596 | 21 | #include <sstream> | 21 | #include <sstream> |
597 | 22 | #include <stdexcept> | 22 | #include <stdexcept> |
598 | 23 | #include <string> | 23 | #include <string> |
599 | 24 | #include <algorithm> | ||
600 | 24 | 25 | ||
601 | 25 | #include <zorba/util/base64_util.h> | 26 | #include <zorba/util/base64_util.h> |
602 | 26 | #include <zorba/config.h> | 27 | #include <zorba/config.h> |
603 | 27 | 28 | ||
604 | === modified file 'src/api/CMakeLists.txt' | |||
605 | --- src/api/CMakeLists.txt 2013-08-02 14:55:29 +0000 | |||
606 | +++ src/api/CMakeLists.txt 2013-09-24 21:48:10 +0000 | |||
607 | @@ -29,8 +29,7 @@ | |||
608 | 29 | hexbinary_streambuf.cpp | 29 | hexbinary_streambuf.cpp |
609 | 30 | itemfactoryimpl.cpp | 30 | itemfactoryimpl.cpp |
610 | 31 | item.cpp | 31 | item.cpp |
613 | 32 | identtypesimpl.cpp | 32 | sequencetype.cpp |
612 | 33 | typeidentimpl.cpp | ||
614 | 34 | unmarshaller.cpp | 33 | unmarshaller.cpp |
615 | 35 | xmldatamanagerimpl.cpp | 34 | xmldatamanagerimpl.cpp |
616 | 36 | documentmanagerimpl.cpp | 35 | documentmanagerimpl.cpp |
617 | 37 | 36 | ||
618 | === modified file 'src/api/collectionimpl.cpp' | |||
619 | --- src/api/collectionimpl.cpp 2013-02-07 17:24:36 +0000 | |||
620 | +++ src/api/collectionimpl.cpp 2013-09-24 21:48:10 +0000 | |||
621 | @@ -372,7 +372,7 @@ | |||
622 | 372 | /******************************************************************************* | 372 | /******************************************************************************* |
623 | 373 | 373 | ||
624 | 374 | ********************************************************************************/ | 374 | ********************************************************************************/ |
626 | 375 | TypeIdentifier_t | 375 | SequenceType |
627 | 376 | CollectionImpl::getType() const | 376 | CollectionImpl::getType() const |
628 | 377 | { | 377 | { |
629 | 378 | ZORBA_DM_TRY | 378 | ZORBA_DM_TRY |
630 | @@ -384,16 +384,16 @@ | |||
631 | 384 | const StaticallyKnownCollection* lColl = lCtx->lookup_collection(lQName); | 384 | const StaticallyKnownCollection* lColl = lCtx->lookup_collection(lQName); |
632 | 385 | if (!lColl) | 385 | if (!lColl) |
633 | 386 | { | 386 | { |
635 | 387 | return 0; | 387 | return SequenceType(); |
636 | 388 | } | 388 | } |
637 | 389 | 389 | ||
639 | 390 | const XQType* lType = lColl->getCollectionType(); | 390 | const XQType* type = lColl->getCollectionType(); |
640 | 391 | 391 | ||
642 | 392 | return TypeOps::get_type_identifier(lCtx->get_typemanager(), *lType); | 392 | return Unmarshaller::createSequenceType(type); |
643 | 393 | 393 | ||
644 | 394 | } | 394 | } |
645 | 395 | ZORBA_DM_CATCH | 395 | ZORBA_DM_CATCH |
647 | 396 | return 0; | 396 | return Unmarshaller::createSequenceType(NULL); |
648 | 397 | } | 397 | } |
649 | 398 | 398 | ||
650 | 399 | 399 | ||
651 | 400 | 400 | ||
652 | === modified file 'src/api/collectionimpl.h' | |||
653 | --- src/api/collectionimpl.h 2013-02-07 17:24:36 +0000 | |||
654 | +++ src/api/collectionimpl.h 2013-09-24 21:48:10 +0000 | |||
655 | @@ -135,7 +135,7 @@ | |||
656 | 135 | virtual bool | 135 | virtual bool |
657 | 136 | isStatic() const; | 136 | isStatic() const; |
658 | 137 | 137 | ||
660 | 138 | virtual TypeIdentifier_t | 138 | virtual SequenceType |
661 | 139 | getType() const; | 139 | getType() const; |
662 | 140 | 140 | ||
663 | 141 | }; /* class CollectionImpl */ | 141 | }; /* class CollectionImpl */ |
664 | 142 | 142 | ||
665 | === modified file 'src/api/dynamiccontextimpl.cpp' | |||
666 | --- src/api/dynamiccontextimpl.cpp 2013-08-01 17:23:58 +0000 | |||
667 | +++ src/api/dynamiccontextimpl.cpp 2013-09-24 21:48:10 +0000 | |||
668 | @@ -643,21 +643,14 @@ | |||
669 | 643 | 643 | ||
670 | 644 | checkItem(lItem); | 644 | checkItem(lItem); |
671 | 645 | 645 | ||
682 | 646 | TypeManager* tm = theStaticContext->get_typemanager(); | 646 | if (!TypeOps::is_subtype(lItem->getTypeCode(), store::XS_DATETIME)) |
673 | 647 | |||
674 | 648 | xqtref_t lItemType = tm->create_named_type(lItem->getType(), | ||
675 | 649 | TypeConstants::QUANT_ONE, | ||
676 | 650 | QueryLoc::null); | ||
677 | 651 | |||
678 | 652 | if (!TypeOps::is_subtype(tm, | ||
679 | 653 | *lItemType, | ||
680 | 654 | *GENV_TYPESYSTEM.DATETIME_TYPE_ONE, | ||
681 | 655 | QueryLoc::null)) | ||
683 | 656 | { | 647 | { |
684 | 648 | TypeManager* tm = theStaticContext->get_typemanager(); | ||
685 | 649 | xqtref_t type = tm->create_value_type(lItem); | ||
686 | 657 | RAISE_ERROR_NO_LOC(zerr::ZAPI0014_INVALID_ARGUMENT, | 650 | RAISE_ERROR_NO_LOC(zerr::ZAPI0014_INVALID_ARGUMENT, |
688 | 658 | ERROR_PARAMS(lItemType->toString(), | 651 | ERROR_PARAMS(type->toSchemaString(), |
689 | 659 | ZED(TypeIsNotSubtype), | 652 | ZED(TypeIsNotSubtype), |
691 | 660 | GENV_TYPESYSTEM.DATETIME_TYPE_ONE->toString())); | 653 | GENV_TYPESYSTEM.DATETIME_TYPE_ONE->toSchemaString())); |
692 | 661 | } | 654 | } |
693 | 662 | 655 | ||
694 | 663 | theCtx->set_current_date_time(lItem); | 656 | theCtx->set_current_date_time(lItem); |
695 | 664 | 657 | ||
696 | === removed file 'src/api/identtypesimpl.cpp' | |||
697 | --- src/api/identtypesimpl.cpp 2013-03-05 12:34:19 +0000 | |||
698 | +++ src/api/identtypesimpl.cpp 1970-01-01 00:00:00 +0000 | |||
699 | @@ -1,67 +0,0 @@ | |||
700 | 1 | /* | ||
701 | 2 | * Copyright 2006-2008 The FLWOR Foundation. | ||
702 | 3 | * | ||
703 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); | ||
704 | 5 | * you may not use this file except in compliance with the License. | ||
705 | 6 | * You may obtain a copy of the License at | ||
706 | 7 | * | ||
707 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 | ||
708 | 9 | * | ||
709 | 10 | * Unless required by applicable law or agreed to in writing, software | ||
710 | 11 | * distributed under the License is distributed on an "AS IS" BASIS, | ||
711 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
712 | 13 | * See the License for the specific language governing permissions and | ||
713 | 14 | * limitations under the License. | ||
714 | 15 | */ | ||
715 | 16 | |||
716 | 17 | #include "stdafx.h" | ||
717 | 18 | #include <zorba/identtypes.h> | ||
718 | 19 | |||
719 | 20 | namespace zorba { | ||
720 | 21 | |||
721 | 22 | char const *const IdentTypes::kind_string_of[] = | ||
722 | 23 | { | ||
723 | 24 | "NAMED", | ||
724 | 25 | "element", | ||
725 | 26 | "attribute", | ||
726 | 27 | "document-node", | ||
727 | 28 | "processing-instruction", | ||
728 | 29 | "text", | ||
729 | 30 | "comment", | ||
730 | 31 | "namespace-node", | ||
731 | 32 | "node", | ||
732 | 33 | "item", | ||
733 | 34 | "empty-sequence", | ||
734 | 35 | "schema-element", | ||
735 | 36 | "schema-attribute", | ||
736 | 37 | "INVALID", | ||
737 | 38 | 0 | ||
738 | 39 | }; | ||
739 | 40 | |||
740 | 41 | |||
741 | 42 | char const *const IdentTypes::quantifier_string_of[] = | ||
742 | 43 | { | ||
743 | 44 | "", | ||
744 | 45 | "?", | ||
745 | 46 | "+", | ||
746 | 47 | "*", | ||
747 | 48 | 0 | ||
748 | 49 | }; | ||
749 | 50 | |||
750 | 51 | } | ||
751 | 52 | |||
752 | 53 | namespace std { | ||
753 | 54 | |||
754 | 55 | ostream& operator<<(ostream& o, const zorba::IdentTypes::kind_t ik) | ||
755 | 56 | { | ||
756 | 57 | return o << zorba::IdentTypes::kind_string_of[ik]; | ||
757 | 58 | } | ||
758 | 59 | |||
759 | 60 | ostream& operator<<(ostream& o, const zorba::IdentTypes::quantifier_t iq) | ||
760 | 61 | { | ||
761 | 62 | return o << zorba::IdentTypes::quantifier_string_of[iq]; | ||
762 | 63 | } | ||
763 | 64 | |||
764 | 65 | } | ||
765 | 66 | |||
766 | 67 | /* vim:set et sw=2 ts=2: */ | ||
767 | 68 | 0 | ||
768 | === added file 'src/api/sequencetype.cpp' | |||
769 | --- src/api/sequencetype.cpp 1970-01-01 00:00:00 +0000 | |||
770 | +++ src/api/sequencetype.cpp 2013-09-24 21:48:10 +0000 | |||
771 | @@ -0,0 +1,799 @@ | |||
772 | 1 | /* | ||
773 | 2 | * Copyright 2006-2008 The FLWOR Foundation. | ||
774 | 3 | * | ||
775 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); | ||
776 | 5 | * you may not use this file except in compliance with the License. | ||
777 | 6 | * You may obtain a copy of the License at | ||
778 | 7 | * | ||
779 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 | ||
780 | 9 | * | ||
781 | 10 | * Unless required by applicable law or agreed to in writing, software | ||
782 | 11 | * distributed under the License is distributed on an "AS IS" BASIS, | ||
783 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
784 | 13 | * See the License for the specific language governing permissions and | ||
785 | 14 | * limitations under the License. | ||
786 | 15 | */ | ||
787 | 16 | #include "stdafx.h" | ||
788 | 17 | |||
789 | 18 | #ifndef ZORBA_API_SEQUENCE_TYPE | ||
790 | 19 | #define ZORBA_API_SEQUENCE_TYPE | ||
791 | 20 | |||
792 | 21 | #include <zorba/typeident.h> | ||
793 | 22 | |||
794 | 23 | #include "types/typeimpl.h" | ||
795 | 24 | #include "types/root_typemanager.h" | ||
796 | 25 | |||
797 | 26 | #include "diagnostics/assert.h" | ||
798 | 27 | |||
799 | 28 | #include "api/unmarshaller.h" | ||
800 | 29 | |||
801 | 30 | #include "context/static_context.h" | ||
802 | 31 | |||
803 | 32 | #include "store/api/item_factory.h" | ||
804 | 33 | |||
805 | 34 | |||
806 | 35 | namespace std | ||
807 | 36 | { | ||
808 | 37 | |||
809 | 38 | ostream& operator<<(ostream& o, const zorba::SequenceType::Kind k) | ||
810 | 39 | { | ||
811 | 40 | return o << zorba::SequenceType::kind_string_of[k]; | ||
812 | 41 | } | ||
813 | 42 | |||
814 | 43 | ostream& operator<<(ostream& o, const zorba::SequenceType::Quantifier q) | ||
815 | 44 | { | ||
816 | 45 | return o << zorba::SequenceType::quantifier_string_of[q]; | ||
817 | 46 | } | ||
818 | 47 | |||
819 | 48 | |||
820 | 49 | ostream& operator<<(ostream& o, const zorba::SequenceType& ti) | ||
821 | 50 | { | ||
822 | 51 | return ti.emit(o); | ||
823 | 52 | } | ||
824 | 53 | |||
825 | 54 | } | ||
826 | 55 | |||
827 | 56 | |||
828 | 57 | namespace zorba | ||
829 | 58 | { | ||
830 | 59 | |||
831 | 60 | |||
832 | 61 | char const *const SequenceType::kind_string_of[] = | ||
833 | 62 | { | ||
834 | 63 | "empty-sequence", | ||
835 | 64 | "item", | ||
836 | 65 | "AtomicOrUnion", | ||
837 | 66 | "function", | ||
838 | 67 | "structured-item", | ||
839 | 68 | "node", | ||
840 | 69 | "document-node", | ||
841 | 70 | "element", | ||
842 | 71 | "schema-element", | ||
843 | 72 | "attribute", | ||
844 | 73 | "schema-attribute", | ||
845 | 74 | "processing-instruction", | ||
846 | 75 | "text", | ||
847 | 76 | "comment", | ||
848 | 77 | "namespace-node", | ||
849 | 78 | "json-item", | ||
850 | 79 | "object", | ||
851 | 80 | "array", | ||
852 | 81 | "INVALID", | ||
853 | 82 | 0 | ||
854 | 83 | }; | ||
855 | 84 | |||
856 | 85 | |||
857 | 86 | char const *const SequenceType::quantifier_string_of[] = | ||
858 | 87 | { | ||
859 | 88 | "", | ||
860 | 89 | "?", | ||
861 | 90 | "*", | ||
862 | 91 | "+", | ||
863 | 92 | "INVALID", | ||
864 | 93 | 0 | ||
865 | 94 | }; | ||
866 | 95 | |||
867 | 96 | |||
868 | 97 | |||
869 | 98 | /******************************************************************************* | ||
870 | 99 | |||
871 | 100 | ********************************************************************************/ | ||
872 | 101 | SequenceType SequenceType::createEmptyType() | ||
873 | 102 | { | ||
874 | 103 | return Unmarshaller::createSequenceType(GENV_TYPESYSTEM.EMPTY_TYPE.getp()); | ||
875 | 104 | } | ||
876 | 105 | |||
877 | 106 | |||
878 | 107 | SequenceType SequenceType::createItemType(Quantifier quant) | ||
879 | 108 | { | ||
880 | 109 | RootTypeManager& rtm = GENV_TYPESYSTEM; | ||
881 | 110 | |||
882 | 111 | switch (quant) | ||
883 | 112 | { | ||
884 | 113 | case QUANT_ONE: | ||
885 | 114 | return Unmarshaller::createSequenceType(rtm.ITEM_TYPE_ONE.getp()); | ||
886 | 115 | case QUANT_QUESTION: | ||
887 | 116 | return Unmarshaller::createSequenceType(rtm.ITEM_TYPE_QUESTION.getp()); | ||
888 | 117 | case QUANT_PLUS: | ||
889 | 118 | return Unmarshaller::createSequenceType(rtm.ITEM_TYPE_PLUS.getp()); | ||
890 | 119 | case QUANT_STAR: | ||
891 | 120 | return Unmarshaller::createSequenceType(rtm.ITEM_TYPE_STAR.getp()); | ||
892 | 121 | default: | ||
893 | 122 | ZORBA_ASSERT(false); | ||
894 | 123 | } | ||
895 | 124 | } | ||
896 | 125 | |||
897 | 126 | |||
898 | 127 | SequenceType SequenceType::createAtomicOrUnionType( | ||
899 | 128 | const StaticContext_t& sctx, | ||
900 | 129 | const String& uri, | ||
901 | 130 | const String& localName, | ||
902 | 131 | Quantifier quant) | ||
903 | 132 | { | ||
904 | 133 | TypeManager* tm; | ||
905 | 134 | |||
906 | 135 | if (sctx == NULL) | ||
907 | 136 | { | ||
908 | 137 | tm = &GENV_TYPESYSTEM; | ||
909 | 138 | } | ||
910 | 139 | else | ||
911 | 140 | { | ||
912 | 141 | static_context* sctx2 = Unmarshaller::getInternalStaticContext(sctx); | ||
913 | 142 | tm = sctx2->get_typemanager(); | ||
914 | 143 | } | ||
915 | 144 | |||
916 | 145 | zstring& ns = Unmarshaller::getInternalString(uri); | ||
917 | 146 | zstring& local = Unmarshaller::getInternalString(localName); | ||
918 | 147 | |||
919 | 148 | store::Item_t qname; | ||
920 | 149 | GENV_ITEMFACTORY->createQName(qname, ns, "", local); | ||
921 | 150 | |||
922 | 151 | xqtref_t type = tm->create_named_type(qname, quant, QueryLoc::null, false); | ||
923 | 152 | |||
924 | 153 | return Unmarshaller::createSequenceType(type.getp()); | ||
925 | 154 | } | ||
926 | 155 | |||
927 | 156 | |||
928 | 157 | SequenceType SequenceType::createStructuredItemType(Quantifier quant) | ||
929 | 158 | { | ||
930 | 159 | RootTypeManager& rtm = GENV_TYPESYSTEM; | ||
931 | 160 | |||
932 | 161 | switch (quant) | ||
933 | 162 | { | ||
934 | 163 | case QUANT_ONE: | ||
935 | 164 | return Unmarshaller::createSequenceType(rtm.STRUCTURED_ITEM_TYPE_ONE.getp()); | ||
936 | 165 | case QUANT_QUESTION: | ||
937 | 166 | return Unmarshaller::createSequenceType(rtm.STRUCTURED_ITEM_TYPE_QUESTION.getp()); | ||
938 | 167 | case QUANT_PLUS: | ||
939 | 168 | return Unmarshaller::createSequenceType(rtm.STRUCTURED_ITEM_TYPE_PLUS.getp()); | ||
940 | 169 | case QUANT_STAR: | ||
941 | 170 | return Unmarshaller::createSequenceType(rtm.STRUCTURED_ITEM_TYPE_STAR.getp()); | ||
942 | 171 | default: | ||
943 | 172 | ZORBA_ASSERT(false); | ||
944 | 173 | } | ||
945 | 174 | } | ||
946 | 175 | |||
947 | 176 | |||
948 | 177 | SequenceType SequenceType::createAnyNodeType(Quantifier quant) | ||
949 | 178 | { | ||
950 | 179 | RootTypeManager& rtm = GENV_TYPESYSTEM; | ||
951 | 180 | |||
952 | 181 | switch (quant) | ||
953 | 182 | { | ||
954 | 183 | case QUANT_ONE: | ||
955 | 184 | return Unmarshaller::createSequenceType(rtm.ANY_NODE_TYPE_ONE.getp()); | ||
956 | 185 | case QUANT_QUESTION: | ||
957 | 186 | return Unmarshaller::createSequenceType(rtm.ANY_NODE_TYPE_QUESTION.getp()); | ||
958 | 187 | case QUANT_PLUS: | ||
959 | 188 | return Unmarshaller::createSequenceType(rtm.ANY_NODE_TYPE_PLUS.getp()); | ||
960 | 189 | case QUANT_STAR: | ||
961 | 190 | return Unmarshaller::createSequenceType(rtm.ANY_NODE_TYPE_STAR.getp()); | ||
962 | 191 | default: | ||
963 | 192 | ZORBA_ASSERT(false); | ||
964 | 193 | } | ||
965 | 194 | } | ||
966 | 195 | |||
967 | 196 | |||
968 | 197 | SequenceType SequenceType::createDocumentType( | ||
969 | 198 | const SequenceType& contentType, | ||
970 | 199 | Quantifier quant) | ||
971 | 200 | { | ||
972 | 201 | const XQType* contentType2 = Unmarshaller::getInternalType(contentType); | ||
973 | 202 | |||
974 | 203 | TypeManager* tm = (contentType2 == NULL ? | ||
975 | 204 | &GENV_TYPESYSTEM : | ||
976 | 205 | contentType2->get_manager()); | ||
977 | 206 | |||
978 | 207 | store::Item_t qname; | ||
979 | 208 | |||
980 | 209 | xqtref_t res = tm->create_node_type(store::StoreConsts::documentNode, | ||
981 | 210 | qname, | ||
982 | 211 | contentType2, | ||
983 | 212 | quant, | ||
984 | 213 | false, | ||
985 | 214 | false); | ||
986 | 215 | |||
987 | 216 | return Unmarshaller::createSequenceType(res.getp()); | ||
988 | 217 | } | ||
989 | 218 | |||
990 | 219 | |||
991 | 220 | SequenceType SequenceType::createElementType( | ||
992 | 221 | const StaticContext_t& sctx, | ||
993 | 222 | const String& nodeUri, | ||
994 | 223 | const String& nodeLocalName, | ||
995 | 224 | const String& typeUri, | ||
996 | 225 | const String& typeLocalName, | ||
997 | 226 | bool nillable, | ||
998 | 227 | Quantifier quant) | ||
999 | 228 | { | ||
1000 | 229 | TypeManager* tm; | ||
1001 | 230 | |||
1002 | 231 | if (sctx == NULL) | ||
1003 | 232 | { | ||
1004 | 233 | tm = &GENV_TYPESYSTEM; | ||
1005 | 234 | } | ||
1006 | 235 | else | ||
1007 | 236 | { | ||
1008 | 237 | static_context* sctx2 = Unmarshaller::getInternalStaticContext(sctx); | ||
1009 | 238 | tm = sctx2->get_typemanager(); | ||
1010 | 239 | } | ||
1011 | 240 | |||
1012 | 241 | zstring& nodeNS = Unmarshaller::getInternalString(nodeUri); | ||
1013 | 242 | zstring& nodeLocal = Unmarshaller::getInternalString(nodeLocalName); | ||
1014 | 243 | store::Item_t nodeQName; | ||
1015 | 244 | |||
1016 | 245 | if (!nodeLocal.empty()) | ||
1017 | 246 | GENV_ITEMFACTORY->createQName(nodeQName, nodeNS, "", nodeLocal); | ||
1018 | 247 | |||
1019 | 248 | zstring& typeNS = Unmarshaller::getInternalString(typeUri); | ||
1020 | 249 | zstring& typeLocal = Unmarshaller::getInternalString(typeLocalName); | ||
1021 | 250 | store::Item_t typeQName; | ||
1022 | 251 | xqtref_t contentType; | ||
1023 | 252 | |||
1024 | 253 | if (!typeLocal.empty()) | ||
1025 | 254 | { | ||
1026 | 255 | GENV_ITEMFACTORY->createQName(typeQName, typeNS, "", typeLocal); | ||
1027 | 256 | |||
1028 | 257 | contentType = tm->create_named_type(typeQName, QUANT_ONE, QueryLoc::null, false); | ||
1029 | 258 | |||
1030 | 259 | if (contentType == NULL) | ||
1031 | 260 | return Unmarshaller::createSequenceType(NULL); | ||
1032 | 261 | } | ||
1033 | 262 | |||
1034 | 263 | xqtref_t res = tm->create_node_type(store::StoreConsts::elementNode, | ||
1035 | 264 | nodeQName, | ||
1036 | 265 | contentType, | ||
1037 | 266 | quant, | ||
1038 | 267 | nillable, | ||
1039 | 268 | false); | ||
1040 | 269 | |||
1041 | 270 | return Unmarshaller::createSequenceType(res.getp()); | ||
1042 | 271 | } | ||
1043 | 272 | |||
1044 | 273 | |||
1045 | 274 | SequenceType SequenceType::createSchemaElementType( | ||
1046 | 275 | const StaticContext_t& sctx, | ||
1047 | 276 | const String& uri, | ||
1048 | 277 | const String& localName, | ||
1049 | 278 | Quantifier quant) | ||
1050 | 279 | { | ||
1051 | 280 | ZORBA_ASSERT(sctx != NULL); | ||
1052 | 281 | |||
1053 | 282 | static_context* sctx2 = Unmarshaller::getInternalStaticContext(sctx); | ||
1054 | 283 | |||
1055 | 284 | TypeManager* tm = sctx2->get_typemanager(); | ||
1056 | 285 | |||
1057 | 286 | zstring& ns = Unmarshaller::getInternalString(uri); | ||
1058 | 287 | zstring& local = Unmarshaller::getInternalString(localName); | ||
1059 | 288 | store::Item_t qname; | ||
1060 | 289 | |||
1061 | 290 | ZORBA_ASSERT(!local.empty()); | ||
1062 | 291 | |||
1063 | 292 | GENV_ITEMFACTORY->createQName(qname, ns, "", local); | ||
1064 | 293 | |||
1065 | 294 | try | ||
1066 | 295 | { | ||
1067 | 296 | xqtref_t res = tm->create_schema_element_type(qname, quant, QueryLoc::null); | ||
1068 | 297 | |||
1069 | 298 | return Unmarshaller::createSequenceType(res.getp()); | ||
1070 | 299 | } | ||
1071 | 300 | catch (...) | ||
1072 | 301 | { | ||
1073 | 302 | return Unmarshaller::createSequenceType(NULL); | ||
1074 | 303 | } | ||
1075 | 304 | } | ||
1076 | 305 | |||
1077 | 306 | |||
1078 | 307 | SequenceType SequenceType::createAttributeType( | ||
1079 | 308 | const StaticContext_t& sctx, | ||
1080 | 309 | const String& nodeUri, | ||
1081 | 310 | const String& nodeLocalName, | ||
1082 | 311 | const String& typeUri, | ||
1083 | 312 | const String& typeLocalName, | ||
1084 | 313 | Quantifier quant) | ||
1085 | 314 | { | ||
1086 | 315 | TypeManager* tm; | ||
1087 | 316 | |||
1088 | 317 | if (sctx == NULL) | ||
1089 | 318 | { | ||
1090 | 319 | tm = &GENV_TYPESYSTEM; | ||
1091 | 320 | } | ||
1092 | 321 | else | ||
1093 | 322 | { | ||
1094 | 323 | static_context* sctx2 = Unmarshaller::getInternalStaticContext(sctx); | ||
1095 | 324 | tm = sctx2->get_typemanager(); | ||
1096 | 325 | } | ||
1097 | 326 | |||
1098 | 327 | zstring& nodeNS = Unmarshaller::getInternalString(nodeUri); | ||
1099 | 328 | zstring& nodeLocal = Unmarshaller::getInternalString(nodeLocalName); | ||
1100 | 329 | store::Item_t nodeQName; | ||
1101 | 330 | |||
1102 | 331 | if (!nodeLocal.empty()) | ||
1103 | 332 | GENV_ITEMFACTORY->createQName(nodeQName, nodeNS, "", nodeLocal); | ||
1104 | 333 | |||
1105 | 334 | zstring& typeNS = Unmarshaller::getInternalString(typeUri); | ||
1106 | 335 | zstring& typeLocal = Unmarshaller::getInternalString(typeLocalName); | ||
1107 | 336 | store::Item_t typeQName; | ||
1108 | 337 | xqtref_t contentType; | ||
1109 | 338 | |||
1110 | 339 | if (!typeLocal.empty()) | ||
1111 | 340 | { | ||
1112 | 341 | GENV_ITEMFACTORY->createQName(typeQName, typeNS, "", typeLocal); | ||
1113 | 342 | |||
1114 | 343 | contentType = tm->create_named_type(typeQName, QUANT_ONE, QueryLoc::null, false); | ||
1115 | 344 | |||
1116 | 345 | if (contentType == NULL) | ||
1117 | 346 | return Unmarshaller::createSequenceType(NULL); | ||
1118 | 347 | } | ||
1119 | 348 | |||
1120 | 349 | xqtref_t res = tm->create_node_type(store::StoreConsts::attributeNode, | ||
1121 | 350 | nodeQName, | ||
1122 | 351 | contentType, | ||
1123 | 352 | quant, | ||
1124 | 353 | false, | ||
1125 | 354 | false); | ||
1126 | 355 | |||
1127 | 356 | return Unmarshaller::createSequenceType(res.getp()); | ||
1128 | 357 | } | ||
1129 | 358 | |||
1130 | 359 | |||
1131 | 360 | SequenceType SequenceType::createSchemaAttributeType( | ||
1132 | 361 | const StaticContext_t& sctx, | ||
1133 | 362 | const String& uri, | ||
1134 | 363 | const String& localName, | ||
1135 | 364 | Quantifier quant) | ||
1136 | 365 | { | ||
1137 | 366 | ZORBA_ASSERT(sctx != NULL); | ||
1138 | 367 | |||
1139 | 368 | static_context* sctx2 = Unmarshaller::getInternalStaticContext(sctx); | ||
1140 | 369 | |||
1141 | 370 | TypeManager* tm = sctx2->get_typemanager(); | ||
1142 | 371 | |||
1143 | 372 | zstring& ns = Unmarshaller::getInternalString(uri); | ||
1144 | 373 | zstring& local = Unmarshaller::getInternalString(localName); | ||
1145 | 374 | store::Item_t qname; | ||
1146 | 375 | |||
1147 | 376 | ZORBA_ASSERT(!local.empty()); | ||
1148 | 377 | |||
1149 | 378 | GENV_ITEMFACTORY->createQName(qname, ns, "", local); | ||
1150 | 379 | |||
1151 | 380 | try | ||
1152 | 381 | { | ||
1153 | 382 | xqtref_t res = tm->create_schema_attribute_type(qname, quant, QueryLoc::null); | ||
1154 | 383 | |||
1155 | 384 | return Unmarshaller::createSequenceType(res.getp()); | ||
1156 | 385 | } | ||
1157 | 386 | catch (...) | ||
1158 | 387 | { | ||
1159 | 388 | return Unmarshaller::createSequenceType(NULL); | ||
1160 | 389 | } | ||
1161 | 390 | } | ||
1162 | 391 | |||
1163 | 392 | |||
1164 | 393 | SequenceType SequenceType::createPIType(Quantifier quant) | ||
1165 | 394 | { | ||
1166 | 395 | TypeManager* tm = &GENV_TYPESYSTEM; | ||
1167 | 396 | |||
1168 | 397 | xqtref_t res = tm->create_node_type(store::StoreConsts::piNode, | ||
1169 | 398 | NULL, | ||
1170 | 399 | NULL, | ||
1171 | 400 | quant, | ||
1172 | 401 | false, | ||
1173 | 402 | false); | ||
1174 | 403 | |||
1175 | 404 | return Unmarshaller::createSequenceType(res.getp()); | ||
1176 | 405 | } | ||
1177 | 406 | |||
1178 | 407 | |||
1179 | 408 | SequenceType SequenceType::createTextType(Quantifier quant) | ||
1180 | 409 | { | ||
1181 | 410 | TypeManager* tm = &GENV_TYPESYSTEM; | ||
1182 | 411 | |||
1183 | 412 | xqtref_t res = tm->create_node_type(store::StoreConsts::textNode, | ||
1184 | 413 | NULL, | ||
1185 | 414 | NULL, | ||
1186 | 415 | quant, | ||
1187 | 416 | false, | ||
1188 | 417 | false); | ||
1189 | 418 | |||
1190 | 419 | return Unmarshaller::createSequenceType(res.getp()); | ||
1191 | 420 | } | ||
1192 | 421 | |||
1193 | 422 | |||
1194 | 423 | SequenceType SequenceType::createCommentType(Quantifier quant) | ||
1195 | 424 | { | ||
1196 | 425 | TypeManager* tm = &GENV_TYPESYSTEM; | ||
1197 | 426 | |||
1198 | 427 | xqtref_t res = tm->create_node_type(store::StoreConsts::commentNode, | ||
1199 | 428 | NULL, | ||
1200 | 429 | NULL, | ||
1201 | 430 | quant, | ||
1202 | 431 | false, | ||
1203 | 432 | false); | ||
1204 | 433 | |||
1205 | 434 | return Unmarshaller::createSequenceType(res.getp()); | ||
1206 | 435 | } | ||
1207 | 436 | |||
1208 | 437 | |||
1209 | 438 | SequenceType SequenceType::createNamespaceType(Quantifier quant) | ||
1210 | 439 | { | ||
1211 | 440 | TypeManager* tm = &GENV_TYPESYSTEM; | ||
1212 | 441 | |||
1213 | 442 | xqtref_t res = tm->create_node_type(store::StoreConsts::namespaceNode, | ||
1214 | 443 | NULL, | ||
1215 | 444 | NULL, | ||
1216 | 445 | quant, | ||
1217 | 446 | false, | ||
1218 | 447 | false); | ||
1219 | 448 | |||
1220 | 449 | return Unmarshaller::createSequenceType(res.getp()); | ||
1221 | 450 | } | ||
1222 | 451 | |||
1223 | 452 | |||
1224 | 453 | SequenceType SequenceType::createJSONItemType(Quantifier q) | ||
1225 | 454 | { | ||
1226 | 455 | TypeManager* tm = &GENV_TYPESYSTEM; | ||
1227 | 456 | |||
1228 | 457 | xqtref_t res = tm->create_json_type(store::StoreConsts::jsonItem, q); | ||
1229 | 458 | |||
1230 | 459 | return Unmarshaller::createSequenceType(res.getp()); | ||
1231 | 460 | } | ||
1232 | 461 | |||
1233 | 462 | |||
1234 | 463 | SequenceType SequenceType::createJSONObjectType(Quantifier q) | ||
1235 | 464 | { | ||
1236 | 465 | TypeManager* tm = &GENV_TYPESYSTEM; | ||
1237 | 466 | |||
1238 | 467 | xqtref_t res = tm->create_json_type(store::StoreConsts::jsonObject, q); | ||
1239 | 468 | |||
1240 | 469 | return Unmarshaller::createSequenceType(res.getp()); | ||
1241 | 470 | } | ||
1242 | 471 | |||
1243 | 472 | |||
1244 | 473 | SequenceType SequenceType::createJSONArrayType(Quantifier q) | ||
1245 | 474 | { | ||
1246 | 475 | TypeManager* tm = &GENV_TYPESYSTEM; | ||
1247 | 476 | |||
1248 | 477 | xqtref_t res = tm->create_json_type(store::StoreConsts::jsonArray, q); | ||
1249 | 478 | |||
1250 | 479 | return Unmarshaller::createSequenceType(res.getp()); | ||
1251 | 480 | } | ||
1252 | 481 | |||
1253 | 482 | |||
1254 | 483 | |||
1255 | 484 | /******************************************************************************* | ||
1256 | 485 | |||
1257 | 486 | ********************************************************************************/ | ||
1258 | 487 | SequenceType::SequenceType() | ||
1259 | 488 | : | ||
1260 | 489 | theType(NULL) | ||
1261 | 490 | { | ||
1262 | 491 | } | ||
1263 | 492 | |||
1264 | 493 | |||
1265 | 494 | SequenceType::SequenceType(const XQType* type) | ||
1266 | 495 | : | ||
1267 | 496 | theType(type) | ||
1268 | 497 | { | ||
1269 | 498 | if (theType) | ||
1270 | 499 | RCHelper::addReference(theType); | ||
1271 | 500 | } | ||
1272 | 501 | |||
1273 | 502 | |||
1274 | 503 | SequenceType::SequenceType(const SequenceType& other) | ||
1275 | 504 | : | ||
1276 | 505 | theType(other.theType) | ||
1277 | 506 | { | ||
1278 | 507 | if (theType) | ||
1279 | 508 | RCHelper::addReference(theType); | ||
1280 | 509 | } | ||
1281 | 510 | |||
1282 | 511 | |||
1283 | 512 | SequenceType::~SequenceType() | ||
1284 | 513 | { | ||
1285 | 514 | if (theType) | ||
1286 | 515 | { | ||
1287 | 516 | RCHelper::removeReference(const_cast<XQType*>(theType)); | ||
1288 | 517 | theType = NULL; | ||
1289 | 518 | } | ||
1290 | 519 | } | ||
1291 | 520 | |||
1292 | 521 | |||
1293 | 522 | bool SequenceType::isValid() const | ||
1294 | 523 | { | ||
1295 | 524 | return theType != NULL; | ||
1296 | 525 | } | ||
1297 | 526 | |||
1298 | 527 | |||
1299 | 528 | SequenceType::Quantifier SequenceType::getQuantifier() const | ||
1300 | 529 | { | ||
1301 | 530 | return (theType->get_quantifier()); | ||
1302 | 531 | } | ||
1303 | 532 | |||
1304 | 533 | |||
1305 | 534 | SequenceType::Kind SequenceType::getKind() const | ||
1306 | 535 | { | ||
1307 | 536 | switch(theType->type_kind()) | ||
1308 | 537 | { | ||
1309 | 538 | case XQType::EMPTY_KIND: | ||
1310 | 539 | { | ||
1311 | 540 | return EMPTY_TYPE; | ||
1312 | 541 | } | ||
1313 | 542 | case XQType::ITEM_KIND: | ||
1314 | 543 | { | ||
1315 | 544 | return ITEM_TYPE; | ||
1316 | 545 | } | ||
1317 | 546 | case XQType::ATOMIC_TYPE_KIND: | ||
1318 | 547 | { | ||
1319 | 548 | return ATOMIC_OR_UNION_TYPE; | ||
1320 | 549 | } | ||
1321 | 550 | case XQType::USER_DEFINED_KIND: | ||
1322 | 551 | { | ||
1323 | 552 | if (theType->isGenAtomicAny()) | ||
1324 | 553 | return ATOMIC_OR_UNION_TYPE; | ||
1325 | 554 | else | ||
1326 | 555 | return INVALID_TYPE; | ||
1327 | 556 | } | ||
1328 | 557 | case XQType::STRUCTURED_ITEM_KIND: | ||
1329 | 558 | { | ||
1330 | 559 | return STRUCTURED_ITEM_TYPE; | ||
1331 | 560 | } | ||
1332 | 561 | case XQType::NODE_TYPE_KIND: | ||
1333 | 562 | { | ||
1334 | 563 | const NodeXQType* nt = static_cast<const NodeXQType*>(theType); | ||
1335 | 564 | |||
1336 | 565 | switch (nt->get_node_kind()) | ||
1337 | 566 | { | ||
1338 | 567 | case store::StoreConsts::anyNode: | ||
1339 | 568 | { | ||
1340 | 569 | return NODE_TYPE; | ||
1341 | 570 | } | ||
1342 | 571 | case store::StoreConsts::documentNode: | ||
1343 | 572 | { | ||
1344 | 573 | return DOCUMENT_TYPE; | ||
1345 | 574 | } | ||
1346 | 575 | case store::StoreConsts::elementNode: | ||
1347 | 576 | { | ||
1348 | 577 | if (nt->is_schema_test()) | ||
1349 | 578 | return SCHEMA_ELEMENT_TYPE; | ||
1350 | 579 | else | ||
1351 | 580 | return ELEMENT_TYPE; | ||
1352 | 581 | } | ||
1353 | 582 | case store::StoreConsts::attributeNode: | ||
1354 | 583 | { | ||
1355 | 584 | if (nt->is_schema_test()) | ||
1356 | 585 | return SCHEMA_ATTRIBUTE_TYPE; | ||
1357 | 586 | else | ||
1358 | 587 | return ATTRIBUTE_TYPE; | ||
1359 | 588 | } | ||
1360 | 589 | case store::StoreConsts::textNode: | ||
1361 | 590 | { | ||
1362 | 591 | return TEXT_TYPE; | ||
1363 | 592 | } | ||
1364 | 593 | case store::StoreConsts::commentNode: | ||
1365 | 594 | { | ||
1366 | 595 | return COMMENT_TYPE; | ||
1367 | 596 | } | ||
1368 | 597 | case store::StoreConsts::piNode: | ||
1369 | 598 | { | ||
1370 | 599 | return PI_TYPE; | ||
1371 | 600 | } | ||
1372 | 601 | case store::StoreConsts::namespaceNode: | ||
1373 | 602 | { | ||
1374 | 603 | return NAMESPACE_TYPE; | ||
1375 | 604 | } | ||
1376 | 605 | default: | ||
1377 | 606 | { | ||
1378 | 607 | ZORBA_ASSERT(false); | ||
1379 | 608 | return INVALID_TYPE; | ||
1380 | 609 | } | ||
1381 | 610 | } | ||
1382 | 611 | } | ||
1383 | 612 | case XQType::JSON_TYPE_KIND: | ||
1384 | 613 | { | ||
1385 | 614 | const JSONXQType* t = static_cast<const JSONXQType*>(theType); | ||
1386 | 615 | |||
1387 | 616 | switch (t->get_json_kind()) | ||
1388 | 617 | { | ||
1389 | 618 | case store::StoreConsts::jsonItem: | ||
1390 | 619 | return JSON_ITEM_TYPE; | ||
1391 | 620 | |||
1392 | 621 | case store::StoreConsts::jsonObject: | ||
1393 | 622 | return JSON_OBJECT_TYPE; | ||
1394 | 623 | |||
1395 | 624 | case store::StoreConsts::jsonArray: | ||
1396 | 625 | return JSON_ARRAY_TYPE; | ||
1397 | 626 | |||
1398 | 627 | default: | ||
1399 | 628 | ZORBA_ASSERT(false); | ||
1400 | 629 | } | ||
1401 | 630 | } | ||
1402 | 631 | case XQType::UNTYPED_KIND: | ||
1403 | 632 | case XQType::ANY_TYPE_KIND: | ||
1404 | 633 | case XQType::ANY_SIMPLE_TYPE_KIND: | ||
1405 | 634 | default: | ||
1406 | 635 | { | ||
1407 | 636 | return INVALID_TYPE; | ||
1408 | 637 | } | ||
1409 | 638 | } | ||
1410 | 639 | } | ||
1411 | 640 | |||
1412 | 641 | |||
1413 | 642 | String SequenceType::getTypeUri() const | ||
1414 | 643 | { | ||
1415 | 644 | switch (theType->type_kind()) | ||
1416 | 645 | { | ||
1417 | 646 | case XQType::ATOMIC_TYPE_KIND: | ||
1418 | 647 | case XQType::USER_DEFINED_KIND: | ||
1419 | 648 | { | ||
1420 | 649 | store::Item_t qname = theType->getQName(); | ||
1421 | 650 | |||
1422 | 651 | return Unmarshaller::newString(qname->getNamespace()); | ||
1423 | 652 | } | ||
1424 | 653 | default: | ||
1425 | 654 | { | ||
1426 | 655 | return String(""); | ||
1427 | 656 | } | ||
1428 | 657 | } | ||
1429 | 658 | } | ||
1430 | 659 | |||
1431 | 660 | |||
1432 | 661 | String SequenceType::getTypeLocalName() const | ||
1433 | 662 | { | ||
1434 | 663 | switch (theType->type_kind()) | ||
1435 | 664 | { | ||
1436 | 665 | case XQType::ATOMIC_TYPE_KIND: | ||
1437 | 666 | case XQType::USER_DEFINED_KIND: | ||
1438 | 667 | { | ||
1439 | 668 | store::Item_t qname = theType->getQName(); | ||
1440 | 669 | |||
1441 | 670 | return Unmarshaller::newString(qname->getLocalName()); | ||
1442 | 671 | } | ||
1443 | 672 | default: | ||
1444 | 673 | { | ||
1445 | 674 | return String(""); | ||
1446 | 675 | } | ||
1447 | 676 | } | ||
1448 | 677 | } | ||
1449 | 678 | |||
1450 | 679 | |||
1451 | 680 | String SequenceType::getNodeUri() const | ||
1452 | 681 | { | ||
1453 | 682 | if (theType->type_kind() == XQType::NODE_TYPE_KIND) | ||
1454 | 683 | { | ||
1455 | 684 | const NodeXQType* nt = static_cast<const NodeXQType*>(theType); | ||
1456 | 685 | |||
1457 | 686 | if (nt->get_node_name() != NULL) | ||
1458 | 687 | return Unmarshaller::newString(nt->get_node_name()->getNamespace()); | ||
1459 | 688 | } | ||
1460 | 689 | |||
1461 | 690 | return String(""); | ||
1462 | 691 | } | ||
1463 | 692 | |||
1464 | 693 | |||
1465 | 694 | String SequenceType::getNodeLocalName() const | ||
1466 | 695 | { | ||
1467 | 696 | if (theType->type_kind() == XQType::NODE_TYPE_KIND) | ||
1468 | 697 | { | ||
1469 | 698 | const NodeXQType* nt = static_cast<const NodeXQType*>(theType); | ||
1470 | 699 | |||
1471 | 700 | if (nt->get_node_name() != NULL) | ||
1472 | 701 | return Unmarshaller::newString(nt->get_node_name()->getLocalName()); | ||
1473 | 702 | } | ||
1474 | 703 | |||
1475 | 704 | return String(""); | ||
1476 | 705 | } | ||
1477 | 706 | |||
1478 | 707 | |||
1479 | 708 | String SequenceType::getContentTypeUri() const | ||
1480 | 709 | { | ||
1481 | 710 | switch (theType->type_kind()) | ||
1482 | 711 | { | ||
1483 | 712 | case XQType::NODE_TYPE_KIND: | ||
1484 | 713 | { | ||
1485 | 714 | const NodeXQType* nt = static_cast<const NodeXQType*>(theType); | ||
1486 | 715 | |||
1487 | 716 | store::StoreConsts::NodeKind nodeKind = nt->get_node_kind(); | ||
1488 | 717 | |||
1489 | 718 | if (nodeKind == store::StoreConsts::elementNode || | ||
1490 | 719 | nodeKind == store::StoreConsts::attributeNode) | ||
1491 | 720 | { | ||
1492 | 721 | const XQType* contentType = nt->get_content_type(); | ||
1493 | 722 | |||
1494 | 723 | if (contentType != NULL) | ||
1495 | 724 | return Unmarshaller::newString(contentType->getQName()->getNamespace()); | ||
1496 | 725 | } | ||
1497 | 726 | } | ||
1498 | 727 | default: | ||
1499 | 728 | { | ||
1500 | 729 | return String(""); | ||
1501 | 730 | } | ||
1502 | 731 | } | ||
1503 | 732 | } | ||
1504 | 733 | |||
1505 | 734 | |||
1506 | 735 | String SequenceType::getContentTypeLocalName() const | ||
1507 | 736 | { | ||
1508 | 737 | switch (theType->type_kind()) | ||
1509 | 738 | { | ||
1510 | 739 | case XQType::NODE_TYPE_KIND: | ||
1511 | 740 | { | ||
1512 | 741 | const NodeXQType* nt = static_cast<const NodeXQType*>(theType); | ||
1513 | 742 | |||
1514 | 743 | store::StoreConsts::NodeKind nodeKind = nt->get_node_kind(); | ||
1515 | 744 | |||
1516 | 745 | if (nodeKind == store::StoreConsts::elementNode || | ||
1517 | 746 | nodeKind == store::StoreConsts::attributeNode) | ||
1518 | 747 | { | ||
1519 | 748 | const XQType* contentType = nt->get_content_type(); | ||
1520 | 749 | |||
1521 | 750 | if (contentType != NULL) | ||
1522 | 751 | return Unmarshaller::newString(contentType->getQName()->getLocalName()); | ||
1523 | 752 | } | ||
1524 | 753 | } | ||
1525 | 754 | default: | ||
1526 | 755 | { | ||
1527 | 756 | return String(""); | ||
1528 | 757 | } | ||
1529 | 758 | } | ||
1530 | 759 | } | ||
1531 | 760 | |||
1532 | 761 | |||
1533 | 762 | bool SequenceType::isWildcard() const | ||
1534 | 763 | { | ||
1535 | 764 | if (theType->type_kind() == XQType::NODE_TYPE_KIND) | ||
1536 | 765 | { | ||
1537 | 766 | const NodeXQType* nt = static_cast<const NodeXQType*>(theType); | ||
1538 | 767 | |||
1539 | 768 | if (nt->get_node_name() == NULL) | ||
1540 | 769 | return true; | ||
1541 | 770 | } | ||
1542 | 771 | |||
1543 | 772 | return false; | ||
1544 | 773 | } | ||
1545 | 774 | |||
1546 | 775 | |||
1547 | 776 | bool SequenceType::isSchemaTest() const | ||
1548 | 777 | { | ||
1549 | 778 | if (theType->type_kind() == XQType::NODE_TYPE_KIND) | ||
1550 | 779 | { | ||
1551 | 780 | const NodeXQType* nt = static_cast<const NodeXQType*>(theType); | ||
1552 | 781 | |||
1553 | 782 | return nt->is_schema_test(); | ||
1554 | 783 | } | ||
1555 | 784 | |||
1556 | 785 | return false; | ||
1557 | 786 | } | ||
1558 | 787 | |||
1559 | 788 | |||
1560 | 789 | std::ostream& SequenceType::emit(std::ostream& os) const | ||
1561 | 790 | { | ||
1562 | 791 | return os << theType->toSchemaString(); | ||
1563 | 792 | } | ||
1564 | 793 | |||
1565 | 794 | |||
1566 | 795 | } | ||
1567 | 796 | |||
1568 | 797 | |||
1569 | 798 | #endif | ||
1570 | 799 | /* vim:set et sw=2 ts=2: */ | ||
1571 | 0 | 800 | ||
1572 | === modified file 'src/api/staticcontextimpl.cpp' | |||
1573 | --- src/api/staticcontextimpl.cpp 2013-08-16 13:00:06 +0000 | |||
1574 | +++ src/api/staticcontextimpl.cpp 2013-09-24 21:48:10 +0000 | |||
1575 | @@ -800,18 +800,17 @@ | |||
1576 | 800 | /******************************************************************************* | 800 | /******************************************************************************* |
1577 | 801 | URI Mapper | 801 | URI Mapper |
1578 | 802 | *******************************************************************************/ | 802 | *******************************************************************************/ |
1581 | 803 | void | 803 | void StaticContextImpl::registerURIMapper(URIMapper* aMapper) |
1580 | 804 | StaticContextImpl::registerURIMapper(URIMapper* aMapper) | ||
1582 | 805 | { | 804 | { |
1583 | 806 | // QQQ memory management? | 805 | // QQQ memory management? |
1584 | 807 | theCtx->add_uri_mapper(new URIMapperWrapper(*aMapper)); | 806 | theCtx->add_uri_mapper(new URIMapperWrapper(*aMapper)); |
1585 | 808 | } | 807 | } |
1586 | 809 | 808 | ||
1587 | 809 | |||
1588 | 810 | /******************************************************************************* | 810 | /******************************************************************************* |
1589 | 811 | URL Resolver | 811 | URL Resolver |
1590 | 812 | *******************************************************************************/ | 812 | *******************************************************************************/ |
1593 | 813 | void | 813 | void StaticContextImpl::registerURLResolver(URLResolver* aResolver) |
1592 | 814 | StaticContextImpl::registerURLResolver(URLResolver* aResolver) | ||
1594 | 815 | { | 814 | { |
1595 | 816 | // QQQ memory management? | 815 | // QQQ memory management? |
1596 | 817 | theCtx->add_url_resolver(new URLResolverWrapper(*aResolver)); | 816 | theCtx->add_url_resolver(new URLResolverWrapper(*aResolver)); |
1597 | @@ -822,15 +821,13 @@ | |||
1598 | 822 | /******************************************************************************* | 821 | /******************************************************************************* |
1599 | 823 | 822 | ||
1600 | 824 | ********************************************************************************/ | 823 | ********************************************************************************/ |
1603 | 825 | void | 824 | void StaticContextImpl::setDocumentType(const String& aDocUri, const SequenceType& type) |
1602 | 826 | StaticContextImpl::setDocumentType(const String& aDocUri, TypeIdentifier_t type) | ||
1604 | 827 | { | 825 | { |
1610 | 828 | xqtref_t xqType = NULL; | 826 | xqtref_t xqType = Unmarshaller::getInternalType(type); |
1606 | 829 | if (type != NULL) { | ||
1607 | 830 | xqType = theCtx->get_typemanager()->create_type(*type); | ||
1608 | 831 | } | ||
1609 | 832 | |||
1611 | 833 | const zstring& uri = Unmarshaller::getInternalString(aDocUri); | 827 | const zstring& uri = Unmarshaller::getInternalString(aDocUri); |
1612 | 828 | |||
1613 | 829 | ZORBA_ASSERT(xqType != NULL); | ||
1614 | 830 | |||
1615 | 834 | theCtx->bind_document(uri, xqType); | 831 | theCtx->bind_document(uri, xqType); |
1616 | 835 | } | 832 | } |
1617 | 836 | 833 | ||
1618 | @@ -838,33 +835,27 @@ | |||
1619 | 838 | /******************************************************************************* | 835 | /******************************************************************************* |
1620 | 839 | 836 | ||
1621 | 840 | ********************************************************************************/ | 837 | ********************************************************************************/ |
1624 | 841 | TypeIdentifier_t | 838 | SequenceType StaticContextImpl::getDocumentType(const String& aDocUri) const |
1623 | 842 | StaticContextImpl::getDocumentType(const String& aDocUri) const | ||
1625 | 843 | { | 839 | { |
1626 | 844 | const zstring& uri = Unmarshaller::getInternalString(aDocUri); | 840 | const zstring& uri = Unmarshaller::getInternalString(aDocUri); |
1627 | 845 | xqtref_t xqType = theCtx->lookup_document(uri); | 841 | xqtref_t xqType = theCtx->lookup_document(uri); |
1628 | 846 | TypeIdentifier_t type = NULL; | ||
1629 | 847 | if (xqType == NULL) | ||
1630 | 848 | { | ||
1631 | 849 | return NULL; | ||
1632 | 850 | } | ||
1633 | 851 | 842 | ||
1635 | 852 | return TypeOps::get_type_identifier(theCtx->get_typemanager(), *xqType); | 843 | return Unmarshaller::createSequenceType(xqType.getp()); |
1636 | 853 | } | 844 | } |
1637 | 854 | 845 | ||
1638 | 855 | 846 | ||
1639 | 856 | /******************************************************************************* | 847 | /******************************************************************************* |
1640 | 857 | 848 | ||
1641 | 858 | ********************************************************************************/ | 849 | ********************************************************************************/ |
1644 | 859 | void | 850 | void StaticContextImpl::setCollectionType( |
1645 | 860 | StaticContextImpl::setCollectionType(const String& aCollectionUri, TypeIdentifier_t type) | 851 | const String& aCollectionUri, |
1646 | 852 | const SequenceType& type) | ||
1647 | 861 | { | 853 | { |
1653 | 862 | xqtref_t xqType = NULL; | 854 | xqtref_t xqType = Unmarshaller::getInternalType(type); |
1649 | 863 | if (type != NULL) | ||
1650 | 864 | { | ||
1651 | 865 | xqType = theCtx->get_typemanager()->create_type(*type); | ||
1652 | 866 | } | ||
1654 | 867 | zstring& uri = Unmarshaller::getInternalString(aCollectionUri); | 855 | zstring& uri = Unmarshaller::getInternalString(aCollectionUri); |
1655 | 856 | |||
1656 | 857 | ZORBA_ASSERT(xqType != NULL); | ||
1657 | 858 | |||
1658 | 868 | theCtx->bind_w3c_collection(uri, xqType); | 859 | theCtx->bind_w3c_collection(uri, xqType); |
1659 | 869 | } | 860 | } |
1660 | 870 | 861 | ||
1661 | @@ -872,20 +863,17 @@ | |||
1662 | 872 | /******************************************************************************* | 863 | /******************************************************************************* |
1663 | 873 | 864 | ||
1664 | 874 | ********************************************************************************/ | 865 | ********************************************************************************/ |
1667 | 875 | TypeIdentifier_t | 866 | SequenceType StaticContextImpl::getCollectionType(const String& uri) const |
1666 | 876 | StaticContextImpl::getCollectionType(const String& aCollectionUri) const | ||
1668 | 877 | { | 867 | { |
1669 | 878 | 868 | ||
1678 | 879 | const zstring& uri = Unmarshaller::getInternalString(aCollectionUri); | 869 | const zstring& uri2 = Unmarshaller::getInternalString(uri); |
1679 | 880 | const XQType* xqType = theCtx->lookup_w3c_collection(uri); | 870 | |
1680 | 881 | TypeIdentifier_t type = NULL; | 871 | const XQType* xqType = theCtx->lookup_w3c_collection(uri2); |
1681 | 882 | if (xqType == NULL) | 872 | |
1682 | 883 | { | 873 | return Unmarshaller::createSequenceType(xqType); |
1675 | 884 | return NULL; | ||
1676 | 885 | } | ||
1677 | 886 | return TypeOps::get_type_identifier(theCtx->get_typemanager(), *xqType); | ||
1683 | 887 | } | 874 | } |
1684 | 888 | 875 | ||
1685 | 876 | |||
1686 | 889 | /******************************************************************************* | 877 | /******************************************************************************* |
1687 | 890 | 878 | ||
1688 | 891 | ********************************************************************************/ | 879 | ********************************************************************************/ |
1689 | @@ -1041,14 +1029,12 @@ | |||
1690 | 1041 | /******************************************************************************* | 1029 | /******************************************************************************* |
1691 | 1042 | 1030 | ||
1692 | 1043 | ********************************************************************************/ | 1031 | ********************************************************************************/ |
1695 | 1044 | void | 1032 | void StaticContextImpl::setContextItemStaticType(const SequenceType& type) |
1694 | 1045 | StaticContextImpl::setContextItemStaticType(TypeIdentifier_t type) | ||
1696 | 1046 | { | 1033 | { |
1702 | 1047 | xqtref_t xqType = NULL; | 1034 | xqtref_t xqType = Unmarshaller::getInternalType(type); |
1703 | 1048 | if (type != NULL) | 1035 | |
1704 | 1049 | { | 1036 | ZORBA_ASSERT(xqType != NULL); |
1705 | 1050 | xqType = theCtx->get_typemanager()->create_type(*type); | 1037 | |
1701 | 1051 | } | ||
1706 | 1052 | theCtx->set_context_item_type(xqType, QueryLoc::null); | 1038 | theCtx->set_context_item_type(xqType, QueryLoc::null); |
1707 | 1053 | } | 1039 | } |
1708 | 1054 | 1040 | ||
1709 | @@ -1056,15 +1042,11 @@ | |||
1710 | 1056 | /******************************************************************************* | 1042 | /******************************************************************************* |
1711 | 1057 | 1043 | ||
1712 | 1058 | ********************************************************************************/ | 1044 | ********************************************************************************/ |
1715 | 1059 | TypeIdentifier_t | 1045 | SequenceType StaticContextImpl::getContextItemStaticType() const |
1714 | 1060 | StaticContextImpl::getContextItemStaticType() const | ||
1716 | 1061 | { | 1046 | { |
1717 | 1062 | xqtref_t type = theCtx->get_context_item_type(); | 1047 | xqtref_t type = theCtx->get_context_item_type(); |
1723 | 1063 | if (type == NULL) | 1048 | |
1724 | 1064 | { | 1049 | return Unmarshaller::createSequenceType(type.getp()); |
1720 | 1065 | return NULL; | ||
1721 | 1066 | } | ||
1722 | 1067 | return TypeOps::get_type_identifier(theCtx->get_typemanager(), *type); | ||
1725 | 1068 | } | 1050 | } |
1726 | 1069 | 1051 | ||
1727 | 1070 | 1052 | ||
1728 | 1071 | 1053 | ||
1729 | === modified file 'src/api/staticcontextimpl.h' | |||
1730 | --- src/api/staticcontextimpl.h 2013-08-06 08:34:43 +0000 | |||
1731 | +++ src/api/staticcontextimpl.h 2013-09-24 21:48:10 +0000 | |||
1732 | @@ -17,7 +17,6 @@ | |||
1733 | 17 | #ifndef ZORBA_API_STATIC_CONTEXT_IMPL_H | 17 | #ifndef ZORBA_API_STATIC_CONTEXT_IMPL_H |
1734 | 18 | #define ZORBA_API_STATIC_CONTEXT_IMPL_H | 18 | #define ZORBA_API_STATIC_CONTEXT_IMPL_H |
1735 | 19 | 19 | ||
1736 | 20 | #include <zorba/typeident.h> | ||
1737 | 21 | #include <zorba/static_context.h> | 20 | #include <zorba/static_context.h> |
1738 | 22 | #include <zorba/api_shared_types.h> | 21 | #include <zorba/api_shared_types.h> |
1739 | 23 | #include <map> | 22 | #include <map> |
1740 | @@ -187,9 +186,9 @@ | |||
1741 | 187 | registerModule(ExternalModule* aModule); | 186 | registerModule(ExternalModule* aModule); |
1742 | 188 | 187 | ||
1743 | 189 | virtual void | 188 | virtual void |
1745 | 190 | setDocumentType(const String& aDocUri, TypeIdentifier_t type); | 189 | setDocumentType(const String& aDocUri, const SequenceType& type); |
1746 | 191 | 190 | ||
1748 | 192 | virtual TypeIdentifier_t | 191 | virtual SequenceType |
1749 | 193 | getDocumentType(const String& aDocUri) const; | 192 | getDocumentType(const String& aDocUri) const; |
1750 | 194 | 193 | ||
1751 | 195 | virtual void | 194 | virtual void |
1752 | @@ -199,9 +198,9 @@ | |||
1753 | 199 | registerURLResolver(URLResolver* aResolver); | 198 | registerURLResolver(URLResolver* aResolver); |
1754 | 200 | 199 | ||
1755 | 201 | virtual void | 200 | virtual void |
1757 | 202 | setCollectionType(const String& aCollectionUri, TypeIdentifier_t type); | 201 | setCollectionType(const String& aCollectionUri, const SequenceType& type); |
1758 | 203 | 202 | ||
1760 | 204 | virtual TypeIdentifier_t | 203 | virtual SequenceType |
1761 | 205 | getCollectionType(const String& aCollectionUri) const; | 204 | getCollectionType(const String& aCollectionUri) const; |
1762 | 206 | 205 | ||
1763 | 207 | virtual bool | 206 | virtual bool |
1764 | @@ -229,9 +228,9 @@ | |||
1765 | 229 | std::vector<Function_t>& aFunctions) const; | 228 | std::vector<Function_t>& aFunctions) const; |
1766 | 230 | 229 | ||
1767 | 231 | virtual void | 230 | virtual void |
1769 | 232 | setContextItemStaticType(TypeIdentifier_t type); | 231 | setContextItemStaticType(const SequenceType& type); |
1770 | 233 | 232 | ||
1772 | 234 | virtual TypeIdentifier_t | 233 | virtual SequenceType |
1773 | 235 | getContextItemStaticType() const; | 234 | getContextItemStaticType() const; |
1774 | 236 | 235 | ||
1775 | 237 | virtual void | 236 | virtual void |
1776 | 238 | 237 | ||
1777 | === removed file 'src/api/typeidentimpl.cpp' | |||
1778 | --- src/api/typeidentimpl.cpp 2013-06-15 02:57:08 +0000 | |||
1779 | +++ src/api/typeidentimpl.cpp 1970-01-01 00:00:00 +0000 | |||
1780 | @@ -1,397 +0,0 @@ | |||
1781 | 1 | /* | ||
1782 | 2 | * Copyright 2006-2008 The FLWOR Foundation. | ||
1783 | 3 | * | ||
1784 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); | ||
1785 | 5 | * you may not use this file except in compliance with the License. | ||
1786 | 6 | * You may obtain a copy of the License at | ||
1787 | 7 | * | ||
1788 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 | ||
1789 | 9 | * | ||
1790 | 10 | * Unless required by applicable law or agreed to in writing, software | ||
1791 | 11 | * distributed under the License is distributed on an "AS IS" BASIS, | ||
1792 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
1793 | 13 | * See the License for the specific language governing permissions and | ||
1794 | 14 | * limitations under the License. | ||
1795 | 15 | */ | ||
1796 | 16 | #include "stdafx.h" | ||
1797 | 17 | |||
1798 | 18 | #ifndef ZORBA_TYPEIDENT_IMPL_H | ||
1799 | 19 | #define ZORBA_TYPEIDENT_IMPL_H | ||
1800 | 20 | |||
1801 | 21 | #include <zorba/typeident.h> | ||
1802 | 22 | |||
1803 | 23 | #include "diagnostics/assert.h" | ||
1804 | 24 | |||
1805 | 25 | namespace zorba { | ||
1806 | 26 | |||
1807 | 27 | TypeIdentifier::TypeIdentifier() | ||
1808 | 28 | : | ||
1809 | 29 | m_kind(IdentTypes::INVALID_TYPE), | ||
1810 | 30 | m_quantifier(IdentTypes::QUANT_ONE), | ||
1811 | 31 | m_uri(""), | ||
1812 | 32 | m_uriWildcard(false), | ||
1813 | 33 | m_localName(""), | ||
1814 | 34 | m_localNameWildcard(false), | ||
1815 | 35 | m_contentType() | ||
1816 | 36 | { | ||
1817 | 37 | } | ||
1818 | 38 | |||
1819 | 39 | |||
1820 | 40 | TypeIdentifier::~TypeIdentifier() | ||
1821 | 41 | { | ||
1822 | 42 | } | ||
1823 | 43 | |||
1824 | 44 | |||
1825 | 45 | IdentTypes::kind_t TypeIdentifier::getKind() const | ||
1826 | 46 | { | ||
1827 | 47 | return m_kind; | ||
1828 | 48 | } | ||
1829 | 49 | |||
1830 | 50 | |||
1831 | 51 | IdentTypes::quantifier_t TypeIdentifier::getQuantifier() const | ||
1832 | 52 | { | ||
1833 | 53 | return m_quantifier; | ||
1834 | 54 | } | ||
1835 | 55 | |||
1836 | 56 | |||
1837 | 57 | const String& TypeIdentifier::getUri() const | ||
1838 | 58 | { | ||
1839 | 59 | return m_uri; | ||
1840 | 60 | } | ||
1841 | 61 | |||
1842 | 62 | |||
1843 | 63 | bool TypeIdentifier::isUriWildcard() const | ||
1844 | 64 | { | ||
1845 | 65 | return m_uriWildcard; | ||
1846 | 66 | } | ||
1847 | 67 | |||
1848 | 68 | |||
1849 | 69 | const String& TypeIdentifier::getLocalName() const | ||
1850 | 70 | { | ||
1851 | 71 | return m_localName; | ||
1852 | 72 | } | ||
1853 | 73 | |||
1854 | 74 | |||
1855 | 75 | bool TypeIdentifier::isLocalNameWildcard() const | ||
1856 | 76 | { | ||
1857 | 77 | return m_localNameWildcard; | ||
1858 | 78 | } | ||
1859 | 79 | |||
1860 | 80 | |||
1861 | 81 | TypeIdentifier_t TypeIdentifier::getContentType() const | ||
1862 | 82 | { | ||
1863 | 83 | return m_contentType; | ||
1864 | 84 | } | ||
1865 | 85 | |||
1866 | 86 | |||
1867 | 87 | TypeIdentifier_t TypeIdentifier::createNamedType( | ||
1868 | 88 | const String& uri, | ||
1869 | 89 | const String& localName, | ||
1870 | 90 | IdentTypes::quantifier_t quantifier) | ||
1871 | 91 | { | ||
1872 | 92 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1873 | 93 | ti->m_kind = IdentTypes::NAMED_TYPE; | ||
1874 | 94 | ti->m_quantifier = quantifier; | ||
1875 | 95 | ti->m_uri = uri; | ||
1876 | 96 | ti->m_localName = localName; | ||
1877 | 97 | |||
1878 | 98 | return ti; | ||
1879 | 99 | } | ||
1880 | 100 | |||
1881 | 101 | |||
1882 | 102 | TypeIdentifier_t TypeIdentifier::createElementType( | ||
1883 | 103 | const String& uri, | ||
1884 | 104 | bool uriWildcard, | ||
1885 | 105 | const String& localName, | ||
1886 | 106 | bool localNameWildcard, | ||
1887 | 107 | TypeIdentifier_t contentType, | ||
1888 | 108 | IdentTypes::quantifier_t quantifier) | ||
1889 | 109 | { | ||
1890 | 110 | // not sure why those were 2 different flags, we maintain 2 flags for | ||
1891 | 111 | // compatibility, but they always need to be the same | ||
1892 | 112 | ZORBA_ASSERT(uriWildcard == localNameWildcard); | ||
1893 | 113 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1894 | 114 | ti->m_kind = IdentTypes::ELEMENT_TYPE; | ||
1895 | 115 | ti->m_quantifier = quantifier; | ||
1896 | 116 | ti->m_uri = uri; | ||
1897 | 117 | ti->m_uriWildcard = uriWildcard; | ||
1898 | 118 | ti->m_localName = localName; | ||
1899 | 119 | ti->m_localNameWildcard = localNameWildcard; | ||
1900 | 120 | ti->m_contentType = contentType; | ||
1901 | 121 | |||
1902 | 122 | return ti; | ||
1903 | 123 | } | ||
1904 | 124 | |||
1905 | 125 | |||
1906 | 126 | TypeIdentifier_t TypeIdentifier::createAttributeType( | ||
1907 | 127 | const String& uri, | ||
1908 | 128 | bool uriWildcard, | ||
1909 | 129 | const String& localName, | ||
1910 | 130 | bool localNameWildcard, | ||
1911 | 131 | TypeIdentifier_t contentType, | ||
1912 | 132 | IdentTypes::quantifier_t quantifier) | ||
1913 | 133 | { | ||
1914 | 134 | // not sure why those were 2 different flags, we maintain 2 flags for | ||
1915 | 135 | // compatibility, but they always need to be the same | ||
1916 | 136 | ZORBA_ASSERT(uriWildcard == localNameWildcard); | ||
1917 | 137 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1918 | 138 | ti->m_kind = IdentTypes::ATTRIBUTE_TYPE; | ||
1919 | 139 | ti->m_quantifier = quantifier; | ||
1920 | 140 | ti->m_uri = uri; | ||
1921 | 141 | ti->m_uriWildcard = uriWildcard; | ||
1922 | 142 | ti->m_localName = localName; | ||
1923 | 143 | ti->m_localNameWildcard = localNameWildcard; | ||
1924 | 144 | ti->m_contentType = contentType; | ||
1925 | 145 | |||
1926 | 146 | return ti; | ||
1927 | 147 | } | ||
1928 | 148 | |||
1929 | 149 | |||
1930 | 150 | TypeIdentifier_t TypeIdentifier::createDocumentType( | ||
1931 | 151 | TypeIdentifier_t contentType, | ||
1932 | 152 | IdentTypes::quantifier_t quantifier) | ||
1933 | 153 | { | ||
1934 | 154 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1935 | 155 | ti->m_kind = IdentTypes::DOCUMENT_TYPE; | ||
1936 | 156 | ti->m_quantifier = quantifier; | ||
1937 | 157 | ti->m_contentType = contentType; | ||
1938 | 158 | |||
1939 | 159 | return ti; | ||
1940 | 160 | } | ||
1941 | 161 | |||
1942 | 162 | |||
1943 | 163 | TypeIdentifier_t TypeIdentifier::createPIType(IdentTypes::quantifier_t quantifier) | ||
1944 | 164 | { | ||
1945 | 165 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1946 | 166 | ti->m_kind = IdentTypes::PI_TYPE; | ||
1947 | 167 | ti->m_quantifier = quantifier; | ||
1948 | 168 | |||
1949 | 169 | return ti; | ||
1950 | 170 | } | ||
1951 | 171 | |||
1952 | 172 | |||
1953 | 173 | TypeIdentifier_t TypeIdentifier::createTextType(IdentTypes::quantifier_t quantifier) | ||
1954 | 174 | { | ||
1955 | 175 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1956 | 176 | ti->m_kind = IdentTypes::TEXT_TYPE; | ||
1957 | 177 | ti->m_quantifier = quantifier; | ||
1958 | 178 | |||
1959 | 179 | return ti; | ||
1960 | 180 | } | ||
1961 | 181 | |||
1962 | 182 | |||
1963 | 183 | TypeIdentifier_t TypeIdentifier::createCommentType(IdentTypes::quantifier_t quantifier) | ||
1964 | 184 | { | ||
1965 | 185 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1966 | 186 | ti->m_kind = IdentTypes::COMMENT_TYPE; | ||
1967 | 187 | ti->m_quantifier = quantifier; | ||
1968 | 188 | |||
1969 | 189 | return ti; | ||
1970 | 190 | } | ||
1971 | 191 | |||
1972 | 192 | |||
1973 | 193 | TypeIdentifier_t TypeIdentifier::createNamespaceType(IdentTypes::quantifier_t quantifier) | ||
1974 | 194 | { | ||
1975 | 195 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1976 | 196 | ti->m_kind = IdentTypes::NAMESPACE_TYPE; | ||
1977 | 197 | ti->m_quantifier = quantifier; | ||
1978 | 198 | |||
1979 | 199 | return ti; | ||
1980 | 200 | } | ||
1981 | 201 | |||
1982 | 202 | |||
1983 | 203 | TypeIdentifier_t TypeIdentifier::createAnyNodeType(IdentTypes::quantifier_t quantifier) | ||
1984 | 204 | { | ||
1985 | 205 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1986 | 206 | ti->m_kind = IdentTypes::ANY_NODE_TYPE; | ||
1987 | 207 | ti->m_quantifier = quantifier; | ||
1988 | 208 | |||
1989 | 209 | return ti; | ||
1990 | 210 | } | ||
1991 | 211 | |||
1992 | 212 | |||
1993 | 213 | TypeIdentifier_t TypeIdentifier::createStructuredItemType(IdentTypes::quantifier_t q) | ||
1994 | 214 | { | ||
1995 | 215 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
1996 | 216 | ti->m_kind = IdentTypes::STRUCTURED_ITEM_TYPE; | ||
1997 | 217 | ti->m_quantifier = q; | ||
1998 | 218 | |||
1999 | 219 | return ti; | ||
2000 | 220 | } | ||
2001 | 221 | |||
2002 | 222 | |||
2003 | 223 | TypeIdentifier_t TypeIdentifier::createJSONItemType(IdentTypes::quantifier_t q) | ||
2004 | 224 | { | ||
2005 | 225 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
2006 | 226 | ti->m_kind = IdentTypes::JSON_ITEM_TYPE; | ||
2007 | 227 | ti->m_quantifier = q; | ||
2008 | 228 | |||
2009 | 229 | return ti; | ||
2010 | 230 | } | ||
2011 | 231 | |||
2012 | 232 | |||
2013 | 233 | TypeIdentifier_t TypeIdentifier::createJSONObjectType(IdentTypes::quantifier_t q) | ||
2014 | 234 | { | ||
2015 | 235 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
2016 | 236 | ti->m_kind = IdentTypes::JSON_OBJECT_TYPE; | ||
2017 | 237 | ti->m_quantifier = q; | ||
2018 | 238 | |||
2019 | 239 | return ti; | ||
2020 | 240 | } | ||
2021 | 241 | |||
2022 | 242 | |||
2023 | 243 | TypeIdentifier_t TypeIdentifier::createJSONArrayType(IdentTypes::quantifier_t q) | ||
2024 | 244 | { | ||
2025 | 245 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
2026 | 246 | ti->m_kind = IdentTypes::JSON_ARRAY_TYPE; | ||
2027 | 247 | ti->m_quantifier = q; | ||
2028 | 248 | |||
2029 | 249 | return ti; | ||
2030 | 250 | } | ||
2031 | 251 | |||
2032 | 252 | |||
2033 | 253 | TypeIdentifier_t TypeIdentifier::createItemType(IdentTypes::quantifier_t quantifier) | ||
2034 | 254 | { | ||
2035 | 255 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
2036 | 256 | ti->m_kind = IdentTypes::ITEM_TYPE; | ||
2037 | 257 | ti->m_quantifier = quantifier; | ||
2038 | 258 | |||
2039 | 259 | return ti; | ||
2040 | 260 | } | ||
2041 | 261 | |||
2042 | 262 | |||
2043 | 263 | TypeIdentifier_t TypeIdentifier::createEmptyType() | ||
2044 | 264 | { | ||
2045 | 265 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
2046 | 266 | ti->m_kind = IdentTypes::EMPTY_TYPE; | ||
2047 | 267 | ti->m_quantifier = IdentTypes::QUANT_ONE; | ||
2048 | 268 | |||
2049 | 269 | return ti; | ||
2050 | 270 | } | ||
2051 | 271 | |||
2052 | 272 | TypeIdentifier_t TypeIdentifier::createSchemaElementType( | ||
2053 | 273 | const String& uri, | ||
2054 | 274 | const String& localName, | ||
2055 | 275 | IdentTypes::quantifier_t quantifier) | ||
2056 | 276 | { | ||
2057 | 277 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
2058 | 278 | ti->m_kind = IdentTypes::SCHEMA_ELEMENT_TYPE; | ||
2059 | 279 | ti->m_quantifier = quantifier; | ||
2060 | 280 | ti->m_uri = uri; | ||
2061 | 281 | ti->m_uriWildcard = false; | ||
2062 | 282 | ti->m_localName = localName; | ||
2063 | 283 | ti->m_localNameWildcard = false; | ||
2064 | 284 | |||
2065 | 285 | return ti; | ||
2066 | 286 | } | ||
2067 | 287 | |||
2068 | 288 | |||
2069 | 289 | TypeIdentifier_t TypeIdentifier::createSchemaAttributeType( | ||
2070 | 290 | const String& uri, | ||
2071 | 291 | const String& localName, | ||
2072 | 292 | IdentTypes::quantifier_t quantifier) | ||
2073 | 293 | { | ||
2074 | 294 | TypeIdentifier_t ti(new TypeIdentifier()); | ||
2075 | 295 | ti->m_kind = IdentTypes::SCHEMA_ATTRIBUTE_TYPE; | ||
2076 | 296 | ti->m_quantifier = quantifier; | ||
2077 | 297 | ti->m_uri = uri; | ||
2078 | 298 | ti->m_uriWildcard = false; | ||
2079 | 299 | ti->m_localName = localName; | ||
2080 | 300 | ti->m_localNameWildcard = false; | ||
2081 | 301 | |||
2082 | 302 | return ti; | ||
2083 | 303 | } | ||
2084 | 304 | |||
2085 | 305 | |||
2086 | 306 | std::ostream& TypeIdentifier::emit(std::ostream& os) const | ||
2087 | 307 | { | ||
2088 | 308 | emitItemType(os); | ||
2089 | 309 | return os << m_quantifier; | ||
2090 | 310 | } | ||
2091 | 311 | |||
2092 | 312 | |||
2093 | 313 | std::ostream& TypeIdentifier::emitItemType(std::ostream& os) const | ||
2094 | 314 | { | ||
2095 | 315 | if (m_kind == IdentTypes::NAMED_TYPE) | ||
2096 | 316 | { | ||
2097 | 317 | return emitName(os); | ||
2098 | 318 | } | ||
2099 | 319 | |||
2100 | 320 | os << m_kind; | ||
2101 | 321 | |||
2102 | 322 | switch (m_kind) | ||
2103 | 323 | { | ||
2104 | 324 | case IdentTypes::DOCUMENT_TYPE: | ||
2105 | 325 | os << "("; | ||
2106 | 326 | if (m_contentType != NULL) | ||
2107 | 327 | { | ||
2108 | 328 | os << m_contentType; | ||
2109 | 329 | } | ||
2110 | 330 | return os << ")"; | ||
2111 | 331 | |||
2112 | 332 | case IdentTypes::ELEMENT_TYPE: | ||
2113 | 333 | case IdentTypes::ATTRIBUTE_TYPE: | ||
2114 | 334 | os << "("; | ||
2115 | 335 | if (m_uriWildcard) | ||
2116 | 336 | { | ||
2117 | 337 | os << "*"; | ||
2118 | 338 | } | ||
2119 | 339 | else | ||
2120 | 340 | { | ||
2121 | 341 | emitName(os); | ||
2122 | 342 | } | ||
2123 | 343 | if (! m_contentType.isNull()) | ||
2124 | 344 | { | ||
2125 | 345 | os << "," << m_contentType; | ||
2126 | 346 | } | ||
2127 | 347 | return os << ")"; | ||
2128 | 348 | |||
2129 | 349 | case IdentTypes::SCHEMA_ELEMENT_TYPE: | ||
2130 | 350 | case IdentTypes::SCHEMA_ATTRIBUTE_TYPE: | ||
2131 | 351 | os << "("; | ||
2132 | 352 | emitName(os); | ||
2133 | 353 | return os << ")"; | ||
2134 | 354 | |||
2135 | 355 | case IdentTypes::ANY_NODE_TYPE: | ||
2136 | 356 | case IdentTypes::COMMENT_TYPE: | ||
2137 | 357 | case IdentTypes::EMPTY_TYPE: | ||
2138 | 358 | case IdentTypes::ITEM_TYPE: | ||
2139 | 359 | case IdentTypes::PI_TYPE: | ||
2140 | 360 | case IdentTypes::TEXT_TYPE: | ||
2141 | 361 | return os << "()"; | ||
2142 | 362 | |||
2143 | 363 | case IdentTypes::INVALID_TYPE: | ||
2144 | 364 | return os; | ||
2145 | 365 | |||
2146 | 366 | case IdentTypes::NAMED_TYPE: | ||
2147 | 367 | default: | ||
2148 | 368 | ZORBA_ASSERT(false); | ||
2149 | 369 | } | ||
2150 | 370 | } | ||
2151 | 371 | |||
2152 | 372 | |||
2153 | 373 | std::ostream& TypeIdentifier::emitName(std::ostream& os) const | ||
2154 | 374 | { | ||
2155 | 375 | return os << "{" << m_uri << "}" << m_localName; | ||
2156 | 376 | } | ||
2157 | 377 | |||
2158 | 378 | } | ||
2159 | 379 | |||
2160 | 380 | namespace std | ||
2161 | 381 | { | ||
2162 | 382 | |||
2163 | 383 | ostream& operator<<(ostream& o, const zorba::TypeIdentifier& ti) | ||
2164 | 384 | { | ||
2165 | 385 | return ti.emit(o); | ||
2166 | 386 | } | ||
2167 | 387 | |||
2168 | 388 | ostream& operator<<(ostream& o, const zorba::TypeIdentifier_t ti) | ||
2169 | 389 | { | ||
2170 | 390 | return ti->emit(o); | ||
2171 | 391 | } | ||
2172 | 392 | |||
2173 | 393 | } | ||
2174 | 394 | |||
2175 | 395 | |||
2176 | 396 | #endif | ||
2177 | 397 | /* vim:set et sw=2 ts=2: */ | ||
2178 | 398 | 0 | ||
2179 | === modified file 'src/api/unmarshaller.cpp' | |||
2180 | --- src/api/unmarshaller.cpp 2013-08-01 17:23:58 +0000 | |||
2181 | +++ src/api/unmarshaller.cpp 2013-09-24 21:48:10 +0000 | |||
2182 | @@ -79,6 +79,18 @@ | |||
2183 | 79 | } | 79 | } |
2184 | 80 | 80 | ||
2185 | 81 | 81 | ||
2186 | 82 | const XQType* Unmarshaller::getInternalType(const SequenceType& type) | ||
2187 | 83 | { | ||
2188 | 84 | return type.theType; | ||
2189 | 85 | } | ||
2190 | 86 | |||
2191 | 87 | |||
2192 | 88 | SequenceType Unmarshaller::createSequenceType(const XQType* type) | ||
2193 | 89 | { | ||
2194 | 90 | return type; | ||
2195 | 91 | } | ||
2196 | 92 | |||
2197 | 93 | |||
2198 | 82 | #define THE_STRING(STRING_OBJ) \ | 94 | #define THE_STRING(STRING_OBJ) \ |
2199 | 83 | (const_cast<zstring*>( \ | 95 | (const_cast<zstring*>( \ |
2200 | 84 | reinterpret_cast<zstring const*>( &(STRING_OBJ).string_storage_ ) \ | 96 | reinterpret_cast<zstring const*>( &(STRING_OBJ).string_storage_ ) \ |
2201 | 85 | 97 | ||
2202 | === modified file 'src/api/unmarshaller.h' | |||
2203 | --- src/api/unmarshaller.h 2013-02-07 17:24:36 +0000 | |||
2204 | +++ src/api/unmarshaller.h 2013-09-24 21:48:10 +0000 | |||
2205 | @@ -24,16 +24,22 @@ | |||
2206 | 24 | #include "common/shared_types.h" | 24 | #include "common/shared_types.h" |
2207 | 25 | #include "zorbatypes/zstring.h" | 25 | #include "zorbatypes/zstring.h" |
2208 | 26 | 26 | ||
2210 | 27 | namespace zorba { | 27 | namespace zorba |
2211 | 28 | { | ||
2212 | 28 | 29 | ||
2213 | 29 | class ZORBA_DLL_PUBLIC Unmarshaller | 30 | class ZORBA_DLL_PUBLIC Unmarshaller |
2214 | 30 | { | 31 | { |
2215 | 31 | public: | 32 | public: |
2216 | 32 | static store::Item* getInternalItem(const Item& aItem); | 33 | static store::Item* getInternalItem(const Item& aItem); |
2217 | 33 | 34 | ||
2218 | 35 | static const XQType* getInternalType(const SequenceType& type); | ||
2219 | 36 | |||
2220 | 37 | static SequenceType createSequenceType(const XQType* type); | ||
2221 | 38 | |||
2222 | 34 | static zstring& getInternalString(const String& aString); | 39 | static zstring& getInternalString(const String& aString); |
2223 | 35 | 40 | ||
2225 | 36 | static String newString( zstring const &s ) { | 41 | static String newString(const zstring& s) |
2226 | 42 | { | ||
2227 | 37 | String::zstring_ptr const p = { &s }; | 43 | String::zstring_ptr const p = { &s }; |
2228 | 38 | return String( p ); | 44 | return String( p ); |
2229 | 39 | } | 45 | } |
2230 | 40 | 46 | ||
2231 | === modified file 'src/compiler/codegen/plan_visitor.cpp' | |||
2232 | --- src/compiler/codegen/plan_visitor.cpp 2013-09-17 21:12:49 +0000 | |||
2233 | +++ src/compiler/codegen/plan_visitor.cpp 2013-09-24 21:48:10 +0000 | |||
2234 | @@ -671,7 +671,7 @@ | |||
2235 | 671 | 671 | ||
2236 | 672 | xqtref_t exprType = initExpr->get_return_type(); | 672 | xqtref_t exprType = initExpr->get_return_type(); |
2237 | 673 | 673 | ||
2239 | 674 | if (exprType->get_quantifier() == TypeConstants::QUANT_ONE) | 674 | if (exprType->get_quantifier() == SequenceType::QUANT_ONE) |
2240 | 675 | singleItem = true; | 675 | singleItem = true; |
2241 | 676 | } | 676 | } |
2242 | 677 | 677 | ||
2243 | @@ -714,7 +714,7 @@ | |||
2244 | 714 | (varExpr->get_kind() == var_expr::local_var), | 714 | (varExpr->get_kind() == var_expr::local_var), |
2245 | 715 | exprIter); | 715 | exprIter); |
2246 | 716 | 716 | ||
2248 | 717 | if (exprType->get_quantifier() == TypeConstants::QUANT_ONE) | 717 | if (exprType->get_quantifier() == SequenceType::QUANT_ONE) |
2249 | 718 | iter->setSingleItem(); | 718 | iter->setSingleItem(); |
2250 | 719 | 719 | ||
2251 | 720 | push_itstack(iter); | 720 | push_itstack(iter); |
2252 | @@ -1028,7 +1028,7 @@ | |||
2253 | 1028 | { | 1028 | { |
2254 | 1029 | xqtref_t domainType = domExpr->get_return_type(); | 1029 | xqtref_t domainType = domExpr->get_return_type(); |
2255 | 1030 | 1030 | ||
2257 | 1031 | if (domainType->get_quantifier() != TypeConstants::QUANT_ONE) | 1031 | if (domainType->get_quantifier() != SequenceType::QUANT_ONE) |
2258 | 1032 | ++numForClauses; | 1032 | ++numForClauses; |
2259 | 1033 | } | 1033 | } |
2260 | 1034 | 1034 | ||
2261 | @@ -1257,9 +1257,9 @@ | |||
2262 | 1257 | clauseVarMap->theVarExprs.push_back(lc->get_var()); | 1257 | clauseVarMap->theVarExprs.push_back(lc->get_var()); |
2263 | 1258 | clauseVarMap->theVarRebinds.push_back(varRebind); | 1258 | clauseVarMap->theVarRebinds.push_back(varRebind); |
2264 | 1259 | 1259 | ||
2266 | 1260 | if (domType->get_quantifier() == TypeConstants::QUANT_ONE) | 1260 | if (domType->get_quantifier() == SequenceType::QUANT_ONE) |
2267 | 1261 | varRebind->theIsFakeLetVar = true; | 1261 | varRebind->theIsFakeLetVar = true; |
2269 | 1262 | else if (domType->get_quantifier() == TypeConstants::QUANT_QUESTION) | 1262 | else if (domType->get_quantifier() == SequenceType::QUANT_QUESTION) |
2270 | 1263 | varRebind->theIsSingleItemLetVar = true; | 1263 | varRebind->theIsSingleItemLetVar = true; |
2271 | 1264 | 1264 | ||
2272 | 1265 | break; | 1265 | break; |
2273 | @@ -2766,7 +2766,7 @@ | |||
2274 | 2766 | if (typeName != NULL) | 2766 | if (typeName != NULL) |
2275 | 2767 | { | 2767 | { |
2276 | 2768 | prd->setType(sctx->get_typemanager()->create_named_type(typeName, | 2768 | prd->setType(sctx->get_typemanager()->create_named_type(typeName, |
2278 | 2769 | TypeConstants::QUANT_ONE, | 2769 | SequenceType::QUANT_ONE, |
2279 | 2770 | loc, | 2770 | loc, |
2280 | 2771 | XPTY0004)); | 2771 | XPTY0004)); |
2281 | 2772 | } | 2772 | } |
2282 | @@ -2989,7 +2989,7 @@ | |||
2283 | 2989 | { | 2989 | { |
2284 | 2990 | axisItep->setType(sctx->get_typemanager()-> | 2990 | axisItep->setType(sctx->get_typemanager()-> |
2285 | 2991 | create_named_type(typeName, | 2991 | create_named_type(typeName, |
2287 | 2992 | TypeConstants::QUANT_ONE, | 2992 | SequenceType::QUANT_ONE, |
2288 | 2993 | qloc)); | 2993 | qloc)); |
2289 | 2994 | } | 2994 | } |
2290 | 2995 | axisItep->setNilledAllowed(v.getNilledAllowed()); | 2995 | axisItep->setNilledAllowed(v.getNilledAllowed()); |
2291 | 2996 | 2996 | ||
2292 | === modified file 'src/compiler/expression/expr.cpp' | |||
2293 | --- src/compiler/expression/expr.cpp 2013-09-12 08:25:47 +0000 | |||
2294 | +++ src/compiler/expression/expr.cpp 2013-09-24 21:48:10 +0000 | |||
2295 | @@ -337,9 +337,9 @@ | |||
2296 | 337 | cast_base_expr(ccb, sctx, udf, loc, cast_expr_kind, inputExpr, type), | 337 | cast_base_expr(ccb, sctx, udf, loc, cast_expr_kind, inputExpr, type), |
2297 | 338 | theAllowsEmtpyInput(allowsEmptyInput) | 338 | theAllowsEmtpyInput(allowsEmptyInput) |
2298 | 339 | { | 339 | { |
2302 | 340 | assert(type->get_quantifier() == TypeConstants::QUANT_ONE || | 340 | assert(type->get_quantifier() == SequenceType::QUANT_ONE || |
2303 | 341 | type->get_quantifier() == TypeConstants::QUANT_QUESTION || | 341 | type->get_quantifier() == SequenceType::QUANT_QUESTION || |
2304 | 342 | type->get_quantifier() == TypeConstants::QUANT_STAR); | 342 | type->get_quantifier() == SequenceType::QUANT_STAR); |
2305 | 343 | 343 | ||
2306 | 344 | setNonDiscardable(ANNOTATION_TRUE_FIXED); | 344 | setNonDiscardable(ANNOTATION_TRUE_FIXED); |
2307 | 345 | } | 345 | } |
2308 | 346 | 346 | ||
2309 | === modified file 'src/compiler/expression/expr_base.cpp' | |||
2310 | --- src/compiler/expression/expr_base.cpp 2013-05-29 04:17:01 +0000 | |||
2311 | +++ src/compiler/expression/expr_base.cpp 2013-09-24 21:48:10 +0000 | |||
2312 | @@ -820,9 +820,9 @@ | |||
2313 | 820 | return false; | 820 | return false; |
2314 | 821 | 821 | ||
2315 | 822 | xqtref_t type = e->get_return_type(); | 822 | xqtref_t type = e->get_return_type(); |
2317 | 823 | TypeConstants::quantifier_t q = type->get_quantifier(); | 823 | SequenceType::Quantifier q = type->get_quantifier(); |
2318 | 824 | 824 | ||
2320 | 825 | if (q == TypeConstants::QUANT_ONE || q == TypeConstants::QUANT_QUESTION) | 825 | if (q == SequenceType::QUANT_ONE || q == SequenceType::QUANT_QUESTION) |
2321 | 826 | return true; | 826 | return true; |
2322 | 827 | 827 | ||
2323 | 828 | bool found = false; | 828 | bool found = false; |
2324 | @@ -1051,9 +1051,9 @@ | |||
2325 | 1051 | case treat_expr_kind: | 1051 | case treat_expr_kind: |
2326 | 1052 | { | 1052 | { |
2327 | 1053 | const treat_expr* treatExpr = static_cast<const treat_expr*>(this); | 1053 | const treat_expr* treatExpr = static_cast<const treat_expr*>(this); |
2329 | 1054 | TypeConstants::quantifier_t q = treatExpr->get_target_type()->get_quantifier(); | 1054 | SequenceType::Quantifier q = treatExpr->get_target_type()->get_quantifier(); |
2330 | 1055 | 1055 | ||
2332 | 1056 | if (q == TypeConstants::QUANT_STAR || q == TypeConstants::QUANT_PLUS) | 1056 | if (q == SequenceType::QUANT_STAR || q == SequenceType::QUANT_PLUS) |
2333 | 1057 | { | 1057 | { |
2334 | 1058 | const expr* argExpr = treatExpr->get_input(); | 1058 | const expr* argExpr = treatExpr->get_input(); |
2335 | 1059 | return argExpr->is_map_internal(e, found); | 1059 | return argExpr->is_map_internal(e, found); |
2336 | @@ -1065,9 +1065,9 @@ | |||
2337 | 1065 | case promote_expr_kind: | 1065 | case promote_expr_kind: |
2338 | 1066 | { | 1066 | { |
2339 | 1067 | const promote_expr* promoteExpr = static_cast<const promote_expr*>(this); | 1067 | const promote_expr* promoteExpr = static_cast<const promote_expr*>(this); |
2341 | 1068 | TypeConstants::quantifier_t q = promoteExpr->get_target_type()->get_quantifier(); | 1068 | SequenceType::Quantifier q = promoteExpr->get_target_type()->get_quantifier(); |
2342 | 1069 | 1069 | ||
2344 | 1070 | if (q == TypeConstants::QUANT_STAR || q == TypeConstants::QUANT_PLUS) | 1070 | if (q == SequenceType::QUANT_STAR || q == SequenceType::QUANT_PLUS) |
2345 | 1071 | { | 1071 | { |
2346 | 1072 | const expr* argExpr = promoteExpr->get_input(); | 1072 | const expr* argExpr = promoteExpr->get_input(); |
2347 | 1073 | return argExpr->is_map_internal(e, found); | 1073 | return argExpr->is_map_internal(e, found); |
2348 | 1074 | 1074 | ||
2349 | === modified file 'src/compiler/expression/expr_type.cpp' | |||
2350 | --- src/compiler/expression/expr_type.cpp 2013-09-19 16:47:08 +0000 | |||
2351 | +++ src/compiler/expression/expr_type.cpp 2013-09-24 21:48:10 +0000 | |||
2352 | @@ -52,7 +52,7 @@ | |||
2353 | 52 | TypeManager* tm, | 52 | TypeManager* tm, |
2354 | 53 | store::StoreConsts::NodeKind nodekind, | 53 | store::StoreConsts::NodeKind nodekind, |
2355 | 54 | const store::Item_t& nodename, | 54 | const store::Item_t& nodename, |
2357 | 55 | TypeConstants::quantifier_t quant, | 55 | SequenceType::Quantifier quant, |
2358 | 56 | bool untyped); | 56 | bool untyped); |
2359 | 57 | 57 | ||
2360 | 58 | 58 | ||
2361 | @@ -121,11 +121,11 @@ | |||
2362 | 121 | { | 121 | { |
2363 | 122 | flwor_expr* e = static_cast<flwor_expr*>(this); | 122 | flwor_expr* e = static_cast<flwor_expr*>(this); |
2364 | 123 | 123 | ||
2366 | 124 | TypeConstants::quantifier_t quant = TypeConstants::QUANT_ONE; | 124 | SequenceType::Quantifier quant = SequenceType::QUANT_ONE; |
2367 | 125 | 125 | ||
2368 | 126 | csize numClauses = e->num_clauses(); | 126 | csize numClauses = e->num_clauses(); |
2369 | 127 | 127 | ||
2371 | 128 | for (csize i = 0; i < numClauses && quant != TypeConstants::QUANT_STAR; ++i) | 128 | for (csize i = 0; i < numClauses && quant != SequenceType::QUANT_STAR; ++i) |
2372 | 129 | { | 129 | { |
2373 | 130 | const flwor_clause* c = e->theClauses[i]; | 130 | const flwor_clause* c = e->theClauses[i]; |
2374 | 131 | 131 | ||
2375 | @@ -140,12 +140,12 @@ | |||
2376 | 140 | } | 140 | } |
2377 | 141 | case flwor_clause::window_clause : | 141 | case flwor_clause::window_clause : |
2378 | 142 | { | 142 | { |
2380 | 143 | quant = TypeConstants::QUANT_STAR; | 143 | quant = SequenceType::QUANT_STAR; |
2381 | 144 | break; | 144 | break; |
2382 | 145 | } | 145 | } |
2383 | 146 | case flwor_clause::where_clause : | 146 | case flwor_clause::where_clause : |
2384 | 147 | { | 147 | { |
2386 | 148 | quant = TypeOps::union_quant(quant, TypeConstants::QUANT_QUESTION); | 148 | quant = TypeOps::union_quant(quant, SequenceType::QUANT_QUESTION); |
2387 | 149 | break; | 149 | break; |
2388 | 150 | } | 150 | } |
2389 | 151 | default: | 151 | default: |
2390 | @@ -202,7 +202,7 @@ | |||
2391 | 202 | 202 | ||
2392 | 203 | if (e->get_forlet_clause()->is_allowing_empty()) | 203 | if (e->get_forlet_clause()->is_allowing_empty()) |
2393 | 204 | { | 204 | { |
2395 | 205 | derivedType = tm->create_type(*derivedType, TypeConstants::QUANT_QUESTION); | 205 | derivedType = tm->create_type(*derivedType, SequenceType::QUANT_QUESTION); |
2396 | 206 | } | 206 | } |
2397 | 207 | } | 207 | } |
2398 | 208 | else if (varKind == var_expr::wincond_in_var || | 208 | else if (varKind == var_expr::wincond_in_var || |
2399 | @@ -211,11 +211,11 @@ | |||
2400 | 211 | // TODO: we can be a little more specific here: if the quantifier of the | 211 | // TODO: we can be a little more specific here: if the quantifier of the |
2401 | 212 | // domain type is PLUS or ONE, then the quantifier of the "current" cond | 212 | // domain type is PLUS or ONE, then the quantifier of the "current" cond |
2402 | 213 | // var is ONE. | 213 | // var is ONE. |
2404 | 214 | derivedType = tm->create_type(*domainType, TypeConstants::QUANT_QUESTION); | 214 | derivedType = tm->create_type(*domainType, SequenceType::QUANT_QUESTION); |
2405 | 215 | } | 215 | } |
2406 | 216 | else if (varKind == var_expr::non_groupby_var) | 216 | else if (varKind == var_expr::non_groupby_var) |
2407 | 217 | { | 217 | { |
2409 | 218 | derivedType = tm->create_type(*domainType, TypeConstants::QUANT_STAR); | 218 | derivedType = tm->create_type(*domainType, SequenceType::QUANT_STAR); |
2410 | 219 | } | 219 | } |
2411 | 220 | else | 220 | else |
2412 | 221 | { | 221 | { |
2413 | @@ -373,20 +373,20 @@ | |||
2414 | 373 | cast_expr* e = static_cast<cast_expr*>(this); | 373 | cast_expr* e = static_cast<cast_expr*>(this); |
2415 | 374 | 374 | ||
2416 | 375 | xqtref_t argType = e->theInput->get_return_type(); | 375 | xqtref_t argType = e->theInput->get_return_type(); |
2419 | 376 | TypeConstants::quantifier_t argQuant = argType->get_quantifier(); | 376 | SequenceType::Quantifier argQuant = argType->get_quantifier(); |
2420 | 377 | TypeConstants::quantifier_t targetQuant = e->theTargetType->get_quantifier(); | 377 | SequenceType::Quantifier targetQuant = e->theTargetType->get_quantifier(); |
2421 | 378 | 378 | ||
2422 | 379 | if (TypeOps::is_equal(tm, *argType, *rtm.EMPTY_TYPE, get_loc())) | 379 | if (TypeOps::is_equal(tm, *argType, *rtm.EMPTY_TYPE, get_loc())) |
2423 | 380 | { | 380 | { |
2426 | 381 | if (targetQuant == TypeConstants::QUANT_QUESTION || | 381 | if (targetQuant == SequenceType::QUANT_QUESTION || |
2427 | 382 | targetQuant == TypeConstants::QUANT_STAR) | 382 | targetQuant == SequenceType::QUANT_STAR) |
2428 | 383 | newType = rtm.EMPTY_TYPE; | 383 | newType = rtm.EMPTY_TYPE; |
2429 | 384 | else | 384 | else |
2430 | 385 | newType = rtm.NONE_TYPE; | 385 | newType = rtm.NONE_TYPE; |
2431 | 386 | } | 386 | } |
2432 | 387 | else if (e->theTargetType->isAtomicAny()) | 387 | else if (e->theTargetType->isAtomicAny()) |
2433 | 388 | { | 388 | { |
2435 | 389 | TypeConstants::quantifier_t q = TypeOps::intersect_quant(argQuant, targetQuant); | 389 | SequenceType::Quantifier q = TypeOps::intersect_quant(argQuant, targetQuant); |
2436 | 390 | 390 | ||
2437 | 391 | newType = tm->create_type(*e->theTargetType, q); | 391 | newType = tm->create_type(*e->theTargetType, q); |
2438 | 392 | } | 392 | } |
2439 | @@ -400,13 +400,13 @@ | |||
2440 | 400 | if (targetType->isList()) | 400 | if (targetType->isList()) |
2441 | 401 | { | 401 | { |
2442 | 402 | newType = tm->create_type(*targetType->getListItemType(), | 402 | newType = tm->create_type(*targetType->getListItemType(), |
2444 | 403 | TypeConstants::QUANT_STAR); | 403 | SequenceType::QUANT_STAR); |
2445 | 404 | } | 404 | } |
2446 | 405 | else | 405 | else |
2447 | 406 | { | 406 | { |
2448 | 407 | assert(targetType->isAtomicAny() || targetType->isUnion()); | 407 | assert(targetType->isAtomicAny() || targetType->isUnion()); |
2449 | 408 | 408 | ||
2451 | 409 | TypeConstants::quantifier_t q = TypeOps::intersect_quant(argQuant, targetQuant); | 409 | SequenceType::Quantifier q = TypeOps::intersect_quant(argQuant, targetQuant); |
2452 | 410 | 410 | ||
2453 | 411 | newType = tm->create_type(*e->theTargetType, q); | 411 | newType = tm->create_type(*e->theTargetType, q); |
2454 | 412 | } | 412 | } |
2455 | @@ -423,7 +423,7 @@ | |||
2456 | 423 | xqtref_t input_ptype = TypeOps::prime_type(tm, *input_type); | 423 | xqtref_t input_ptype = TypeOps::prime_type(tm, *input_type); |
2457 | 424 | xqtref_t target_ptype = TypeOps::prime_type(tm, *e->theTargetType); | 424 | xqtref_t target_ptype = TypeOps::prime_type(tm, *e->theTargetType); |
2458 | 425 | 425 | ||
2460 | 426 | TypeConstants::quantifier_t q = | 426 | SequenceType::Quantifier q = |
2461 | 427 | TypeOps::intersect_quant(input_type->get_quantifier(), | 427 | TypeOps::intersect_quant(input_type->get_quantifier(), |
2462 | 428 | e->theTargetType->get_quantifier()); | 428 | e->theTargetType->get_quantifier()); |
2463 | 429 | 429 | ||
2464 | @@ -446,7 +446,7 @@ | |||
2465 | 446 | xqtref_t in_ptype = TypeOps::prime_type(tm, *in_type); | 446 | xqtref_t in_ptype = TypeOps::prime_type(tm, *in_type); |
2466 | 447 | xqtref_t target_ptype = TypeOps::prime_type(tm, *e->theTargetType); | 447 | xqtref_t target_ptype = TypeOps::prime_type(tm, *e->theTargetType); |
2467 | 448 | 448 | ||
2469 | 449 | TypeConstants::quantifier_t q = | 449 | SequenceType::Quantifier q = |
2470 | 450 | TypeOps::intersect_quant(in_type->get_quantifier(), | 450 | TypeOps::intersect_quant(in_type->get_quantifier(), |
2471 | 451 | e->theTargetType->get_quantifier()); | 451 | e->theTargetType->get_quantifier()); |
2472 | 452 | 452 | ||
2473 | @@ -512,7 +512,7 @@ | |||
2474 | 512 | newType = tm->create_node_type(store::StoreConsts::documentNode, | 512 | newType = tm->create_node_type(store::StoreConsts::documentNode, |
2475 | 513 | NULL, | 513 | NULL, |
2476 | 514 | contentType, | 514 | contentType, |
2478 | 515 | TypeConstants::QUANT_ONE, | 515 | SequenceType::QUANT_ONE, |
2479 | 516 | false, | 516 | false, |
2480 | 517 | false); | 517 | false); |
2481 | 518 | break; | 518 | break; |
2482 | @@ -527,7 +527,7 @@ | |||
2483 | 527 | newType = tm->create_node_type(store::StoreConsts::elementNode, | 527 | newType = tm->create_node_type(store::StoreConsts::elementNode, |
2484 | 528 | NULL, | 528 | NULL, |
2485 | 529 | contentType, | 529 | contentType, |
2487 | 530 | TypeConstants::QUANT_ONE, | 530 | SequenceType::QUANT_ONE, |
2488 | 531 | false, | 531 | false, |
2489 | 532 | false); | 532 | false); |
2490 | 533 | break; | 533 | break; |
2491 | @@ -551,7 +551,7 @@ | |||
2492 | 551 | 551 | ||
2493 | 552 | store::StoreConsts::NodeKind nodeKind; | 552 | store::StoreConsts::NodeKind nodeKind; |
2494 | 553 | 553 | ||
2496 | 554 | TypeConstants::quantifier_t q = TypeConstants::QUANT_ONE; | 554 | SequenceType::Quantifier q = SequenceType::QUANT_ONE; |
2497 | 555 | 555 | ||
2498 | 556 | switch (e->type) | 556 | switch (e->type) |
2499 | 557 | { | 557 | { |
2500 | @@ -563,7 +563,7 @@ | |||
2501 | 563 | newType = t; | 563 | newType = t; |
2502 | 564 | 564 | ||
2503 | 565 | else if (t->min_card() == 0) | 565 | else if (t->min_card() == 0) |
2505 | 566 | q = TypeConstants::QUANT_QUESTION; | 566 | q = SequenceType::QUANT_QUESTION; |
2506 | 567 | 567 | ||
2507 | 568 | nodeKind = store::StoreConsts::textNode; | 568 | nodeKind = store::StoreConsts::textNode; |
2508 | 569 | break; | 569 | break; |
2509 | @@ -593,7 +593,7 @@ | |||
2510 | 593 | newType = tm->create_node_type(store::StoreConsts::piNode, | 593 | newType = tm->create_node_type(store::StoreConsts::piNode, |
2511 | 594 | NULL, | 594 | NULL, |
2512 | 595 | contentType, | 595 | contentType, |
2514 | 596 | TypeConstants::QUANT_ONE, | 596 | SequenceType::QUANT_ONE, |
2515 | 597 | false, | 597 | false, |
2516 | 598 | false); | 598 | false); |
2517 | 599 | break; | 599 | break; |
2518 | @@ -675,7 +675,7 @@ | |||
2519 | 675 | for (csize i = 0; i < fiExpr->get_function()->getSignature().paramCount(); ++i) | 675 | for (csize i = 0; i < fiExpr->get_function()->getSignature().paramCount(); ++i) |
2520 | 676 | paramTypes.push_back(fiExpr->get_function()->getSignature()[i]); | 676 | paramTypes.push_back(fiExpr->get_function()->getSignature()[i]); |
2521 | 677 | 677 | ||
2523 | 678 | theType = rtm.create_function_type(paramTypes, retType, TypeConstants::QUANT_ONE); | 678 | theType = rtm.create_function_type(paramTypes, retType, SequenceType::QUANT_ONE); |
2524 | 679 | } | 679 | } |
2525 | 680 | return; | 680 | return; |
2526 | 681 | } | 681 | } |
2527 | @@ -855,11 +855,11 @@ | |||
2528 | 855 | store::Item* testNodeName = nodeTest->getQName(); | 855 | store::Item* testNodeName = nodeTest->getQName(); |
2529 | 856 | match_wild_t wildKind = nodeTest->getWildKind(); | 856 | match_wild_t wildKind = nodeTest->getWildKind(); |
2530 | 857 | 857 | ||
2532 | 858 | TypeConstants::quantifier_t inQuant = inputType->get_quantifier(); | 858 | SequenceType::Quantifier inQuant = inputType->get_quantifier(); |
2533 | 859 | store::StoreConsts::NodeKind inNodeKind = inputType->get_node_kind(); | 859 | store::StoreConsts::NodeKind inNodeKind = inputType->get_node_kind(); |
2534 | 860 | xqtref_t inContentType = inputType->get_content_type(); | 860 | xqtref_t inContentType = inputType->get_content_type(); |
2535 | 861 | 861 | ||
2537 | 862 | TypeConstants::quantifier_t star = TypeConstants::QUANT_STAR; | 862 | SequenceType::Quantifier star = SequenceType::QUANT_STAR; |
2538 | 863 | 863 | ||
2539 | 864 | bool inUntyped = false; | 864 | bool inUntyped = false; |
2540 | 865 | if (inContentType != NULL) | 865 | if (inContentType != NULL) |
2541 | @@ -1257,7 +1257,7 @@ | |||
2542 | 1257 | TypeManager* tm, | 1257 | TypeManager* tm, |
2543 | 1258 | store::StoreConsts::NodeKind nodekind, | 1258 | store::StoreConsts::NodeKind nodekind, |
2544 | 1259 | const store::Item_t& nodename, | 1259 | const store::Item_t& nodename, |
2546 | 1260 | TypeConstants::quantifier_t quant, | 1260 | SequenceType::Quantifier quant, |
2547 | 1261 | bool untyped) | 1261 | bool untyped) |
2548 | 1262 | { | 1262 | { |
2549 | 1263 | RootTypeManager& RTM = GENV_TYPESYSTEM; | 1263 | RootTypeManager& RTM = GENV_TYPESYSTEM; |
2550 | @@ -1270,12 +1270,12 @@ | |||
2551 | 1270 | else | 1270 | else |
2552 | 1271 | contentType = RTM.UNTYPED_TYPE; | 1271 | contentType = RTM.UNTYPED_TYPE; |
2553 | 1272 | 1272 | ||
2555 | 1273 | if (TypeOps::is_sub_quant(quant, TypeConstants::QUANT_QUESTION)) | 1273 | if (TypeOps::is_sub_quant(quant, SequenceType::QUANT_QUESTION)) |
2556 | 1274 | { | 1274 | { |
2557 | 1275 | return tm->create_node_type(nodekind, | 1275 | return tm->create_node_type(nodekind, |
2558 | 1276 | nodename, | 1276 | nodename, |
2559 | 1277 | contentType, | 1277 | contentType, |
2561 | 1278 | TypeConstants::QUANT_QUESTION, | 1278 | SequenceType::QUANT_QUESTION, |
2562 | 1279 | false, | 1279 | false, |
2563 | 1280 | false); | 1280 | false); |
2564 | 1281 | } | 1281 | } |
2565 | @@ -1284,7 +1284,7 @@ | |||
2566 | 1284 | return tm->create_node_type(nodekind, | 1284 | return tm->create_node_type(nodekind, |
2567 | 1285 | nodename, | 1285 | nodename, |
2568 | 1286 | contentType, | 1286 | contentType, |
2570 | 1287 | TypeConstants::QUANT_STAR, | 1287 | SequenceType::QUANT_STAR, |
2571 | 1288 | false, | 1288 | false, |
2572 | 1289 | false); | 1289 | false); |
2573 | 1290 | } | 1290 | } |
2574 | @@ -1297,12 +1297,12 @@ | |||
2575 | 1297 | else | 1297 | else |
2576 | 1298 | contentType = RTM.ANY_TYPE; | 1298 | contentType = RTM.ANY_TYPE; |
2577 | 1299 | 1299 | ||
2579 | 1300 | if (TypeOps::is_sub_quant(quant, TypeConstants::QUANT_QUESTION)) | 1300 | if (TypeOps::is_sub_quant(quant, SequenceType::QUANT_QUESTION)) |
2580 | 1301 | { | 1301 | { |
2581 | 1302 | return tm->create_node_type(nodekind, | 1302 | return tm->create_node_type(nodekind, |
2582 | 1303 | nodename, | 1303 | nodename, |
2583 | 1304 | contentType, | 1304 | contentType, |
2585 | 1305 | TypeConstants::QUANT_QUESTION, | 1305 | SequenceType::QUANT_QUESTION, |
2586 | 1306 | false, | 1306 | false, |
2587 | 1307 | false); | 1307 | false); |
2588 | 1308 | } | 1308 | } |
2589 | @@ -1311,7 +1311,7 @@ | |||
2590 | 1311 | return tm->create_node_type(nodekind, | 1311 | return tm->create_node_type(nodekind, |
2591 | 1312 | nodename, | 1312 | nodename, |
2592 | 1313 | contentType, | 1313 | contentType, |
2594 | 1314 | TypeConstants::QUANT_STAR, | 1314 | SequenceType::QUANT_STAR, |
2595 | 1315 | false, | 1315 | false, |
2596 | 1316 | false); | 1316 | false); |
2597 | 1317 | } | 1317 | } |
2598 | 1318 | 1318 | ||
2599 | === modified file 'src/compiler/expression/flwor_expr.cpp' | |||
2600 | --- src/compiler/expression/flwor_expr.cpp 2013-08-12 13:05:15 +0000 | |||
2601 | +++ src/compiler/expression/flwor_expr.cpp 2013-09-24 21:48:10 +0000 | |||
2602 | @@ -165,14 +165,14 @@ | |||
2603 | 165 | { | 165 | { |
2604 | 166 | if (kind == flwor_clause::for_clause) | 166 | if (kind == flwor_clause::for_clause) |
2605 | 167 | { | 167 | { |
2608 | 168 | TypeConstants::quantifier_t domQuant = domainType->get_quantifier(); | 168 | SequenceType::Quantifier domQuant = domainType->get_quantifier(); |
2609 | 169 | TypeConstants::quantifier_t declQuant = declaredType->get_quantifier(); | 169 | SequenceType::Quantifier declQuant = declaredType->get_quantifier(); |
2610 | 170 | 170 | ||
2611 | 171 | if (theAllowingEmpty && | 171 | if (theAllowingEmpty && |
2614 | 172 | (declQuant == TypeConstants::QUANT_ONE || | 172 | (declQuant == SequenceType::QUANT_ONE || |
2615 | 173 | declQuant == TypeConstants::QUANT_PLUS)) | 173 | declQuant == SequenceType::QUANT_PLUS)) |
2616 | 174 | { | 174 | { |
2618 | 175 | declaredType = tm->create_type(*declaredType, TypeConstants::QUANT_PLUS); | 175 | declaredType = tm->create_type(*declaredType, SequenceType::QUANT_PLUS); |
2619 | 176 | } | 176 | } |
2620 | 177 | else | 177 | else |
2621 | 178 | { | 178 | { |
2622 | 179 | 179 | ||
2623 | === modified file 'src/compiler/parser/jsoniq_parser.cpp' | |||
2624 | --- src/compiler/parser/jsoniq_parser.cpp 2013-09-16 18:32:17 +0000 | |||
2625 | +++ src/compiler/parser/jsoniq_parser.cpp 2013-09-24 21:48:10 +0000 | |||
2626 | @@ -1,8 +1,8 @@ | |||
2628 | 1 | /* A Bison parser, made by GNU Bison 2.6.2. */ | 1 | /* A Bison parser, made by GNU Bison 2.5. */ |
2629 | 2 | 2 | ||
2630 | 3 | /* Skeleton implementation for Bison LALR(1) parsers in C++ | 3 | /* Skeleton implementation for Bison LALR(1) parsers in C++ |
2631 | 4 | 4 | ||
2633 | 5 | Copyright (C) 2002-2012 Free Software Foundation, Inc. | 5 | Copyright (C) 2002-2011 Free Software Foundation, Inc. |
2634 | 6 | 6 | ||
2635 | 7 | This program is free software: you can redistribute it and/or modify | 7 | This program is free software: you can redistribute it and/or modify |
2636 | 8 | it under the terms of the GNU General Public License as published by | 8 | it under the terms of the GNU General Public License as published by |
2637 | @@ -34,12 +34,14 @@ | |||
2638 | 34 | #define yylex zorbalex | 34 | #define yylex zorbalex |
2639 | 35 | 35 | ||
2640 | 36 | /* First part of user declarations. */ | 36 | /* First part of user declarations. */ |
2643 | 37 | /* Line 278 of lalr1.cc */ | 37 | |
2644 | 38 | #line 1 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 38 | /* Line 293 of lalr1.cc */ |
2645 | 39 | #line 1 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" | ||
2646 | 39 | 40 | ||
2647 | 40 | #define JSONIQ_PARSER | 41 | #define JSONIQ_PARSER |
2650 | 41 | /* Line 278 of lalr1.cc */ | 42 | |
2651 | 42 | #line 58 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 43 | /* Line 293 of lalr1.cc */ |
2652 | 44 | #line 59 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" | ||
2653 | 43 | 45 | ||
2654 | 44 | 46 | ||
2655 | 45 | #include "common/common.h" | 47 | #include "common/common.h" |
2656 | @@ -75,8 +77,9 @@ | |||
2657 | 75 | using namespace std; | 77 | using namespace std; |
2658 | 76 | using namespace zorba; | 78 | using namespace zorba; |
2659 | 77 | 79 | ||
2662 | 78 | /* Line 278 of lalr1.cc */ | 80 | |
2663 | 79 | #line 101 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 81 | /* Line 293 of lalr1.cc */ |
2664 | 82 | #line 102 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" | ||
2665 | 80 | 83 | ||
2666 | 81 | 84 | ||
2667 | 82 | #ifdef XQUERY_PARSER | 85 | #ifdef XQUERY_PARSER |
2668 | @@ -93,17 +96,17 @@ | |||
2669 | 93 | #endif | 96 | #endif |
2670 | 94 | 97 | ||
2671 | 95 | 98 | ||
2674 | 96 | /* Line 278 of lalr1.cc */ | 99 | |
2675 | 97 | #line 98 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 100 | /* Line 293 of lalr1.cc */ |
2676 | 101 | #line 102 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" | ||
2677 | 98 | 102 | ||
2678 | 99 | 103 | ||
2679 | 100 | #include "jsoniq_parser.hpp" | 104 | #include "jsoniq_parser.hpp" |
2680 | 101 | 105 | ||
2681 | 102 | /* User implementation prologue. */ | 106 | /* User implementation prologue. */ |
2686 | 103 | /* Line 284 of lalr1.cc */ | 107 | |
2687 | 104 | #line 904 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 108 | /* Line 299 of lalr1.cc */ |
2688 | 105 | 109 | #line 792 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" | |
2685 | 106 | |||
2689 | 107 | 110 | ||
2690 | 108 | template<typename T> inline void release_hack( T *ref ) { | 111 | template<typename T> inline void release_hack( T *ref ) { |
2691 | 109 | if ( ref ) { | 112 | if ( ref ) { |
2692 | @@ -111,8 +114,9 @@ | |||
2693 | 111 | RCHelper::removeReference( ref ); | 114 | RCHelper::removeReference( ref ); |
2694 | 112 | } | 115 | } |
2695 | 113 | } | 116 | } |
2698 | 114 | /* Line 284 of lalr1.cc */ | 117 | |
2699 | 115 | #line 1042 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 118 | /* Line 299 of lalr1.cc */ |
2700 | 119 | #line 849 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" | ||
2701 | 116 | 120 | ||
2702 | 117 | namespace { | 121 | namespace { |
2703 | 118 | bool convert_postfix_to_target_and_selector( | 122 | bool convert_postfix_to_target_and_selector( |
2704 | @@ -126,8 +130,6 @@ | |||
2705 | 126 | dynamic_cast<DynamicFunctionInvocation*>(aPostfixExpr); | 130 | dynamic_cast<DynamicFunctionInvocation*>(aPostfixExpr); |
2706 | 127 | rchandle<FilterExpr> lFilterExpr = dynamic_cast<FilterExpr*>(aPostfixExpr); | 131 | rchandle<FilterExpr> lFilterExpr = dynamic_cast<FilterExpr*>(aPostfixExpr); |
2707 | 128 | rchandle<JSONObjectLookup> lObjectLookup = dynamic_cast<JSONObjectLookup*>(aPostfixExpr); | 132 | rchandle<JSONObjectLookup> lObjectLookup = dynamic_cast<JSONObjectLookup*>(aPostfixExpr); |
2708 | 129 | |||
2709 | 130 | |||
2710 | 131 | if (lDynamicFunctionInvocation != NULL) { | 133 | if (lDynamicFunctionInvocation != NULL) { |
2711 | 132 | if (lDynamicFunctionInvocation->getArgList()->size() != 1) | 134 | if (lDynamicFunctionInvocation->getArgList()->size() != 1) |
2712 | 133 | { | 135 | { |
2713 | @@ -138,8 +140,6 @@ | |||
2714 | 138 | *aSelectorExpr = lDynamicFunctionInvocation->getArgList()->operator[](0); | 140 | *aSelectorExpr = lDynamicFunctionInvocation->getArgList()->operator[](0); |
2715 | 139 | return true; | 141 | return true; |
2716 | 140 | } | 142 | } |
2717 | 141 | |||
2718 | 142 | |||
2719 | 143 | else if (lObjectLookup != NULL) | 143 | else if (lObjectLookup != NULL) |
2720 | 144 | { | 144 | { |
2721 | 145 | *aTargetExpr = lObjectLookup->get_object_expr(); | 145 | *aTargetExpr = lObjectLookup->get_object_expr(); |
2722 | @@ -148,7 +148,6 @@ | |||
2723 | 148 | lObjectLookup->release_selector_expr(); | 148 | lObjectLookup->release_selector_expr(); |
2724 | 149 | return true; | 149 | return true; |
2725 | 150 | } | 150 | } |
2726 | 151 | |||
2727 | 152 | else if (!allowArray && lFilterExpr != NULL) | 151 | else if (!allowArray && lFilterExpr != NULL) |
2728 | 153 | { | 152 | { |
2729 | 154 | *anError = "An object lookup is expected."; | 153 | *anError = "An object lookup is expected."; |
2730 | @@ -159,8 +158,6 @@ | |||
2731 | 159 | rchandle<exprnode> lPrimary = lFilterExpr->get_primary(); | 158 | rchandle<exprnode> lPrimary = lFilterExpr->get_primary(); |
2732 | 160 | rchandle<PredicateList> lPredicateList = lFilterExpr->get_pred_list(); | 159 | rchandle<PredicateList> lPredicateList = lFilterExpr->get_pred_list(); |
2733 | 161 | ulong lSize = lPredicateList->size(); | 160 | ulong lSize = lPredicateList->size(); |
2734 | 162 | |||
2735 | 163 | |||
2736 | 164 | if (lSize < 1) | 161 | if (lSize < 1) |
2737 | 165 | { | 162 | { |
2738 | 166 | *anError = "An object or array lookup with exactly one argument is expected. No argument was found."; | 163 | *anError = "An object or array lookup with exactly one argument is expected. No argument was found."; |
2739 | @@ -180,8 +177,6 @@ | |||
2740 | 180 | return false; | 177 | return false; |
2741 | 181 | } | 178 | } |
2742 | 182 | lConstructor->set_expr(NULL); | 179 | lConstructor->set_expr(NULL); |
2743 | 183 | |||
2744 | 184 | |||
2745 | 185 | *aTargetExpr = lPrimary; | 180 | *aTargetExpr = lPrimary; |
2746 | 186 | if (lSize > 1) | 181 | if (lSize > 1) |
2747 | 187 | { | 182 | { |
2748 | @@ -198,7 +193,6 @@ | |||
2749 | 198 | } | 193 | } |
2750 | 199 | return true; | 194 | return true; |
2751 | 200 | } | 195 | } |
2752 | 201 | |||
2753 | 202 | else | 196 | else |
2754 | 203 | { | 197 | { |
2755 | 204 | *anError = "An object or array lookup is expected."; | 198 | *anError = "An object or array lookup is expected."; |
2756 | @@ -207,17 +201,9 @@ | |||
2757 | 207 | }; | 201 | }; |
2758 | 208 | } | 202 | } |
2759 | 209 | 203 | ||
2771 | 210 | /* Line 284 of lalr1.cc */ | 204 | |
2772 | 211 | #line 212 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 205 | /* Line 299 of lalr1.cc */ |
2773 | 212 | 206 | #line 207 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" | |
2763 | 213 | |||
2764 | 214 | # ifndef YY_NULL | ||
2765 | 215 | # if defined __cplusplus && 201103L <= __cplusplus | ||
2766 | 216 | # define YY_NULL nullptr | ||
2767 | 217 | # else | ||
2768 | 218 | # define YY_NULL 0 | ||
2769 | 219 | # endif | ||
2770 | 220 | # endif | ||
2774 | 221 | 207 | ||
2775 | 222 | #ifndef YY_ | 208 | #ifndef YY_ |
2776 | 223 | # if defined YYENABLE_NLS && YYENABLE_NLS | 209 | # if defined YYENABLE_NLS && YYENABLE_NLS |
2777 | @@ -231,26 +217,25 @@ | |||
2778 | 231 | # endif | 217 | # endif |
2779 | 232 | #endif | 218 | #endif |
2780 | 233 | 219 | ||
2781 | 234 | #define YYRHSLOC(Rhs, K) ((Rhs)[K]) | ||
2782 | 235 | /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. | 220 | /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. |
2783 | 236 | If N is 0, then set CURRENT to the empty location which ends | 221 | If N is 0, then set CURRENT to the empty location which ends |
2784 | 237 | the previous symbol: RHS[0] (always defined). */ | 222 | the previous symbol: RHS[0] (always defined). */ |
2785 | 238 | 223 | ||
2801 | 239 | # ifndef YYLLOC_DEFAULT | 224 | #define YYRHSLOC(Rhs, K) ((Rhs)[K]) |
2802 | 240 | # define YYLLOC_DEFAULT(Current, Rhs, N) \ | 225 | #ifndef YYLLOC_DEFAULT |
2803 | 241 | do \ | 226 | # define YYLLOC_DEFAULT(Current, Rhs, N) \ |
2804 | 242 | if (N) \ | 227 | do \ |
2805 | 243 | { \ | 228 | if (N) \ |
2806 | 244 | (Current).begin = YYRHSLOC (Rhs, 1).begin; \ | 229 | { \ |
2807 | 245 | (Current).end = YYRHSLOC (Rhs, N).end; \ | 230 | (Current).begin = YYRHSLOC (Rhs, 1).begin; \ |
2808 | 246 | } \ | 231 | (Current).end = YYRHSLOC (Rhs, N).end; \ |
2809 | 247 | else \ | 232 | } \ |
2810 | 248 | { \ | 233 | else \ |
2811 | 249 | (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \ | 234 | { \ |
2812 | 250 | } \ | 235 | (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \ |
2813 | 251 | while (/*CONSTCOND*/ false) | 236 | } \ |
2814 | 252 | # endif | 237 | while (false) |
2815 | 253 | 238 | #endif | |
2816 | 254 | 239 | ||
2817 | 255 | /* Suppress unused-variable warnings by "using" E. */ | 240 | /* Suppress unused-variable warnings by "using" E. */ |
2818 | 256 | #define YYUSE(e) ((void) (e)) | 241 | #define YYUSE(e) ((void) (e)) |
2819 | @@ -302,8 +287,9 @@ | |||
2820 | 302 | 287 | ||
2821 | 303 | 288 | ||
2822 | 304 | namespace zorba { | 289 | namespace zorba { |
2825 | 305 | /* Line 352 of lalr1.cc */ | 290 | |
2826 | 306 | #line 307 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 291 | /* Line 382 of lalr1.cc */ |
2827 | 292 | #line 293 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" | ||
2828 | 307 | 293 | ||
2829 | 308 | /* Return YYSTR after stripping away unnecessary quotes and | 294 | /* Return YYSTR after stripping away unnecessary quotes and |
2830 | 309 | backslashes, so that it's suitable for yyerror. The heuristic is | 295 | backslashes, so that it's suitable for yyerror. The heuristic is |
2831 | @@ -369,9 +355,6 @@ | |||
2832 | 369 | { | 355 | { |
2833 | 370 | YYUSE (yylocationp); | 356 | YYUSE (yylocationp); |
2834 | 371 | YYUSE (yyvaluep); | 357 | YYUSE (yyvaluep); |
2835 | 372 | std::ostream& yyo = debug_stream (); | ||
2836 | 373 | std::ostream& yyoutput = yyo; | ||
2837 | 374 | YYUSE (yyoutput); | ||
2838 | 375 | switch (yytype) | 358 | switch (yytype) |
2839 | 376 | { | 359 | { |
2840 | 377 | default: | 360 | default: |
2841 | @@ -404,2007 +387,2579 @@ | |||
2842 | 404 | 387 | ||
2843 | 405 | switch (yytype) | 388 | switch (yytype) |
2844 | 406 | { | 389 | { |
4846 | 407 | case 111: /* "'DECIMAL'" */ | 390 | case 111: /* "\"'DECIMAL'\"" */ |
4847 | 408 | /* Line 453 of lalr1.cc */ | 391 | |
4848 | 409 | #line 902 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 392 | /* Line 480 of lalr1.cc */ |
4849 | 410 | { delete ((*yyvaluep).decval); }; | 393 | #line 791 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4850 | 411 | /* Line 453 of lalr1.cc */ | 394 | { delete (yyvaluep->decval); }; |
4851 | 412 | #line 413 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 395 | |
4852 | 413 | break; | 396 | /* Line 480 of lalr1.cc */ |
4853 | 414 | case 126: /* "'DOUBLE'" */ | 397 | #line 398 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4854 | 415 | /* Line 453 of lalr1.cc */ | 398 | break; |
4855 | 416 | #line 901 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 399 | case 126: /* "\"'DOUBLE'\"" */ |
4856 | 417 | { delete ((*yyvaluep).dval); }; | 400 | |
4857 | 418 | /* Line 453 of lalr1.cc */ | 401 | /* Line 480 of lalr1.cc */ |
4858 | 419 | #line 420 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 402 | #line 790 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4859 | 420 | break; | 403 | { delete (yyvaluep->dval); }; |
4860 | 421 | case 151: /* "'INTEGER'" */ | 404 | |
4861 | 422 | /* Line 453 of lalr1.cc */ | 405 | /* Line 480 of lalr1.cc */ |
4862 | 423 | #line 900 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 406 | #line 407 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4863 | 424 | { delete ((*yyvaluep).ival); }; | 407 | break; |
4864 | 425 | /* Line 453 of lalr1.cc */ | 408 | case 151: /* "\"'INTEGER'\"" */ |
4865 | 426 | #line 427 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 409 | |
4866 | 427 | break; | 410 | /* Line 480 of lalr1.cc */ |
4867 | 428 | case 344: /* VersionDecl */ | 411 | #line 789 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4868 | 429 | /* Line 453 of lalr1.cc */ | 412 | { delete (yyvaluep->ival); }; |
4869 | 430 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 413 | |
4870 | 431 | { release_hack( ((*yyvaluep).node) ); }; | 414 | /* Line 480 of lalr1.cc */ |
4871 | 432 | /* Line 453 of lalr1.cc */ | 415 | #line 416 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4872 | 433 | #line 434 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 416 | break; |
4873 | 434 | break; | 417 | case 344: /* "VersionDecl" */ |
4874 | 435 | case 345: /* MainModule */ | 418 | |
4875 | 436 | /* Line 453 of lalr1.cc */ | 419 | /* Line 480 of lalr1.cc */ |
4876 | 437 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 420 | #line 812 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4877 | 438 | { release_hack( ((*yyvaluep).node) ); }; | 421 | { release_hack( (yyvaluep->node) ); }; |
4878 | 439 | /* Line 453 of lalr1.cc */ | 422 | |
4879 | 440 | #line 441 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 423 | /* Line 480 of lalr1.cc */ |
4880 | 441 | break; | 424 | #line 425 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4881 | 442 | case 346: /* LibraryModule */ | 425 | break; |
4882 | 443 | /* Line 453 of lalr1.cc */ | 426 | case 345: /* "MainModule" */ |
4883 | 444 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 427 | |
4884 | 445 | { release_hack( ((*yyvaluep).node) ); }; | 428 | /* Line 480 of lalr1.cc */ |
4885 | 446 | /* Line 453 of lalr1.cc */ | 429 | #line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4886 | 447 | #line 448 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 430 | { release_hack( (yyvaluep->node) ); }; |
4887 | 448 | break; | 431 | |
4888 | 449 | case 347: /* ModuleDecl */ | 432 | /* Line 480 of lalr1.cc */ |
4889 | 450 | /* Line 453 of lalr1.cc */ | 433 | #line 434 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4890 | 451 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 434 | break; |
4891 | 452 | { release_hack( ((*yyvaluep).node) ); }; | 435 | case 346: /* "LibraryModule" */ |
4892 | 453 | /* Line 453 of lalr1.cc */ | 436 | |
4893 | 454 | #line 455 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 437 | /* Line 480 of lalr1.cc */ |
4894 | 455 | break; | 438 | #line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4895 | 456 | case 348: /* SIND_DeclList */ | 439 | { release_hack( (yyvaluep->node) ); }; |
4896 | 457 | /* Line 453 of lalr1.cc */ | 440 | |
4897 | 458 | #line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 441 | /* Line 480 of lalr1.cc */ |
4898 | 459 | { release_hack( ((*yyvaluep).node) ); }; | 442 | #line 443 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4899 | 460 | /* Line 453 of lalr1.cc */ | 443 | break; |
4900 | 461 | #line 462 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 444 | case 347: /* "ModuleDecl" */ |
4901 | 462 | break; | 445 | |
4902 | 463 | case 349: /* SIND_Decl */ | 446 | /* Line 480 of lalr1.cc */ |
4903 | 464 | /* Line 453 of lalr1.cc */ | 447 | #line 805 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4904 | 465 | #line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 448 | { release_hack( (yyvaluep->node) ); }; |
4905 | 466 | { release_hack( ((*yyvaluep).node) ); }; | 449 | |
4906 | 467 | /* Line 453 of lalr1.cc */ | 450 | /* Line 480 of lalr1.cc */ |
4907 | 468 | #line 469 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 451 | #line 452 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4908 | 469 | break; | 452 | break; |
4909 | 470 | case 350: /* Setter */ | 453 | case 348: /* "SIND_DeclList" */ |
4910 | 471 | /* Line 453 of lalr1.cc */ | 454 | |
4911 | 472 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 455 | /* Line 480 of lalr1.cc */ |
4912 | 473 | { release_hack( ((*yyvaluep).node) ); }; | 456 | #line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4913 | 474 | /* Line 453 of lalr1.cc */ | 457 | { release_hack( (yyvaluep->node) ); }; |
4914 | 475 | #line 476 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 458 | |
4915 | 476 | break; | 459 | /* Line 480 of lalr1.cc */ |
4916 | 477 | case 351: /* BoundarySpaceDecl */ | 460 | #line 461 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4917 | 478 | /* Line 453 of lalr1.cc */ | 461 | break; |
4918 | 479 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 462 | case 349: /* "SIND_Decl" */ |
4919 | 480 | { release_hack( ((*yyvaluep).node) ); }; | 463 | |
4920 | 481 | /* Line 453 of lalr1.cc */ | 464 | /* Line 480 of lalr1.cc */ |
4921 | 482 | #line 483 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 465 | #line 808 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4922 | 483 | break; | 466 | { release_hack( (yyvaluep->node) ); }; |
4923 | 484 | case 352: /* DefaultCollationDecl */ | 467 | |
4924 | 485 | /* Line 453 of lalr1.cc */ | 468 | /* Line 480 of lalr1.cc */ |
4925 | 486 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 469 | #line 470 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4926 | 487 | { release_hack( ((*yyvaluep).node) ); }; | 470 | break; |
4927 | 488 | /* Line 453 of lalr1.cc */ | 471 | case 350: /* "Setter" */ |
4928 | 489 | #line 490 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 472 | |
4929 | 490 | break; | 473 | /* Line 480 of lalr1.cc */ |
4930 | 491 | case 353: /* BaseURIDecl */ | 474 | #line 809 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4931 | 492 | /* Line 453 of lalr1.cc */ | 475 | { release_hack( (yyvaluep->node) ); }; |
4932 | 493 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 476 | |
4933 | 494 | { release_hack( ((*yyvaluep).node) ); }; | 477 | /* Line 480 of lalr1.cc */ |
4934 | 495 | /* Line 453 of lalr1.cc */ | 478 | #line 479 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4935 | 496 | #line 497 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 479 | break; |
4936 | 497 | break; | 480 | case 351: /* "BoundarySpaceDecl" */ |
4937 | 498 | case 354: /* ConstructionDecl */ | 481 | |
4938 | 499 | /* Line 453 of lalr1.cc */ | 482 | /* Line 480 of lalr1.cc */ |
4939 | 500 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 483 | #line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4940 | 501 | { release_hack( ((*yyvaluep).node) ); }; | 484 | { release_hack( (yyvaluep->node) ); }; |
4941 | 502 | /* Line 453 of lalr1.cc */ | 485 | |
4942 | 503 | #line 504 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 486 | /* Line 480 of lalr1.cc */ |
4943 | 504 | break; | 487 | #line 488 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4944 | 505 | case 355: /* OrderingModeDecl */ | 488 | break; |
4945 | 506 | /* Line 453 of lalr1.cc */ | 489 | case 352: /* "DefaultCollationDecl" */ |
4946 | 507 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 490 | |
4947 | 508 | { release_hack( ((*yyvaluep).node) ); }; | 491 | /* Line 480 of lalr1.cc */ |
4948 | 509 | /* Line 453 of lalr1.cc */ | 492 | #line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4949 | 510 | #line 511 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 493 | { release_hack( (yyvaluep->node) ); }; |
4950 | 511 | break; | 494 | |
4951 | 512 | case 356: /* EmptyOrderDecl */ | 495 | /* Line 480 of lalr1.cc */ |
4952 | 513 | /* Line 453 of lalr1.cc */ | 496 | #line 497 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4953 | 514 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 497 | break; |
4954 | 515 | { release_hack( ((*yyvaluep).node) ); }; | 498 | case 353: /* "BaseURIDecl" */ |
4955 | 516 | /* Line 453 of lalr1.cc */ | 499 | |
4956 | 517 | #line 518 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 500 | /* Line 480 of lalr1.cc */ |
4957 | 518 | break; | 501 | #line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4958 | 519 | case 357: /* CopyNamespacesDecl */ | 502 | { release_hack( (yyvaluep->node) ); }; |
4959 | 520 | /* Line 453 of lalr1.cc */ | 503 | |
4960 | 521 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 504 | /* Line 480 of lalr1.cc */ |
4961 | 522 | { release_hack( ((*yyvaluep).node) ); }; | 505 | #line 506 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4962 | 523 | /* Line 453 of lalr1.cc */ | 506 | break; |
4963 | 524 | #line 525 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 507 | case 354: /* "ConstructionDecl" */ |
4964 | 525 | break; | 508 | |
4965 | 526 | case 358: /* Import */ | 509 | /* Line 480 of lalr1.cc */ |
4966 | 527 | /* Line 453 of lalr1.cc */ | 510 | #line 802 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4967 | 528 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 511 | { release_hack( (yyvaluep->node) ); }; |
4968 | 529 | { release_hack( ((*yyvaluep).node) ); }; | 512 | |
4969 | 530 | /* Line 453 of lalr1.cc */ | 513 | /* Line 480 of lalr1.cc */ |
4970 | 531 | #line 532 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 514 | #line 515 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4971 | 532 | break; | 515 | break; |
4972 | 533 | case 359: /* SchemaImport */ | 516 | case 355: /* "OrderingModeDecl" */ |
4973 | 534 | /* Line 453 of lalr1.cc */ | 517 | |
4974 | 535 | #line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 518 | /* Line 480 of lalr1.cc */ |
4975 | 536 | { release_hack( ((*yyvaluep).node) ); }; | 519 | #line 807 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4976 | 537 | /* Line 453 of lalr1.cc */ | 520 | { release_hack( (yyvaluep->node) ); }; |
4977 | 538 | #line 539 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 521 | |
4978 | 539 | break; | 522 | /* Line 480 of lalr1.cc */ |
4979 | 540 | case 360: /* URILiteralList */ | 523 | #line 524 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4980 | 541 | /* Line 453 of lalr1.cc */ | 524 | break; |
4981 | 542 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 525 | case 356: /* "EmptyOrderDecl" */ |
4982 | 543 | { release_hack( ((*yyvaluep).node) ); }; | 526 | |
4983 | 544 | /* Line 453 of lalr1.cc */ | 527 | /* Line 480 of lalr1.cc */ |
4984 | 545 | #line 546 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 528 | #line 804 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4985 | 546 | break; | 529 | { release_hack( (yyvaluep->node) ); }; |
4986 | 547 | case 361: /* SchemaPrefix */ | 530 | |
4987 | 548 | /* Line 453 of lalr1.cc */ | 531 | /* Line 480 of lalr1.cc */ |
4988 | 549 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 532 | #line 533 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4989 | 550 | { release_hack( ((*yyvaluep).node) ); }; | 533 | break; |
4990 | 551 | /* Line 453 of lalr1.cc */ | 534 | case 357: /* "CopyNamespacesDecl" */ |
4991 | 552 | #line 553 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 535 | |
4992 | 553 | break; | 536 | /* Line 480 of lalr1.cc */ |
4993 | 554 | case 362: /* ModuleImport */ | 537 | #line 803 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.y" |
4994 | 555 | /* Line 453 of lalr1.cc */ | 538 | { release_hack( (yyvaluep->node) ); }; |
4995 | 556 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | 539 | |
4996 | 557 | { release_hack( ((*yyvaluep).node) ); }; | 540 | /* Line 480 of lalr1.cc */ |
4997 | 558 | /* Line 453 of lalr1.cc */ | 541 | #line 542 "/home/markos/zorba/repo/type-api/build-nocc-g/src/compiler/parser/jsoniq_parser.cpp" |
4998 | 559 | #line 560 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | 542 | break; |
4999 | 560 | break; | 543 | case 358: /* "Import" */ |
5000 | 561 | case 363: /* NamespaceDecl */ | 544 | |
3000 | 562 | /* Line 453 of lalr1.cc */ | ||
3001 | 563 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3002 | 564 | { release_hack( ((*yyvaluep).node) ); }; | ||
3003 | 565 | /* Line 453 of lalr1.cc */ | ||
3004 | 566 | #line 567 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3005 | 567 | break; | ||
3006 | 568 | case 364: /* DefaultNamespaceDecl */ | ||
3007 | 569 | /* Line 453 of lalr1.cc */ | ||
3008 | 570 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3009 | 571 | { release_hack( ((*yyvaluep).node) ); }; | ||
3010 | 572 | /* Line 453 of lalr1.cc */ | ||
3011 | 573 | #line 574 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3012 | 574 | break; | ||
3013 | 575 | case 365: /* VFO_DeclList */ | ||
3014 | 576 | /* Line 453 of lalr1.cc */ | ||
3015 | 577 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3016 | 578 | { release_hack( ((*yyvaluep).node) ); }; | ||
3017 | 579 | /* Line 453 of lalr1.cc */ | ||
3018 | 580 | #line 581 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3019 | 581 | break; | ||
3020 | 582 | case 366: /* VFO_Decl */ | ||
3021 | 583 | /* Line 453 of lalr1.cc */ | ||
3022 | 584 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3023 | 585 | { release_hack( ((*yyvaluep).node) ); }; | ||
3024 | 586 | /* Line 453 of lalr1.cc */ | ||
3025 | 587 | #line 588 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3026 | 588 | break; | ||
3027 | 589 | case 367: /* DecimalFormatDecl */ | ||
3028 | 590 | /* Line 453 of lalr1.cc */ | ||
3029 | 591 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3030 | 592 | { release_hack( ((*yyvaluep).node) ); }; | ||
3031 | 593 | /* Line 453 of lalr1.cc */ | ||
3032 | 594 | #line 595 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3033 | 595 | break; | ||
3034 | 596 | case 368: /* DecimalFormatParamList */ | ||
3035 | 597 | /* Line 453 of lalr1.cc */ | ||
3036 | 598 | #line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3037 | 599 | { delete ((*yyvaluep).vstrpair); }; | ||
3038 | 600 | /* Line 453 of lalr1.cc */ | ||
3039 | 601 | #line 602 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3040 | 602 | break; | ||
3041 | 603 | case 369: /* DecimalFormatParam */ | ||
3042 | 604 | /* Line 453 of lalr1.cc */ | ||
3043 | 605 | #line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3044 | 606 | { delete ((*yyvaluep).strpair); }; | ||
3045 | 607 | /* Line 453 of lalr1.cc */ | ||
3046 | 608 | #line 609 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3047 | 609 | break; | ||
3048 | 610 | case 371: /* OptionDecl */ | ||
3049 | 611 | /* Line 453 of lalr1.cc */ | ||
3050 | 612 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3051 | 613 | { release_hack( ((*yyvaluep).node) ); }; | ||
3052 | 614 | /* Line 453 of lalr1.cc */ | ||
3053 | 615 | #line 616 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3054 | 616 | break; | ||
3055 | 617 | case 372: /* FTOptionDecl */ | ||
3056 | 618 | /* Line 453 of lalr1.cc */ | ||
3057 | 619 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3058 | 620 | { release_hack( ((*yyvaluep).node) ); }; | ||
3059 | 621 | /* Line 453 of lalr1.cc */ | ||
3060 | 622 | #line 623 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3061 | 623 | break; | ||
3062 | 624 | case 373: /* CtxItemDecl */ | ||
3063 | 625 | /* Line 453 of lalr1.cc */ | ||
3064 | 626 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3065 | 627 | { release_hack( ((*yyvaluep).node) ); }; | ||
3066 | 628 | /* Line 453 of lalr1.cc */ | ||
3067 | 629 | #line 630 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3068 | 630 | break; | ||
3069 | 631 | case 374: /* CtxItemDecl2 */ | ||
3070 | 632 | /* Line 453 of lalr1.cc */ | ||
3071 | 633 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3072 | 634 | { release_hack( ((*yyvaluep).node) ); }; | ||
3073 | 635 | /* Line 453 of lalr1.cc */ | ||
3074 | 636 | #line 637 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3075 | 637 | break; | ||
3076 | 638 | case 375: /* CtxItemDecl3 */ | ||
3077 | 639 | /* Line 453 of lalr1.cc */ | ||
3078 | 640 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3079 | 641 | { release_hack( ((*yyvaluep).node) ); }; | ||
3080 | 642 | /* Line 453 of lalr1.cc */ | ||
3081 | 643 | #line 644 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3082 | 644 | break; | ||
3083 | 645 | case 376: /* CtxItemDecl4 */ | ||
3084 | 646 | /* Line 453 of lalr1.cc */ | ||
3085 | 647 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3086 | 648 | { release_hack( ((*yyvaluep).node) ); }; | ||
3087 | 649 | /* Line 453 of lalr1.cc */ | ||
3088 | 650 | #line 651 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3089 | 651 | break; | ||
3090 | 652 | case 377: /* VarDecl */ | ||
3091 | 653 | /* Line 453 of lalr1.cc */ | ||
3092 | 654 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3093 | 655 | { release_hack( ((*yyvaluep).node) ); }; | ||
3094 | 656 | /* Line 453 of lalr1.cc */ | ||
3095 | 657 | #line 658 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3096 | 658 | break; | ||
3097 | 659 | case 378: /* VarNameAndType */ | ||
3098 | 660 | /* Line 453 of lalr1.cc */ | ||
3099 | 661 | #line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3100 | 662 | { delete ((*yyvaluep).varnametype); }; | ||
3101 | 663 | /* Line 453 of lalr1.cc */ | ||
3102 | 664 | #line 665 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3103 | 665 | break; | ||
3104 | 666 | case 379: /* AnnotationList */ | ||
3105 | 667 | /* Line 453 of lalr1.cc */ | ||
3106 | 668 | #line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3107 | 669 | { release_hack( ((*yyvaluep).node) ); }; | ||
3108 | 670 | /* Line 453 of lalr1.cc */ | ||
3109 | 671 | #line 672 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3110 | 672 | break; | ||
3111 | 673 | case 380: /* Annotation */ | ||
3112 | 674 | /* Line 453 of lalr1.cc */ | ||
3113 | 675 | #line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3114 | 676 | { release_hack( ((*yyvaluep).node) ); }; | ||
3115 | 677 | /* Line 453 of lalr1.cc */ | ||
3116 | 678 | #line 679 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3117 | 679 | break; | ||
3118 | 680 | case 381: /* AnnotationLiteralList */ | ||
3119 | 681 | /* Line 453 of lalr1.cc */ | ||
3120 | 682 | #line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3121 | 683 | { release_hack( ((*yyvaluep).node) ); }; | ||
3122 | 684 | /* Line 453 of lalr1.cc */ | ||
3123 | 685 | #line 686 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3124 | 686 | break; | ||
3125 | 687 | case 382: /* FunctionDecl */ | ||
3126 | 688 | /* Line 453 of lalr1.cc */ | ||
3127 | 689 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3128 | 690 | { release_hack( ((*yyvaluep).node) ); }; | ||
3129 | 691 | /* Line 453 of lalr1.cc */ | ||
3130 | 692 | #line 693 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3131 | 693 | break; | ||
3132 | 694 | case 383: /* FunctionDecl2 */ | ||
3133 | 695 | /* Line 453 of lalr1.cc */ | ||
3134 | 696 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3135 | 697 | { release_hack( ((*yyvaluep).node) ); }; | ||
3136 | 698 | /* Line 453 of lalr1.cc */ | ||
3137 | 699 | #line 700 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3138 | 700 | break; | ||
3139 | 701 | case 384: /* FunctionDeclSimple */ | ||
3140 | 702 | /* Line 453 of lalr1.cc */ | ||
3141 | 703 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3142 | 704 | { release_hack( ((*yyvaluep).node) ); }; | ||
3143 | 705 | /* Line 453 of lalr1.cc */ | ||
3144 | 706 | #line 707 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3145 | 707 | break; | ||
3146 | 708 | case 385: /* FunctionDeclUpdating */ | ||
3147 | 709 | /* Line 453 of lalr1.cc */ | ||
3148 | 710 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3149 | 711 | { release_hack( ((*yyvaluep).node) ); }; | ||
3150 | 712 | /* Line 453 of lalr1.cc */ | ||
3151 | 713 | #line 714 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3152 | 714 | break; | ||
3153 | 715 | case 386: /* FunctionSig */ | ||
3154 | 716 | /* Line 453 of lalr1.cc */ | ||
3155 | 717 | #line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3156 | 718 | { delete ((*yyvaluep).fnsig); }; | ||
3157 | 719 | /* Line 453 of lalr1.cc */ | ||
3158 | 720 | #line 721 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3159 | 721 | break; | ||
3160 | 722 | case 387: /* ParamList */ | ||
3161 | 723 | /* Line 453 of lalr1.cc */ | ||
3162 | 724 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3163 | 725 | { release_hack( ((*yyvaluep).node) ); }; | ||
3164 | 726 | /* Line 453 of lalr1.cc */ | ||
3165 | 727 | #line 728 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3166 | 728 | break; | ||
3167 | 729 | case 388: /* Param */ | ||
3168 | 730 | /* Line 453 of lalr1.cc */ | ||
3169 | 731 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3170 | 732 | { release_hack( ((*yyvaluep).node) ); }; | ||
3171 | 733 | /* Line 453 of lalr1.cc */ | ||
3172 | 734 | #line 735 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3173 | 735 | break; | ||
3174 | 736 | case 389: /* CollectionDecl */ | ||
3175 | 737 | /* Line 453 of lalr1.cc */ | ||
3176 | 738 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3177 | 739 | { release_hack( ((*yyvaluep).node) ); }; | ||
3178 | 740 | /* Line 453 of lalr1.cc */ | ||
3179 | 741 | #line 742 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3180 | 742 | break; | ||
3181 | 743 | case 391: /* IndexDecl */ | ||
3182 | 744 | /* Line 453 of lalr1.cc */ | ||
3183 | 745 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3184 | 746 | { release_hack( ((*yyvaluep).node) ); }; | ||
3185 | 747 | /* Line 453 of lalr1.cc */ | ||
3186 | 748 | #line 749 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3187 | 749 | break; | ||
3188 | 750 | case 392: /* IndexKeyList */ | ||
3189 | 751 | /* Line 453 of lalr1.cc */ | ||
3190 | 752 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3191 | 753 | { release_hack( ((*yyvaluep).node) ); }; | ||
3192 | 754 | /* Line 453 of lalr1.cc */ | ||
3193 | 755 | #line 756 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3194 | 756 | break; | ||
3195 | 757 | case 393: /* IndexKeySpec */ | ||
3196 | 758 | /* Line 453 of lalr1.cc */ | ||
3197 | 759 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3198 | 760 | { release_hack( ((*yyvaluep).node) ); }; | ||
3199 | 761 | /* Line 453 of lalr1.cc */ | ||
3200 | 762 | #line 763 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3201 | 763 | break; | ||
3202 | 764 | case 394: /* IntegrityConstraintDecl */ | ||
3203 | 765 | /* Line 453 of lalr1.cc */ | ||
3204 | 766 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3205 | 767 | { release_hack( ((*yyvaluep).node) ); }; | ||
3206 | 768 | /* Line 453 of lalr1.cc */ | ||
3207 | 769 | #line 770 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3208 | 770 | break; | ||
3209 | 771 | case 395: /* QueryBody */ | ||
3210 | 772 | /* Line 453 of lalr1.cc */ | ||
3211 | 773 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3212 | 774 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3213 | 775 | /* Line 453 of lalr1.cc */ | ||
3214 | 776 | #line 777 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3215 | 777 | break; | ||
3216 | 778 | case 396: /* StatementsAndOptionalExprTop */ | ||
3217 | 779 | /* Line 453 of lalr1.cc */ | ||
3218 | 780 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3219 | 781 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3220 | 782 | /* Line 453 of lalr1.cc */ | ||
3221 | 783 | #line 784 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3222 | 784 | break; | ||
3223 | 785 | case 397: /* StatementsAndOptionalExpr */ | ||
3224 | 786 | /* Line 453 of lalr1.cc */ | ||
3225 | 787 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3226 | 788 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3227 | 789 | /* Line 453 of lalr1.cc */ | ||
3228 | 790 | #line 791 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3229 | 791 | break; | ||
3230 | 792 | case 398: /* StatementsAndExpr */ | ||
3231 | 793 | /* Line 453 of lalr1.cc */ | ||
3232 | 794 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3233 | 795 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3234 | 796 | /* Line 453 of lalr1.cc */ | ||
3235 | 797 | #line 798 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3236 | 798 | break; | ||
3237 | 799 | case 399: /* Statements */ | ||
3238 | 800 | /* Line 453 of lalr1.cc */ | ||
3239 | 801 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3240 | 802 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3241 | 803 | /* Line 453 of lalr1.cc */ | ||
3242 | 804 | #line 805 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3243 | 805 | break; | ||
3244 | 806 | case 400: /* Statement */ | ||
3245 | 807 | /* Line 453 of lalr1.cc */ | ||
3246 | 808 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3247 | 809 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3248 | 810 | /* Line 453 of lalr1.cc */ | ||
3249 | 811 | #line 812 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3250 | 812 | break; | ||
3251 | 813 | case 401: /* BlockStatement */ | ||
3252 | 814 | /* Line 453 of lalr1.cc */ | ||
3253 | 815 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3254 | 816 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3255 | 817 | /* Line 453 of lalr1.cc */ | ||
3256 | 818 | #line 819 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3257 | 819 | break; | ||
3258 | 820 | case 402: /* BlockExpr */ | ||
3259 | 821 | /* Line 453 of lalr1.cc */ | ||
3260 | 822 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3261 | 823 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3262 | 824 | /* Line 453 of lalr1.cc */ | ||
3263 | 825 | #line 826 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3264 | 826 | break; | ||
3265 | 827 | case 403: /* EnclosedStatementsAndOptionalExpr */ | ||
3266 | 828 | /* Line 453 of lalr1.cc */ | ||
3267 | 829 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3268 | 830 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3269 | 831 | /* Line 453 of lalr1.cc */ | ||
3270 | 832 | #line 833 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3271 | 833 | break; | ||
3272 | 834 | case 404: /* VarDeclStatement */ | ||
3273 | 835 | /* Line 453 of lalr1.cc */ | ||
3274 | 836 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3275 | 837 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3276 | 838 | /* Line 453 of lalr1.cc */ | ||
3277 | 839 | #line 840 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3278 | 840 | break; | ||
3279 | 841 | case 407: /* AssignStatement */ | ||
3280 | 842 | /* Line 453 of lalr1.cc */ | ||
3281 | 843 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3282 | 844 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3283 | 845 | /* Line 453 of lalr1.cc */ | ||
3284 | 846 | #line 847 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3285 | 847 | break; | ||
3286 | 848 | case 408: /* ApplyStatement */ | ||
3287 | 849 | /* Line 453 of lalr1.cc */ | ||
3288 | 850 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3289 | 851 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3290 | 852 | /* Line 453 of lalr1.cc */ | ||
3291 | 853 | #line 854 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3292 | 854 | break; | ||
3293 | 855 | case 409: /* ExitStatement */ | ||
3294 | 856 | /* Line 453 of lalr1.cc */ | ||
3295 | 857 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3296 | 858 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3297 | 859 | /* Line 453 of lalr1.cc */ | ||
3298 | 860 | #line 861 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3299 | 861 | break; | ||
3300 | 862 | case 410: /* WhileStatement */ | ||
3301 | 863 | /* Line 453 of lalr1.cc */ | ||
3302 | 864 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3303 | 865 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3304 | 866 | /* Line 453 of lalr1.cc */ | ||
3305 | 867 | #line 868 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3306 | 868 | break; | ||
3307 | 869 | case 411: /* FlowCtlStatement */ | ||
3308 | 870 | /* Line 453 of lalr1.cc */ | ||
3309 | 871 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3310 | 872 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3311 | 873 | /* Line 453 of lalr1.cc */ | ||
3312 | 874 | #line 875 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3313 | 875 | break; | ||
3314 | 876 | case 412: /* FLWORStatement */ | ||
3315 | 877 | /* Line 453 of lalr1.cc */ | ||
3316 | 878 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3317 | 879 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3318 | 880 | /* Line 453 of lalr1.cc */ | ||
3319 | 881 | #line 882 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3320 | 882 | break; | ||
3321 | 883 | case 413: /* ReturnStatement */ | ||
3322 | 884 | /* Line 453 of lalr1.cc */ | ||
3323 | 885 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3324 | 886 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3325 | 887 | /* Line 453 of lalr1.cc */ | ||
3326 | 888 | #line 889 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3327 | 889 | break; | ||
3328 | 890 | case 414: /* IfStatement */ | ||
3329 | 891 | /* Line 453 of lalr1.cc */ | ||
3330 | 892 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3331 | 893 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3332 | 894 | /* Line 453 of lalr1.cc */ | ||
3333 | 895 | #line 896 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3334 | 896 | break; | ||
3335 | 897 | case 415: /* TryStatement */ | ||
3336 | 898 | /* Line 453 of lalr1.cc */ | ||
3337 | 899 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3338 | 900 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3339 | 901 | /* Line 453 of lalr1.cc */ | ||
3340 | 902 | #line 903 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3341 | 903 | break; | ||
3342 | 904 | case 416: /* CatchListStatement */ | ||
3343 | 905 | /* Line 453 of lalr1.cc */ | ||
3344 | 906 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3345 | 907 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3346 | 908 | /* Line 453 of lalr1.cc */ | ||
3347 | 909 | #line 910 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3348 | 910 | break; | ||
3349 | 911 | case 417: /* CatchStatement */ | ||
3350 | 912 | /* Line 453 of lalr1.cc */ | ||
3351 | 913 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3352 | 914 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3353 | 915 | /* Line 453 of lalr1.cc */ | ||
3354 | 916 | #line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3355 | 917 | break; | ||
3356 | 918 | case 418: /* VoidStatement */ | ||
3357 | 919 | /* Line 453 of lalr1.cc */ | ||
3358 | 920 | #line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3359 | 921 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3360 | 922 | /* Line 453 of lalr1.cc */ | ||
3361 | 923 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3362 | 924 | break; | ||
3363 | 925 | case 419: /* Expr */ | ||
3364 | 926 | /* Line 453 of lalr1.cc */ | ||
3365 | 927 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3366 | 928 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3367 | 929 | /* Line 453 of lalr1.cc */ | ||
3368 | 930 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3369 | 931 | break; | ||
3370 | 932 | case 420: /* ExprSingle */ | ||
3371 | 933 | /* Line 453 of lalr1.cc */ | ||
3372 | 934 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3373 | 935 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3374 | 936 | /* Line 453 of lalr1.cc */ | ||
3375 | 937 | #line 938 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3376 | 938 | break; | ||
3377 | 939 | case 421: /* ExprSimple */ | ||
3378 | 940 | /* Line 453 of lalr1.cc */ | ||
3379 | 941 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3380 | 942 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3381 | 943 | /* Line 453 of lalr1.cc */ | ||
3382 | 944 | #line 945 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3383 | 945 | break; | ||
3384 | 946 | case 422: /* FLWORExpr */ | ||
3385 | 947 | /* Line 453 of lalr1.cc */ | ||
3386 | 948 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3387 | 949 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3388 | 950 | /* Line 453 of lalr1.cc */ | ||
3389 | 951 | #line 952 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3390 | 952 | break; | ||
3391 | 953 | case 423: /* ReturnExpr */ | ||
3392 | 954 | /* Line 453 of lalr1.cc */ | ||
3393 | 955 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3394 | 956 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3395 | 957 | /* Line 453 of lalr1.cc */ | ||
3396 | 958 | #line 959 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3397 | 959 | break; | ||
3398 | 960 | case 427: /* FLWORWinCond */ | ||
3399 | 961 | /* Line 453 of lalr1.cc */ | ||
3400 | 962 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3401 | 963 | { release_hack( ((*yyvaluep).node) ); }; | ||
3402 | 964 | /* Line 453 of lalr1.cc */ | ||
3403 | 965 | #line 966 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3404 | 966 | break; | ||
3405 | 967 | case 428: /* WindowClause */ | ||
3406 | 968 | /* Line 453 of lalr1.cc */ | ||
3407 | 969 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3408 | 970 | { release_hack( ((*yyvaluep).node) ); }; | ||
3409 | 971 | /* Line 453 of lalr1.cc */ | ||
3410 | 972 | #line 973 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3411 | 973 | break; | ||
3412 | 974 | case 429: /* CountClause */ | ||
3413 | 975 | /* Line 453 of lalr1.cc */ | ||
3414 | 976 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3415 | 977 | { release_hack( ((*yyvaluep).node) ); }; | ||
3416 | 978 | /* Line 453 of lalr1.cc */ | ||
3417 | 979 | #line 980 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3418 | 980 | break; | ||
3419 | 981 | case 430: /* ForLetWinClause */ | ||
3420 | 982 | /* Line 453 of lalr1.cc */ | ||
3421 | 983 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3422 | 984 | { release_hack( ((*yyvaluep).node) ); }; | ||
3423 | 985 | /* Line 453 of lalr1.cc */ | ||
3424 | 986 | #line 987 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3425 | 987 | break; | ||
3426 | 988 | case 432: /* FLWORClauseList */ | ||
3427 | 989 | /* Line 453 of lalr1.cc */ | ||
3428 | 990 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3429 | 991 | { release_hack( ((*yyvaluep).node) ); }; | ||
3430 | 992 | /* Line 453 of lalr1.cc */ | ||
3431 | 993 | #line 994 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3432 | 994 | break; | ||
3433 | 995 | case 433: /* ForClause */ | ||
3434 | 996 | /* Line 453 of lalr1.cc */ | ||
3435 | 997 | #line 923 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3436 | 998 | { release_hack( ((*yyvaluep).node) ); }; | ||
3437 | 999 | /* Line 453 of lalr1.cc */ | ||
3438 | 1000 | #line 1001 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3439 | 1001 | break; | ||
3440 | 1002 | case 435: /* VarInDeclList */ | ||
3441 | 1003 | /* Line 453 of lalr1.cc */ | ||
3442 | 1004 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3443 | 1005 | { release_hack( ((*yyvaluep).node) ); }; | ||
3444 | 1006 | /* Line 453 of lalr1.cc */ | ||
3445 | 1007 | #line 1008 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3446 | 1008 | break; | ||
3447 | 1009 | case 436: /* VarInDecl */ | ||
3448 | 1010 | /* Line 453 of lalr1.cc */ | ||
3449 | 1011 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3450 | 1012 | { release_hack( ((*yyvaluep).node) ); }; | ||
3451 | 1013 | /* Line 453 of lalr1.cc */ | ||
3452 | 1014 | #line 1015 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3453 | 1015 | break; | ||
3454 | 1016 | case 437: /* PositionalVar */ | ||
3455 | 1017 | /* Line 453 of lalr1.cc */ | ||
3456 | 1018 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3457 | 1019 | { release_hack( ((*yyvaluep).node) ); }; | ||
3458 | 1020 | /* Line 453 of lalr1.cc */ | ||
3459 | 1021 | #line 1022 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3460 | 1022 | break; | ||
3461 | 1023 | case 438: /* FTScoreVar */ | ||
3462 | 1024 | /* Line 453 of lalr1.cc */ | ||
3463 | 1025 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3464 | 1026 | { release_hack( ((*yyvaluep).node) ); }; | ||
3465 | 1027 | /* Line 453 of lalr1.cc */ | ||
3466 | 1028 | #line 1029 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3467 | 1029 | break; | ||
3468 | 1030 | case 439: /* LetClause */ | ||
3469 | 1031 | /* Line 453 of lalr1.cc */ | ||
3470 | 1032 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3471 | 1033 | { release_hack( ((*yyvaluep).node) ); }; | ||
3472 | 1034 | /* Line 453 of lalr1.cc */ | ||
3473 | 1035 | #line 1036 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3474 | 1036 | break; | ||
3475 | 1037 | case 440: /* VarGetsDeclList */ | ||
3476 | 1038 | /* Line 453 of lalr1.cc */ | ||
3477 | 1039 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3478 | 1040 | { release_hack( ((*yyvaluep).node) ); }; | ||
3479 | 1041 | /* Line 453 of lalr1.cc */ | ||
3480 | 1042 | #line 1043 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3481 | 1043 | break; | ||
3482 | 1044 | case 441: /* VarGetsDecl */ | ||
3483 | 1045 | /* Line 453 of lalr1.cc */ | ||
3484 | 1046 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3485 | 1047 | { release_hack( ((*yyvaluep).node) ); }; | ||
3486 | 1048 | /* Line 453 of lalr1.cc */ | ||
3487 | 1049 | #line 1050 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3488 | 1050 | break; | ||
3489 | 1051 | case 442: /* WindowVarDecl */ | ||
3490 | 1052 | /* Line 453 of lalr1.cc */ | ||
3491 | 1053 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3492 | 1054 | { release_hack( ((*yyvaluep).node) ); }; | ||
3493 | 1055 | /* Line 453 of lalr1.cc */ | ||
3494 | 1056 | #line 1057 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3495 | 1057 | break; | ||
3496 | 1058 | case 443: /* WindowVars */ | ||
3497 | 1059 | /* Line 453 of lalr1.cc */ | ||
3498 | 1060 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3499 | 1061 | { release_hack( ((*yyvaluep).node) ); }; | ||
3500 | 1062 | /* Line 453 of lalr1.cc */ | ||
3501 | 1063 | #line 1064 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3502 | 1064 | break; | ||
3503 | 1065 | case 444: /* WindowVars3 */ | ||
3504 | 1066 | /* Line 453 of lalr1.cc */ | ||
3505 | 1067 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3506 | 1068 | { release_hack( ((*yyvaluep).node) ); }; | ||
3507 | 1069 | /* Line 453 of lalr1.cc */ | ||
3508 | 1070 | #line 1071 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3509 | 1071 | break; | ||
3510 | 1072 | case 445: /* WindowVars2 */ | ||
3511 | 1073 | /* Line 453 of lalr1.cc */ | ||
3512 | 1074 | #line 930 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3513 | 1075 | { release_hack( ((*yyvaluep).node) ); }; | ||
3514 | 1076 | /* Line 453 of lalr1.cc */ | ||
3515 | 1077 | #line 1078 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3516 | 1078 | break; | ||
3517 | 1079 | case 446: /* WhereClause */ | ||
3518 | 1080 | /* Line 453 of lalr1.cc */ | ||
3519 | 1081 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3520 | 1082 | { release_hack( ((*yyvaluep).node) ); }; | ||
3521 | 1083 | /* Line 453 of lalr1.cc */ | ||
3522 | 1084 | #line 1085 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3523 | 1085 | break; | ||
3524 | 1086 | case 447: /* GroupByClause */ | ||
3525 | 1087 | /* Line 453 of lalr1.cc */ | ||
3526 | 1088 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3527 | 1089 | { release_hack( ((*yyvaluep).node) ); }; | ||
3528 | 1090 | /* Line 453 of lalr1.cc */ | ||
3529 | 1091 | #line 1092 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3530 | 1092 | break; | ||
3531 | 1093 | case 448: /* GroupSpecList */ | ||
3532 | 1094 | /* Line 453 of lalr1.cc */ | ||
3533 | 1095 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3534 | 1096 | { release_hack( ((*yyvaluep).node) ); }; | ||
3535 | 1097 | /* Line 453 of lalr1.cc */ | ||
3536 | 1098 | #line 1099 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3537 | 1099 | break; | ||
3538 | 1100 | case 449: /* GroupSpec */ | ||
3539 | 1101 | /* Line 453 of lalr1.cc */ | ||
3540 | 1102 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3541 | 1103 | { release_hack( ((*yyvaluep).node) ); }; | ||
3542 | 1104 | /* Line 453 of lalr1.cc */ | ||
3543 | 1105 | #line 1106 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3544 | 1106 | break; | ||
3545 | 1107 | case 450: /* GroupCollationSpec */ | ||
3546 | 1108 | /* Line 453 of lalr1.cc */ | ||
3547 | 1109 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3548 | 1110 | { release_hack( ((*yyvaluep).node) ); }; | ||
3549 | 1111 | /* Line 453 of lalr1.cc */ | ||
3550 | 1112 | #line 1113 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3551 | 1113 | break; | ||
3552 | 1114 | case 451: /* OrderByClause */ | ||
3553 | 1115 | /* Line 453 of lalr1.cc */ | ||
3554 | 1116 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3555 | 1117 | { release_hack( ((*yyvaluep).node) ); }; | ||
3556 | 1118 | /* Line 453 of lalr1.cc */ | ||
3557 | 1119 | #line 1120 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3558 | 1120 | break; | ||
3559 | 1121 | case 452: /* OrderSpecList */ | ||
3560 | 1122 | /* Line 453 of lalr1.cc */ | ||
3561 | 1123 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3562 | 1124 | { release_hack( ((*yyvaluep).node) ); }; | ||
3563 | 1125 | /* Line 453 of lalr1.cc */ | ||
3564 | 1126 | #line 1127 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3565 | 1127 | break; | ||
3566 | 1128 | case 453: /* OrderSpec */ | ||
3567 | 1129 | /* Line 453 of lalr1.cc */ | ||
3568 | 1130 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3569 | 1131 | { release_hack( ((*yyvaluep).node) ); }; | ||
3570 | 1132 | /* Line 453 of lalr1.cc */ | ||
3571 | 1133 | #line 1134 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3572 | 1134 | break; | ||
3573 | 1135 | case 454: /* OrderModifier */ | ||
3574 | 1136 | /* Line 453 of lalr1.cc */ | ||
3575 | 1137 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3576 | 1138 | { release_hack( ((*yyvaluep).node) ); }; | ||
3577 | 1139 | /* Line 453 of lalr1.cc */ | ||
3578 | 1140 | #line 1141 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3579 | 1141 | break; | ||
3580 | 1142 | case 455: /* OrderDirSpec */ | ||
3581 | 1143 | /* Line 453 of lalr1.cc */ | ||
3582 | 1144 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3583 | 1145 | { release_hack( ((*yyvaluep).node) ); }; | ||
3584 | 1146 | /* Line 453 of lalr1.cc */ | ||
3585 | 1147 | #line 1148 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3586 | 1148 | break; | ||
3587 | 1149 | case 456: /* OrderEmptySpec */ | ||
3588 | 1150 | /* Line 453 of lalr1.cc */ | ||
3589 | 1151 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3590 | 1152 | { release_hack( ((*yyvaluep).node) ); }; | ||
3591 | 1153 | /* Line 453 of lalr1.cc */ | ||
3592 | 1154 | #line 1155 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3593 | 1155 | break; | ||
3594 | 1156 | case 457: /* OrderCollationSpec */ | ||
3595 | 1157 | /* Line 453 of lalr1.cc */ | ||
3596 | 1158 | #line 925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3597 | 1159 | { release_hack( ((*yyvaluep).node) ); }; | ||
3598 | 1160 | /* Line 453 of lalr1.cc */ | ||
3599 | 1161 | #line 1162 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3600 | 1162 | break; | ||
3601 | 1163 | case 458: /* QuantifiedExpr */ | ||
3602 | 1164 | /* Line 453 of lalr1.cc */ | ||
3603 | 1165 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3604 | 1166 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3605 | 1167 | /* Line 453 of lalr1.cc */ | ||
3606 | 1168 | #line 1169 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3607 | 1169 | break; | ||
3608 | 1170 | case 459: /* QVarInDeclList */ | ||
3609 | 1171 | /* Line 453 of lalr1.cc */ | ||
3610 | 1172 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3611 | 1173 | { release_hack( ((*yyvaluep).node) ); }; | ||
3612 | 1174 | /* Line 453 of lalr1.cc */ | ||
3613 | 1175 | #line 1176 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3614 | 1176 | break; | ||
3615 | 1177 | case 460: /* QVarInDecl */ | ||
3616 | 1178 | /* Line 453 of lalr1.cc */ | ||
3617 | 1179 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3618 | 1180 | { release_hack( ((*yyvaluep).node) ); }; | ||
3619 | 1181 | /* Line 453 of lalr1.cc */ | ||
3620 | 1182 | #line 1183 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3621 | 1183 | break; | ||
3622 | 1184 | case 461: /* SwitchExpr */ | ||
3623 | 1185 | /* Line 453 of lalr1.cc */ | ||
3624 | 1186 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3625 | 1187 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3626 | 1188 | /* Line 453 of lalr1.cc */ | ||
3627 | 1189 | #line 1190 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3628 | 1190 | break; | ||
3629 | 1191 | case 462: /* SwitchCaseClauseList */ | ||
3630 | 1192 | /* Line 453 of lalr1.cc */ | ||
3631 | 1193 | #line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3632 | 1194 | { release_hack( ((*yyvaluep).node) ); }; | ||
3633 | 1195 | /* Line 453 of lalr1.cc */ | ||
3634 | 1196 | #line 1197 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3635 | 1197 | break; | ||
3636 | 1198 | case 463: /* SwitchCaseClause */ | ||
3637 | 1199 | /* Line 453 of lalr1.cc */ | ||
3638 | 1200 | #line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3639 | 1201 | { release_hack( ((*yyvaluep).node) ); }; | ||
3640 | 1202 | /* Line 453 of lalr1.cc */ | ||
3641 | 1203 | #line 1204 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3642 | 1204 | break; | ||
3643 | 1205 | case 464: /* SwitchCaseOperandList */ | ||
3644 | 1206 | /* Line 453 of lalr1.cc */ | ||
3645 | 1207 | #line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3646 | 1208 | { release_hack( ((*yyvaluep).node) ); }; | ||
3647 | 1209 | /* Line 453 of lalr1.cc */ | ||
3648 | 1210 | #line 1211 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3649 | 1211 | break; | ||
3650 | 1212 | case 465: /* SwitchStatement */ | ||
3651 | 1213 | /* Line 453 of lalr1.cc */ | ||
3652 | 1214 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3653 | 1215 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3654 | 1216 | /* Line 453 of lalr1.cc */ | ||
3655 | 1217 | #line 1218 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3656 | 1218 | break; | ||
3657 | 1219 | case 468: /* TypeswitchExpr */ | ||
3658 | 1220 | /* Line 453 of lalr1.cc */ | ||
3659 | 1221 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3660 | 1222 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3661 | 1223 | /* Line 453 of lalr1.cc */ | ||
3662 | 1224 | #line 1225 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3663 | 1225 | break; | ||
3664 | 1226 | case 469: /* TypeswitchStatement */ | ||
3665 | 1227 | /* Line 453 of lalr1.cc */ | ||
3666 | 1228 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3667 | 1229 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3668 | 1230 | /* Line 453 of lalr1.cc */ | ||
3669 | 1231 | #line 1232 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3670 | 1232 | break; | ||
3671 | 1233 | case 470: /* CaseClauseList */ | ||
3672 | 1234 | /* Line 453 of lalr1.cc */ | ||
3673 | 1235 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3674 | 1236 | { release_hack( ((*yyvaluep).node) ); }; | ||
3675 | 1237 | /* Line 453 of lalr1.cc */ | ||
3676 | 1238 | #line 1239 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3677 | 1239 | break; | ||
3678 | 1240 | case 471: /* CaseClause */ | ||
3679 | 1241 | /* Line 453 of lalr1.cc */ | ||
3680 | 1242 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3681 | 1243 | { release_hack( ((*yyvaluep).node) ); }; | ||
3682 | 1244 | /* Line 453 of lalr1.cc */ | ||
3683 | 1245 | #line 1246 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3684 | 1246 | break; | ||
3685 | 1247 | case 474: /* SequenceTypeList */ | ||
3686 | 1248 | /* Line 453 of lalr1.cc */ | ||
3687 | 1249 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3688 | 1250 | { release_hack( ((*yyvaluep).node) ); }; | ||
3689 | 1251 | /* Line 453 of lalr1.cc */ | ||
3690 | 1252 | #line 1253 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3691 | 1253 | break; | ||
3692 | 1254 | case 475: /* IfExpr */ | ||
3693 | 1255 | /* Line 453 of lalr1.cc */ | ||
3694 | 1256 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3695 | 1257 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3696 | 1258 | /* Line 453 of lalr1.cc */ | ||
3697 | 1259 | #line 1260 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3698 | 1260 | break; | ||
3699 | 1261 | case 476: /* OrExpr */ | ||
3700 | 1262 | /* Line 453 of lalr1.cc */ | ||
3701 | 1263 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3702 | 1264 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3703 | 1265 | /* Line 453 of lalr1.cc */ | ||
3704 | 1266 | #line 1267 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3705 | 1267 | break; | ||
3706 | 1268 | case 477: /* AndExpr */ | ||
3707 | 1269 | /* Line 453 of lalr1.cc */ | ||
3708 | 1270 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3709 | 1271 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3710 | 1272 | /* Line 453 of lalr1.cc */ | ||
3711 | 1273 | #line 1274 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3712 | 1274 | break; | ||
3713 | 1275 | case 478: /* NotExpr */ | ||
3714 | 1276 | /* Line 453 of lalr1.cc */ | ||
3715 | 1277 | #line 935 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3716 | 1278 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3717 | 1279 | /* Line 453 of lalr1.cc */ | ||
3718 | 1280 | #line 1281 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3719 | 1281 | break; | ||
3720 | 1282 | case 479: /* ComparisonExpr */ | ||
3721 | 1283 | /* Line 453 of lalr1.cc */ | ||
3722 | 1284 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3723 | 1285 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3724 | 1286 | /* Line 453 of lalr1.cc */ | ||
3725 | 1287 | #line 1288 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3726 | 1288 | break; | ||
3727 | 1289 | case 481: /* FTContainsExpr */ | ||
3728 | 1290 | /* Line 453 of lalr1.cc */ | ||
3729 | 1291 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3730 | 1292 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3731 | 1293 | /* Line 453 of lalr1.cc */ | ||
3732 | 1294 | #line 1295 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3733 | 1295 | break; | ||
3734 | 1296 | case 482: /* StringConcatExpr */ | ||
3735 | 1297 | /* Line 453 of lalr1.cc */ | ||
3736 | 1298 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3737 | 1299 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3738 | 1300 | /* Line 453 of lalr1.cc */ | ||
3739 | 1301 | #line 1302 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3740 | 1302 | break; | ||
3741 | 1303 | case 483: /* opt_FTIgnoreOption */ | ||
3742 | 1304 | /* Line 453 of lalr1.cc */ | ||
3743 | 1305 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3744 | 1306 | { release_hack( ((*yyvaluep).node) ); }; | ||
3745 | 1307 | /* Line 453 of lalr1.cc */ | ||
3746 | 1308 | #line 1309 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3747 | 1309 | break; | ||
3748 | 1310 | case 484: /* RangeExpr */ | ||
3749 | 1311 | /* Line 453 of lalr1.cc */ | ||
3750 | 1312 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3751 | 1313 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3752 | 1314 | /* Line 453 of lalr1.cc */ | ||
3753 | 1315 | #line 1316 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3754 | 1316 | break; | ||
3755 | 1317 | case 485: /* AdditiveExpr */ | ||
3756 | 1318 | /* Line 453 of lalr1.cc */ | ||
3757 | 1319 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3758 | 1320 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3759 | 1321 | /* Line 453 of lalr1.cc */ | ||
3760 | 1322 | #line 1323 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3761 | 1323 | break; | ||
3762 | 1324 | case 486: /* MultiplicativeExpr */ | ||
3763 | 1325 | /* Line 453 of lalr1.cc */ | ||
3764 | 1326 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3765 | 1327 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3766 | 1328 | /* Line 453 of lalr1.cc */ | ||
3767 | 1329 | #line 1330 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3768 | 1330 | break; | ||
3769 | 1331 | case 487: /* UnionExpr */ | ||
3770 | 1332 | /* Line 453 of lalr1.cc */ | ||
3771 | 1333 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3772 | 1334 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3773 | 1335 | /* Line 453 of lalr1.cc */ | ||
3774 | 1336 | #line 1337 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3775 | 1337 | break; | ||
3776 | 1338 | case 488: /* IntersectExceptExpr */ | ||
3777 | 1339 | /* Line 453 of lalr1.cc */ | ||
3778 | 1340 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3779 | 1341 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3780 | 1342 | /* Line 453 of lalr1.cc */ | ||
3781 | 1343 | #line 1344 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3782 | 1344 | break; | ||
3783 | 1345 | case 489: /* InstanceofExpr */ | ||
3784 | 1346 | /* Line 453 of lalr1.cc */ | ||
3785 | 1347 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3786 | 1348 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3787 | 1349 | /* Line 453 of lalr1.cc */ | ||
3788 | 1350 | #line 1351 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3789 | 1351 | break; | ||
3790 | 1352 | case 490: /* TreatExpr */ | ||
3791 | 1353 | /* Line 453 of lalr1.cc */ | ||
3792 | 1354 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3793 | 1355 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3794 | 1356 | /* Line 453 of lalr1.cc */ | ||
3795 | 1357 | #line 1358 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3796 | 1358 | break; | ||
3797 | 1359 | case 491: /* CastableExpr */ | ||
3798 | 1360 | /* Line 453 of lalr1.cc */ | ||
3799 | 1361 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3800 | 1362 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3801 | 1363 | /* Line 453 of lalr1.cc */ | ||
3802 | 1364 | #line 1365 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3803 | 1365 | break; | ||
3804 | 1366 | case 492: /* CastExpr */ | ||
3805 | 1367 | /* Line 453 of lalr1.cc */ | ||
3806 | 1368 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3807 | 1369 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3808 | 1370 | /* Line 453 of lalr1.cc */ | ||
3809 | 1371 | #line 1372 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3810 | 1372 | break; | ||
3811 | 1373 | case 493: /* SingleType */ | ||
3812 | 1374 | /* Line 453 of lalr1.cc */ | ||
3813 | 1375 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3814 | 1376 | { release_hack( ((*yyvaluep).node) ); }; | ||
3815 | 1377 | /* Line 453 of lalr1.cc */ | ||
3816 | 1378 | #line 1379 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3817 | 1379 | break; | ||
3818 | 1380 | case 494: /* UnaryExpr */ | ||
3819 | 1381 | /* Line 453 of lalr1.cc */ | ||
3820 | 1382 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3821 | 1383 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3822 | 1384 | /* Line 453 of lalr1.cc */ | ||
3823 | 1385 | #line 1386 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3824 | 1386 | break; | ||
3825 | 1387 | case 495: /* SignList */ | ||
3826 | 1388 | /* Line 453 of lalr1.cc */ | ||
3827 | 1389 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3828 | 1390 | { release_hack( ((*yyvaluep).node) ); }; | ||
3829 | 1391 | /* Line 453 of lalr1.cc */ | ||
3830 | 1392 | #line 1393 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3831 | 1393 | break; | ||
3832 | 1394 | case 496: /* ValueExpr */ | ||
3833 | 1395 | /* Line 453 of lalr1.cc */ | ||
3834 | 1396 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3835 | 1397 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3836 | 1398 | /* Line 453 of lalr1.cc */ | ||
3837 | 1399 | #line 1400 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3838 | 1400 | break; | ||
3839 | 1401 | case 497: /* SimpleMapExpr */ | ||
3840 | 1402 | /* Line 453 of lalr1.cc */ | ||
3841 | 1403 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3842 | 1404 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3843 | 1405 | /* Line 453 of lalr1.cc */ | ||
3844 | 1406 | #line 1407 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3845 | 1407 | break; | ||
3846 | 1408 | case 498: /* ValueComp */ | ||
3847 | 1409 | /* Line 453 of lalr1.cc */ | ||
3848 | 1410 | #line 929 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3849 | 1411 | { release_hack( ((*yyvaluep).node) ); }; | ||
3850 | 1412 | /* Line 453 of lalr1.cc */ | ||
3851 | 1413 | #line 1414 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3852 | 1414 | break; | ||
3853 | 1415 | case 499: /* NodeComp */ | ||
3854 | 1416 | /* Line 453 of lalr1.cc */ | ||
3855 | 1417 | #line 932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3856 | 1418 | { release_hack( ((*yyvaluep).node) ); }; | ||
3857 | 1419 | /* Line 453 of lalr1.cc */ | ||
3858 | 1420 | #line 1421 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3859 | 1421 | break; | ||
3860 | 1422 | case 500: /* ValidateExpr */ | ||
3861 | 1423 | /* Line 453 of lalr1.cc */ | ||
3862 | 1424 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3863 | 1425 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3864 | 1426 | /* Line 453 of lalr1.cc */ | ||
3865 | 1427 | #line 1428 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3866 | 1428 | break; | ||
3867 | 1429 | case 501: /* ExtensionExpr */ | ||
3868 | 1430 | /* Line 453 of lalr1.cc */ | ||
3869 | 1431 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3870 | 1432 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3871 | 1433 | /* Line 453 of lalr1.cc */ | ||
3872 | 1434 | #line 1435 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3873 | 1435 | break; | ||
3874 | 1436 | case 502: /* Pragma_list */ | ||
3875 | 1437 | /* Line 453 of lalr1.cc */ | ||
3876 | 1438 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3877 | 1439 | { release_hack( ((*yyvaluep).node) ); }; | ||
3878 | 1440 | /* Line 453 of lalr1.cc */ | ||
3879 | 1441 | #line 1442 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3880 | 1442 | break; | ||
3881 | 1443 | case 503: /* Pragma */ | ||
3882 | 1444 | /* Line 453 of lalr1.cc */ | ||
3883 | 1445 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3884 | 1446 | { release_hack( ((*yyvaluep).node) ); }; | ||
3885 | 1447 | /* Line 453 of lalr1.cc */ | ||
3886 | 1448 | #line 1449 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3887 | 1449 | break; | ||
3888 | 1450 | case 504: /* PathExpr */ | ||
3889 | 1451 | /* Line 453 of lalr1.cc */ | ||
3890 | 1452 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3891 | 1453 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3892 | 1454 | /* Line 453 of lalr1.cc */ | ||
3893 | 1455 | #line 1456 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3894 | 1456 | break; | ||
3895 | 1457 | case 506: /* RelativePathExpr */ | ||
3896 | 1458 | /* Line 453 of lalr1.cc */ | ||
3897 | 1459 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3898 | 1460 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3899 | 1461 | /* Line 453 of lalr1.cc */ | ||
3900 | 1462 | #line 1463 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3901 | 1463 | break; | ||
3902 | 1464 | case 507: /* StepExpr */ | ||
3903 | 1465 | /* Line 453 of lalr1.cc */ | ||
3904 | 1466 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3905 | 1467 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3906 | 1468 | /* Line 453 of lalr1.cc */ | ||
3907 | 1469 | #line 1470 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3908 | 1470 | break; | ||
3909 | 1471 | case 508: /* AxisStep */ | ||
3910 | 1472 | /* Line 453 of lalr1.cc */ | ||
3911 | 1473 | #line 945 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3912 | 1474 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3913 | 1475 | /* Line 453 of lalr1.cc */ | ||
3914 | 1476 | #line 1477 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3915 | 1477 | break; | ||
3916 | 1478 | case 509: /* ForwardStep */ | ||
3917 | 1479 | /* Line 453 of lalr1.cc */ | ||
3918 | 1480 | #line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3919 | 1481 | { release_hack( ((*yyvaluep).node) ); }; | ||
3920 | 1482 | /* Line 453 of lalr1.cc */ | ||
3921 | 1483 | #line 1484 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3922 | 1484 | break; | ||
3923 | 1485 | case 510: /* ForwardAxis */ | ||
3924 | 1486 | /* Line 453 of lalr1.cc */ | ||
3925 | 1487 | #line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3926 | 1488 | { release_hack( ((*yyvaluep).node) ); }; | ||
3927 | 1489 | /* Line 453 of lalr1.cc */ | ||
3928 | 1490 | #line 1491 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3929 | 1491 | break; | ||
3930 | 1492 | case 511: /* AbbrevForwardStep */ | ||
3931 | 1493 | /* Line 453 of lalr1.cc */ | ||
3932 | 1494 | #line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3933 | 1495 | { release_hack( ((*yyvaluep).node) ); }; | ||
3934 | 1496 | /* Line 453 of lalr1.cc */ | ||
3935 | 1497 | #line 1498 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3936 | 1498 | break; | ||
3937 | 1499 | case 512: /* ReverseStep */ | ||
3938 | 1500 | /* Line 453 of lalr1.cc */ | ||
3939 | 1501 | #line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3940 | 1502 | { release_hack( ((*yyvaluep).node) ); }; | ||
3941 | 1503 | /* Line 453 of lalr1.cc */ | ||
3942 | 1504 | #line 1505 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3943 | 1505 | break; | ||
3944 | 1506 | case 513: /* ReverseAxis */ | ||
3945 | 1507 | /* Line 453 of lalr1.cc */ | ||
3946 | 1508 | #line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3947 | 1509 | { release_hack( ((*yyvaluep).node) ); }; | ||
3948 | 1510 | /* Line 453 of lalr1.cc */ | ||
3949 | 1511 | #line 1512 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3950 | 1512 | break; | ||
3951 | 1513 | case 514: /* NodeTest */ | ||
3952 | 1514 | /* Line 453 of lalr1.cc */ | ||
3953 | 1515 | #line 917 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3954 | 1516 | { release_hack( ((*yyvaluep).node) ); }; | ||
3955 | 1517 | /* Line 453 of lalr1.cc */ | ||
3956 | 1518 | #line 1519 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3957 | 1519 | break; | ||
3958 | 1520 | case 515: /* NameTest */ | ||
3959 | 1521 | /* Line 453 of lalr1.cc */ | ||
3960 | 1522 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3961 | 1523 | { release_hack( ((*yyvaluep).node) ); }; | ||
3962 | 1524 | /* Line 453 of lalr1.cc */ | ||
3963 | 1525 | #line 1526 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3964 | 1526 | break; | ||
3965 | 1527 | case 516: /* Wildcard */ | ||
3966 | 1528 | /* Line 453 of lalr1.cc */ | ||
3967 | 1529 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3968 | 1530 | { release_hack( ((*yyvaluep).node) ); }; | ||
3969 | 1531 | /* Line 453 of lalr1.cc */ | ||
3970 | 1532 | #line 1533 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3971 | 1533 | break; | ||
3972 | 1534 | case 517: /* PostfixExpr */ | ||
3973 | 1535 | /* Line 453 of lalr1.cc */ | ||
3974 | 1536 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3975 | 1537 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3976 | 1538 | /* Line 453 of lalr1.cc */ | ||
3977 | 1539 | #line 1540 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3978 | 1540 | break; | ||
3979 | 1541 | case 518: /* PredicateList */ | ||
3980 | 1542 | /* Line 453 of lalr1.cc */ | ||
3981 | 1543 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3982 | 1544 | { release_hack( ((*yyvaluep).node) ); }; | ||
3983 | 1545 | /* Line 453 of lalr1.cc */ | ||
3984 | 1546 | #line 1547 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3985 | 1547 | break; | ||
3986 | 1548 | case 519: /* Predicate */ | ||
3987 | 1549 | /* Line 453 of lalr1.cc */ | ||
3988 | 1550 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3989 | 1551 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3990 | 1552 | /* Line 453 of lalr1.cc */ | ||
3991 | 1553 | #line 1554 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3992 | 1554 | break; | ||
3993 | 1555 | case 520: /* PrimaryExpr */ | ||
3994 | 1556 | /* Line 453 of lalr1.cc */ | ||
3995 | 1557 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
3996 | 1558 | { release_hack( ((*yyvaluep).expr) ); }; | ||
3997 | 1559 | /* Line 453 of lalr1.cc */ | ||
3998 | 1560 | #line 1561 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
3999 | 1561 | break; | ||
4000 | 1562 | case 521: /* Literal */ | ||
4001 | 1563 | /* Line 453 of lalr1.cc */ | ||
4002 | 1564 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4003 | 1565 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4004 | 1566 | /* Line 453 of lalr1.cc */ | ||
4005 | 1567 | #line 1568 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4006 | 1568 | break; | ||
4007 | 1569 | case 522: /* NumericLiteral */ | ||
4008 | 1570 | /* Line 453 of lalr1.cc */ | ||
4009 | 1571 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4010 | 1572 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4011 | 1573 | /* Line 453 of lalr1.cc */ | ||
4012 | 1574 | #line 1575 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4013 | 1575 | break; | ||
4014 | 1576 | case 523: /* VarRef */ | ||
4015 | 1577 | /* Line 453 of lalr1.cc */ | ||
4016 | 1578 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4017 | 1579 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4018 | 1580 | /* Line 453 of lalr1.cc */ | ||
4019 | 1581 | #line 1582 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4020 | 1582 | break; | ||
4021 | 1583 | case 524: /* ParenthesizedExpr */ | ||
4022 | 1584 | /* Line 453 of lalr1.cc */ | ||
4023 | 1585 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4024 | 1586 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4025 | 1587 | /* Line 453 of lalr1.cc */ | ||
4026 | 1588 | #line 1589 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4027 | 1589 | break; | ||
4028 | 1590 | case 525: /* ContextItemExpr */ | ||
4029 | 1591 | /* Line 453 of lalr1.cc */ | ||
4030 | 1592 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4031 | 1593 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4032 | 1594 | /* Line 453 of lalr1.cc */ | ||
4033 | 1595 | #line 1596 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4034 | 1596 | break; | ||
4035 | 1597 | case 526: /* OrderedExpr */ | ||
4036 | 1598 | /* Line 453 of lalr1.cc */ | ||
4037 | 1599 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4038 | 1600 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4039 | 1601 | /* Line 453 of lalr1.cc */ | ||
4040 | 1602 | #line 1603 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4041 | 1603 | break; | ||
4042 | 1604 | case 527: /* UnorderedExpr */ | ||
4043 | 1605 | /* Line 453 of lalr1.cc */ | ||
4044 | 1606 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4045 | 1607 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4046 | 1608 | /* Line 453 of lalr1.cc */ | ||
4047 | 1609 | #line 1610 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4048 | 1610 | break; | ||
4049 | 1611 | case 528: /* FunctionCall */ | ||
4050 | 1612 | /* Line 453 of lalr1.cc */ | ||
4051 | 1613 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4052 | 1614 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4053 | 1615 | /* Line 453 of lalr1.cc */ | ||
4054 | 1616 | #line 1617 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4055 | 1617 | break; | ||
4056 | 1618 | case 529: /* ArgList */ | ||
4057 | 1619 | /* Line 453 of lalr1.cc */ | ||
4058 | 1620 | #line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4059 | 1621 | { release_hack( ((*yyvaluep).node) ); }; | ||
4060 | 1622 | /* Line 453 of lalr1.cc */ | ||
4061 | 1623 | #line 1624 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4062 | 1624 | break; | ||
4063 | 1625 | case 533: /* Constructor */ | ||
4064 | 1626 | /* Line 453 of lalr1.cc */ | ||
4065 | 1627 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4066 | 1628 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4067 | 1629 | /* Line 453 of lalr1.cc */ | ||
4068 | 1630 | #line 1631 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4069 | 1631 | break; | ||
4070 | 1632 | case 534: /* DirectConstructor */ | ||
4071 | 1633 | /* Line 453 of lalr1.cc */ | ||
4072 | 1634 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4073 | 1635 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4074 | 1636 | /* Line 453 of lalr1.cc */ | ||
4075 | 1637 | #line 1638 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4076 | 1638 | break; | ||
4077 | 1639 | case 535: /* DirElemConstructor */ | ||
4078 | 1640 | /* Line 453 of lalr1.cc */ | ||
4079 | 1641 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4080 | 1642 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4081 | 1643 | /* Line 453 of lalr1.cc */ | ||
4082 | 1644 | #line 1645 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4083 | 1645 | break; | ||
4084 | 1646 | case 536: /* DirElemContentList */ | ||
4085 | 1647 | /* Line 453 of lalr1.cc */ | ||
4086 | 1648 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4087 | 1649 | { release_hack( ((*yyvaluep).node) ); }; | ||
4088 | 1650 | /* Line 453 of lalr1.cc */ | ||
4089 | 1651 | #line 1652 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4090 | 1652 | break; | ||
4091 | 1653 | case 537: /* DirAttributeList */ | ||
4092 | 1654 | /* Line 453 of lalr1.cc */ | ||
4093 | 1655 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4094 | 1656 | { release_hack( ((*yyvaluep).node) ); }; | ||
4095 | 1657 | /* Line 453 of lalr1.cc */ | ||
4096 | 1658 | #line 1659 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4097 | 1659 | break; | ||
4098 | 1660 | case 538: /* DirAttr */ | ||
4099 | 1661 | /* Line 453 of lalr1.cc */ | ||
4100 | 1662 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4101 | 1663 | { release_hack( ((*yyvaluep).node) ); }; | ||
4102 | 1664 | /* Line 453 of lalr1.cc */ | ||
4103 | 1665 | #line 1666 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4104 | 1666 | break; | ||
4105 | 1667 | case 540: /* DirAttributeValue */ | ||
4106 | 1668 | /* Line 453 of lalr1.cc */ | ||
4107 | 1669 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4108 | 1670 | { release_hack( ((*yyvaluep).node) ); }; | ||
4109 | 1671 | /* Line 453 of lalr1.cc */ | ||
4110 | 1672 | #line 1673 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4111 | 1673 | break; | ||
4112 | 1674 | case 541: /* opt_QuoteAttrContentList */ | ||
4113 | 1675 | /* Line 453 of lalr1.cc */ | ||
4114 | 1676 | #line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4115 | 1677 | { release_hack( ((*yyvaluep).node) ); }; | ||
4116 | 1678 | /* Line 453 of lalr1.cc */ | ||
4117 | 1679 | #line 1680 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4118 | 1680 | break; | ||
4119 | 1681 | case 542: /* QuoteAttrContentList */ | ||
4120 | 1682 | /* Line 453 of lalr1.cc */ | ||
4121 | 1683 | #line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4122 | 1684 | { release_hack( ((*yyvaluep).node) ); }; | ||
4123 | 1685 | /* Line 453 of lalr1.cc */ | ||
4124 | 1686 | #line 1687 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4125 | 1687 | break; | ||
4126 | 1688 | case 543: /* opt_AposAttrContentList */ | ||
4127 | 1689 | /* Line 453 of lalr1.cc */ | ||
4128 | 1690 | #line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4129 | 1691 | { release_hack( ((*yyvaluep).node) ); }; | ||
4130 | 1692 | /* Line 453 of lalr1.cc */ | ||
4131 | 1693 | #line 1694 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4132 | 1694 | break; | ||
4133 | 1695 | case 544: /* AposAttrContentList */ | ||
4134 | 1696 | /* Line 453 of lalr1.cc */ | ||
4135 | 1697 | #line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4136 | 1698 | { release_hack( ((*yyvaluep).node) ); }; | ||
4137 | 1699 | /* Line 453 of lalr1.cc */ | ||
4138 | 1700 | #line 1701 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4139 | 1701 | break; | ||
4140 | 1702 | case 545: /* QuoteAttrValueContent */ | ||
4141 | 1703 | /* Line 453 of lalr1.cc */ | ||
4142 | 1704 | #line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4143 | 1705 | { release_hack( ((*yyvaluep).node) ); }; | ||
4144 | 1706 | /* Line 453 of lalr1.cc */ | ||
4145 | 1707 | #line 1708 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4146 | 1708 | break; | ||
4147 | 1709 | case 546: /* AposAttrValueContent */ | ||
4148 | 1710 | /* Line 453 of lalr1.cc */ | ||
4149 | 1711 | #line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4150 | 1712 | { release_hack( ((*yyvaluep).node) ); }; | ||
4151 | 1713 | /* Line 453 of lalr1.cc */ | ||
4152 | 1714 | #line 1715 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4153 | 1715 | break; | ||
4154 | 1716 | case 547: /* DirElemContent */ | ||
4155 | 1717 | /* Line 453 of lalr1.cc */ | ||
4156 | 1718 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4157 | 1719 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4158 | 1720 | /* Line 453 of lalr1.cc */ | ||
4159 | 1721 | #line 1722 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4160 | 1722 | break; | ||
4161 | 1723 | case 548: /* CommonContent */ | ||
4162 | 1724 | /* Line 453 of lalr1.cc */ | ||
4163 | 1725 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4164 | 1726 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4165 | 1727 | /* Line 453 of lalr1.cc */ | ||
4166 | 1728 | #line 1729 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4167 | 1729 | break; | ||
4168 | 1730 | case 549: /* DirCommentConstructor */ | ||
4169 | 1731 | /* Line 453 of lalr1.cc */ | ||
4170 | 1732 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4171 | 1733 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4172 | 1734 | /* Line 453 of lalr1.cc */ | ||
4173 | 1735 | #line 1736 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4174 | 1736 | break; | ||
4175 | 1737 | case 550: /* DirPIConstructor */ | ||
4176 | 1738 | /* Line 453 of lalr1.cc */ | ||
4177 | 1739 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4178 | 1740 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4179 | 1741 | /* Line 453 of lalr1.cc */ | ||
4180 | 1742 | #line 1743 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4181 | 1743 | break; | ||
4182 | 1744 | case 551: /* CDataSection */ | ||
4183 | 1745 | /* Line 453 of lalr1.cc */ | ||
4184 | 1746 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4185 | 1747 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4186 | 1748 | /* Line 453 of lalr1.cc */ | ||
4187 | 1749 | #line 1750 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4188 | 1750 | break; | ||
4189 | 1751 | case 552: /* ComputedConstructor */ | ||
4190 | 1752 | /* Line 453 of lalr1.cc */ | ||
4191 | 1753 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4192 | 1754 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4193 | 1755 | /* Line 453 of lalr1.cc */ | ||
4194 | 1756 | #line 1757 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4195 | 1757 | break; | ||
4196 | 1758 | case 553: /* CompDocConstructor */ | ||
4197 | 1759 | /* Line 453 of lalr1.cc */ | ||
4198 | 1760 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4199 | 1761 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4200 | 1762 | /* Line 453 of lalr1.cc */ | ||
4201 | 1763 | #line 1764 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4202 | 1764 | break; | ||
4203 | 1765 | case 554: /* CompElemConstructor */ | ||
4204 | 1766 | /* Line 453 of lalr1.cc */ | ||
4205 | 1767 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4206 | 1768 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4207 | 1769 | /* Line 453 of lalr1.cc */ | ||
4208 | 1770 | #line 1771 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4209 | 1771 | break; | ||
4210 | 1772 | case 555: /* CompAttrConstructor */ | ||
4211 | 1773 | /* Line 453 of lalr1.cc */ | ||
4212 | 1774 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4213 | 1775 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4214 | 1776 | /* Line 453 of lalr1.cc */ | ||
4215 | 1777 | #line 1778 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4216 | 1778 | break; | ||
4217 | 1779 | case 556: /* CompTextConstructor */ | ||
4218 | 1780 | /* Line 453 of lalr1.cc */ | ||
4219 | 1781 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4220 | 1782 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4221 | 1783 | /* Line 453 of lalr1.cc */ | ||
4222 | 1784 | #line 1785 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4223 | 1785 | break; | ||
4224 | 1786 | case 557: /* CompCommentConstructor */ | ||
4225 | 1787 | /* Line 453 of lalr1.cc */ | ||
4226 | 1788 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4227 | 1789 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4228 | 1790 | /* Line 453 of lalr1.cc */ | ||
4229 | 1791 | #line 1792 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4230 | 1792 | break; | ||
4231 | 1793 | case 558: /* CompPIConstructor */ | ||
4232 | 1794 | /* Line 453 of lalr1.cc */ | ||
4233 | 1795 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4234 | 1796 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4235 | 1797 | /* Line 453 of lalr1.cc */ | ||
4236 | 1798 | #line 1799 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4237 | 1799 | break; | ||
4238 | 1800 | case 559: /* CompNamespaceConstructor */ | ||
4239 | 1801 | /* Line 453 of lalr1.cc */ | ||
4240 | 1802 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4241 | 1803 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4242 | 1804 | /* Line 453 of lalr1.cc */ | ||
4243 | 1805 | #line 1806 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4244 | 1806 | break; | ||
4245 | 1807 | case 560: /* TypeDeclaration */ | ||
4246 | 1808 | /* Line 453 of lalr1.cc */ | ||
4247 | 1809 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4248 | 1810 | { release_hack( ((*yyvaluep).node) ); }; | ||
4249 | 1811 | /* Line 453 of lalr1.cc */ | ||
4250 | 1812 | #line 1813 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4251 | 1813 | break; | ||
4252 | 1814 | case 561: /* SequenceType */ | ||
4253 | 1815 | /* Line 453 of lalr1.cc */ | ||
4254 | 1816 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4255 | 1817 | { release_hack( ((*yyvaluep).node) ); }; | ||
4256 | 1818 | /* Line 453 of lalr1.cc */ | ||
4257 | 1819 | #line 1820 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4258 | 1820 | break; | ||
4259 | 1821 | case 562: /* OccurrenceIndicator */ | ||
4260 | 1822 | /* Line 453 of lalr1.cc */ | ||
4261 | 1823 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4262 | 1824 | { release_hack( ((*yyvaluep).node) ); }; | ||
4263 | 1825 | /* Line 453 of lalr1.cc */ | ||
4264 | 1826 | #line 1827 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4265 | 1827 | break; | ||
4266 | 1828 | case 563: /* ItemType */ | ||
4267 | 1829 | /* Line 453 of lalr1.cc */ | ||
4268 | 1830 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4269 | 1831 | { release_hack( ((*yyvaluep).node) ); }; | ||
4270 | 1832 | /* Line 453 of lalr1.cc */ | ||
4271 | 1833 | #line 1834 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4272 | 1834 | break; | ||
4273 | 1835 | case 564: /* TypeList */ | ||
4274 | 1836 | /* Line 453 of lalr1.cc */ | ||
4275 | 1837 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4276 | 1838 | { release_hack( ((*yyvaluep).node) ); }; | ||
4277 | 1839 | /* Line 453 of lalr1.cc */ | ||
4278 | 1840 | #line 1841 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4279 | 1841 | break; | ||
4280 | 1842 | case 565: /* GeneralizedAtomicType */ | ||
4281 | 1843 | /* Line 453 of lalr1.cc */ | ||
4282 | 1844 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4283 | 1845 | { release_hack( ((*yyvaluep).node) ); }; | ||
4284 | 1846 | /* Line 453 of lalr1.cc */ | ||
4285 | 1847 | #line 1848 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4286 | 1848 | break; | ||
4287 | 1849 | case 566: /* SimpleType */ | ||
4288 | 1850 | /* Line 453 of lalr1.cc */ | ||
4289 | 1851 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4290 | 1852 | { release_hack( ((*yyvaluep).node) ); }; | ||
4291 | 1853 | /* Line 453 of lalr1.cc */ | ||
4292 | 1854 | #line 1855 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4293 | 1855 | break; | ||
4294 | 1856 | case 567: /* KindTest */ | ||
4295 | 1857 | /* Line 453 of lalr1.cc */ | ||
4296 | 1858 | #line 924 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4297 | 1859 | { release_hack( ((*yyvaluep).node) ); }; | ||
4298 | 1860 | /* Line 453 of lalr1.cc */ | ||
4299 | 1861 | #line 1862 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4300 | 1862 | break; | ||
4301 | 1863 | case 568: /* AnyKindTest */ | ||
4302 | 1864 | /* Line 453 of lalr1.cc */ | ||
4303 | 1865 | #line 920 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4304 | 1866 | { release_hack( ((*yyvaluep).node) ); }; | ||
4305 | 1867 | /* Line 453 of lalr1.cc */ | ||
4306 | 1868 | #line 1869 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4307 | 1869 | break; | ||
4308 | 1870 | case 570: /* DocumentTest */ | ||
4309 | 1871 | /* Line 453 of lalr1.cc */ | ||
4310 | 1872 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4311 | 1873 | { release_hack( ((*yyvaluep).node) ); }; | ||
4312 | 1874 | /* Line 453 of lalr1.cc */ | ||
4313 | 1875 | #line 1876 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4314 | 1876 | break; | ||
4315 | 1877 | case 571: /* NamespaceTest */ | ||
4316 | 1878 | /* Line 453 of lalr1.cc */ | ||
4317 | 1879 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4318 | 1880 | { release_hack( ((*yyvaluep).node) ); }; | ||
4319 | 1881 | /* Line 453 of lalr1.cc */ | ||
4320 | 1882 | #line 1883 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4321 | 1883 | break; | ||
4322 | 1884 | case 572: /* TextTest */ | ||
4323 | 1885 | /* Line 453 of lalr1.cc */ | ||
4324 | 1886 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4325 | 1887 | { release_hack( ((*yyvaluep).node) ); }; | ||
4326 | 1888 | /* Line 453 of lalr1.cc */ | ||
4327 | 1889 | #line 1890 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4328 | 1890 | break; | ||
4329 | 1891 | case 573: /* CommentTest */ | ||
4330 | 1892 | /* Line 453 of lalr1.cc */ | ||
4331 | 1893 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4332 | 1894 | { release_hack( ((*yyvaluep).node) ); }; | ||
4333 | 1895 | /* Line 453 of lalr1.cc */ | ||
4334 | 1896 | #line 1897 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4335 | 1897 | break; | ||
4336 | 1898 | case 574: /* PITest */ | ||
4337 | 1899 | /* Line 453 of lalr1.cc */ | ||
4338 | 1900 | #line 926 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4339 | 1901 | { release_hack( ((*yyvaluep).node) ); }; | ||
4340 | 1902 | /* Line 453 of lalr1.cc */ | ||
4341 | 1903 | #line 1904 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4342 | 1904 | break; | ||
4343 | 1905 | case 575: /* AttributeTest */ | ||
4344 | 1906 | /* Line 453 of lalr1.cc */ | ||
4345 | 1907 | #line 921 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4346 | 1908 | { release_hack( ((*yyvaluep).node) ); }; | ||
4347 | 1909 | /* Line 453 of lalr1.cc */ | ||
4348 | 1910 | #line 1911 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4349 | 1911 | break; | ||
4350 | 1912 | case 576: /* SchemaAttributeTest */ | ||
4351 | 1913 | /* Line 453 of lalr1.cc */ | ||
4352 | 1914 | #line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4353 | 1915 | { release_hack( ((*yyvaluep).node) ); }; | ||
4354 | 1916 | /* Line 453 of lalr1.cc */ | ||
4355 | 1917 | #line 1918 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4356 | 1918 | break; | ||
4357 | 1919 | case 577: /* ElementTest */ | ||
4358 | 1920 | /* Line 453 of lalr1.cc */ | ||
4359 | 1921 | #line 922 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4360 | 1922 | { release_hack( ((*yyvaluep).node) ); }; | ||
4361 | 1923 | /* Line 453 of lalr1.cc */ | ||
4362 | 1924 | #line 1925 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4363 | 1925 | break; | ||
4364 | 1926 | case 578: /* SchemaElementTest */ | ||
4365 | 1927 | /* Line 453 of lalr1.cc */ | ||
4366 | 1928 | #line 927 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4367 | 1929 | { release_hack( ((*yyvaluep).node) ); }; | ||
4368 | 1930 | /* Line 453 of lalr1.cc */ | ||
4369 | 1931 | #line 1932 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4370 | 1932 | break; | ||
4371 | 1933 | case 579: /* TypeName */ | ||
4372 | 1934 | /* Line 453 of lalr1.cc */ | ||
4373 | 1935 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4374 | 1936 | { release_hack( ((*yyvaluep).node) ); }; | ||
4375 | 1937 | /* Line 453 of lalr1.cc */ | ||
4376 | 1938 | #line 1939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4377 | 1939 | break; | ||
4378 | 1940 | case 580: /* TypeName_WITH_HOOK */ | ||
4379 | 1941 | /* Line 453 of lalr1.cc */ | ||
4380 | 1942 | #line 928 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4381 | 1943 | { release_hack( ((*yyvaluep).node) ); }; | ||
4382 | 1944 | /* Line 453 of lalr1.cc */ | ||
4383 | 1945 | #line 1946 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4384 | 1946 | break; | ||
4385 | 1947 | case 581: /* StringLiteral */ | ||
4386 | 1948 | /* Line 453 of lalr1.cc */ | ||
4387 | 1949 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4388 | 1950 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4389 | 1951 | /* Line 453 of lalr1.cc */ | ||
4390 | 1952 | #line 1953 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4391 | 1953 | break; | ||
4392 | 1954 | case 583: /* AnyFunctionTest */ | ||
4393 | 1955 | /* Line 453 of lalr1.cc */ | ||
4394 | 1956 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4395 | 1957 | { release_hack( ((*yyvaluep).node) ); }; | ||
4396 | 1958 | /* Line 453 of lalr1.cc */ | ||
4397 | 1959 | #line 1960 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4398 | 1960 | break; | ||
4399 | 1961 | case 584: /* TypedFunctionTest */ | ||
4400 | 1962 | /* Line 453 of lalr1.cc */ | ||
4401 | 1963 | #line 931 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4402 | 1964 | { release_hack( ((*yyvaluep).node) ); }; | ||
4403 | 1965 | /* Line 453 of lalr1.cc */ | ||
4404 | 1966 | #line 1967 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4405 | 1967 | break; | ||
4406 | 1968 | case 587: /* InsertExpr */ | ||
4407 | 1969 | /* Line 453 of lalr1.cc */ | ||
4408 | 1970 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4409 | 1971 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4410 | 1972 | /* Line 453 of lalr1.cc */ | ||
4411 | 1973 | #line 1974 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4412 | 1974 | break; | ||
4413 | 1975 | case 588: /* DeleteExpr */ | ||
4414 | 1976 | /* Line 453 of lalr1.cc */ | ||
4415 | 1977 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4416 | 1978 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4417 | 1979 | /* Line 453 of lalr1.cc */ | ||
4418 | 1980 | #line 1981 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4419 | 1981 | break; | ||
4420 | 1982 | case 589: /* ReplaceExpr */ | ||
4421 | 1983 | /* Line 453 of lalr1.cc */ | ||
4422 | 1984 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4423 | 1985 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4424 | 1986 | /* Line 453 of lalr1.cc */ | ||
4425 | 1987 | #line 1988 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4426 | 1988 | break; | ||
4427 | 1989 | case 590: /* RenameExpr */ | ||
4428 | 1990 | /* Line 453 of lalr1.cc */ | ||
4429 | 1991 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4430 | 1992 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4431 | 1993 | /* Line 453 of lalr1.cc */ | ||
4432 | 1994 | #line 1995 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4433 | 1995 | break; | ||
4434 | 1996 | case 591: /* TransformExpr */ | ||
4435 | 1997 | /* Line 453 of lalr1.cc */ | ||
4436 | 1998 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4437 | 1999 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4438 | 2000 | /* Line 453 of lalr1.cc */ | ||
4439 | 2001 | #line 2002 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4440 | 2002 | break; | ||
4441 | 2003 | case 592: /* VarNameList */ | ||
4442 | 2004 | /* Line 453 of lalr1.cc */ | ||
4443 | 2005 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4444 | 2006 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4445 | 2007 | /* Line 453 of lalr1.cc */ | ||
4446 | 2008 | #line 2009 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4447 | 2009 | break; | ||
4448 | 2010 | case 593: /* VarNameDecl */ | ||
4449 | 2011 | /* Line 453 of lalr1.cc */ | ||
4450 | 2012 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4451 | 2013 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4452 | 2014 | /* Line 453 of lalr1.cc */ | ||
4453 | 2015 | #line 2016 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4454 | 2016 | break; | ||
4455 | 2017 | case 594: /* TryExpr */ | ||
4456 | 2018 | /* Line 453 of lalr1.cc */ | ||
4457 | 2019 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4458 | 2020 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4459 | 2021 | /* Line 453 of lalr1.cc */ | ||
4460 | 2022 | #line 2023 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4461 | 2023 | break; | ||
4462 | 2024 | case 595: /* CatchListExpr */ | ||
4463 | 2025 | /* Line 453 of lalr1.cc */ | ||
4464 | 2026 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4465 | 2027 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4466 | 2028 | /* Line 453 of lalr1.cc */ | ||
4467 | 2029 | #line 2030 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4468 | 2030 | break; | ||
4469 | 2031 | case 596: /* CatchExpr */ | ||
4470 | 2032 | /* Line 453 of lalr1.cc */ | ||
4471 | 2033 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4472 | 2034 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4473 | 2035 | /* Line 453 of lalr1.cc */ | ||
4474 | 2036 | #line 2037 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4475 | 2037 | break; | ||
4476 | 2038 | case 597: /* BracedExpr */ | ||
4477 | 2039 | /* Line 453 of lalr1.cc */ | ||
4478 | 2040 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4479 | 2041 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4480 | 2042 | /* Line 453 of lalr1.cc */ | ||
4481 | 2043 | #line 2044 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4482 | 2044 | break; | ||
4483 | 2045 | case 598: /* NameTestList */ | ||
4484 | 2046 | /* Line 453 of lalr1.cc */ | ||
4485 | 2047 | #line 951 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4486 | 2048 | { delete ((*yyvaluep).name_test_list); }; | ||
4487 | 2049 | /* Line 453 of lalr1.cc */ | ||
4488 | 2050 | #line 2051 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4489 | 2051 | break; | ||
4490 | 2052 | case 599: /* FTSelection */ | ||
4491 | 2053 | /* Line 453 of lalr1.cc */ | ||
4492 | 2054 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4493 | 2055 | { release_hack( ((*yyvaluep).node) ); }; | ||
4494 | 2056 | /* Line 453 of lalr1.cc */ | ||
4495 | 2057 | #line 2058 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4496 | 2058 | break; | ||
4497 | 2059 | case 602: /* FTOr */ | ||
4498 | 2060 | /* Line 453 of lalr1.cc */ | ||
4499 | 2061 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4500 | 2062 | { release_hack( ((*yyvaluep).node) ); }; | ||
4501 | 2063 | /* Line 453 of lalr1.cc */ | ||
4502 | 2064 | #line 2065 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4503 | 2065 | break; | ||
4504 | 2066 | case 603: /* FTAnd */ | ||
4505 | 2067 | /* Line 453 of lalr1.cc */ | ||
4506 | 2068 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4507 | 2069 | { release_hack( ((*yyvaluep).node) ); }; | ||
4508 | 2070 | /* Line 453 of lalr1.cc */ | ||
4509 | 2071 | #line 2072 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4510 | 2072 | break; | ||
4511 | 2073 | case 604: /* FTMildNot */ | ||
4512 | 2074 | /* Line 453 of lalr1.cc */ | ||
4513 | 2075 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4514 | 2076 | { release_hack( ((*yyvaluep).node) ); }; | ||
4515 | 2077 | /* Line 453 of lalr1.cc */ | ||
4516 | 2078 | #line 2079 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4517 | 2079 | break; | ||
4518 | 2080 | case 605: /* FTUnaryNot */ | ||
4519 | 2081 | /* Line 453 of lalr1.cc */ | ||
4520 | 2082 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4521 | 2083 | { release_hack( ((*yyvaluep).node) ); }; | ||
4522 | 2084 | /* Line 453 of lalr1.cc */ | ||
4523 | 2085 | #line 2086 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4524 | 2086 | break; | ||
4525 | 2087 | case 606: /* FTPrimaryWithOptions */ | ||
4526 | 2088 | /* Line 453 of lalr1.cc */ | ||
4527 | 2089 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4528 | 2090 | { release_hack( ((*yyvaluep).node) ); }; | ||
4529 | 2091 | /* Line 453 of lalr1.cc */ | ||
4530 | 2092 | #line 2093 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4531 | 2093 | break; | ||
4532 | 2094 | case 607: /* opt_FTMatchOptions */ | ||
4533 | 2095 | /* Line 453 of lalr1.cc */ | ||
4534 | 2096 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4535 | 2097 | { release_hack( ((*yyvaluep).node) ); }; | ||
4536 | 2098 | /* Line 453 of lalr1.cc */ | ||
4537 | 2099 | #line 2100 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4538 | 2100 | break; | ||
4539 | 2101 | case 609: /* FTWeight */ | ||
4540 | 2102 | /* Line 453 of lalr1.cc */ | ||
4541 | 2103 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4542 | 2104 | { release_hack( ((*yyvaluep).node) ); }; | ||
4543 | 2105 | /* Line 453 of lalr1.cc */ | ||
4544 | 2106 | #line 2107 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4545 | 2107 | break; | ||
4546 | 2108 | case 610: /* FTPrimary */ | ||
4547 | 2109 | /* Line 453 of lalr1.cc */ | ||
4548 | 2110 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4549 | 2111 | { release_hack( ((*yyvaluep).node) ); }; | ||
4550 | 2112 | /* Line 453 of lalr1.cc */ | ||
4551 | 2113 | #line 2114 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4552 | 2114 | break; | ||
4553 | 2115 | case 611: /* opt_FTTimes */ | ||
4554 | 2116 | /* Line 453 of lalr1.cc */ | ||
4555 | 2117 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4556 | 2118 | { release_hack( ((*yyvaluep).node) ); }; | ||
4557 | 2119 | /* Line 453 of lalr1.cc */ | ||
4558 | 2120 | #line 2121 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4559 | 2121 | break; | ||
4560 | 2122 | case 612: /* FTExtensionSelection */ | ||
4561 | 2123 | /* Line 453 of lalr1.cc */ | ||
4562 | 2124 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4563 | 2125 | { release_hack( ((*yyvaluep).node) ); }; | ||
4564 | 2126 | /* Line 453 of lalr1.cc */ | ||
4565 | 2127 | #line 2128 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4566 | 2128 | break; | ||
4567 | 2129 | case 614: /* FTWords */ | ||
4568 | 2130 | /* Line 453 of lalr1.cc */ | ||
4569 | 2131 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4570 | 2132 | { release_hack( ((*yyvaluep).node) ); }; | ||
4571 | 2133 | /* Line 453 of lalr1.cc */ | ||
4572 | 2134 | #line 2135 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4573 | 2135 | break; | ||
4574 | 2136 | case 615: /* FTWordsValue */ | ||
4575 | 2137 | /* Line 453 of lalr1.cc */ | ||
4576 | 2138 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4577 | 2139 | { release_hack( ((*yyvaluep).node) ); }; | ||
4578 | 2140 | /* Line 453 of lalr1.cc */ | ||
4579 | 2141 | #line 2142 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4580 | 2142 | break; | ||
4581 | 2143 | case 617: /* FTAnyallOption */ | ||
4582 | 2144 | /* Line 453 of lalr1.cc */ | ||
4583 | 2145 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4584 | 2146 | { release_hack( ((*yyvaluep).node) ); }; | ||
4585 | 2147 | /* Line 453 of lalr1.cc */ | ||
4586 | 2148 | #line 2149 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4587 | 2149 | break; | ||
4588 | 2150 | case 620: /* FTPosFilter */ | ||
4589 | 2151 | /* Line 453 of lalr1.cc */ | ||
4590 | 2152 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4591 | 2153 | { release_hack( ((*yyvaluep).node) ); }; | ||
4592 | 2154 | /* Line 453 of lalr1.cc */ | ||
4593 | 2155 | #line 2156 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4594 | 2156 | break; | ||
4595 | 2157 | case 621: /* FTOrder */ | ||
4596 | 2158 | /* Line 453 of lalr1.cc */ | ||
4597 | 2159 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4598 | 2160 | { release_hack( ((*yyvaluep).node) ); }; | ||
4599 | 2161 | /* Line 453 of lalr1.cc */ | ||
4600 | 2162 | #line 2163 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4601 | 2163 | break; | ||
4602 | 2164 | case 622: /* FTWindow */ | ||
4603 | 2165 | /* Line 453 of lalr1.cc */ | ||
4604 | 2166 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4605 | 2167 | { release_hack( ((*yyvaluep).node) ); }; | ||
4606 | 2168 | /* Line 453 of lalr1.cc */ | ||
4607 | 2169 | #line 2170 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4608 | 2170 | break; | ||
4609 | 2171 | case 623: /* FTDistance */ | ||
4610 | 2172 | /* Line 453 of lalr1.cc */ | ||
4611 | 2173 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4612 | 2174 | { release_hack( ((*yyvaluep).node) ); }; | ||
4613 | 2175 | /* Line 453 of lalr1.cc */ | ||
4614 | 2176 | #line 2177 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4615 | 2177 | break; | ||
4616 | 2178 | case 624: /* FTUnit */ | ||
4617 | 2179 | /* Line 453 of lalr1.cc */ | ||
4618 | 2180 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4619 | 2181 | { release_hack( ((*yyvaluep).node) ); }; | ||
4620 | 2182 | /* Line 453 of lalr1.cc */ | ||
4621 | 2183 | #line 2184 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4622 | 2184 | break; | ||
4623 | 2185 | case 625: /* FTMatchOptions */ | ||
4624 | 2186 | /* Line 453 of lalr1.cc */ | ||
4625 | 2187 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4626 | 2188 | { release_hack( ((*yyvaluep).node) ); }; | ||
4627 | 2189 | /* Line 453 of lalr1.cc */ | ||
4628 | 2190 | #line 2191 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4629 | 2191 | break; | ||
4630 | 2192 | case 626: /* FTMatchOption */ | ||
4631 | 2193 | /* Line 453 of lalr1.cc */ | ||
4632 | 2194 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4633 | 2195 | { release_hack( ((*yyvaluep).node) ); }; | ||
4634 | 2196 | /* Line 453 of lalr1.cc */ | ||
4635 | 2197 | #line 2198 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4636 | 2198 | break; | ||
4637 | 2199 | case 627: /* FTCaseOption */ | ||
4638 | 2200 | /* Line 453 of lalr1.cc */ | ||
4639 | 2201 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4640 | 2202 | { release_hack( ((*yyvaluep).node) ); }; | ||
4641 | 2203 | /* Line 453 of lalr1.cc */ | ||
4642 | 2204 | #line 2205 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4643 | 2205 | break; | ||
4644 | 2206 | case 628: /* FTDiacriticsOption */ | ||
4645 | 2207 | /* Line 453 of lalr1.cc */ | ||
4646 | 2208 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4647 | 2209 | { release_hack( ((*yyvaluep).node) ); }; | ||
4648 | 2210 | /* Line 453 of lalr1.cc */ | ||
4649 | 2211 | #line 2212 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4650 | 2212 | break; | ||
4651 | 2213 | case 629: /* FTExtensionOption */ | ||
4652 | 2214 | /* Line 453 of lalr1.cc */ | ||
4653 | 2215 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4654 | 2216 | { release_hack( ((*yyvaluep).node) ); }; | ||
4655 | 2217 | /* Line 453 of lalr1.cc */ | ||
4656 | 2218 | #line 2219 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4657 | 2219 | break; | ||
4658 | 2220 | case 630: /* FTStemOption */ | ||
4659 | 2221 | /* Line 453 of lalr1.cc */ | ||
4660 | 2222 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4661 | 2223 | { release_hack( ((*yyvaluep).node) ); }; | ||
4662 | 2224 | /* Line 453 of lalr1.cc */ | ||
4663 | 2225 | #line 2226 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4664 | 2226 | break; | ||
4665 | 2227 | case 631: /* FTThesaurusOption */ | ||
4666 | 2228 | /* Line 453 of lalr1.cc */ | ||
4667 | 2229 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4668 | 2230 | { release_hack( ((*yyvaluep).node) ); }; | ||
4669 | 2231 | /* Line 453 of lalr1.cc */ | ||
4670 | 2232 | #line 2233 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4671 | 2233 | break; | ||
4672 | 2234 | case 635: /* FTThesaurusID */ | ||
4673 | 2235 | /* Line 453 of lalr1.cc */ | ||
4674 | 2236 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4675 | 2237 | { release_hack( ((*yyvaluep).node) ); }; | ||
4676 | 2238 | /* Line 453 of lalr1.cc */ | ||
4677 | 2239 | #line 2240 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4678 | 2240 | break; | ||
4679 | 2241 | case 638: /* FTStopWordOption */ | ||
4680 | 2242 | /* Line 453 of lalr1.cc */ | ||
4681 | 2243 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4682 | 2244 | { release_hack( ((*yyvaluep).node) ); }; | ||
4683 | 2245 | /* Line 453 of lalr1.cc */ | ||
4684 | 2246 | #line 2247 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4685 | 2247 | break; | ||
4686 | 2248 | case 639: /* FTStopWords */ | ||
4687 | 2249 | /* Line 453 of lalr1.cc */ | ||
4688 | 2250 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4689 | 2251 | { release_hack( ((*yyvaluep).node) ); }; | ||
4690 | 2252 | /* Line 453 of lalr1.cc */ | ||
4691 | 2253 | #line 2254 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4692 | 2254 | break; | ||
4693 | 2255 | case 643: /* FTStopWordsInclExcl */ | ||
4694 | 2256 | /* Line 453 of lalr1.cc */ | ||
4695 | 2257 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4696 | 2258 | { release_hack( ((*yyvaluep).node) ); }; | ||
4697 | 2259 | /* Line 453 of lalr1.cc */ | ||
4698 | 2260 | #line 2261 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4699 | 2261 | break; | ||
4700 | 2262 | case 644: /* FTLanguageOption */ | ||
4701 | 2263 | /* Line 453 of lalr1.cc */ | ||
4702 | 2264 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4703 | 2265 | { release_hack( ((*yyvaluep).node) ); }; | ||
4704 | 2266 | /* Line 453 of lalr1.cc */ | ||
4705 | 2267 | #line 2268 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4706 | 2268 | break; | ||
4707 | 2269 | case 645: /* FTWildCardOption */ | ||
4708 | 2270 | /* Line 453 of lalr1.cc */ | ||
4709 | 2271 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4710 | 2272 | { release_hack( ((*yyvaluep).node) ); }; | ||
4711 | 2273 | /* Line 453 of lalr1.cc */ | ||
4712 | 2274 | #line 2275 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4713 | 2275 | break; | ||
4714 | 2276 | case 646: /* FTContent */ | ||
4715 | 2277 | /* Line 453 of lalr1.cc */ | ||
4716 | 2278 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4717 | 2279 | { release_hack( ((*yyvaluep).node) ); }; | ||
4718 | 2280 | /* Line 453 of lalr1.cc */ | ||
4719 | 2281 | #line 2282 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4720 | 2282 | break; | ||
4721 | 2283 | case 647: /* FTTimes */ | ||
4722 | 2284 | /* Line 453 of lalr1.cc */ | ||
4723 | 2285 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4724 | 2286 | { release_hack( ((*yyvaluep).node) ); }; | ||
4725 | 2287 | /* Line 453 of lalr1.cc */ | ||
4726 | 2288 | #line 2289 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4727 | 2289 | break; | ||
4728 | 2290 | case 648: /* FTRange */ | ||
4729 | 2291 | /* Line 453 of lalr1.cc */ | ||
4730 | 2292 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4731 | 2293 | { release_hack( ((*yyvaluep).node) ); }; | ||
4732 | 2294 | /* Line 453 of lalr1.cc */ | ||
4733 | 2295 | #line 2296 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4734 | 2296 | break; | ||
4735 | 2297 | case 649: /* FTScope */ | ||
4736 | 2298 | /* Line 453 of lalr1.cc */ | ||
4737 | 2299 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4738 | 2300 | { release_hack( ((*yyvaluep).node) ); }; | ||
4739 | 2301 | /* Line 453 of lalr1.cc */ | ||
4740 | 2302 | #line 2303 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4741 | 2303 | break; | ||
4742 | 2304 | case 650: /* FTBigUnit */ | ||
4743 | 2305 | /* Line 453 of lalr1.cc */ | ||
4744 | 2306 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4745 | 2307 | { release_hack( ((*yyvaluep).node) ); }; | ||
4746 | 2308 | /* Line 453 of lalr1.cc */ | ||
4747 | 2309 | #line 2310 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4748 | 2310 | break; | ||
4749 | 2311 | case 651: /* FTIgnoreOption */ | ||
4750 | 2312 | /* Line 453 of lalr1.cc */ | ||
4751 | 2313 | #line 939 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4752 | 2314 | { release_hack( ((*yyvaluep).node) ); }; | ||
4753 | 2315 | /* Line 453 of lalr1.cc */ | ||
4754 | 2316 | #line 2317 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4755 | 2317 | break; | ||
4756 | 2318 | case 652: /* JSONArrayConstructor */ | ||
4757 | 2319 | /* Line 453 of lalr1.cc */ | ||
4758 | 2320 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4759 | 2321 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4760 | 2322 | /* Line 453 of lalr1.cc */ | ||
4761 | 2323 | #line 2324 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4762 | 2324 | break; | ||
4763 | 2325 | case 653: /* JSONSimpleObjectUnion */ | ||
4764 | 2326 | /* Line 453 of lalr1.cc */ | ||
4765 | 2327 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4766 | 2328 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4767 | 2329 | /* Line 453 of lalr1.cc */ | ||
4768 | 2330 | #line 2331 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4769 | 2331 | break; | ||
4770 | 2332 | case 654: /* JSONAccumulatorObjectUnion */ | ||
4771 | 2333 | /* Line 453 of lalr1.cc */ | ||
4772 | 2334 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4773 | 2335 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4774 | 2336 | /* Line 453 of lalr1.cc */ | ||
4775 | 2337 | #line 2338 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4776 | 2338 | break; | ||
4777 | 2339 | case 655: /* JSONObjectConstructor */ | ||
4778 | 2340 | /* Line 453 of lalr1.cc */ | ||
4779 | 2341 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4780 | 2342 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4781 | 2343 | /* Line 453 of lalr1.cc */ | ||
4782 | 2344 | #line 2345 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4783 | 2345 | break; | ||
4784 | 2346 | case 656: /* JSONPairList */ | ||
4785 | 2347 | /* Line 453 of lalr1.cc */ | ||
4786 | 2348 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4787 | 2349 | { release_hack( ((*yyvaluep).node) ); }; | ||
4788 | 2350 | /* Line 453 of lalr1.cc */ | ||
4789 | 2351 | #line 2352 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4790 | 2352 | break; | ||
4791 | 2353 | case 657: /* JSONInsertExpr */ | ||
4792 | 2354 | /* Line 453 of lalr1.cc */ | ||
4793 | 2355 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4794 | 2356 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4795 | 2357 | /* Line 453 of lalr1.cc */ | ||
4796 | 2358 | #line 2359 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4797 | 2359 | break; | ||
4798 | 2360 | case 658: /* JSONAppendExpr */ | ||
4799 | 2361 | /* Line 453 of lalr1.cc */ | ||
4800 | 2362 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4801 | 2363 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4802 | 2364 | /* Line 453 of lalr1.cc */ | ||
4803 | 2365 | #line 2366 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4804 | 2366 | break; | ||
4805 | 2367 | case 659: /* JSONDeleteExpr */ | ||
4806 | 2368 | /* Line 453 of lalr1.cc */ | ||
4807 | 2369 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4808 | 2370 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4809 | 2371 | /* Line 453 of lalr1.cc */ | ||
4810 | 2372 | #line 2373 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4811 | 2373 | break; | ||
4812 | 2374 | case 660: /* JSONRenameExpr */ | ||
4813 | 2375 | /* Line 453 of lalr1.cc */ | ||
4814 | 2376 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4815 | 2377 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4816 | 2378 | /* Line 453 of lalr1.cc */ | ||
4817 | 2379 | #line 2380 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4818 | 2380 | break; | ||
4819 | 2381 | case 661: /* JSONReplaceExpr */ | ||
4820 | 2382 | /* Line 453 of lalr1.cc */ | ||
4821 | 2383 | #line 942 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4822 | 2384 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4823 | 2385 | /* Line 453 of lalr1.cc */ | ||
4824 | 2386 | #line 2387 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4825 | 2387 | break; | ||
4826 | 2388 | case 664: /* QNAME */ | ||
4827 | 2389 | /* Line 453 of lalr1.cc */ | ||
4828 | 2390 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4829 | 2391 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4830 | 2392 | /* Line 453 of lalr1.cc */ | ||
4831 | 2393 | #line 2394 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4832 | 2394 | break; | ||
4833 | 2395 | case 665: /* FUNCTION_NAME */ | ||
4834 | 2396 | /* Line 453 of lalr1.cc */ | ||
4835 | 2397 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4836 | 2398 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4837 | 2399 | /* Line 453 of lalr1.cc */ | ||
4838 | 2400 | #line 2401 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" | ||
4839 | 2401 | break; | ||
4840 | 2402 | case 666: /* EQNAME */ | ||
4841 | 2403 | /* Line 453 of lalr1.cc */ | ||
4842 | 2404 | #line 948 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.y" | ||
4843 | 2405 | { release_hack( ((*yyvaluep).expr) ); }; | ||
4844 | 2406 | /* Line 453 of lalr1.cc */ | ||
4845 | 2407 | #line 2408 "/Users/zorba/Code/zorba/release/src/compiler/parser/jsoniq_parser.cpp" |
Validation queue starting for the following merge proposals: /code.launchpad .net/~zorba- coders/ zorba/type- api/+merge/ 169278
https:/
Progress dashboard at http:// jenkins. lambda. nu/view/ ValidationQueue