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