2 * This C source file was generated by $ANTLR version 3.2 Sep 23, 2009 12:02:23
4 * - From the grammar source file : C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g
5 * - On : 2010-03-26 13:33:27
6 * - for the parser : SimanticsDataParserParser *
7 * Editing it, at least manually, is not wise.
9 * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
13 // [The "BSD licence"]
14 // Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
15 // http://www.temporal-wave.com
16 // http://www.linkedin.com/in/jimidle
18 // All rights reserved.
20 // Redistribution and use in source and binary forms, with or without
21 // modification, are permitted provided that the following conditions
23 // 1. Redistributions of source code must retain the above copyright
24 // notice, this list of conditions and the following disclaimer.
25 // 2. Redistributions in binary form must reproduce the above copyright
26 // notice, this list of conditions and the following disclaimer in the
27 // documentation and/or other materials provided with the distribution.
28 // 3. The name of the author may not be used to endorse or promote products
29 // derived from this software without specific prior written permission.
31 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
32 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
33 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
34 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
35 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
36 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
37 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
38 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
39 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
40 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 /* -----------------------------------------
43 * Include the ANTLR3 generated header file.
45 #include "SimanticsDataParser.h"
46 /* ----------------------------------------- */
52 /* MACROS that hide the C interface implementations from the
53 * generated code, which makes it a little more understandable to the human eye.
54 * I am very much against using C pre-processor macros for function calls and bits
55 * of code as you cannot see what is happening when single stepping in debuggers
56 * and so on. The exception (in my book at least) is for generated code, where you are
57 * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()
58 * hides some indirect calls, but is always referring to the input stream. This is
59 * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig
60 * the runtime interfaces without changing the generated code too often, without
61 * confusing the reader of the generated output, who may not wish to know the gory
62 * details of the interface inheritance.
67 /* Aids in accessing scopes for grammar programmers
72 #define SCOPE_TYPE(scope) pSimanticsDataParser_##scope##_SCOPE
73 #define SCOPE_STACK(scope) pSimanticsDataParser_##scope##Stack
74 #define SCOPE_TOP(scope) ctx->pSimanticsDataParser_##scope##Top
75 #define SCOPE_SIZE(scope) ctx->pSimanticsDataParser_##scope##Stack_limit
76 #define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))
78 /* Macros for accessing things in the parser
103 #undef PERRORRECOVERY
106 #undef RECOVERFROMMISMATCHEDSET
107 #undef RECOVERFROMMISMATCHEDELEMENT
114 #define PARSER ctx->pParser
115 #define RECOGNIZER PARSER->rec
116 #define PSRSTATE RECOGNIZER->state
117 #define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)
118 #define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)
119 #define INPUT PARSER->tstream
120 #define STRSTREAM INPUT
121 #define ISTREAM INPUT->istream
122 #define INDEX() ISTREAM->index(INPUT->istream)
123 #define HASEXCEPTION() (PSRSTATE->error == ANTLR3_TRUE)
124 #define EXCEPTION PSRSTATE->exception
125 #define MATCHT(t, fs) RECOGNIZER->match(RECOGNIZER, t, fs)
126 #define MATCHANYT() RECOGNIZER->matchAny(RECOGNIZER)
127 #define FOLLOWSTACK PSRSTATE->following
128 #define FOLLOWPUSH(x) FOLLOWSTACK->push(FOLLOWSTACK, ((void *)(&(x))), NULL)
129 #define FOLLOWPOP() FOLLOWSTACK->pop(FOLLOWSTACK)
130 #define PRECOVER() RECOGNIZER->recover(RECOGNIZER)
131 #define PREPORTERROR() RECOGNIZER->reportError(RECOGNIZER)
132 #define LA(n) INPUT->istream->_LA(ISTREAM, n)
133 #define LT(n) INPUT->_LT(INPUT, n)
134 #define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)
135 #define CONSUME() ISTREAM->consume(ISTREAM)
136 #define MARK() ISTREAM->mark(ISTREAM)
137 #define REWIND(m) ISTREAM->rewind(ISTREAM, m)
138 #define REWINDLAST() ISTREAM->rewindLast(ISTREAM)
139 #define SEEK(n) ISTREAM->seek(ISTREAM, n)
140 #define PERRORRECOVERY PSRSTATE->errorRecovery
141 #define FAILEDFLAG PSRSTATE->failed
142 #define HASFAILED() (FAILEDFLAG == ANTLR3_TRUE)
143 #define BACKTRACKING PSRSTATE->backtracking
144 #define RECOVERFROMMISMATCHEDSET(s) RECOGNIZER->recoverFromMismatchedSet(RECOGNIZER, s)
145 #define RECOVERFROMMISMATCHEDELEMENT(e) RECOGNIZER->recoverFromMismatchedElement(RECOGNIZER, s)
146 #define ADAPTOR ctx->adaptor
147 #define RULEMEMO PSRSTATE->ruleMemo
148 #define DBG RECOGNIZER->debugger
150 #define TOKTEXT(tok, txt) tok, (pANTLR3_UINT8)txt
152 /* The 4 tokens defined below may well clash with your own #defines or token types. If so
153 * then for the present you must use different names for your defines as these are hard coded
154 * in the code generator. It would be better not to use such names internally, and maybe
155 * we can change this in a forthcoming release. I deliberately do not #undef these
156 * here as this will at least give you a redefined error somewhere if they clash.
158 #define UP ANTLR3_TOKEN_UP
159 #define DOWN ANTLR3_TOKEN_DOWN
160 #define EOR ANTLR3_TOKEN_EOR
161 #define INVALID ANTLR3_TOKEN_INVALID
164 /* =============================================================================
165 * Functions to create and destroy scopes. First come the rule scopes, followed
166 * by the global declared scopes.
171 /* ============================================================================= */
173 /* =============================================================================
174 * Start of recognizer
179 /** \brief Table of all token names in symbolic order, mainly used for
182 pANTLR3_UINT8 SimanticsDataParserTokenNames[46+4]
184 (pANTLR3_UINT8) "<invalid>", /* String to print to indicate an invalid token */
185 (pANTLR3_UINT8) "<EOR>",
186 (pANTLR3_UINT8) "<DOWN>",
187 (pANTLR3_UINT8) "<UP>",
188 (pANTLR3_UINT8) "TYPE_DEFINITIONS",
189 (pANTLR3_UINT8) "TYPE_DEFINITION",
190 (pANTLR3_UINT8) "UNION_TYPE",
191 (pANTLR3_UINT8) "RECORD_TYPE",
192 (pANTLR3_UINT8) "TUPLE_TYPE",
193 (pANTLR3_UINT8) "ARRAY_TYPE",
194 (pANTLR3_UINT8) "TYPE_REFERENCE",
195 (pANTLR3_UINT8) "TYPE_ANNOTATION",
196 (pANTLR3_UINT8) "TYPE_COMPONENT",
197 (pANTLR3_UINT8) "VALUE_DEFINITIONS",
198 (pANTLR3_UINT8) "VALUE_DEFINITION",
199 (pANTLR3_UINT8) "NO_VALUE",
200 (pANTLR3_UINT8) "VARIANT",
201 (pANTLR3_UINT8) "ARRAY",
202 (pANTLR3_UINT8) "TUPLE",
203 (pANTLR3_UINT8) "TAGGED_VALUE",
204 (pANTLR3_UINT8) "RECORD",
205 (pANTLR3_UINT8) "MAP",
206 (pANTLR3_UINT8) "ASSIGNMENT",
207 (pANTLR3_UINT8) "ID",
208 (pANTLR3_UINT8) "INT",
209 (pANTLR3_UINT8) "EXPONENT",
210 (pANTLR3_UINT8) "FLOAT",
211 (pANTLR3_UINT8) "COMMENT",
212 (pANTLR3_UINT8) "WS",
213 (pANTLR3_UINT8) "ESC_SEQ",
214 (pANTLR3_UINT8) "STRING",
215 (pANTLR3_UINT8) "HEX_DIGIT",
216 (pANTLR3_UINT8) "UNICODE_ESC",
217 (pANTLR3_UINT8) "OCTAL_ESC",
218 (pANTLR3_UINT8) "'type'",
219 (pANTLR3_UINT8) "'='",
220 (pANTLR3_UINT8) "'|'",
221 (pANTLR3_UINT8) "'['",
222 (pANTLR3_UINT8) "']'",
223 (pANTLR3_UINT8) "'..'",
224 (pANTLR3_UINT8) "'('",
225 (pANTLR3_UINT8) "','",
226 (pANTLR3_UINT8) "')'",
227 (pANTLR3_UINT8) "'{'",
228 (pANTLR3_UINT8) "'}'",
229 (pANTLR3_UINT8) "':'",
230 (pANTLR3_UINT8) "'true'",
231 (pANTLR3_UINT8) "'false'",
232 (pANTLR3_UINT8) "'null'",
233 (pANTLR3_UINT8) "'map'"
238 // Forward declare the locally static matching functions we have generated.
240 static SimanticsDataParser_typeDefinitions_return typeDefinitions (pSimanticsDataParser ctx);
241 static SimanticsDataParser_typeDefinition_return typeDefinition (pSimanticsDataParser ctx);
242 static SimanticsDataParser_unionType_return unionType (pSimanticsDataParser ctx);
243 static SimanticsDataParser_unionComponent_return unionComponent (pSimanticsDataParser ctx);
244 static SimanticsDataParser_type_return type (pSimanticsDataParser ctx);
245 static SimanticsDataParser_arrayLength_return arrayLength (pSimanticsDataParser ctx);
246 static SimanticsDataParser_basicType_return basicType (pSimanticsDataParser ctx);
247 static SimanticsDataParser_tupleType_return tupleType (pSimanticsDataParser ctx);
248 static SimanticsDataParser_recordType_return recordType (pSimanticsDataParser ctx);
249 static SimanticsDataParser_component_return component (pSimanticsDataParser ctx);
250 static SimanticsDataParser_typeReference_return typeReference (pSimanticsDataParser ctx);
251 static SimanticsDataParser_parameter_return parameter (pSimanticsDataParser ctx);
252 static SimanticsDataParser_parameterValue_return parameterValue (pSimanticsDataParser ctx);
253 static SimanticsDataParser_range_return range (pSimanticsDataParser ctx);
254 static SimanticsDataParser_number_return number (pSimanticsDataParser ctx);
255 static SimanticsDataParser_string_return string (pSimanticsDataParser ctx);
256 static SimanticsDataParser_boolean_return boolean (pSimanticsDataParser ctx);
257 static SimanticsDataParser_valueDefinitions_return valueDefinitions (pSimanticsDataParser ctx);
258 static SimanticsDataParser_valueDefinition_return valueDefinition (pSimanticsDataParser ctx);
259 static SimanticsDataParser_value_return value (pSimanticsDataParser ctx);
260 static SimanticsDataParser_basicValue_return basicValue (pSimanticsDataParser ctx);
261 static SimanticsDataParser_array_return array (pSimanticsDataParser ctx);
262 static SimanticsDataParser_tuple_return tuple (pSimanticsDataParser ctx);
263 static SimanticsDataParser_taggedValue_return taggedValue (pSimanticsDataParser ctx);
264 static SimanticsDataParser_record_return record (pSimanticsDataParser ctx);
265 static SimanticsDataParser_recordAssignment_return recordAssignment (pSimanticsDataParser ctx);
266 static SimanticsDataParser_map_return map (pSimanticsDataParser ctx);
267 static SimanticsDataParser_mapAssignment_return mapAssignment (pSimanticsDataParser ctx);
268 static void SimanticsDataParserFree(pSimanticsDataParser ctx);
269 /* For use in tree output where we are accumulating rule labels via label += ruleRef
270 * we need a function that knows how to free a return scope when the list is destroyed.
271 * We cannot just use ANTLR3_FREE because in debug tracking mode, this is a macro.
273 static void ANTLR3_CDECL freeScope(void * scope)
278 /** \brief Name of the grammar file that generated this code
280 static const char fileName[] = "C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g";
282 /** \brief Return the name of the grammar file that generated this code.
284 static const char * getGrammarFileName()
288 /** \brief Create a new SimanticsDataParser parser and return a context for it.
290 * \param[in] instream Pointer to an input stream interface.
292 * \return Pointer to new parser context upon success.
294 ANTLR3_API pSimanticsDataParser
295 SimanticsDataParserNew (pANTLR3_COMMON_TOKEN_STREAM instream)
297 // See if we can create a new parser with the standard constructor
299 return SimanticsDataParserNewSSD(instream, NULL);
302 /** \brief Create a new SimanticsDataParser parser and return a context for it.
304 * \param[in] instream Pointer to an input stream interface.
306 * \return Pointer to new parser context upon success.
308 ANTLR3_API pSimanticsDataParser
309 SimanticsDataParserNewSSD (pANTLR3_COMMON_TOKEN_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
311 pSimanticsDataParser ctx; /* Context structure we will build and return */
313 ctx = (pSimanticsDataParser) ANTLR3_CALLOC(1, sizeof(SimanticsDataParser));
317 // Failed to allocate memory for parser context
322 /* -------------------------------------------------------------------
323 * Memory for basic structure is allocated, now to fill in
324 * the base ANTLR3 structures. We initialize the function pointers
325 * for the standard ANTLR3 parser function set, but upon return
326 * from here, the programmer may set the pointers to provide custom
327 * implementations of each function.
329 * We don't use the macros defined in SimanticsDataParser.h here, in order that you can get a sense
330 * of what goes where.
333 /* Create a base parser/recognizer, using the supplied token stream
335 ctx->pParser = antlr3ParserNewStream(ANTLR3_SIZE_HINT, instream->tstream, state);
336 /* Install the implementation of our SimanticsDataParser interface
338 ctx->typeDefinitions = typeDefinitions;
339 ctx->typeDefinition = typeDefinition;
340 ctx->unionType = unionType;
341 ctx->unionComponent = unionComponent;
343 ctx->arrayLength = arrayLength;
344 ctx->basicType = basicType;
345 ctx->tupleType = tupleType;
346 ctx->recordType = recordType;
347 ctx->component = component;
348 ctx->typeReference = typeReference;
349 ctx->parameter = parameter;
350 ctx->parameterValue = parameterValue;
352 ctx->number = number;
353 ctx->string = string;
354 ctx->boolean = boolean;
355 ctx->valueDefinitions = valueDefinitions;
356 ctx->valueDefinition = valueDefinition;
358 ctx->basicValue = basicValue;
361 ctx->taggedValue = taggedValue;
362 ctx->record = record;
363 ctx->recordAssignment = recordAssignment;
365 ctx->mapAssignment = mapAssignment;
366 ctx->free = SimanticsDataParserFree;
367 ctx->getGrammarFileName = getGrammarFileName;
369 /* Install the scope pushing methods.
371 ADAPTOR = ANTLR3_TREE_ADAPTORNew(instream->tstream->tokenSource->strFactory);
372 ctx->vectors = antlr3VectorFactoryNew(0);
376 /* Install the token table
378 PSRSTATE->tokenNames = SimanticsDataParserTokenNames;
381 /* Return the newly built parser to the caller
386 /** Free the parser resources
389 SimanticsDataParserFree(pSimanticsDataParser ctx)
391 /* Free any scope memory
394 ctx->vectors->close(ctx->vectors);
395 /* We created the adaptor so we must free it
397 ADAPTOR->free(ADAPTOR);
400 ctx->pParser->free(ctx->pParser);
403 /* Everything is released, so we can return
408 /** Return token names used by this parser
410 * The returned pointer is used as an index into the token names table (using the token
411 * number as the index).
413 * \return Pointer to first char * in the table.
415 static pANTLR3_UINT8 *getTokenNames()
417 return SimanticsDataParserTokenNames;
421 /* Declare the bitsets
424 /** Bitset defining follow set for error recovery in rule state: FOLLOW_typeDefinition_in_typeDefinitions768 */
425 static ANTLR3_BITWORD FOLLOW_typeDefinition_in_typeDefinitions768_bits[] = { ANTLR3_UINT64_LIT(0x0000000400000002) };
426 static ANTLR3_BITSET_LIST FOLLOW_typeDefinition_in_typeDefinitions768 = { FOLLOW_typeDefinition_in_typeDefinitions768_bits, 1 };
427 /** Bitset defining follow set for error recovery in rule state: FOLLOW_34_in_typeDefinition791 */
428 static ANTLR3_BITWORD FOLLOW_34_in_typeDefinition791_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };
429 static ANTLR3_BITSET_LIST FOLLOW_34_in_typeDefinition791 = { FOLLOW_34_in_typeDefinition791_bits, 1 };
430 /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_typeDefinition793 */
431 static ANTLR3_BITWORD FOLLOW_ID_in_typeDefinition793_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
432 static ANTLR3_BITSET_LIST FOLLOW_ID_in_typeDefinition793 = { FOLLOW_ID_in_typeDefinition793_bits, 1 };
433 /** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_typeDefinition795 */
434 static ANTLR3_BITWORD FOLLOW_35_in_typeDefinition795_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
435 static ANTLR3_BITSET_LIST FOLLOW_35_in_typeDefinition795 = { FOLLOW_35_in_typeDefinition795_bits, 1 };
436 /** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_typeDefinition797 */
437 static ANTLR3_BITWORD FOLLOW_unionType_in_typeDefinition797_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
438 static ANTLR3_BITSET_LIST FOLLOW_unionType_in_typeDefinition797 = { FOLLOW_unionType_in_typeDefinition797_bits, 1 };
439 /** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_unionType829 */
440 static ANTLR3_BITWORD FOLLOW_type_in_unionType829_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
441 static ANTLR3_BITSET_LIST FOLLOW_type_in_unionType829 = { FOLLOW_type_in_unionType829_bits, 1 };
442 /** Bitset defining follow set for error recovery in rule state: FOLLOW_36_in_unionType838 */
443 static ANTLR3_BITWORD FOLLOW_36_in_unionType838_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };
444 static ANTLR3_BITSET_LIST FOLLOW_36_in_unionType838 = { FOLLOW_36_in_unionType838_bits, 1 };
445 /** Bitset defining follow set for error recovery in rule state: FOLLOW_unionComponent_in_unionType840 */
446 static ANTLR3_BITWORD FOLLOW_unionComponent_in_unionType840_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000002) };
447 static ANTLR3_BITSET_LIST FOLLOW_unionComponent_in_unionType840 = { FOLLOW_unionComponent_in_unionType840_bits, 1 };
448 /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unionComponent871 */
449 static ANTLR3_BITWORD FOLLOW_ID_in_unionComponent871_bits[] = { ANTLR3_UINT64_LIT(0x0000090000800002) };
450 static ANTLR3_BITSET_LIST FOLLOW_ID_in_unionComponent871 = { FOLLOW_ID_in_unionComponent871_bits, 1 };
451 /** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_unionComponent873 */
452 static ANTLR3_BITWORD FOLLOW_type_in_unionComponent873_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
453 static ANTLR3_BITSET_LIST FOLLOW_type_in_unionComponent873 = { FOLLOW_type_in_unionComponent873_bits, 1 };
454 /** Bitset defining follow set for error recovery in rule state: FOLLOW_basicType_in_type900 */
455 static ANTLR3_BITWORD FOLLOW_basicType_in_type900_bits[] = { ANTLR3_UINT64_LIT(0x0000002000000002) };
456 static ANTLR3_BITSET_LIST FOLLOW_basicType_in_type900 = { FOLLOW_basicType_in_type900_bits, 1 };
457 /** Bitset defining follow set for error recovery in rule state: FOLLOW_37_in_type914 */
458 static ANTLR3_BITWORD FOLLOW_37_in_type914_bits[] = { ANTLR3_UINT64_LIT(0x000000C001000000) };
459 static ANTLR3_BITSET_LIST FOLLOW_37_in_type914 = { FOLLOW_37_in_type914_bits, 1 };
460 /** Bitset defining follow set for error recovery in rule state: FOLLOW_arrayLength_in_type916 */
461 static ANTLR3_BITWORD FOLLOW_arrayLength_in_type916_bits[] = { ANTLR3_UINT64_LIT(0x0000004000000000) };
462 static ANTLR3_BITSET_LIST FOLLOW_arrayLength_in_type916 = { FOLLOW_arrayLength_in_type916_bits, 1 };
463 /** Bitset defining follow set for error recovery in rule state: FOLLOW_38_in_type919 */
464 static ANTLR3_BITWORD FOLLOW_38_in_type919_bits[] = { ANTLR3_UINT64_LIT(0x0000002000000002) };
465 static ANTLR3_BITSET_LIST FOLLOW_38_in_type919 = { FOLLOW_38_in_type919_bits, 1 };
466 /** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength947 */
467 static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength947_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
468 static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength947 = { FOLLOW_INT_in_arrayLength947_bits, 1 };
469 /** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength955 */
470 static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength955_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };
471 static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength955 = { FOLLOW_INT_in_arrayLength955_bits, 1 };
472 /** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength957 */
473 static ANTLR3_BITWORD FOLLOW_39_in_arrayLength957_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
474 static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength957 = { FOLLOW_39_in_arrayLength957_bits, 1 };
475 /** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength965 */
476 static ANTLR3_BITWORD FOLLOW_39_in_arrayLength965_bits[] = { ANTLR3_UINT64_LIT(0x0000000001000000) };
477 static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength965 = { FOLLOW_39_in_arrayLength965_bits, 1 };
478 /** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength967 */
479 static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength967_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
480 static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength967 = { FOLLOW_INT_in_arrayLength967_bits, 1 };
481 /** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength976 */
482 static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength976_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };
483 static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength976 = { FOLLOW_INT_in_arrayLength976_bits, 1 };
484 /** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength978 */
485 static ANTLR3_BITWORD FOLLOW_39_in_arrayLength978_bits[] = { ANTLR3_UINT64_LIT(0x0000000001000000) };
486 static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength978 = { FOLLOW_39_in_arrayLength978_bits, 1 };
487 /** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength980 */
488 static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength980_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
489 static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength980 = { FOLLOW_INT_in_arrayLength980_bits, 1 };
490 /** Bitset defining follow set for error recovery in rule state: FOLLOW_tupleType_in_basicType998 */
491 static ANTLR3_BITWORD FOLLOW_tupleType_in_basicType998_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
492 static ANTLR3_BITSET_LIST FOLLOW_tupleType_in_basicType998 = { FOLLOW_tupleType_in_basicType998_bits, 1 };
493 /** Bitset defining follow set for error recovery in rule state: FOLLOW_recordType_in_basicType1006 */
494 static ANTLR3_BITWORD FOLLOW_recordType_in_basicType1006_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
495 static ANTLR3_BITSET_LIST FOLLOW_recordType_in_basicType1006 = { FOLLOW_recordType_in_basicType1006_bits, 1 };
496 /** Bitset defining follow set for error recovery in rule state: FOLLOW_typeReference_in_basicType1014 */
497 static ANTLR3_BITWORD FOLLOW_typeReference_in_basicType1014_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
498 static ANTLR3_BITSET_LIST FOLLOW_typeReference_in_basicType1014 = { FOLLOW_typeReference_in_basicType1014_bits, 1 };
499 /** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_tupleType1036 */
500 static ANTLR3_BITWORD FOLLOW_40_in_tupleType1036_bits[] = { ANTLR3_UINT64_LIT(0x00000D1000800000) };
501 static ANTLR3_BITSET_LIST FOLLOW_40_in_tupleType1036 = { FOLLOW_40_in_tupleType1036_bits, 1 };
502 /** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_tupleType1039 */
503 static ANTLR3_BITWORD FOLLOW_unionType_in_tupleType1039_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
504 static ANTLR3_BITSET_LIST FOLLOW_unionType_in_tupleType1039 = { FOLLOW_unionType_in_tupleType1039_bits, 1 };
505 /** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_tupleType1042 */
506 static ANTLR3_BITWORD FOLLOW_41_in_tupleType1042_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
507 static ANTLR3_BITSET_LIST FOLLOW_41_in_tupleType1042 = { FOLLOW_41_in_tupleType1042_bits, 1 };
508 /** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_tupleType1044 */
509 static ANTLR3_BITWORD FOLLOW_unionType_in_tupleType1044_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
510 static ANTLR3_BITSET_LIST FOLLOW_unionType_in_tupleType1044 = { FOLLOW_unionType_in_tupleType1044_bits, 1 };
511 /** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_tupleType1050 */
512 static ANTLR3_BITWORD FOLLOW_42_in_tupleType1050_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
513 static ANTLR3_BITSET_LIST FOLLOW_42_in_tupleType1050 = { FOLLOW_42_in_tupleType1050_bits, 1 };
514 /** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_recordType1083 */
515 static ANTLR3_BITWORD FOLLOW_43_in_recordType1083_bits[] = { ANTLR3_UINT64_LIT(0x0000100000800000) };
516 static ANTLR3_BITSET_LIST FOLLOW_43_in_recordType1083 = { FOLLOW_43_in_recordType1083_bits, 1 };
517 /** Bitset defining follow set for error recovery in rule state: FOLLOW_component_in_recordType1086 */
518 static ANTLR3_BITWORD FOLLOW_component_in_recordType1086_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
519 static ANTLR3_BITSET_LIST FOLLOW_component_in_recordType1086 = { FOLLOW_component_in_recordType1086_bits, 1 };
520 /** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_recordType1089 */
521 static ANTLR3_BITWORD FOLLOW_41_in_recordType1089_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };
522 static ANTLR3_BITSET_LIST FOLLOW_41_in_recordType1089 = { FOLLOW_41_in_recordType1089_bits, 1 };
523 /** Bitset defining follow set for error recovery in rule state: FOLLOW_component_in_recordType1091 */
524 static ANTLR3_BITWORD FOLLOW_component_in_recordType1091_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
525 static ANTLR3_BITSET_LIST FOLLOW_component_in_recordType1091 = { FOLLOW_component_in_recordType1091_bits, 1 };
526 /** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_recordType1097 */
527 static ANTLR3_BITWORD FOLLOW_44_in_recordType1097_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
528 static ANTLR3_BITSET_LIST FOLLOW_44_in_recordType1097 = { FOLLOW_44_in_recordType1097_bits, 1 };
529 /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_component1129 */
530 static ANTLR3_BITWORD FOLLOW_ID_in_component1129_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000000) };
531 static ANTLR3_BITSET_LIST FOLLOW_ID_in_component1129 = { FOLLOW_ID_in_component1129_bits, 1 };
532 /** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_component1131 */
533 static ANTLR3_BITWORD FOLLOW_45_in_component1131_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
534 static ANTLR3_BITSET_LIST FOLLOW_45_in_component1131 = { FOLLOW_45_in_component1131_bits, 1 };
535 /** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_component1133 */
536 static ANTLR3_BITWORD FOLLOW_unionType_in_component1133_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
537 static ANTLR3_BITSET_LIST FOLLOW_unionType_in_component1133 = { FOLLOW_unionType_in_component1133_bits, 1 };
538 /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_typeReference1167 */
539 static ANTLR3_BITWORD FOLLOW_ID_in_typeReference1167_bits[] = { ANTLR3_UINT64_LIT(0x0000010000000002) };
540 static ANTLR3_BITSET_LIST FOLLOW_ID_in_typeReference1167 = { FOLLOW_ID_in_typeReference1167_bits, 1 };
541 /** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_typeReference1170 */
542 static ANTLR3_BITWORD FOLLOW_40_in_typeReference1170_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
543 static ANTLR3_BITSET_LIST FOLLOW_40_in_typeReference1170 = { FOLLOW_40_in_typeReference1170_bits, 1 };
544 /** Bitset defining follow set for error recovery in rule state: FOLLOW_parameter_in_typeReference1172 */
545 static ANTLR3_BITWORD FOLLOW_parameter_in_typeReference1172_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
546 static ANTLR3_BITSET_LIST FOLLOW_parameter_in_typeReference1172 = { FOLLOW_parameter_in_typeReference1172_bits, 1 };
547 /** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_typeReference1175 */
548 static ANTLR3_BITWORD FOLLOW_41_in_typeReference1175_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
549 static ANTLR3_BITSET_LIST FOLLOW_41_in_typeReference1175 = { FOLLOW_41_in_typeReference1175_bits, 1 };
550 /** Bitset defining follow set for error recovery in rule state: FOLLOW_parameter_in_typeReference1177 */
551 static ANTLR3_BITWORD FOLLOW_parameter_in_typeReference1177_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
552 static ANTLR3_BITSET_LIST FOLLOW_parameter_in_typeReference1177 = { FOLLOW_parameter_in_typeReference1177_bits, 1 };
553 /** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_typeReference1181 */
554 static ANTLR3_BITWORD FOLLOW_42_in_typeReference1181_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
555 static ANTLR3_BITSET_LIST FOLLOW_42_in_typeReference1181 = { FOLLOW_42_in_typeReference1181_bits, 1 };
556 /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_parameter1217 */
557 static ANTLR3_BITWORD FOLLOW_ID_in_parameter1217_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
558 static ANTLR3_BITSET_LIST FOLLOW_ID_in_parameter1217 = { FOLLOW_ID_in_parameter1217_bits, 1 };
559 /** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_parameter1219 */
560 static ANTLR3_BITWORD FOLLOW_35_in_parameter1219_bits[] = { ANTLR3_UINT64_LIT(0x0000C12045000000) };
561 static ANTLR3_BITSET_LIST FOLLOW_35_in_parameter1219 = { FOLLOW_35_in_parameter1219_bits, 1 };
562 /** Bitset defining follow set for error recovery in rule state: FOLLOW_parameterValue_in_parameter1221 */
563 static ANTLR3_BITWORD FOLLOW_parameterValue_in_parameter1221_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
564 static ANTLR3_BITSET_LIST FOLLOW_parameterValue_in_parameter1221 = { FOLLOW_parameterValue_in_parameter1221_bits, 1 };
565 /** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_parameter1239 */
566 static ANTLR3_BITWORD FOLLOW_unionType_in_parameter1239_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
567 static ANTLR3_BITSET_LIST FOLLOW_unionType_in_parameter1239 = { FOLLOW_unionType_in_parameter1239_bits, 1 };
568 /** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_parameterValue1258 */
569 static ANTLR3_BITWORD FOLLOW_string_in_parameterValue1258_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
570 static ANTLR3_BITSET_LIST FOLLOW_string_in_parameterValue1258 = { FOLLOW_string_in_parameterValue1258_bits, 1 };
571 /** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_in_parameterValue1266 */
572 static ANTLR3_BITWORD FOLLOW_boolean_in_parameterValue1266_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
573 static ANTLR3_BITSET_LIST FOLLOW_boolean_in_parameterValue1266 = { FOLLOW_boolean_in_parameterValue1266_bits, 1 };
574 /** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_parameterValue1274 */
575 static ANTLR3_BITWORD FOLLOW_number_in_parameterValue1274_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
576 static ANTLR3_BITSET_LIST FOLLOW_number_in_parameterValue1274 = { FOLLOW_number_in_parameterValue1274_bits, 1 };
577 /** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_parameterValue1282 */
578 static ANTLR3_BITWORD FOLLOW_set_in_parameterValue1282_bits[] = { ANTLR3_UINT64_LIT(0x0000008005000000) };
579 static ANTLR3_BITSET_LIST FOLLOW_set_in_parameterValue1282 = { FOLLOW_set_in_parameterValue1282_bits, 1 };
580 /** Bitset defining follow set for error recovery in rule state: FOLLOW_range_in_parameterValue1290 */
581 static ANTLR3_BITWORD FOLLOW_range_in_parameterValue1290_bits[] = { ANTLR3_UINT64_LIT(0x0000044000000000) };
582 static ANTLR3_BITSET_LIST FOLLOW_range_in_parameterValue1290 = { FOLLOW_range_in_parameterValue1290_bits, 1 };
583 /** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_parameterValue1292 */
584 static ANTLR3_BITWORD FOLLOW_set_in_parameterValue1292_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
585 static ANTLR3_BITSET_LIST FOLLOW_set_in_parameterValue1292 = { FOLLOW_set_in_parameterValue1292_bits, 1 };
586 /** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1319 */
587 static ANTLR3_BITWORD FOLLOW_number_in_range1319_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
588 static ANTLR3_BITSET_LIST FOLLOW_number_in_range1319 = { FOLLOW_number_in_range1319_bits, 1 };
589 /** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1327 */
590 static ANTLR3_BITWORD FOLLOW_number_in_range1327_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };
591 static ANTLR3_BITSET_LIST FOLLOW_number_in_range1327 = { FOLLOW_number_in_range1327_bits, 1 };
592 /** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1329 */
593 static ANTLR3_BITWORD FOLLOW_39_in_range1329_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
594 static ANTLR3_BITSET_LIST FOLLOW_39_in_range1329 = { FOLLOW_39_in_range1329_bits, 1 };
595 /** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1337 */
596 static ANTLR3_BITWORD FOLLOW_39_in_range1337_bits[] = { ANTLR3_UINT64_LIT(0x0000000005000000) };
597 static ANTLR3_BITSET_LIST FOLLOW_39_in_range1337 = { FOLLOW_39_in_range1337_bits, 1 };
598 /** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1339 */
599 static ANTLR3_BITWORD FOLLOW_number_in_range1339_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
600 static ANTLR3_BITSET_LIST FOLLOW_number_in_range1339 = { FOLLOW_number_in_range1339_bits, 1 };
601 /** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1348 */
602 static ANTLR3_BITWORD FOLLOW_number_in_range1348_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };
603 static ANTLR3_BITSET_LIST FOLLOW_number_in_range1348 = { FOLLOW_number_in_range1348_bits, 1 };
604 /** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1350 */
605 static ANTLR3_BITWORD FOLLOW_39_in_range1350_bits[] = { ANTLR3_UINT64_LIT(0x0000000005000000) };
606 static ANTLR3_BITSET_LIST FOLLOW_39_in_range1350 = { FOLLOW_39_in_range1350_bits, 1 };
607 /** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1352 */
608 static ANTLR3_BITWORD FOLLOW_number_in_range1352_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
609 static ANTLR3_BITSET_LIST FOLLOW_number_in_range1352 = { FOLLOW_number_in_range1352_bits, 1 };
610 /** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_number0 */
611 static ANTLR3_BITWORD FOLLOW_set_in_number0_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
612 static ANTLR3_BITSET_LIST FOLLOW_set_in_number0 = { FOLLOW_set_in_number0_bits, 1 };
613 /** Bitset defining follow set for error recovery in rule state: FOLLOW_STRING_in_string1402 */
614 static ANTLR3_BITWORD FOLLOW_STRING_in_string1402_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
615 static ANTLR3_BITSET_LIST FOLLOW_STRING_in_string1402 = { FOLLOW_STRING_in_string1402_bits, 1 };
616 /** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_boolean0 */
617 static ANTLR3_BITWORD FOLLOW_set_in_boolean0_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
618 static ANTLR3_BITSET_LIST FOLLOW_set_in_boolean0 = { FOLLOW_set_in_boolean0_bits, 1 };
619 /** Bitset defining follow set for error recovery in rule state: FOLLOW_valueDefinition_in_valueDefinitions1447 */
620 static ANTLR3_BITWORD FOLLOW_valueDefinition_in_valueDefinitions1447_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800002) };
621 static ANTLR3_BITSET_LIST FOLLOW_valueDefinition_in_valueDefinitions1447 = { FOLLOW_valueDefinition_in_valueDefinitions1447_bits, 1 };
622 /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_valueDefinition1470 */
623 static ANTLR3_BITWORD FOLLOW_ID_in_valueDefinition1470_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000000) };
624 static ANTLR3_BITSET_LIST FOLLOW_ID_in_valueDefinition1470 = { FOLLOW_ID_in_valueDefinition1470_bits, 1 };
625 /** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_valueDefinition1472 */
626 static ANTLR3_BITWORD FOLLOW_45_in_valueDefinition1472_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
627 static ANTLR3_BITSET_LIST FOLLOW_45_in_valueDefinition1472 = { FOLLOW_45_in_valueDefinition1472_bits, 1 };
628 /** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_valueDefinition1474 */
629 static ANTLR3_BITWORD FOLLOW_unionType_in_valueDefinition1474_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
630 static ANTLR3_BITSET_LIST FOLLOW_unionType_in_valueDefinition1474 = { FOLLOW_unionType_in_valueDefinition1474_bits, 1 };
631 /** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_valueDefinition1476 */
632 static ANTLR3_BITWORD FOLLOW_35_in_valueDefinition1476_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
633 static ANTLR3_BITSET_LIST FOLLOW_35_in_valueDefinition1476 = { FOLLOW_35_in_valueDefinition1476_bits, 1 };
634 /** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_valueDefinition1478 */
635 static ANTLR3_BITWORD FOLLOW_value_in_valueDefinition1478_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
636 static ANTLR3_BITSET_LIST FOLLOW_value_in_valueDefinition1478 = { FOLLOW_value_in_valueDefinition1478_bits, 1 };
637 /** Bitset defining follow set for error recovery in rule state: FOLLOW_basicValue_in_value1514 */
638 static ANTLR3_BITWORD FOLLOW_basicValue_in_value1514_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000002) };
639 static ANTLR3_BITSET_LIST FOLLOW_basicValue_in_value1514 = { FOLLOW_basicValue_in_value1514_bits, 1 };
640 /** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_value1528 */
641 static ANTLR3_BITWORD FOLLOW_45_in_value1528_bits[] = { ANTLR3_UINT64_LIT(0x0000090000800000) };
642 static ANTLR3_BITSET_LIST FOLLOW_45_in_value1528 = { FOLLOW_45_in_value1528_bits, 1 };
643 /** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_value1530 */
644 static ANTLR3_BITWORD FOLLOW_type_in_value1530_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000002) };
645 static ANTLR3_BITSET_LIST FOLLOW_type_in_value1530 = { FOLLOW_type_in_value1530_bits, 1 };
646 /** Bitset defining follow set for error recovery in rule state: FOLLOW_48_in_basicValue1562 */
647 static ANTLR3_BITWORD FOLLOW_48_in_basicValue1562_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
648 static ANTLR3_BITSET_LIST FOLLOW_48_in_basicValue1562 = { FOLLOW_48_in_basicValue1562_bits, 1 };
649 /** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_basicValue1574 */
650 static ANTLR3_BITWORD FOLLOW_string_in_basicValue1574_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
651 static ANTLR3_BITSET_LIST FOLLOW_string_in_basicValue1574 = { FOLLOW_string_in_basicValue1574_bits, 1 };
652 /** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_basicValue1582 */
653 static ANTLR3_BITWORD FOLLOW_number_in_basicValue1582_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
654 static ANTLR3_BITSET_LIST FOLLOW_number_in_basicValue1582 = { FOLLOW_number_in_basicValue1582_bits, 1 };
655 /** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_in_basicValue1590 */
656 static ANTLR3_BITWORD FOLLOW_boolean_in_basicValue1590_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
657 static ANTLR3_BITSET_LIST FOLLOW_boolean_in_basicValue1590 = { FOLLOW_boolean_in_basicValue1590_bits, 1 };
658 /** Bitset defining follow set for error recovery in rule state: FOLLOW_array_in_basicValue1598 */
659 static ANTLR3_BITWORD FOLLOW_array_in_basicValue1598_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
660 static ANTLR3_BITSET_LIST FOLLOW_array_in_basicValue1598 = { FOLLOW_array_in_basicValue1598_bits, 1 };
661 /** Bitset defining follow set for error recovery in rule state: FOLLOW_tuple_in_basicValue1606 */
662 static ANTLR3_BITWORD FOLLOW_tuple_in_basicValue1606_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
663 static ANTLR3_BITSET_LIST FOLLOW_tuple_in_basicValue1606 = { FOLLOW_tuple_in_basicValue1606_bits, 1 };
664 /** Bitset defining follow set for error recovery in rule state: FOLLOW_taggedValue_in_basicValue1614 */
665 static ANTLR3_BITWORD FOLLOW_taggedValue_in_basicValue1614_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
666 static ANTLR3_BITSET_LIST FOLLOW_taggedValue_in_basicValue1614 = { FOLLOW_taggedValue_in_basicValue1614_bits, 1 };
667 /** Bitset defining follow set for error recovery in rule state: FOLLOW_map_in_basicValue1622 */
668 static ANTLR3_BITWORD FOLLOW_map_in_basicValue1622_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
669 static ANTLR3_BITSET_LIST FOLLOW_map_in_basicValue1622 = { FOLLOW_map_in_basicValue1622_bits, 1 };
670 /** Bitset defining follow set for error recovery in rule state: FOLLOW_record_in_basicValue1630 */
671 static ANTLR3_BITWORD FOLLOW_record_in_basicValue1630_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
672 static ANTLR3_BITSET_LIST FOLLOW_record_in_basicValue1630 = { FOLLOW_record_in_basicValue1630_bits, 1 };
673 /** Bitset defining follow set for error recovery in rule state: FOLLOW_37_in_array1648 */
674 static ANTLR3_BITWORD FOLLOW_37_in_array1648_bits[] = { ANTLR3_UINT64_LIT(0x0003C96045800000) };
675 static ANTLR3_BITSET_LIST FOLLOW_37_in_array1648 = { FOLLOW_37_in_array1648_bits, 1 };
676 /** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_array1651 */
677 static ANTLR3_BITWORD FOLLOW_value_in_array1651_bits[] = { ANTLR3_UINT64_LIT(0x0000024000000000) };
678 static ANTLR3_BITSET_LIST FOLLOW_value_in_array1651 = { FOLLOW_value_in_array1651_bits, 1 };
679 /** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_array1654 */
680 static ANTLR3_BITWORD FOLLOW_41_in_array1654_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
681 static ANTLR3_BITSET_LIST FOLLOW_41_in_array1654 = { FOLLOW_41_in_array1654_bits, 1 };
682 /** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_array1656 */
683 static ANTLR3_BITWORD FOLLOW_value_in_array1656_bits[] = { ANTLR3_UINT64_LIT(0x0000024000000000) };
684 static ANTLR3_BITSET_LIST FOLLOW_value_in_array1656 = { FOLLOW_value_in_array1656_bits, 1 };
685 /** Bitset defining follow set for error recovery in rule state: FOLLOW_38_in_array1662 */
686 static ANTLR3_BITWORD FOLLOW_38_in_array1662_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
687 static ANTLR3_BITSET_LIST FOLLOW_38_in_array1662 = { FOLLOW_38_in_array1662_bits, 1 };
688 /** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_tuple1694 */
689 static ANTLR3_BITWORD FOLLOW_40_in_tuple1694_bits[] = { ANTLR3_UINT64_LIT(0x0003CD2045800000) };
690 static ANTLR3_BITSET_LIST FOLLOW_40_in_tuple1694 = { FOLLOW_40_in_tuple1694_bits, 1 };
691 /** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_tuple1697 */
692 static ANTLR3_BITWORD FOLLOW_value_in_tuple1697_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
693 static ANTLR3_BITSET_LIST FOLLOW_value_in_tuple1697 = { FOLLOW_value_in_tuple1697_bits, 1 };
694 /** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_tuple1700 */
695 static ANTLR3_BITWORD FOLLOW_41_in_tuple1700_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
696 static ANTLR3_BITSET_LIST FOLLOW_41_in_tuple1700 = { FOLLOW_41_in_tuple1700_bits, 1 };
697 /** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_tuple1702 */
698 static ANTLR3_BITWORD FOLLOW_value_in_tuple1702_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
699 static ANTLR3_BITSET_LIST FOLLOW_value_in_tuple1702 = { FOLLOW_value_in_tuple1702_bits, 1 };
700 /** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_tuple1708 */
701 static ANTLR3_BITWORD FOLLOW_42_in_tuple1708_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
702 static ANTLR3_BITSET_LIST FOLLOW_42_in_tuple1708 = { FOLLOW_42_in_tuple1708_bits, 1 };
703 /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_taggedValue1740 */
704 static ANTLR3_BITWORD FOLLOW_ID_in_taggedValue1740_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
705 static ANTLR3_BITSET_LIST FOLLOW_ID_in_taggedValue1740 = { FOLLOW_ID_in_taggedValue1740_bits, 1 };
706 /** Bitset defining follow set for error recovery in rule state: FOLLOW_basicValue_in_taggedValue1742 */
707 static ANTLR3_BITWORD FOLLOW_basicValue_in_taggedValue1742_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
708 static ANTLR3_BITSET_LIST FOLLOW_basicValue_in_taggedValue1742 = { FOLLOW_basicValue_in_taggedValue1742_bits, 1 };
709 /** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_record1775 */
710 static ANTLR3_BITWORD FOLLOW_43_in_record1775_bits[] = { ANTLR3_UINT64_LIT(0x0000100000800000) };
711 static ANTLR3_BITSET_LIST FOLLOW_43_in_record1775 = { FOLLOW_43_in_record1775_bits, 1 };
712 /** Bitset defining follow set for error recovery in rule state: FOLLOW_recordAssignment_in_record1778 */
713 static ANTLR3_BITWORD FOLLOW_recordAssignment_in_record1778_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
714 static ANTLR3_BITSET_LIST FOLLOW_recordAssignment_in_record1778 = { FOLLOW_recordAssignment_in_record1778_bits, 1 };
715 /** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_record1781 */
716 static ANTLR3_BITWORD FOLLOW_41_in_record1781_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };
717 static ANTLR3_BITSET_LIST FOLLOW_41_in_record1781 = { FOLLOW_41_in_record1781_bits, 1 };
718 /** Bitset defining follow set for error recovery in rule state: FOLLOW_recordAssignment_in_record1783 */
719 static ANTLR3_BITWORD FOLLOW_recordAssignment_in_record1783_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
720 static ANTLR3_BITSET_LIST FOLLOW_recordAssignment_in_record1783 = { FOLLOW_recordAssignment_in_record1783_bits, 1 };
721 /** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_record1789 */
722 static ANTLR3_BITWORD FOLLOW_44_in_record1789_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
723 static ANTLR3_BITSET_LIST FOLLOW_44_in_record1789 = { FOLLOW_44_in_record1789_bits, 1 };
724 /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_recordAssignment1821 */
725 static ANTLR3_BITWORD FOLLOW_ID_in_recordAssignment1821_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
726 static ANTLR3_BITSET_LIST FOLLOW_ID_in_recordAssignment1821 = { FOLLOW_ID_in_recordAssignment1821_bits, 1 };
727 /** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_recordAssignment1823 */
728 static ANTLR3_BITWORD FOLLOW_35_in_recordAssignment1823_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
729 static ANTLR3_BITSET_LIST FOLLOW_35_in_recordAssignment1823 = { FOLLOW_35_in_recordAssignment1823_bits, 1 };
730 /** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_recordAssignment1825 */
731 static ANTLR3_BITWORD FOLLOW_value_in_recordAssignment1825_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
732 static ANTLR3_BITSET_LIST FOLLOW_value_in_recordAssignment1825 = { FOLLOW_value_in_recordAssignment1825_bits, 1 };
733 /** Bitset defining follow set for error recovery in rule state: FOLLOW_49_in_map1852 */
734 static ANTLR3_BITWORD FOLLOW_49_in_map1852_bits[] = { ANTLR3_UINT64_LIT(0x0000080000000000) };
735 static ANTLR3_BITSET_LIST FOLLOW_49_in_map1852 = { FOLLOW_49_in_map1852_bits, 1 };
736 /** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_map1854 */
737 static ANTLR3_BITWORD FOLLOW_43_in_map1854_bits[] = { ANTLR3_UINT64_LIT(0x0003D92045800000) };
738 static ANTLR3_BITSET_LIST FOLLOW_43_in_map1854 = { FOLLOW_43_in_map1854_bits, 1 };
739 /** Bitset defining follow set for error recovery in rule state: FOLLOW_mapAssignment_in_map1857 */
740 static ANTLR3_BITWORD FOLLOW_mapAssignment_in_map1857_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
741 static ANTLR3_BITSET_LIST FOLLOW_mapAssignment_in_map1857 = { FOLLOW_mapAssignment_in_map1857_bits, 1 };
742 /** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_map1860 */
743 static ANTLR3_BITWORD FOLLOW_41_in_map1860_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
744 static ANTLR3_BITSET_LIST FOLLOW_41_in_map1860 = { FOLLOW_41_in_map1860_bits, 1 };
745 /** Bitset defining follow set for error recovery in rule state: FOLLOW_mapAssignment_in_map1862 */
746 static ANTLR3_BITWORD FOLLOW_mapAssignment_in_map1862_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
747 static ANTLR3_BITSET_LIST FOLLOW_mapAssignment_in_map1862 = { FOLLOW_mapAssignment_in_map1862_bits, 1 };
748 /** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_map1868 */
749 static ANTLR3_BITWORD FOLLOW_44_in_map1868_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
750 static ANTLR3_BITSET_LIST FOLLOW_44_in_map1868 = { FOLLOW_44_in_map1868_bits, 1 };
751 /** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_mapAssignment1900 */
752 static ANTLR3_BITWORD FOLLOW_value_in_mapAssignment1900_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
753 static ANTLR3_BITSET_LIST FOLLOW_value_in_mapAssignment1900 = { FOLLOW_value_in_mapAssignment1900_bits, 1 };
754 /** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_mapAssignment1902 */
755 static ANTLR3_BITWORD FOLLOW_35_in_mapAssignment1902_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
756 static ANTLR3_BITSET_LIST FOLLOW_35_in_mapAssignment1902 = { FOLLOW_35_in_mapAssignment1902_bits, 1 };
757 /** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_mapAssignment1904 */
758 static ANTLR3_BITWORD FOLLOW_value_in_mapAssignment1904_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
759 static ANTLR3_BITSET_LIST FOLLOW_value_in_mapAssignment1904 = { FOLLOW_value_in_mapAssignment1904_bits, 1 };
764 /* ==============================================
768 * $ANTLR start typeDefinitions
769 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:1: typeDefinitions : ( typeDefinition )* -> ^( TYPE_DEFINITIONS ( typeDefinition )* ) ;
771 static SimanticsDataParser_typeDefinitions_return
772 typeDefinitions(pSimanticsDataParser ctx)
774 SimanticsDataParser_typeDefinitions_return retval;
776 pANTLR3_BASE_TREE root_0;
778 SimanticsDataParser_typeDefinition_return typeDefinition1;
779 #undef RETURN_TYPE_typeDefinition1
780 #define RETURN_TYPE_typeDefinition1 SimanticsDataParser_typeDefinition_return
782 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_typeDefinition;
783 /* Initialize rule variables
789 typeDefinition1.tree = NULL;
791 retval.start = LT(1); retval.stop = retval.start;
794 stream_typeDefinition = NULL;
795 #define CREATE_stream_typeDefinition if (stream_typeDefinition == NULL) {stream_typeDefinition = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule typeDefinition"); }
799 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:17: ( ( typeDefinition )* -> ^( TYPE_DEFINITIONS ( typeDefinition )* ) )
800 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: ( typeDefinition )*
803 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: ( typeDefinition )*
821 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: typeDefinition
823 FOLLOWPUSH(FOLLOW_typeDefinition_in_typeDefinitions768);
824 typeDefinition1=typeDefinition(ctx);
829 goto ruletypeDefinitionsEx;
832 CREATE_stream_typeDefinition; stream_typeDefinition->add(stream_typeDefinition, typeDefinition1.tree, NULL);
838 goto loop1; /* break out of the loop */
842 loop1: ; /* Jump out to here if this rule does not match */
847 * elements : typeDefinition
849 * rule labels : retval
850 * token list labels :
854 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
856 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
858 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
859 retval.tree = root_0;
860 // 93:35: -> ^( TYPE_DEFINITIONS ( typeDefinition )* )
862 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:38: ^( TYPE_DEFINITIONS ( typeDefinition )* )
864 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
865 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_DEFINITIONS, (pANTLR3_UINT8)"TYPE_DEFINITIONS"), root_1));
867 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:57: ( typeDefinition )*
869 while ( (stream_typeDefinition != NULL && stream_typeDefinition->hasNext(stream_typeDefinition)) )
871 ADAPTOR->addChild(ADAPTOR, root_1, stream_typeDefinition == NULL ? NULL : stream_typeDefinition->nextTree(stream_typeDefinition));
874 if (stream_typeDefinition != NULL) stream_typeDefinition->reset(stream_typeDefinition);
878 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
883 retval.tree = root_0; // set result root
884 if (stream_retval != NULL) stream_retval->free(stream_retval);
893 // This is where rules clean up and exit
895 goto ruletypeDefinitionsEx; /* Prevent compiler warnings */
896 ruletypeDefinitionsEx: ;
897 retval.stop = LT(-1);
899 retval.stop = LT(-1);
900 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
901 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
902 if (stream_typeDefinition != NULL) stream_typeDefinition->free(stream_typeDefinition);
908 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
914 /* $ANTLR end typeDefinitions */
917 * $ANTLR start typeDefinition
918 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:95:1: typeDefinition : 'type' ID '=' unionType -> ^( TYPE_DEFINITION ID unionType ) ;
920 static SimanticsDataParser_typeDefinition_return
921 typeDefinition(pSimanticsDataParser ctx)
923 SimanticsDataParser_typeDefinition_return retval;
925 pANTLR3_BASE_TREE root_0;
927 pANTLR3_COMMON_TOKEN string_literal2;
928 pANTLR3_COMMON_TOKEN ID3;
929 pANTLR3_COMMON_TOKEN char_literal4;
930 SimanticsDataParser_unionType_return unionType5;
931 #undef RETURN_TYPE_unionType5
932 #define RETURN_TYPE_unionType5 SimanticsDataParser_unionType_return
934 pANTLR3_BASE_TREE string_literal2_tree;
935 pANTLR3_BASE_TREE ID3_tree;
936 pANTLR3_BASE_TREE char_literal4_tree;
937 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
938 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
939 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_34;
940 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;
941 /* Initialize rule variables
947 string_literal2 = NULL;
949 char_literal4 = NULL;
950 unionType5.tree = NULL;
952 retval.start = LT(1); retval.stop = retval.start;
954 string_literal2_tree = NULL;
956 char_literal4_tree = NULL;
959 #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
961 #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
963 #define CREATE_stream_34 if (stream_34 == NULL) {stream_34 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 34"); }
964 stream_unionType = NULL;
965 #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }
969 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:5: ( 'type' ID '=' unionType -> ^( TYPE_DEFINITION ID unionType ) )
970 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:7: 'type' ID '=' unionType
972 string_literal2 = (pANTLR3_COMMON_TOKEN) MATCHT(34, &FOLLOW_34_in_typeDefinition791);
975 goto ruletypeDefinitionEx;
978 CREATE_stream_34; stream_34->add(stream_34, string_literal2, NULL);
980 ID3 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_typeDefinition793);
983 goto ruletypeDefinitionEx;
986 CREATE_stream_ID; stream_ID->add(stream_ID, ID3, NULL);
988 char_literal4 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_typeDefinition795);
991 goto ruletypeDefinitionEx;
994 CREATE_stream_35; stream_35->add(stream_35, char_literal4, NULL);
996 FOLLOWPUSH(FOLLOW_unionType_in_typeDefinition797);
997 unionType5=unionType(ctx);
1002 goto ruletypeDefinitionEx;
1005 CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType5.tree, NULL);
1009 * elements : unionType, ID
1011 * rule labels : retval
1012 * token list labels :
1013 * rule list labels :
1016 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
1018 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
1020 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1021 retval.tree = root_0;
1022 // 96:31: -> ^( TYPE_DEFINITION ID unionType )
1024 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:34: ^( TYPE_DEFINITION ID unionType )
1026 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1027 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_DEFINITION, (pANTLR3_UINT8)"TYPE_DEFINITION"), root_1));
1029 ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
1030 ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));
1032 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
1037 retval.tree = root_0; // set result root
1038 if (stream_retval != NULL) stream_retval->free(stream_retval);
1047 // This is where rules clean up and exit
1049 goto ruletypeDefinitionEx; /* Prevent compiler warnings */
1050 ruletypeDefinitionEx: ;
1051 retval.stop = LT(-1);
1053 retval.stop = LT(-1);
1054 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
1055 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
1056 if (stream_ID != NULL) stream_ID->free(stream_ID);
1057 if (stream_35 != NULL) stream_35->free(stream_35);
1058 if (stream_34 != NULL) stream_34->free(stream_34);
1059 if (stream_unionType != NULL) stream_unionType->free(stream_unionType);
1065 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
1071 /* $ANTLR end typeDefinition */
1074 * $ANTLR start unionType
1075 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:99:1: unionType : ( type | ( '|' unionComponent )+ -> ^( UNION_TYPE ( unionComponent )+ ) );
1077 static SimanticsDataParser_unionType_return
1078 unionType(pSimanticsDataParser ctx)
1080 SimanticsDataParser_unionType_return retval;
1082 pANTLR3_BASE_TREE root_0;
1084 pANTLR3_COMMON_TOKEN char_literal7;
1085 SimanticsDataParser_type_return type6;
1086 #undef RETURN_TYPE_type6
1087 #define RETURN_TYPE_type6 SimanticsDataParser_type_return
1089 SimanticsDataParser_unionComponent_return unionComponent8;
1090 #undef RETURN_TYPE_unionComponent8
1091 #define RETURN_TYPE_unionComponent8 SimanticsDataParser_unionComponent_return
1093 pANTLR3_BASE_TREE char_literal7_tree;
1094 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_36;
1095 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionComponent;
1096 /* Initialize rule variables
1102 char_literal7 = NULL;
1105 unionComponent8.tree = NULL;
1107 retval.start = LT(1); retval.stop = retval.start;
1109 char_literal7_tree = NULL;
1112 #define CREATE_stream_36 if (stream_36 == NULL) {stream_36 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 36"); }
1113 stream_unionComponent = NULL;
1114 #define CREATE_stream_unionComponent if (stream_unionComponent == NULL) {stream_unionComponent = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionComponent"); }
1119 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:100:5: ( type | ( '|' unionComponent )+ -> ^( UNION_TYPE ( unionComponent )+ ) )
1142 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
1143 EXCEPTION->message = (void *)"";
1144 EXCEPTION->decisionNum = 3;
1145 EXCEPTION->state = 0;
1148 goto ruleunionTypeEx;
1154 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:100:7: type
1156 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1158 FOLLOWPUSH(FOLLOW_type_in_unionType829);
1164 goto ruleunionTypeEx;
1167 ADAPTOR->addChild(ADAPTOR, root_0, type6.tree);
1172 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:7: ( '|' unionComponent )+
1174 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:7: ( '|' unionComponent )+
1194 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:8: '|' unionComponent
1196 char_literal7 = (pANTLR3_COMMON_TOKEN) MATCHT(36, &FOLLOW_36_in_unionType838);
1199 goto ruleunionTypeEx;
1202 CREATE_stream_36; stream_36->add(stream_36, char_literal7, NULL);
1204 FOLLOWPUSH(FOLLOW_unionComponent_in_unionType840);
1205 unionComponent8=unionComponent(ctx);
1210 goto ruleunionTypeEx;
1213 CREATE_stream_unionComponent; stream_unionComponent->add(stream_unionComponent, unionComponent8.tree, NULL);
1224 /* mismatchedSetEx()
1227 EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
1228 EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
1231 goto ruleunionTypeEx;
1235 loop2: ; /* Jump to here if this rule does not match */
1240 * elements : unionComponent
1242 * rule labels : retval
1243 * token list labels :
1244 * rule list labels :
1247 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
1249 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
1251 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1252 retval.tree = root_0;
1253 // 102:5: -> ^( UNION_TYPE ( unionComponent )+ )
1255 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:102:8: ^( UNION_TYPE ( unionComponent )+ )
1257 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1258 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, UNION_TYPE, (pANTLR3_UINT8)"UNION_TYPE"), root_1));
1260 if ((stream_unionComponent == NULL || !stream_unionComponent->hasNext(stream_unionComponent)) )
1263 EXCEPTION->type = ANTLR3_REWRITE_EARLY_EXCEPTION;
1264 EXCEPTION->name = (void *)ANTLR3_REWRITE_EARLY_EXCEPTION_NAME;
1268 while ( (stream_unionComponent->hasNext(stream_unionComponent)) ) {
1269 ADAPTOR->addChild(ADAPTOR, root_1, stream_unionComponent == NULL ? NULL : stream_unionComponent->nextTree(stream_unionComponent));
1272 stream_unionComponent->reset(stream_unionComponent);
1275 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
1280 retval.tree = root_0; // set result root
1281 if (stream_retval != NULL) stream_retval->free(stream_retval);
1293 // This is where rules clean up and exit
1295 goto ruleunionTypeEx; /* Prevent compiler warnings */
1297 retval.stop = LT(-1);
1299 retval.stop = LT(-1);
1300 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
1301 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
1302 if (stream_36 != NULL) stream_36->free(stream_36);
1303 if (stream_unionComponent != NULL) stream_unionComponent->free(stream_unionComponent);
1309 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
1315 /* $ANTLR end unionType */
1318 * $ANTLR start unionComponent
1319 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:1: unionComponent : ID ( type )? -> ^( TYPE_COMPONENT ID ( type )? ) ;
1321 static SimanticsDataParser_unionComponent_return
1322 unionComponent(pSimanticsDataParser ctx)
1324 SimanticsDataParser_unionComponent_return retval;
1326 pANTLR3_BASE_TREE root_0;
1328 pANTLR3_COMMON_TOKEN ID9;
1329 SimanticsDataParser_type_return type10;
1330 #undef RETURN_TYPE_type10
1331 #define RETURN_TYPE_type10 SimanticsDataParser_type_return
1333 pANTLR3_BASE_TREE ID9_tree;
1334 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
1335 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_type;
1336 /* Initialize rule variables
1345 retval.start = LT(1); retval.stop = retval.start;
1350 #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
1352 #define CREATE_stream_type if (stream_type == NULL) {stream_type = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule type"); }
1356 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:16: ( ID ( type )? -> ^( TYPE_COMPONENT ID ( type )? ) )
1357 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:18: ID ( type )?
1359 ID9 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_unionComponent871);
1362 goto ruleunionComponentEx;
1365 CREATE_stream_ID; stream_ID->add(stream_ID, ID9, NULL);
1368 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:21: ( type )?
1385 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:21: type
1387 FOLLOWPUSH(FOLLOW_type_in_unionComponent873);
1393 goto ruleunionComponentEx;
1396 CREATE_stream_type; stream_type->add(stream_type, type10.tree, NULL);
1406 * elements : ID, type
1408 * rule labels : retval
1409 * token list labels :
1410 * rule list labels :
1413 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
1415 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
1417 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1418 retval.tree = root_0;
1419 // 105:27: -> ^( TYPE_COMPONENT ID ( type )? )
1421 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:30: ^( TYPE_COMPONENT ID ( type )? )
1423 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1424 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_COMPONENT, (pANTLR3_UINT8)"TYPE_COMPONENT"), root_1));
1426 ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
1427 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:50: ( type )?
1429 if ( (stream_type != NULL && stream_type->hasNext(stream_type)) )
1431 ADAPTOR->addChild(ADAPTOR, root_1, stream_type == NULL ? NULL : stream_type->nextTree(stream_type));
1434 if ( stream_type != NULL) stream_type->reset(stream_type);
1438 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
1443 retval.tree = root_0; // set result root
1444 if (stream_retval != NULL) stream_retval->free(stream_retval);
1453 // This is where rules clean up and exit
1455 goto ruleunionComponentEx; /* Prevent compiler warnings */
1456 ruleunionComponentEx: ;
1457 retval.stop = LT(-1);
1459 retval.stop = LT(-1);
1460 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
1461 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
1462 if (stream_ID != NULL) stream_ID->free(stream_ID);
1463 if (stream_type != NULL) stream_type->free(stream_type);
1469 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
1475 /* $ANTLR end unionComponent */
1479 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:107:1: type : ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )* ;
1481 static SimanticsDataParser_type_return
1482 type(pSimanticsDataParser ctx)
1484 SimanticsDataParser_type_return retval;
1486 pANTLR3_BASE_TREE root_0;
1488 pANTLR3_COMMON_TOKEN char_literal12;
1489 pANTLR3_COMMON_TOKEN char_literal14;
1490 SimanticsDataParser_basicType_return basicType11;
1491 #undef RETURN_TYPE_basicType11
1492 #define RETURN_TYPE_basicType11 SimanticsDataParser_basicType_return
1494 SimanticsDataParser_arrayLength_return arrayLength13;
1495 #undef RETURN_TYPE_arrayLength13
1496 #define RETURN_TYPE_arrayLength13 SimanticsDataParser_arrayLength_return
1498 pANTLR3_BASE_TREE char_literal12_tree;
1499 pANTLR3_BASE_TREE char_literal14_tree;
1500 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_37;
1501 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_38;
1502 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_arrayLength;
1503 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicType;
1504 /* Initialize rule variables
1510 char_literal12 = NULL;
1511 char_literal14 = NULL;
1512 basicType11.tree = NULL;
1514 arrayLength13.tree = NULL;
1516 retval.start = LT(1); retval.stop = retval.start;
1518 char_literal12_tree = NULL;
1519 char_literal14_tree = NULL;
1522 #define CREATE_stream_37 if (stream_37 == NULL) {stream_37 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 37"); }
1524 #define CREATE_stream_38 if (stream_38 == NULL) {stream_38 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 38"); }
1525 stream_arrayLength = NULL;
1526 #define CREATE_stream_arrayLength if (stream_arrayLength == NULL) {stream_arrayLength = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule arrayLength"); }
1527 stream_basicType = NULL;
1528 #define CREATE_stream_basicType if (stream_basicType == NULL) {stream_basicType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicType"); }
1532 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:5: ( ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )* )
1533 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:7: ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )*
1535 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:7: ( basicType -> basicType )
1536 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:8: basicType
1538 FOLLOWPUSH(FOLLOW_basicType_in_type900);
1539 basicType11=basicType(ctx);
1547 CREATE_stream_basicType; stream_basicType->add(stream_basicType, basicType11.tree, NULL);
1551 * elements : basicType
1553 * rule labels : retval
1554 * token list labels :
1555 * rule list labels :
1558 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
1560 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
1562 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1563 retval.tree = root_0;
1564 // 108:18: -> basicType
1566 ADAPTOR->addChild(ADAPTOR, root_0, stream_basicType == NULL ? NULL : stream_basicType->nextTree(stream_basicType));
1570 retval.tree = root_0; // set result root
1571 if (stream_retval != NULL) stream_retval->free(stream_retval);
1578 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:7: ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )*
1596 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:8: '[' ( arrayLength )? ']'
1598 char_literal12 = (pANTLR3_COMMON_TOKEN) MATCHT(37, &FOLLOW_37_in_type914);
1604 CREATE_stream_37; stream_37->add(stream_37, char_literal12, NULL);
1607 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:12: ( arrayLength )?
1623 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:12: arrayLength
1625 FOLLOWPUSH(FOLLOW_arrayLength_in_type916);
1626 arrayLength13=arrayLength(ctx);
1634 CREATE_stream_arrayLength; stream_arrayLength->add(stream_arrayLength, arrayLength13.tree, NULL);
1641 char_literal14 = (pANTLR3_COMMON_TOKEN) MATCHT(38, &FOLLOW_38_in_type919);
1647 CREATE_stream_38; stream_38->add(stream_38, char_literal14, NULL);
1652 * elements : arrayLength, type
1654 * rule labels : retval
1655 * token list labels :
1656 * rule list labels :
1659 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
1661 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
1663 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1664 retval.tree = root_0;
1665 // 109:29: -> ^( ARRAY_TYPE $type ( arrayLength )? )
1667 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:32: ^( ARRAY_TYPE $type ( arrayLength )? )
1669 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1670 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ARRAY_TYPE, (pANTLR3_UINT8)"ARRAY_TYPE"), root_1));
1672 ADAPTOR->addChild(ADAPTOR, root_1, stream_retval == NULL ? NULL : stream_retval->nextTree(stream_retval));
1673 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:51: ( arrayLength )?
1675 if ( (stream_arrayLength != NULL && stream_arrayLength->hasNext(stream_arrayLength)) )
1677 ADAPTOR->addChild(ADAPTOR, root_1, stream_arrayLength == NULL ? NULL : stream_arrayLength->nextTree(stream_arrayLength));
1680 if ( stream_arrayLength != NULL) stream_arrayLength->reset(stream_arrayLength);
1684 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
1689 retval.tree = root_0; // set result root
1690 if (stream_retval != NULL) stream_retval->free(stream_retval);
1698 goto loop6; /* break out of the loop */
1702 loop6: ; /* Jump out to here if this rule does not match */
1710 // This is where rules clean up and exit
1712 goto ruletypeEx; /* Prevent compiler warnings */
1714 retval.stop = LT(-1);
1716 retval.stop = LT(-1);
1717 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
1718 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
1719 if (stream_37 != NULL) stream_37->free(stream_37);
1720 if (stream_38 != NULL) stream_38->free(stream_38);
1721 if (stream_arrayLength != NULL) stream_arrayLength->free(stream_arrayLength);
1722 if (stream_basicType != NULL) stream_basicType->free(stream_basicType);
1728 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
1734 /* $ANTLR end type */
1737 * $ANTLR start arrayLength
1738 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:111:1: arrayLength : ( INT | INT '..' | '..' INT | INT '..' INT );
1740 static SimanticsDataParser_arrayLength_return
1741 arrayLength(pSimanticsDataParser ctx)
1743 SimanticsDataParser_arrayLength_return retval;
1745 pANTLR3_BASE_TREE root_0;
1747 pANTLR3_COMMON_TOKEN INT15;
1748 pANTLR3_COMMON_TOKEN INT16;
1749 pANTLR3_COMMON_TOKEN string_literal17;
1750 pANTLR3_COMMON_TOKEN string_literal18;
1751 pANTLR3_COMMON_TOKEN INT19;
1752 pANTLR3_COMMON_TOKEN INT20;
1753 pANTLR3_COMMON_TOKEN string_literal21;
1754 pANTLR3_COMMON_TOKEN INT22;
1756 pANTLR3_BASE_TREE INT15_tree;
1757 pANTLR3_BASE_TREE INT16_tree;
1758 pANTLR3_BASE_TREE string_literal17_tree;
1759 pANTLR3_BASE_TREE string_literal18_tree;
1760 pANTLR3_BASE_TREE INT19_tree;
1761 pANTLR3_BASE_TREE INT20_tree;
1762 pANTLR3_BASE_TREE string_literal21_tree;
1763 pANTLR3_BASE_TREE INT22_tree;
1765 /* Initialize rule variables
1773 string_literal17 = NULL;
1774 string_literal18 = NULL;
1777 string_literal21 = NULL;
1779 retval.start = LT(1); retval.stop = retval.start;
1783 string_literal17_tree = NULL;
1784 string_literal18_tree = NULL;
1787 string_literal21_tree = NULL;
1794 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:112:5: ( INT | INT '..' | '..' INT | INT '..' INT )
1823 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
1824 EXCEPTION->message = (void *)"";
1825 EXCEPTION->decisionNum = 7;
1826 EXCEPTION->state = 3;
1829 goto rulearrayLengthEx;
1842 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
1843 EXCEPTION->message = (void *)"";
1844 EXCEPTION->decisionNum = 7;
1845 EXCEPTION->state = 1;
1848 goto rulearrayLengthEx;
1861 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
1862 EXCEPTION->message = (void *)"";
1863 EXCEPTION->decisionNum = 7;
1864 EXCEPTION->state = 0;
1867 goto rulearrayLengthEx;
1873 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:112:7: INT
1875 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1877 INT15 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength947);
1880 goto rulearrayLengthEx;
1883 INT15_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT15));
1884 ADAPTOR->addChild(ADAPTOR, root_0, INT15_tree);
1890 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:113:7: INT '..'
1892 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1894 INT16 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength955);
1897 goto rulearrayLengthEx;
1900 INT16_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT16));
1901 ADAPTOR->addChild(ADAPTOR, root_0, INT16_tree);
1903 string_literal17 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength957);
1906 goto rulearrayLengthEx;
1909 string_literal17_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal17));
1910 ADAPTOR->addChild(ADAPTOR, root_0, string_literal17_tree);
1916 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:114:7: '..' INT
1918 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1920 string_literal18 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength965);
1923 goto rulearrayLengthEx;
1926 string_literal18_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal18));
1927 ADAPTOR->addChild(ADAPTOR, root_0, string_literal18_tree);
1929 INT19 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength967);
1932 goto rulearrayLengthEx;
1935 INT19_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT19));
1936 ADAPTOR->addChild(ADAPTOR, root_0, INT19_tree);
1942 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:115:7: INT '..' INT
1944 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
1946 INT20 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength976);
1949 goto rulearrayLengthEx;
1952 INT20_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT20));
1953 ADAPTOR->addChild(ADAPTOR, root_0, INT20_tree);
1955 string_literal21 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength978);
1958 goto rulearrayLengthEx;
1961 string_literal21_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal21));
1962 ADAPTOR->addChild(ADAPTOR, root_0, string_literal21_tree);
1964 INT22 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength980);
1967 goto rulearrayLengthEx;
1970 INT22_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT22));
1971 ADAPTOR->addChild(ADAPTOR, root_0, INT22_tree);
1982 // This is where rules clean up and exit
1984 goto rulearrayLengthEx; /* Prevent compiler warnings */
1985 rulearrayLengthEx: ;
1986 retval.stop = LT(-1);
1988 retval.stop = LT(-1);
1989 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
1990 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
1996 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
2002 /* $ANTLR end arrayLength */
2005 * $ANTLR start basicType
2006 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:118:1: basicType : ( tupleType | recordType | typeReference );
2008 static SimanticsDataParser_basicType_return
2009 basicType(pSimanticsDataParser ctx)
2011 SimanticsDataParser_basicType_return retval;
2013 pANTLR3_BASE_TREE root_0;
2015 SimanticsDataParser_tupleType_return tupleType23;
2016 #undef RETURN_TYPE_tupleType23
2017 #define RETURN_TYPE_tupleType23 SimanticsDataParser_tupleType_return
2019 SimanticsDataParser_recordType_return recordType24;
2020 #undef RETURN_TYPE_recordType24
2021 #define RETURN_TYPE_recordType24 SimanticsDataParser_recordType_return
2023 SimanticsDataParser_typeReference_return typeReference25;
2024 #undef RETURN_TYPE_typeReference25
2025 #define RETURN_TYPE_typeReference25 SimanticsDataParser_typeReference_return
2028 /* Initialize rule variables
2034 tupleType23.tree = NULL;
2036 recordType24.tree = NULL;
2038 typeReference25.tree = NULL;
2040 retval.start = LT(1); retval.stop = retval.start;
2047 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:119:5: ( tupleType | recordType | typeReference )
2073 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
2074 EXCEPTION->message = (void *)"";
2075 EXCEPTION->decisionNum = 8;
2076 EXCEPTION->state = 0;
2079 goto rulebasicTypeEx;
2085 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:119:7: tupleType
2087 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2089 FOLLOWPUSH(FOLLOW_tupleType_in_basicType998);
2090 tupleType23=tupleType(ctx);
2095 goto rulebasicTypeEx;
2098 ADAPTOR->addChild(ADAPTOR, root_0, tupleType23.tree);
2103 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:120:7: recordType
2105 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2107 FOLLOWPUSH(FOLLOW_recordType_in_basicType1006);
2108 recordType24=recordType(ctx);
2113 goto rulebasicTypeEx;
2116 ADAPTOR->addChild(ADAPTOR, root_0, recordType24.tree);
2121 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:121:7: typeReference
2123 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2125 FOLLOWPUSH(FOLLOW_typeReference_in_basicType1014);
2126 typeReference25=typeReference(ctx);
2131 goto rulebasicTypeEx;
2134 ADAPTOR->addChild(ADAPTOR, root_0, typeReference25.tree);
2144 // This is where rules clean up and exit
2146 goto rulebasicTypeEx; /* Prevent compiler warnings */
2148 retval.stop = LT(-1);
2150 retval.stop = LT(-1);
2151 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
2152 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
2158 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
2164 /* $ANTLR end basicType */
2167 * $ANTLR start tupleType
2168 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:124:1: tupleType : '(' ( unionType ( ',' unionType )* )? ')' -> ^( TUPLE_TYPE ( unionType )* ) ;
2170 static SimanticsDataParser_tupleType_return
2171 tupleType(pSimanticsDataParser ctx)
2173 SimanticsDataParser_tupleType_return retval;
2175 pANTLR3_BASE_TREE root_0;
2177 pANTLR3_COMMON_TOKEN char_literal26;
2178 pANTLR3_COMMON_TOKEN char_literal28;
2179 pANTLR3_COMMON_TOKEN char_literal30;
2180 SimanticsDataParser_unionType_return unionType27;
2181 #undef RETURN_TYPE_unionType27
2182 #define RETURN_TYPE_unionType27 SimanticsDataParser_unionType_return
2184 SimanticsDataParser_unionType_return unionType29;
2185 #undef RETURN_TYPE_unionType29
2186 #define RETURN_TYPE_unionType29 SimanticsDataParser_unionType_return
2188 pANTLR3_BASE_TREE char_literal26_tree;
2189 pANTLR3_BASE_TREE char_literal28_tree;
2190 pANTLR3_BASE_TREE char_literal30_tree;
2191 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;
2192 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
2193 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;
2194 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;
2195 /* Initialize rule variables
2201 char_literal26 = NULL;
2202 char_literal28 = NULL;
2203 char_literal30 = NULL;
2204 unionType27.tree = NULL;
2206 unionType29.tree = NULL;
2208 retval.start = LT(1); retval.stop = retval.start;
2210 char_literal26_tree = NULL;
2211 char_literal28_tree = NULL;
2212 char_literal30_tree = NULL;
2215 #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); }
2217 #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
2219 #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); }
2220 stream_unionType = NULL;
2221 #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }
2225 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:5: ( '(' ( unionType ( ',' unionType )* )? ')' -> ^( TUPLE_TYPE ( unionType )* ) )
2226 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:7: '(' ( unionType ( ',' unionType )* )? ')'
2228 char_literal26 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_tupleType1036);
2231 goto ruletupleTypeEx;
2234 CREATE_stream_40; stream_40->add(stream_40, char_literal26, NULL);
2237 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:11: ( unionType ( ',' unionType )* )?
2255 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:12: unionType ( ',' unionType )*
2257 FOLLOWPUSH(FOLLOW_unionType_in_tupleType1039);
2258 unionType27=unionType(ctx);
2263 goto ruletupleTypeEx;
2266 CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType27.tree, NULL);
2268 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:22: ( ',' unionType )*
2286 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:23: ',' unionType
2288 char_literal28 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_tupleType1042);
2291 goto ruletupleTypeEx;
2294 CREATE_stream_41; stream_41->add(stream_41, char_literal28, NULL);
2296 FOLLOWPUSH(FOLLOW_unionType_in_tupleType1044);
2297 unionType29=unionType(ctx);
2302 goto ruletupleTypeEx;
2305 CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType29.tree, NULL);
2311 goto loop9; /* break out of the loop */
2315 loop9: ; /* Jump out to here if this rule does not match */
2323 char_literal30 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_tupleType1050);
2326 goto ruletupleTypeEx;
2329 CREATE_stream_42; stream_42->add(stream_42, char_literal30, NULL);
2334 * elements : unionType
2336 * rule labels : retval
2337 * token list labels :
2338 * rule list labels :
2341 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
2343 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
2345 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2346 retval.tree = root_0;
2347 // 126:5: -> ^( TUPLE_TYPE ( unionType )* )
2349 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:126:8: ^( TUPLE_TYPE ( unionType )* )
2351 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2352 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TUPLE_TYPE, (pANTLR3_UINT8)"TUPLE_TYPE"), root_1));
2354 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:126:21: ( unionType )*
2356 while ( (stream_unionType != NULL && stream_unionType->hasNext(stream_unionType)) )
2358 ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));
2361 if (stream_unionType != NULL) stream_unionType->reset(stream_unionType);
2365 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
2370 retval.tree = root_0; // set result root
2371 if (stream_retval != NULL) stream_retval->free(stream_retval);
2380 // This is where rules clean up and exit
2382 goto ruletupleTypeEx; /* Prevent compiler warnings */
2384 retval.stop = LT(-1);
2386 retval.stop = LT(-1);
2387 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
2388 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
2389 if (stream_42 != NULL) stream_42->free(stream_42);
2390 if (stream_41 != NULL) stream_41->free(stream_41);
2391 if (stream_40 != NULL) stream_40->free(stream_40);
2392 if (stream_unionType != NULL) stream_unionType->free(stream_unionType);
2398 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
2404 /* $ANTLR end tupleType */
2407 * $ANTLR start recordType
2408 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:129:1: recordType : '{' ( component ( ',' component )* )? '}' -> ^( RECORD_TYPE ( component )* ) ;
2410 static SimanticsDataParser_recordType_return
2411 recordType(pSimanticsDataParser ctx)
2413 SimanticsDataParser_recordType_return retval;
2415 pANTLR3_BASE_TREE root_0;
2417 pANTLR3_COMMON_TOKEN char_literal31;
2418 pANTLR3_COMMON_TOKEN char_literal33;
2419 pANTLR3_COMMON_TOKEN char_literal35;
2420 SimanticsDataParser_component_return component32;
2421 #undef RETURN_TYPE_component32
2422 #define RETURN_TYPE_component32 SimanticsDataParser_component_return
2424 SimanticsDataParser_component_return component34;
2425 #undef RETURN_TYPE_component34
2426 #define RETURN_TYPE_component34 SimanticsDataParser_component_return
2428 pANTLR3_BASE_TREE char_literal31_tree;
2429 pANTLR3_BASE_TREE char_literal33_tree;
2430 pANTLR3_BASE_TREE char_literal35_tree;
2431 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;
2432 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;
2433 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
2434 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_component;
2435 /* Initialize rule variables
2441 char_literal31 = NULL;
2442 char_literal33 = NULL;
2443 char_literal35 = NULL;
2444 component32.tree = NULL;
2446 component34.tree = NULL;
2448 retval.start = LT(1); retval.stop = retval.start;
2450 char_literal31_tree = NULL;
2451 char_literal33_tree = NULL;
2452 char_literal35_tree = NULL;
2455 #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); }
2457 #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); }
2459 #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
2460 stream_component = NULL;
2461 #define CREATE_stream_component if (stream_component == NULL) {stream_component = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule component"); }
2465 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:5: ( '{' ( component ( ',' component )* )? '}' -> ^( RECORD_TYPE ( component )* ) )
2466 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:7: '{' ( component ( ',' component )* )? '}'
2468 char_literal31 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_recordType1083);
2471 goto rulerecordTypeEx;
2474 CREATE_stream_43; stream_43->add(stream_43, char_literal31, NULL);
2477 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:11: ( component ( ',' component )* )?
2492 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:12: component ( ',' component )*
2494 FOLLOWPUSH(FOLLOW_component_in_recordType1086);
2495 component32=component(ctx);
2500 goto rulerecordTypeEx;
2503 CREATE_stream_component; stream_component->add(stream_component, component32.tree, NULL);
2505 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:22: ( ',' component )*
2523 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:23: ',' component
2525 char_literal33 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_recordType1089);
2528 goto rulerecordTypeEx;
2531 CREATE_stream_41; stream_41->add(stream_41, char_literal33, NULL);
2533 FOLLOWPUSH(FOLLOW_component_in_recordType1091);
2534 component34=component(ctx);
2539 goto rulerecordTypeEx;
2542 CREATE_stream_component; stream_component->add(stream_component, component34.tree, NULL);
2548 goto loop11; /* break out of the loop */
2552 loop11: ; /* Jump out to here if this rule does not match */
2560 char_literal35 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_recordType1097);
2563 goto rulerecordTypeEx;
2566 CREATE_stream_44; stream_44->add(stream_44, char_literal35, NULL);
2571 * elements : component
2573 * rule labels : retval
2574 * token list labels :
2575 * rule list labels :
2578 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
2580 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
2582 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2583 retval.tree = root_0;
2584 // 131:5: -> ^( RECORD_TYPE ( component )* )
2586 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:131:8: ^( RECORD_TYPE ( component )* )
2588 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2589 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, RECORD_TYPE, (pANTLR3_UINT8)"RECORD_TYPE"), root_1));
2591 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:131:22: ( component )*
2593 while ( (stream_component != NULL && stream_component->hasNext(stream_component)) )
2595 ADAPTOR->addChild(ADAPTOR, root_1, stream_component == NULL ? NULL : stream_component->nextTree(stream_component));
2598 if (stream_component != NULL) stream_component->reset(stream_component);
2602 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
2607 retval.tree = root_0; // set result root
2608 if (stream_retval != NULL) stream_retval->free(stream_retval);
2617 // This is where rules clean up and exit
2619 goto rulerecordTypeEx; /* Prevent compiler warnings */
2621 retval.stop = LT(-1);
2623 retval.stop = LT(-1);
2624 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
2625 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
2626 if (stream_43 != NULL) stream_43->free(stream_43);
2627 if (stream_44 != NULL) stream_44->free(stream_44);
2628 if (stream_41 != NULL) stream_41->free(stream_41);
2629 if (stream_component != NULL) stream_component->free(stream_component);
2635 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
2641 /* $ANTLR end recordType */
2644 * $ANTLR start component
2645 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:134:1: component : ID ':' unionType -> ^( TYPE_COMPONENT ID unionType ) ;
2647 static SimanticsDataParser_component_return
2648 component(pSimanticsDataParser ctx)
2650 SimanticsDataParser_component_return retval;
2652 pANTLR3_BASE_TREE root_0;
2654 pANTLR3_COMMON_TOKEN ID36;
2655 pANTLR3_COMMON_TOKEN char_literal37;
2656 SimanticsDataParser_unionType_return unionType38;
2657 #undef RETURN_TYPE_unionType38
2658 #define RETURN_TYPE_unionType38 SimanticsDataParser_unionType_return
2660 pANTLR3_BASE_TREE ID36_tree;
2661 pANTLR3_BASE_TREE char_literal37_tree;
2662 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;
2663 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
2664 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;
2665 /* Initialize rule variables
2672 char_literal37 = NULL;
2673 unionType38.tree = NULL;
2675 retval.start = LT(1); retval.stop = retval.start;
2678 char_literal37_tree = NULL;
2681 #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); }
2683 #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
2684 stream_unionType = NULL;
2685 #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }
2689 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:135:5: ( ID ':' unionType -> ^( TYPE_COMPONENT ID unionType ) )
2690 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:135:7: ID ':' unionType
2692 ID36 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_component1129);
2695 goto rulecomponentEx;
2698 CREATE_stream_ID; stream_ID->add(stream_ID, ID36, NULL);
2700 char_literal37 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_component1131);
2703 goto rulecomponentEx;
2706 CREATE_stream_45; stream_45->add(stream_45, char_literal37, NULL);
2708 FOLLOWPUSH(FOLLOW_unionType_in_component1133);
2709 unionType38=unionType(ctx);
2714 goto rulecomponentEx;
2717 CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType38.tree, NULL);
2721 * elements : ID, unionType
2723 * rule labels : retval
2724 * token list labels :
2725 * rule list labels :
2728 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
2730 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
2732 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2733 retval.tree = root_0;
2734 // 136:5: -> ^( TYPE_COMPONENT ID unionType )
2736 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:136:8: ^( TYPE_COMPONENT ID unionType )
2738 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2739 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_COMPONENT, (pANTLR3_UINT8)"TYPE_COMPONENT"), root_1));
2741 ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
2742 ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));
2744 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
2749 retval.tree = root_0; // set result root
2750 if (stream_retval != NULL) stream_retval->free(stream_retval);
2759 // This is where rules clean up and exit
2761 goto rulecomponentEx; /* Prevent compiler warnings */
2763 retval.stop = LT(-1);
2765 retval.stop = LT(-1);
2766 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
2767 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
2768 if (stream_45 != NULL) stream_45->free(stream_45);
2769 if (stream_ID != NULL) stream_ID->free(stream_ID);
2770 if (stream_unionType != NULL) stream_unionType->free(stream_unionType);
2776 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
2782 /* $ANTLR end component */
2785 * $ANTLR start typeReference
2786 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:139:1: typeReference : ID ( '(' parameter ( ',' parameter )* ')' )? -> ^( TYPE_REFERENCE ID ( parameter )* ) ;
2788 static SimanticsDataParser_typeReference_return
2789 typeReference(pSimanticsDataParser ctx)
2791 SimanticsDataParser_typeReference_return retval;
2793 pANTLR3_BASE_TREE root_0;
2795 pANTLR3_COMMON_TOKEN ID39;
2796 pANTLR3_COMMON_TOKEN char_literal40;
2797 pANTLR3_COMMON_TOKEN char_literal42;
2798 pANTLR3_COMMON_TOKEN char_literal44;
2799 SimanticsDataParser_parameter_return parameter41;
2800 #undef RETURN_TYPE_parameter41
2801 #define RETURN_TYPE_parameter41 SimanticsDataParser_parameter_return
2803 SimanticsDataParser_parameter_return parameter43;
2804 #undef RETURN_TYPE_parameter43
2805 #define RETURN_TYPE_parameter43 SimanticsDataParser_parameter_return
2807 pANTLR3_BASE_TREE ID39_tree;
2808 pANTLR3_BASE_TREE char_literal40_tree;
2809 pANTLR3_BASE_TREE char_literal42_tree;
2810 pANTLR3_BASE_TREE char_literal44_tree;
2811 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;
2812 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
2813 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;
2814 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
2815 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_parameter;
2816 /* Initialize rule variables
2823 char_literal40 = NULL;
2824 char_literal42 = NULL;
2825 char_literal44 = NULL;
2826 parameter41.tree = NULL;
2828 parameter43.tree = NULL;
2830 retval.start = LT(1); retval.stop = retval.start;
2833 char_literal40_tree = NULL;
2834 char_literal42_tree = NULL;
2835 char_literal44_tree = NULL;
2838 #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); }
2840 #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
2842 #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); }
2844 #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
2845 stream_parameter = NULL;
2846 #define CREATE_stream_parameter if (stream_parameter == NULL) {stream_parameter = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule parameter"); }
2850 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:5: ( ID ( '(' parameter ( ',' parameter )* ')' )? -> ^( TYPE_REFERENCE ID ( parameter )* ) )
2851 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:7: ID ( '(' parameter ( ',' parameter )* ')' )?
2853 ID39 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_typeReference1167);
2856 goto ruletypeReferenceEx;
2859 CREATE_stream_ID; stream_ID->add(stream_ID, ID39, NULL);
2862 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:10: ( '(' parameter ( ',' parameter )* ')' )?
2877 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:11: '(' parameter ( ',' parameter )* ')'
2879 char_literal40 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_typeReference1170);
2882 goto ruletypeReferenceEx;
2885 CREATE_stream_40; stream_40->add(stream_40, char_literal40, NULL);
2887 FOLLOWPUSH(FOLLOW_parameter_in_typeReference1172);
2888 parameter41=parameter(ctx);
2893 goto ruletypeReferenceEx;
2896 CREATE_stream_parameter; stream_parameter->add(stream_parameter, parameter41.tree, NULL);
2898 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:25: ( ',' parameter )*
2916 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:26: ',' parameter
2918 char_literal42 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_typeReference1175);
2921 goto ruletypeReferenceEx;
2924 CREATE_stream_41; stream_41->add(stream_41, char_literal42, NULL);
2926 FOLLOWPUSH(FOLLOW_parameter_in_typeReference1177);
2927 parameter43=parameter(ctx);
2932 goto ruletypeReferenceEx;
2935 CREATE_stream_parameter; stream_parameter->add(stream_parameter, parameter43.tree, NULL);
2941 goto loop13; /* break out of the loop */
2945 loop13: ; /* Jump out to here if this rule does not match */
2947 char_literal44 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_typeReference1181);
2950 goto ruletypeReferenceEx;
2953 CREATE_stream_42; stream_42->add(stream_42, char_literal44, NULL);
2964 * elements : ID, parameter
2966 * rule labels : retval
2967 * token list labels :
2968 * rule list labels :
2971 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
2973 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
2975 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2976 retval.tree = root_0;
2977 // 141:5: -> ^( TYPE_REFERENCE ID ( parameter )* )
2979 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:141:8: ^( TYPE_REFERENCE ID ( parameter )* )
2981 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
2982 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_REFERENCE, (pANTLR3_UINT8)"TYPE_REFERENCE"), root_1));
2984 ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
2985 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:141:28: ( parameter )*
2987 while ( (stream_parameter != NULL && stream_parameter->hasNext(stream_parameter)) )
2989 ADAPTOR->addChild(ADAPTOR, root_1, stream_parameter == NULL ? NULL : stream_parameter->nextTree(stream_parameter));
2992 if (stream_parameter != NULL) stream_parameter->reset(stream_parameter);
2996 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
3001 retval.tree = root_0; // set result root
3002 if (stream_retval != NULL) stream_retval->free(stream_retval);
3011 // This is where rules clean up and exit
3013 goto ruletypeReferenceEx; /* Prevent compiler warnings */
3014 ruletypeReferenceEx: ;
3015 retval.stop = LT(-1);
3017 retval.stop = LT(-1);
3018 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
3019 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
3020 if (stream_42 != NULL) stream_42->free(stream_42);
3021 if (stream_41 != NULL) stream_41->free(stream_41);
3022 if (stream_40 != NULL) stream_40->free(stream_40);
3023 if (stream_ID != NULL) stream_ID->free(stream_ID);
3024 if (stream_parameter != NULL) stream_parameter->free(stream_parameter);
3030 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
3036 /* $ANTLR end typeReference */
3039 * $ANTLR start parameter
3040 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:144:1: parameter : ( ID '=' parameterValue -> ^( TYPE_ANNOTATION ID parameterValue ) | unionType );
3042 static SimanticsDataParser_parameter_return
3043 parameter(pSimanticsDataParser ctx)
3045 SimanticsDataParser_parameter_return retval;
3047 pANTLR3_BASE_TREE root_0;
3049 pANTLR3_COMMON_TOKEN ID45;
3050 pANTLR3_COMMON_TOKEN char_literal46;
3051 SimanticsDataParser_parameterValue_return parameterValue47;
3052 #undef RETURN_TYPE_parameterValue47
3053 #define RETURN_TYPE_parameterValue47 SimanticsDataParser_parameterValue_return
3055 SimanticsDataParser_unionType_return unionType48;
3056 #undef RETURN_TYPE_unionType48
3057 #define RETURN_TYPE_unionType48 SimanticsDataParser_unionType_return
3059 pANTLR3_BASE_TREE ID45_tree;
3060 pANTLR3_BASE_TREE char_literal46_tree;
3061 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
3062 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
3063 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_parameterValue;
3064 /* Initialize rule variables
3071 char_literal46 = NULL;
3072 parameterValue47.tree = NULL;
3074 unionType48.tree = NULL;
3076 retval.start = LT(1); retval.stop = retval.start;
3079 char_literal46_tree = NULL;
3082 #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
3084 #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
3085 stream_parameterValue = NULL;
3086 #define CREATE_stream_parameterValue if (stream_parameterValue == NULL) {stream_parameterValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule parameterValue"); }
3091 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:5: ( ID '=' parameterValue -> ^( TYPE_ANNOTATION ID parameterValue ) | unionType )
3093 ANTLR3_UINT32 alt15;
3119 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
3120 EXCEPTION->message = (void *)"";
3121 EXCEPTION->decisionNum = 15;
3122 EXCEPTION->state = 1;
3125 goto ruleparameterEx;
3140 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
3141 EXCEPTION->message = (void *)"";
3142 EXCEPTION->decisionNum = 15;
3143 EXCEPTION->state = 0;
3146 goto ruleparameterEx;
3152 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:7: ID '=' parameterValue
3154 ID45 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_parameter1217);
3157 goto ruleparameterEx;
3160 CREATE_stream_ID; stream_ID->add(stream_ID, ID45, NULL);
3162 char_literal46 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_parameter1219);
3165 goto ruleparameterEx;
3168 CREATE_stream_35; stream_35->add(stream_35, char_literal46, NULL);
3170 FOLLOWPUSH(FOLLOW_parameterValue_in_parameter1221);
3171 parameterValue47=parameterValue(ctx);
3176 goto ruleparameterEx;
3179 CREATE_stream_parameterValue; stream_parameterValue->add(stream_parameterValue, parameterValue47.tree, NULL);
3183 * elements : ID, parameterValue
3185 * rule labels : retval
3186 * token list labels :
3187 * rule list labels :
3190 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
3192 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
3194 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3195 retval.tree = root_0;
3196 // 145:29: -> ^( TYPE_ANNOTATION ID parameterValue )
3198 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:32: ^( TYPE_ANNOTATION ID parameterValue )
3200 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3201 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_ANNOTATION, (pANTLR3_UINT8)"TYPE_ANNOTATION"), root_1));
3203 ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
3204 ADAPTOR->addChild(ADAPTOR, root_1, stream_parameterValue == NULL ? NULL : stream_parameterValue->nextTree(stream_parameterValue));
3206 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
3211 retval.tree = root_0; // set result root
3212 if (stream_retval != NULL) stream_retval->free(stream_retval);
3219 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:146:7: unionType
3221 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3223 FOLLOWPUSH(FOLLOW_unionType_in_parameter1239);
3224 unionType48=unionType(ctx);
3229 goto ruleparameterEx;
3232 ADAPTOR->addChild(ADAPTOR, root_0, unionType48.tree);
3242 // This is where rules clean up and exit
3244 goto ruleparameterEx; /* Prevent compiler warnings */
3246 retval.stop = LT(-1);
3248 retval.stop = LT(-1);
3249 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
3250 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
3251 if (stream_ID != NULL) stream_ID->free(stream_ID);
3252 if (stream_35 != NULL) stream_35->free(stream_35);
3253 if (stream_parameterValue != NULL) stream_parameterValue->free(stream_parameterValue);
3259 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
3265 /* $ANTLR end parameter */
3268 * $ANTLR start parameterValue
3269 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:149:1: parameterValue : ( string | boolean | number | ( '[' | '(' ) range ( ']' | ')' ) );
3271 static SimanticsDataParser_parameterValue_return
3272 parameterValue(pSimanticsDataParser ctx)
3274 SimanticsDataParser_parameterValue_return retval;
3276 pANTLR3_BASE_TREE root_0;
3278 pANTLR3_COMMON_TOKEN set52;
3279 pANTLR3_COMMON_TOKEN set54;
3280 SimanticsDataParser_string_return string49;
3281 #undef RETURN_TYPE_string49
3282 #define RETURN_TYPE_string49 SimanticsDataParser_string_return
3284 SimanticsDataParser_boolean_return boolean50;
3285 #undef RETURN_TYPE_boolean50
3286 #define RETURN_TYPE_boolean50 SimanticsDataParser_boolean_return
3288 SimanticsDataParser_number_return number51;
3289 #undef RETURN_TYPE_number51
3290 #define RETURN_TYPE_number51 SimanticsDataParser_number_return
3292 SimanticsDataParser_range_return range53;
3293 #undef RETURN_TYPE_range53
3294 #define RETURN_TYPE_range53 SimanticsDataParser_range_return
3296 pANTLR3_BASE_TREE set52_tree;
3297 pANTLR3_BASE_TREE set54_tree;
3299 /* Initialize rule variables
3307 string49.tree = NULL;
3309 boolean50.tree = NULL;
3311 number51.tree = NULL;
3313 range53.tree = NULL;
3315 retval.start = LT(1); retval.stop = retval.start;
3324 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:150:5: ( string | boolean | number | ( '[' | '(' ) range ( ']' | ')' ) )
3326 ANTLR3_UINT32 alt16;
3358 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
3359 EXCEPTION->message = (void *)"";
3360 EXCEPTION->decisionNum = 16;
3361 EXCEPTION->state = 0;
3364 goto ruleparameterValueEx;
3370 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:150:7: string
3372 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3374 FOLLOWPUSH(FOLLOW_string_in_parameterValue1258);
3375 string49=string(ctx);
3380 goto ruleparameterValueEx;
3383 ADAPTOR->addChild(ADAPTOR, root_0, string49.tree);
3388 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:151:7: boolean
3390 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3392 FOLLOWPUSH(FOLLOW_boolean_in_parameterValue1266);
3393 boolean50=boolean(ctx);
3398 goto ruleparameterValueEx;
3401 ADAPTOR->addChild(ADAPTOR, root_0, boolean50.tree);
3406 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:152:7: number
3408 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3410 FOLLOWPUSH(FOLLOW_number_in_parameterValue1274);
3411 number51=number(ctx);
3416 goto ruleparameterValueEx;
3419 ADAPTOR->addChild(ADAPTOR, root_0, number51.tree);
3424 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:153:7: ( '[' | '(' ) range ( ']' | ')' )
3426 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3428 set52=(pANTLR3_COMMON_TOKEN)LT(1);
3429 if ( LA(1) == 37 || LA(1) == 40 )
3432 ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set52)));
3433 PERRORRECOVERY=ANTLR3_FALSE;
3438 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
3439 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
3440 EXCEPTION->expectingSet = &FOLLOW_set_in_parameterValue1282;
3441 RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_parameterValue1282); goto ruleparameterValueEx;
3444 FOLLOWPUSH(FOLLOW_range_in_parameterValue1290);
3450 goto ruleparameterValueEx;
3453 ADAPTOR->addChild(ADAPTOR, root_0, range53.tree);
3454 set54=(pANTLR3_COMMON_TOKEN)LT(1);
3455 if ( LA(1) == 38 || LA(1) == 42 )
3458 ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set54)));
3459 PERRORRECOVERY=ANTLR3_FALSE;
3464 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
3465 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
3466 EXCEPTION->expectingSet = &FOLLOW_set_in_parameterValue1292;
3467 RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_parameterValue1292); goto ruleparameterValueEx;
3479 // This is where rules clean up and exit
3481 goto ruleparameterValueEx; /* Prevent compiler warnings */
3482 ruleparameterValueEx: ;
3483 retval.stop = LT(-1);
3485 retval.stop = LT(-1);
3486 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
3487 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
3493 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
3499 /* $ANTLR end parameterValue */
3502 * $ANTLR start range
3503 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:156:1: range : ( number | number '..' | '..' number | number '..' number );
3505 static SimanticsDataParser_range_return
3506 range(pSimanticsDataParser ctx)
3508 SimanticsDataParser_range_return retval;
3510 pANTLR3_BASE_TREE root_0;
3512 pANTLR3_COMMON_TOKEN string_literal57;
3513 pANTLR3_COMMON_TOKEN string_literal58;
3514 pANTLR3_COMMON_TOKEN string_literal61;
3515 SimanticsDataParser_number_return number55;
3516 #undef RETURN_TYPE_number55
3517 #define RETURN_TYPE_number55 SimanticsDataParser_number_return
3519 SimanticsDataParser_number_return number56;
3520 #undef RETURN_TYPE_number56
3521 #define RETURN_TYPE_number56 SimanticsDataParser_number_return
3523 SimanticsDataParser_number_return number59;
3524 #undef RETURN_TYPE_number59
3525 #define RETURN_TYPE_number59 SimanticsDataParser_number_return
3527 SimanticsDataParser_number_return number60;
3528 #undef RETURN_TYPE_number60
3529 #define RETURN_TYPE_number60 SimanticsDataParser_number_return
3531 SimanticsDataParser_number_return number62;
3532 #undef RETURN_TYPE_number62
3533 #define RETURN_TYPE_number62 SimanticsDataParser_number_return
3535 pANTLR3_BASE_TREE string_literal57_tree;
3536 pANTLR3_BASE_TREE string_literal58_tree;
3537 pANTLR3_BASE_TREE string_literal61_tree;
3539 /* Initialize rule variables
3545 string_literal57 = NULL;
3546 string_literal58 = NULL;
3547 string_literal61 = NULL;
3548 number55.tree = NULL;
3550 number56.tree = NULL;
3552 number59.tree = NULL;
3554 number60.tree = NULL;
3556 number62.tree = NULL;
3558 retval.start = LT(1); retval.stop = retval.start;
3560 string_literal57_tree = NULL;
3561 string_literal58_tree = NULL;
3562 string_literal61_tree = NULL;
3568 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:157:5: ( number | number '..' | '..' number | number '..' number )
3570 ANTLR3_UINT32 alt17;
3600 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
3601 EXCEPTION->message = (void *)"";
3602 EXCEPTION->decisionNum = 17;
3603 EXCEPTION->state = 3;
3620 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
3621 EXCEPTION->message = (void *)"";
3622 EXCEPTION->decisionNum = 17;
3623 EXCEPTION->state = 1;
3639 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
3640 EXCEPTION->message = (void *)"";
3641 EXCEPTION->decisionNum = 17;
3642 EXCEPTION->state = 0;
3651 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:157:7: number
3653 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3655 FOLLOWPUSH(FOLLOW_number_in_range1319);
3656 number55=number(ctx);
3664 ADAPTOR->addChild(ADAPTOR, root_0, number55.tree);
3669 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:158:7: number '..'
3671 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3673 FOLLOWPUSH(FOLLOW_number_in_range1327);
3674 number56=number(ctx);
3682 ADAPTOR->addChild(ADAPTOR, root_0, number56.tree);
3683 string_literal57 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1329);
3689 string_literal57_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal57));
3690 ADAPTOR->addChild(ADAPTOR, root_0, string_literal57_tree);
3696 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:159:7: '..' number
3698 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3700 string_literal58 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1337);
3706 string_literal58_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal58));
3707 ADAPTOR->addChild(ADAPTOR, root_0, string_literal58_tree);
3709 FOLLOWPUSH(FOLLOW_number_in_range1339);
3710 number59=number(ctx);
3718 ADAPTOR->addChild(ADAPTOR, root_0, number59.tree);
3723 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:160:7: number '..' number
3725 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3727 FOLLOWPUSH(FOLLOW_number_in_range1348);
3728 number60=number(ctx);
3736 ADAPTOR->addChild(ADAPTOR, root_0, number60.tree);
3737 string_literal61 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1350);
3743 string_literal61_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal61));
3744 ADAPTOR->addChild(ADAPTOR, root_0, string_literal61_tree);
3746 FOLLOWPUSH(FOLLOW_number_in_range1352);
3747 number62=number(ctx);
3755 ADAPTOR->addChild(ADAPTOR, root_0, number62.tree);
3765 // This is where rules clean up and exit
3767 goto rulerangeEx; /* Prevent compiler warnings */
3769 retval.stop = LT(-1);
3771 retval.stop = LT(-1);
3772 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
3773 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
3779 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
3785 /* $ANTLR end range */
3788 * $ANTLR start number
3789 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:163:1: number : ( INT | FLOAT );
3791 static SimanticsDataParser_number_return
3792 number(pSimanticsDataParser ctx)
3794 SimanticsDataParser_number_return retval;
3796 pANTLR3_BASE_TREE root_0;
3798 pANTLR3_COMMON_TOKEN set63;
3800 pANTLR3_BASE_TREE set63_tree;
3802 /* Initialize rule variables
3809 retval.start = LT(1); retval.stop = retval.start;
3816 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:164:5: ( INT | FLOAT )
3817 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:
3819 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3821 set63=(pANTLR3_COMMON_TOKEN)LT(1);
3822 if ( LA(1) == INT || LA(1) == FLOAT )
3825 ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set63)));
3826 PERRORRECOVERY=ANTLR3_FALSE;
3831 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
3832 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
3833 EXCEPTION->expectingSet = &FOLLOW_set_in_number0;
3834 RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_number0); goto rulenumberEx;
3843 // This is where rules clean up and exit
3845 goto rulenumberEx; /* Prevent compiler warnings */
3847 retval.stop = LT(-1);
3849 retval.stop = LT(-1);
3850 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
3851 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
3857 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
3863 /* $ANTLR end number */
3866 * $ANTLR start string
3867 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:168:1: string : STRING ;
3869 static SimanticsDataParser_string_return
3870 string(pSimanticsDataParser ctx)
3872 SimanticsDataParser_string_return retval;
3874 pANTLR3_BASE_TREE root_0;
3876 pANTLR3_COMMON_TOKEN STRING64;
3878 pANTLR3_BASE_TREE STRING64_tree;
3880 /* Initialize rule variables
3887 retval.start = LT(1); retval.stop = retval.start;
3889 STRING64_tree = NULL;
3894 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:169:5: ( STRING )
3895 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:169:7: STRING
3897 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3899 STRING64 = (pANTLR3_COMMON_TOKEN) MATCHT(STRING, &FOLLOW_STRING_in_string1402);
3905 STRING64_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STRING64));
3906 ADAPTOR->addChild(ADAPTOR, root_0, STRING64_tree);
3914 // This is where rules clean up and exit
3916 goto rulestringEx; /* Prevent compiler warnings */
3918 retval.stop = LT(-1);
3920 retval.stop = LT(-1);
3921 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
3922 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
3928 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
3934 /* $ANTLR end string */
3937 * $ANTLR start boolean
3938 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:172:1: boolean : ( 'true' | 'false' );
3940 static SimanticsDataParser_boolean_return
3941 boolean(pSimanticsDataParser ctx)
3943 SimanticsDataParser_boolean_return retval;
3945 pANTLR3_BASE_TREE root_0;
3947 pANTLR3_COMMON_TOKEN set65;
3949 pANTLR3_BASE_TREE set65_tree;
3951 /* Initialize rule variables
3958 retval.start = LT(1); retval.stop = retval.start;
3965 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:173:5: ( 'true' | 'false' )
3966 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:
3968 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
3970 set65=(pANTLR3_COMMON_TOKEN)LT(1);
3971 if ( ((LA(1) >= 46) && (LA(1) <= 47)) )
3974 ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set65)));
3975 PERRORRECOVERY=ANTLR3_FALSE;
3980 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
3981 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
3982 EXCEPTION->expectingSet = &FOLLOW_set_in_boolean0;
3983 RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_boolean0); goto rulebooleanEx;
3992 // This is where rules clean up and exit
3994 goto rulebooleanEx; /* Prevent compiler warnings */
3996 retval.stop = LT(-1);
3998 retval.stop = LT(-1);
3999 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
4000 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
4006 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
4012 /* $ANTLR end boolean */
4015 * $ANTLR start valueDefinitions
4016 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:1: valueDefinitions : ( valueDefinition )* -> ^( VALUE_DEFINITIONS ( valueDefinition )* ) ;
4018 static SimanticsDataParser_valueDefinitions_return
4019 valueDefinitions(pSimanticsDataParser ctx)
4021 SimanticsDataParser_valueDefinitions_return retval;
4023 pANTLR3_BASE_TREE root_0;
4025 SimanticsDataParser_valueDefinition_return valueDefinition66;
4026 #undef RETURN_TYPE_valueDefinition66
4027 #define RETURN_TYPE_valueDefinition66 SimanticsDataParser_valueDefinition_return
4029 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_valueDefinition;
4030 /* Initialize rule variables
4036 valueDefinition66.tree = NULL;
4038 retval.start = LT(1); retval.stop = retval.start;
4041 stream_valueDefinition = NULL;
4042 #define CREATE_stream_valueDefinition if (stream_valueDefinition == NULL) {stream_valueDefinition = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule valueDefinition"); }
4046 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:18: ( ( valueDefinition )* -> ^( VALUE_DEFINITIONS ( valueDefinition )* ) )
4047 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: ( valueDefinition )*
4050 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: ( valueDefinition )*
4068 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: valueDefinition
4070 FOLLOWPUSH(FOLLOW_valueDefinition_in_valueDefinitions1447);
4071 valueDefinition66=valueDefinition(ctx);
4076 goto rulevalueDefinitionsEx;
4079 CREATE_stream_valueDefinition; stream_valueDefinition->add(stream_valueDefinition, valueDefinition66.tree, NULL);
4085 goto loop18; /* break out of the loop */
4089 loop18: ; /* Jump out to here if this rule does not match */
4094 * elements : valueDefinition
4096 * rule labels : retval
4097 * token list labels :
4098 * rule list labels :
4101 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
4103 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
4105 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4106 retval.tree = root_0;
4107 // 181:37: -> ^( VALUE_DEFINITIONS ( valueDefinition )* )
4109 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:40: ^( VALUE_DEFINITIONS ( valueDefinition )* )
4111 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4112 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VALUE_DEFINITIONS, (pANTLR3_UINT8)"VALUE_DEFINITIONS"), root_1));
4114 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:60: ( valueDefinition )*
4116 while ( (stream_valueDefinition != NULL && stream_valueDefinition->hasNext(stream_valueDefinition)) )
4118 ADAPTOR->addChild(ADAPTOR, root_1, stream_valueDefinition == NULL ? NULL : stream_valueDefinition->nextTree(stream_valueDefinition));
4121 if (stream_valueDefinition != NULL) stream_valueDefinition->reset(stream_valueDefinition);
4125 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
4130 retval.tree = root_0; // set result root
4131 if (stream_retval != NULL) stream_retval->free(stream_retval);
4140 // This is where rules clean up and exit
4142 goto rulevalueDefinitionsEx; /* Prevent compiler warnings */
4143 rulevalueDefinitionsEx: ;
4144 retval.stop = LT(-1);
4146 retval.stop = LT(-1);
4147 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
4148 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
4149 if (stream_valueDefinition != NULL) stream_valueDefinition->free(stream_valueDefinition);
4155 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
4161 /* $ANTLR end valueDefinitions */
4164 * $ANTLR start valueDefinition
4165 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:183:1: valueDefinition : ID ':' unionType '=' value -> ^( VALUE_DEFINITION ID unionType value ) ;
4167 static SimanticsDataParser_valueDefinition_return
4168 valueDefinition(pSimanticsDataParser ctx)
4170 SimanticsDataParser_valueDefinition_return retval;
4172 pANTLR3_BASE_TREE root_0;
4174 pANTLR3_COMMON_TOKEN ID67;
4175 pANTLR3_COMMON_TOKEN char_literal68;
4176 pANTLR3_COMMON_TOKEN char_literal70;
4177 SimanticsDataParser_unionType_return unionType69;
4178 #undef RETURN_TYPE_unionType69
4179 #define RETURN_TYPE_unionType69 SimanticsDataParser_unionType_return
4181 SimanticsDataParser_value_return value71;
4182 #undef RETURN_TYPE_value71
4183 #define RETURN_TYPE_value71 SimanticsDataParser_value_return
4185 pANTLR3_BASE_TREE ID67_tree;
4186 pANTLR3_BASE_TREE char_literal68_tree;
4187 pANTLR3_BASE_TREE char_literal70_tree;
4188 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;
4189 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
4190 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
4191 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;
4192 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
4193 /* Initialize rule variables
4200 char_literal68 = NULL;
4201 char_literal70 = NULL;
4202 unionType69.tree = NULL;
4204 value71.tree = NULL;
4206 retval.start = LT(1); retval.stop = retval.start;
4209 char_literal68_tree = NULL;
4210 char_literal70_tree = NULL;
4213 #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); }
4215 #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
4217 #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
4218 stream_unionType = NULL;
4219 #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }
4220 stream_value = NULL;
4221 #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
4225 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:184:5: ( ID ':' unionType '=' value -> ^( VALUE_DEFINITION ID unionType value ) )
4226 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:184:7: ID ':' unionType '=' value
4228 ID67 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_valueDefinition1470);
4231 goto rulevalueDefinitionEx;
4234 CREATE_stream_ID; stream_ID->add(stream_ID, ID67, NULL);
4236 char_literal68 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_valueDefinition1472);
4239 goto rulevalueDefinitionEx;
4242 CREATE_stream_45; stream_45->add(stream_45, char_literal68, NULL);
4244 FOLLOWPUSH(FOLLOW_unionType_in_valueDefinition1474);
4245 unionType69=unionType(ctx);
4250 goto rulevalueDefinitionEx;
4253 CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType69.tree, NULL);
4254 char_literal70 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_valueDefinition1476);
4257 goto rulevalueDefinitionEx;
4260 CREATE_stream_35; stream_35->add(stream_35, char_literal70, NULL);
4262 FOLLOWPUSH(FOLLOW_value_in_valueDefinition1478);
4268 goto rulevalueDefinitionEx;
4271 CREATE_stream_value; stream_value->add(stream_value, value71.tree, NULL);
4275 * elements : value, unionType, ID
4277 * rule labels : retval
4278 * token list labels :
4279 * rule list labels :
4282 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
4284 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
4286 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4287 retval.tree = root_0;
4288 // 185:5: -> ^( VALUE_DEFINITION ID unionType value )
4290 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:185:8: ^( VALUE_DEFINITION ID unionType value )
4292 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4293 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VALUE_DEFINITION, (pANTLR3_UINT8)"VALUE_DEFINITION"), root_1));
4295 ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
4296 ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));
4297 ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
4299 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
4304 retval.tree = root_0; // set result root
4305 if (stream_retval != NULL) stream_retval->free(stream_retval);
4314 // This is where rules clean up and exit
4316 goto rulevalueDefinitionEx; /* Prevent compiler warnings */
4317 rulevalueDefinitionEx: ;
4318 retval.stop = LT(-1);
4320 retval.stop = LT(-1);
4321 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
4322 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
4323 if (stream_45 != NULL) stream_45->free(stream_45);
4324 if (stream_ID != NULL) stream_ID->free(stream_ID);
4325 if (stream_35 != NULL) stream_35->free(stream_35);
4326 if (stream_unionType != NULL) stream_unionType->free(stream_unionType);
4327 if (stream_value != NULL) stream_value->free(stream_value);
4333 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
4339 /* $ANTLR end valueDefinition */
4342 * $ANTLR start value
4343 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:188:1: value : ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )* ;
4345 static SimanticsDataParser_value_return
4346 value(pSimanticsDataParser ctx)
4348 SimanticsDataParser_value_return retval;
4350 pANTLR3_BASE_TREE root_0;
4352 pANTLR3_COMMON_TOKEN char_literal73;
4353 SimanticsDataParser_basicValue_return basicValue72;
4354 #undef RETURN_TYPE_basicValue72
4355 #define RETURN_TYPE_basicValue72 SimanticsDataParser_basicValue_return
4357 SimanticsDataParser_type_return type74;
4358 #undef RETURN_TYPE_type74
4359 #define RETURN_TYPE_type74 SimanticsDataParser_type_return
4361 pANTLR3_BASE_TREE char_literal73_tree;
4362 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;
4363 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicValue;
4364 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_type;
4365 /* Initialize rule variables
4371 char_literal73 = NULL;
4372 basicValue72.tree = NULL;
4376 retval.start = LT(1); retval.stop = retval.start;
4378 char_literal73_tree = NULL;
4381 #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); }
4382 stream_basicValue = NULL;
4383 #define CREATE_stream_basicValue if (stream_basicValue == NULL) {stream_basicValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicValue"); }
4385 #define CREATE_stream_type if (stream_type == NULL) {stream_type = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule type"); }
4389 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:5: ( ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )* )
4390 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:7: ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )*
4392 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:7: ( basicValue -> basicValue )
4393 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:8: basicValue
4395 FOLLOWPUSH(FOLLOW_basicValue_in_value1514);
4396 basicValue72=basicValue(ctx);
4404 CREATE_stream_basicValue; stream_basicValue->add(stream_basicValue, basicValue72.tree, NULL);
4408 * elements : basicValue
4410 * rule labels : retval
4411 * token list labels :
4412 * rule list labels :
4415 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
4417 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
4419 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4420 retval.tree = root_0;
4421 // 189:19: -> basicValue
4423 ADAPTOR->addChild(ADAPTOR, root_0, stream_basicValue == NULL ? NULL : stream_basicValue->nextTree(stream_basicValue));
4427 retval.tree = root_0; // set result root
4428 if (stream_retval != NULL) stream_retval->free(stream_retval);
4435 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:7: ( ':' type -> ^( VARIANT type $value) )*
4453 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:8: ':' type
4455 char_literal73 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_value1528);
4461 CREATE_stream_45; stream_45->add(stream_45, char_literal73, NULL);
4463 FOLLOWPUSH(FOLLOW_type_in_value1530);
4472 CREATE_stream_type; stream_type->add(stream_type, type74.tree, NULL);
4476 * elements : value, type
4478 * rule labels : retval
4479 * token list labels :
4480 * rule list labels :
4483 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
4485 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
4487 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4488 retval.tree = root_0;
4489 // 190:17: -> ^( VARIANT type $value)
4491 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:20: ^( VARIANT type $value)
4493 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4494 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VARIANT, (pANTLR3_UINT8)"VARIANT"), root_1));
4496 ADAPTOR->addChild(ADAPTOR, root_1, stream_type == NULL ? NULL : stream_type->nextTree(stream_type));
4497 ADAPTOR->addChild(ADAPTOR, root_1, stream_retval == NULL ? NULL : stream_retval->nextTree(stream_retval));
4499 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
4504 retval.tree = root_0; // set result root
4505 if (stream_retval != NULL) stream_retval->free(stream_retval);
4513 goto loop19; /* break out of the loop */
4517 loop19: ; /* Jump out to here if this rule does not match */
4525 // This is where rules clean up and exit
4527 goto rulevalueEx; /* Prevent compiler warnings */
4529 retval.stop = LT(-1);
4531 retval.stop = LT(-1);
4532 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
4533 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
4534 if (stream_45 != NULL) stream_45->free(stream_45);
4535 if (stream_basicValue != NULL) stream_basicValue->free(stream_basicValue);
4536 if (stream_type != NULL) stream_type->free(stream_type);
4542 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
4548 /* $ANTLR end value */
4551 * $ANTLR start basicValue
4552 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:193:1: basicValue : ( 'null' -> NO_VALUE | string | number | boolean | array | tuple | taggedValue | map | record );
4554 static SimanticsDataParser_basicValue_return
4555 basicValue(pSimanticsDataParser ctx)
4557 SimanticsDataParser_basicValue_return retval;
4559 pANTLR3_BASE_TREE root_0;
4561 pANTLR3_COMMON_TOKEN string_literal75;
4562 SimanticsDataParser_string_return string76;
4563 #undef RETURN_TYPE_string76
4564 #define RETURN_TYPE_string76 SimanticsDataParser_string_return
4566 SimanticsDataParser_number_return number77;
4567 #undef RETURN_TYPE_number77
4568 #define RETURN_TYPE_number77 SimanticsDataParser_number_return
4570 SimanticsDataParser_boolean_return boolean78;
4571 #undef RETURN_TYPE_boolean78
4572 #define RETURN_TYPE_boolean78 SimanticsDataParser_boolean_return
4574 SimanticsDataParser_array_return array79;
4575 #undef RETURN_TYPE_array79
4576 #define RETURN_TYPE_array79 SimanticsDataParser_array_return
4578 SimanticsDataParser_tuple_return tuple80;
4579 #undef RETURN_TYPE_tuple80
4580 #define RETURN_TYPE_tuple80 SimanticsDataParser_tuple_return
4582 SimanticsDataParser_taggedValue_return taggedValue81;
4583 #undef RETURN_TYPE_taggedValue81
4584 #define RETURN_TYPE_taggedValue81 SimanticsDataParser_taggedValue_return
4586 SimanticsDataParser_map_return map82;
4587 #undef RETURN_TYPE_map82
4588 #define RETURN_TYPE_map82 SimanticsDataParser_map_return
4590 SimanticsDataParser_record_return record83;
4591 #undef RETURN_TYPE_record83
4592 #define RETURN_TYPE_record83 SimanticsDataParser_record_return
4594 pANTLR3_BASE_TREE string_literal75_tree;
4595 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_48;
4597 /* Initialize rule variables
4603 string_literal75 = NULL;
4604 string76.tree = NULL;
4606 number77.tree = NULL;
4608 boolean78.tree = NULL;
4610 array79.tree = NULL;
4612 tuple80.tree = NULL;
4614 taggedValue81.tree = NULL;
4618 record83.tree = NULL;
4620 retval.start = LT(1); retval.stop = retval.start;
4622 string_literal75_tree = NULL;
4625 #define CREATE_stream_48 if (stream_48 == NULL) {stream_48 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 48"); }
4630 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:194:5: ( 'null' -> NO_VALUE | string | number | boolean | array | tuple | taggedValue | map | record )
4632 ANTLR3_UINT32 alt20;
4688 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
4689 EXCEPTION->message = (void *)"";
4690 EXCEPTION->decisionNum = 20;
4691 EXCEPTION->state = 0;
4694 goto rulebasicValueEx;
4700 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:194:7: 'null'
4702 string_literal75 = (pANTLR3_COMMON_TOKEN) MATCHT(48, &FOLLOW_48_in_basicValue1562);
4705 goto rulebasicValueEx;
4708 CREATE_stream_48; stream_48->add(stream_48, string_literal75, NULL);
4715 * rule labels : retval
4716 * token list labels :
4717 * rule list labels :
4720 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
4722 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
4724 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4725 retval.tree = root_0;
4726 // 194:14: -> NO_VALUE
4728 ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, NO_VALUE, (pANTLR3_UINT8)"NO_VALUE"));
4732 retval.tree = root_0; // set result root
4733 if (stream_retval != NULL) stream_retval->free(stream_retval);
4740 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:195:7: string
4742 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4744 FOLLOWPUSH(FOLLOW_string_in_basicValue1574);
4745 string76=string(ctx);
4750 goto rulebasicValueEx;
4753 ADAPTOR->addChild(ADAPTOR, root_0, string76.tree);
4758 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:196:7: number
4760 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4762 FOLLOWPUSH(FOLLOW_number_in_basicValue1582);
4763 number77=number(ctx);
4768 goto rulebasicValueEx;
4771 ADAPTOR->addChild(ADAPTOR, root_0, number77.tree);
4776 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:197:7: boolean
4778 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4780 FOLLOWPUSH(FOLLOW_boolean_in_basicValue1590);
4781 boolean78=boolean(ctx);
4786 goto rulebasicValueEx;
4789 ADAPTOR->addChild(ADAPTOR, root_0, boolean78.tree);
4794 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:198:7: array
4796 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4798 FOLLOWPUSH(FOLLOW_array_in_basicValue1598);
4804 goto rulebasicValueEx;
4807 ADAPTOR->addChild(ADAPTOR, root_0, array79.tree);
4812 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:199:7: tuple
4814 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4816 FOLLOWPUSH(FOLLOW_tuple_in_basicValue1606);
4822 goto rulebasicValueEx;
4825 ADAPTOR->addChild(ADAPTOR, root_0, tuple80.tree);
4830 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:200:7: taggedValue
4832 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4834 FOLLOWPUSH(FOLLOW_taggedValue_in_basicValue1614);
4835 taggedValue81=taggedValue(ctx);
4840 goto rulebasicValueEx;
4843 ADAPTOR->addChild(ADAPTOR, root_0, taggedValue81.tree);
4848 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:201:7: map
4850 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4852 FOLLOWPUSH(FOLLOW_map_in_basicValue1622);
4858 goto rulebasicValueEx;
4861 ADAPTOR->addChild(ADAPTOR, root_0, map82.tree);
4866 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:202:7: record
4868 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
4870 FOLLOWPUSH(FOLLOW_record_in_basicValue1630);
4871 record83=record(ctx);
4876 goto rulebasicValueEx;
4879 ADAPTOR->addChild(ADAPTOR, root_0, record83.tree);
4889 // This is where rules clean up and exit
4891 goto rulebasicValueEx; /* Prevent compiler warnings */
4893 retval.stop = LT(-1);
4895 retval.stop = LT(-1);
4896 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
4897 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
4898 if (stream_48 != NULL) stream_48->free(stream_48);
4904 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
4910 /* $ANTLR end basicValue */
4913 * $ANTLR start array
4914 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:205:1: array : '[' ( value ( ',' value )* )? ']' -> ^( ARRAY ( value )* ) ;
4916 static SimanticsDataParser_array_return
4917 array(pSimanticsDataParser ctx)
4919 SimanticsDataParser_array_return retval;
4921 pANTLR3_BASE_TREE root_0;
4923 pANTLR3_COMMON_TOKEN char_literal84;
4924 pANTLR3_COMMON_TOKEN char_literal86;
4925 pANTLR3_COMMON_TOKEN char_literal88;
4926 SimanticsDataParser_value_return value85;
4927 #undef RETURN_TYPE_value85
4928 #define RETURN_TYPE_value85 SimanticsDataParser_value_return
4930 SimanticsDataParser_value_return value87;
4931 #undef RETURN_TYPE_value87
4932 #define RETURN_TYPE_value87 SimanticsDataParser_value_return
4934 pANTLR3_BASE_TREE char_literal84_tree;
4935 pANTLR3_BASE_TREE char_literal86_tree;
4936 pANTLR3_BASE_TREE char_literal88_tree;
4937 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
4938 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_37;
4939 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_38;
4940 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
4941 /* Initialize rule variables
4947 char_literal84 = NULL;
4948 char_literal86 = NULL;
4949 char_literal88 = NULL;
4950 value85.tree = NULL;
4952 value87.tree = NULL;
4954 retval.start = LT(1); retval.stop = retval.start;
4956 char_literal84_tree = NULL;
4957 char_literal86_tree = NULL;
4958 char_literal88_tree = NULL;
4961 #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
4963 #define CREATE_stream_37 if (stream_37 == NULL) {stream_37 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 37"); }
4965 #define CREATE_stream_38 if (stream_38 == NULL) {stream_38 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 38"); }
4966 stream_value = NULL;
4967 #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
4971 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:5: ( '[' ( value ( ',' value )* )? ']' -> ^( ARRAY ( value )* ) )
4972 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:7: '[' ( value ( ',' value )* )? ']'
4974 char_literal84 = (pANTLR3_COMMON_TOKEN) MATCHT(37, &FOLLOW_37_in_array1648);
4980 CREATE_stream_37; stream_37->add(stream_37, char_literal84, NULL);
4983 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:11: ( value ( ',' value )* )?
5008 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:12: value ( ',' value )*
5010 FOLLOWPUSH(FOLLOW_value_in_array1651);
5019 CREATE_stream_value; stream_value->add(stream_value, value85.tree, NULL);
5021 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:18: ( ',' value )*
5039 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:19: ',' value
5041 char_literal86 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_array1654);
5047 CREATE_stream_41; stream_41->add(stream_41, char_literal86, NULL);
5049 FOLLOWPUSH(FOLLOW_value_in_array1656);
5058 CREATE_stream_value; stream_value->add(stream_value, value87.tree, NULL);
5064 goto loop21; /* break out of the loop */
5068 loop21: ; /* Jump out to here if this rule does not match */
5076 char_literal88 = (pANTLR3_COMMON_TOKEN) MATCHT(38, &FOLLOW_38_in_array1662);
5082 CREATE_stream_38; stream_38->add(stream_38, char_literal88, NULL);
5089 * rule labels : retval
5090 * token list labels :
5091 * rule list labels :
5094 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
5096 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
5098 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5099 retval.tree = root_0;
5100 // 207:5: -> ^( ARRAY ( value )* )
5102 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:207:8: ^( ARRAY ( value )* )
5104 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5105 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ARRAY, (pANTLR3_UINT8)"ARRAY"), root_1));
5107 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:207:16: ( value )*
5109 while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )
5111 ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
5114 if (stream_value != NULL) stream_value->reset(stream_value);
5118 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
5123 retval.tree = root_0; // set result root
5124 if (stream_retval != NULL) stream_retval->free(stream_retval);
5133 // This is where rules clean up and exit
5135 goto rulearrayEx; /* Prevent compiler warnings */
5137 retval.stop = LT(-1);
5139 retval.stop = LT(-1);
5140 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
5141 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
5142 if (stream_41 != NULL) stream_41->free(stream_41);
5143 if (stream_37 != NULL) stream_37->free(stream_37);
5144 if (stream_38 != NULL) stream_38->free(stream_38);
5145 if (stream_value != NULL) stream_value->free(stream_value);
5151 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
5157 /* $ANTLR end array */
5160 * $ANTLR start tuple
5161 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:210:1: tuple : '(' ( value ( ',' value )* )? ')' -> ^( TUPLE ( value )* ) ;
5163 static SimanticsDataParser_tuple_return
5164 tuple(pSimanticsDataParser ctx)
5166 SimanticsDataParser_tuple_return retval;
5168 pANTLR3_BASE_TREE root_0;
5170 pANTLR3_COMMON_TOKEN char_literal89;
5171 pANTLR3_COMMON_TOKEN char_literal91;
5172 pANTLR3_COMMON_TOKEN char_literal93;
5173 SimanticsDataParser_value_return value90;
5174 #undef RETURN_TYPE_value90
5175 #define RETURN_TYPE_value90 SimanticsDataParser_value_return
5177 SimanticsDataParser_value_return value92;
5178 #undef RETURN_TYPE_value92
5179 #define RETURN_TYPE_value92 SimanticsDataParser_value_return
5181 pANTLR3_BASE_TREE char_literal89_tree;
5182 pANTLR3_BASE_TREE char_literal91_tree;
5183 pANTLR3_BASE_TREE char_literal93_tree;
5184 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;
5185 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
5186 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;
5187 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
5188 /* Initialize rule variables
5194 char_literal89 = NULL;
5195 char_literal91 = NULL;
5196 char_literal93 = NULL;
5197 value90.tree = NULL;
5199 value92.tree = NULL;
5201 retval.start = LT(1); retval.stop = retval.start;
5203 char_literal89_tree = NULL;
5204 char_literal91_tree = NULL;
5205 char_literal93_tree = NULL;
5208 #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); }
5210 #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
5212 #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); }
5213 stream_value = NULL;
5214 #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
5218 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:5: ( '(' ( value ( ',' value )* )? ')' -> ^( TUPLE ( value )* ) )
5219 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:7: '(' ( value ( ',' value )* )? ')'
5221 char_literal89 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_tuple1694);
5227 CREATE_stream_40; stream_40->add(stream_40, char_literal89, NULL);
5230 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:11: ( value ( ',' value )* )?
5255 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:12: value ( ',' value )*
5257 FOLLOWPUSH(FOLLOW_value_in_tuple1697);
5266 CREATE_stream_value; stream_value->add(stream_value, value90.tree, NULL);
5268 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:18: ( ',' value )*
5286 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:19: ',' value
5288 char_literal91 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_tuple1700);
5294 CREATE_stream_41; stream_41->add(stream_41, char_literal91, NULL);
5296 FOLLOWPUSH(FOLLOW_value_in_tuple1702);
5305 CREATE_stream_value; stream_value->add(stream_value, value92.tree, NULL);
5311 goto loop23; /* break out of the loop */
5315 loop23: ; /* Jump out to here if this rule does not match */
5323 char_literal93 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_tuple1708);
5329 CREATE_stream_42; stream_42->add(stream_42, char_literal93, NULL);
5336 * rule labels : retval
5337 * token list labels :
5338 * rule list labels :
5341 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
5343 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
5345 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5346 retval.tree = root_0;
5347 // 212:5: -> ^( TUPLE ( value )* )
5349 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:212:8: ^( TUPLE ( value )* )
5351 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5352 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TUPLE, (pANTLR3_UINT8)"TUPLE"), root_1));
5354 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:212:16: ( value )*
5356 while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )
5358 ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
5361 if (stream_value != NULL) stream_value->reset(stream_value);
5365 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
5370 retval.tree = root_0; // set result root
5371 if (stream_retval != NULL) stream_retval->free(stream_retval);
5380 // This is where rules clean up and exit
5382 goto ruletupleEx; /* Prevent compiler warnings */
5384 retval.stop = LT(-1);
5386 retval.stop = LT(-1);
5387 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
5388 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
5389 if (stream_42 != NULL) stream_42->free(stream_42);
5390 if (stream_41 != NULL) stream_41->free(stream_41);
5391 if (stream_40 != NULL) stream_40->free(stream_40);
5392 if (stream_value != NULL) stream_value->free(stream_value);
5398 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
5404 /* $ANTLR end tuple */
5407 * $ANTLR start taggedValue
5408 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:215:1: taggedValue : ID basicValue -> ^( TAGGED_VALUE ID basicValue ) ;
5410 static SimanticsDataParser_taggedValue_return
5411 taggedValue(pSimanticsDataParser ctx)
5413 SimanticsDataParser_taggedValue_return retval;
5415 pANTLR3_BASE_TREE root_0;
5417 pANTLR3_COMMON_TOKEN ID94;
5418 SimanticsDataParser_basicValue_return basicValue95;
5419 #undef RETURN_TYPE_basicValue95
5420 #define RETURN_TYPE_basicValue95 SimanticsDataParser_basicValue_return
5422 pANTLR3_BASE_TREE ID94_tree;
5423 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
5424 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicValue;
5425 /* Initialize rule variables
5432 basicValue95.tree = NULL;
5434 retval.start = LT(1); retval.stop = retval.start;
5439 #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
5440 stream_basicValue = NULL;
5441 #define CREATE_stream_basicValue if (stream_basicValue == NULL) {stream_basicValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicValue"); }
5445 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:216:5: ( ID basicValue -> ^( TAGGED_VALUE ID basicValue ) )
5446 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:216:7: ID basicValue
5448 ID94 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_taggedValue1740);
5451 goto ruletaggedValueEx;
5454 CREATE_stream_ID; stream_ID->add(stream_ID, ID94, NULL);
5456 FOLLOWPUSH(FOLLOW_basicValue_in_taggedValue1742);
5457 basicValue95=basicValue(ctx);
5462 goto ruletaggedValueEx;
5465 CREATE_stream_basicValue; stream_basicValue->add(stream_basicValue, basicValue95.tree, NULL);
5469 * elements : basicValue, ID
5471 * rule labels : retval
5472 * token list labels :
5473 * rule list labels :
5476 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
5478 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
5480 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5481 retval.tree = root_0;
5482 // 217:5: -> ^( TAGGED_VALUE ID basicValue )
5484 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:217:8: ^( TAGGED_VALUE ID basicValue )
5486 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5487 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TAGGED_VALUE, (pANTLR3_UINT8)"TAGGED_VALUE"), root_1));
5489 ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
5490 ADAPTOR->addChild(ADAPTOR, root_1, stream_basicValue == NULL ? NULL : stream_basicValue->nextTree(stream_basicValue));
5492 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
5497 retval.tree = root_0; // set result root
5498 if (stream_retval != NULL) stream_retval->free(stream_retval);
5507 // This is where rules clean up and exit
5509 goto ruletaggedValueEx; /* Prevent compiler warnings */
5510 ruletaggedValueEx: ;
5511 retval.stop = LT(-1);
5513 retval.stop = LT(-1);
5514 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
5515 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
5516 if (stream_ID != NULL) stream_ID->free(stream_ID);
5517 if (stream_basicValue != NULL) stream_basicValue->free(stream_basicValue);
5523 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
5529 /* $ANTLR end taggedValue */
5532 * $ANTLR start record
5533 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:220:1: record : '{' ( recordAssignment ( ',' recordAssignment )* )? '}' -> ^( RECORD ( recordAssignment )* ) ;
5535 static SimanticsDataParser_record_return
5536 record(pSimanticsDataParser ctx)
5538 SimanticsDataParser_record_return retval;
5540 pANTLR3_BASE_TREE root_0;
5542 pANTLR3_COMMON_TOKEN char_literal96;
5543 pANTLR3_COMMON_TOKEN char_literal98;
5544 pANTLR3_COMMON_TOKEN char_literal100;
5545 SimanticsDataParser_recordAssignment_return recordAssignment97;
5546 #undef RETURN_TYPE_recordAssignment97
5547 #define RETURN_TYPE_recordAssignment97 SimanticsDataParser_recordAssignment_return
5549 SimanticsDataParser_recordAssignment_return recordAssignment99;
5550 #undef RETURN_TYPE_recordAssignment99
5551 #define RETURN_TYPE_recordAssignment99 SimanticsDataParser_recordAssignment_return
5553 pANTLR3_BASE_TREE char_literal96_tree;
5554 pANTLR3_BASE_TREE char_literal98_tree;
5555 pANTLR3_BASE_TREE char_literal100_tree;
5556 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;
5557 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;
5558 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
5559 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_recordAssignment;
5560 /* Initialize rule variables
5566 char_literal96 = NULL;
5567 char_literal98 = NULL;
5568 char_literal100 = NULL;
5569 recordAssignment97.tree = NULL;
5571 recordAssignment99.tree = NULL;
5573 retval.start = LT(1); retval.stop = retval.start;
5575 char_literal96_tree = NULL;
5576 char_literal98_tree = NULL;
5577 char_literal100_tree = NULL;
5580 #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); }
5582 #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); }
5584 #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
5585 stream_recordAssignment = NULL;
5586 #define CREATE_stream_recordAssignment if (stream_recordAssignment == NULL) {stream_recordAssignment = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule recordAssignment"); }
5590 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:5: ( '{' ( recordAssignment ( ',' recordAssignment )* )? '}' -> ^( RECORD ( recordAssignment )* ) )
5591 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:7: '{' ( recordAssignment ( ',' recordAssignment )* )? '}'
5593 char_literal96 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_record1775);
5599 CREATE_stream_43; stream_43->add(stream_43, char_literal96, NULL);
5602 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:11: ( recordAssignment ( ',' recordAssignment )* )?
5617 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:12: recordAssignment ( ',' recordAssignment )*
5619 FOLLOWPUSH(FOLLOW_recordAssignment_in_record1778);
5620 recordAssignment97=recordAssignment(ctx);
5628 CREATE_stream_recordAssignment; stream_recordAssignment->add(stream_recordAssignment, recordAssignment97.tree, NULL);
5630 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:29: ( ',' recordAssignment )*
5648 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:30: ',' recordAssignment
5650 char_literal98 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_record1781);
5656 CREATE_stream_41; stream_41->add(stream_41, char_literal98, NULL);
5658 FOLLOWPUSH(FOLLOW_recordAssignment_in_record1783);
5659 recordAssignment99=recordAssignment(ctx);
5667 CREATE_stream_recordAssignment; stream_recordAssignment->add(stream_recordAssignment, recordAssignment99.tree, NULL);
5673 goto loop25; /* break out of the loop */
5677 loop25: ; /* Jump out to here if this rule does not match */
5685 char_literal100 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_record1789);
5691 CREATE_stream_44; stream_44->add(stream_44, char_literal100, NULL);
5696 * elements : recordAssignment
5698 * rule labels : retval
5699 * token list labels :
5700 * rule list labels :
5703 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
5705 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
5707 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5708 retval.tree = root_0;
5709 // 222:5: -> ^( RECORD ( recordAssignment )* )
5711 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:222:8: ^( RECORD ( recordAssignment )* )
5713 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5714 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, RECORD, (pANTLR3_UINT8)"RECORD"), root_1));
5716 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:222:17: ( recordAssignment )*
5718 while ( (stream_recordAssignment != NULL && stream_recordAssignment->hasNext(stream_recordAssignment)) )
5720 ADAPTOR->addChild(ADAPTOR, root_1, stream_recordAssignment == NULL ? NULL : stream_recordAssignment->nextTree(stream_recordAssignment));
5723 if (stream_recordAssignment != NULL) stream_recordAssignment->reset(stream_recordAssignment);
5727 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
5732 retval.tree = root_0; // set result root
5733 if (stream_retval != NULL) stream_retval->free(stream_retval);
5742 // This is where rules clean up and exit
5744 goto rulerecordEx; /* Prevent compiler warnings */
5746 retval.stop = LT(-1);
5748 retval.stop = LT(-1);
5749 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
5750 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
5751 if (stream_43 != NULL) stream_43->free(stream_43);
5752 if (stream_44 != NULL) stream_44->free(stream_44);
5753 if (stream_41 != NULL) stream_41->free(stream_41);
5754 if (stream_recordAssignment != NULL) stream_recordAssignment->free(stream_recordAssignment);
5760 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
5766 /* $ANTLR end record */
5769 * $ANTLR start recordAssignment
5770 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:225:1: recordAssignment : ID '=' value -> ^( ASSIGNMENT ID value ) ;
5772 static SimanticsDataParser_recordAssignment_return
5773 recordAssignment(pSimanticsDataParser ctx)
5775 SimanticsDataParser_recordAssignment_return retval;
5777 pANTLR3_BASE_TREE root_0;
5779 pANTLR3_COMMON_TOKEN ID101;
5780 pANTLR3_COMMON_TOKEN char_literal102;
5781 SimanticsDataParser_value_return value103;
5782 #undef RETURN_TYPE_value103
5783 #define RETURN_TYPE_value103 SimanticsDataParser_value_return
5785 pANTLR3_BASE_TREE ID101_tree;
5786 pANTLR3_BASE_TREE char_literal102_tree;
5787 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
5788 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
5789 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
5790 /* Initialize rule variables
5797 char_literal102 = NULL;
5798 value103.tree = NULL;
5800 retval.start = LT(1); retval.stop = retval.start;
5803 char_literal102_tree = NULL;
5806 #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
5808 #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
5809 stream_value = NULL;
5810 #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
5814 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:226:5: ( ID '=' value -> ^( ASSIGNMENT ID value ) )
5815 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:226:7: ID '=' value
5817 ID101 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_recordAssignment1821);
5820 goto rulerecordAssignmentEx;
5823 CREATE_stream_ID; stream_ID->add(stream_ID, ID101, NULL);
5825 char_literal102 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_recordAssignment1823);
5828 goto rulerecordAssignmentEx;
5831 CREATE_stream_35; stream_35->add(stream_35, char_literal102, NULL);
5833 FOLLOWPUSH(FOLLOW_value_in_recordAssignment1825);
5834 value103=value(ctx);
5839 goto rulerecordAssignmentEx;
5842 CREATE_stream_value; stream_value->add(stream_value, value103.tree, NULL);
5846 * elements : value, ID
5848 * rule labels : retval
5849 * token list labels :
5850 * rule list labels :
5853 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
5855 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
5857 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5858 retval.tree = root_0;
5859 // 227:5: -> ^( ASSIGNMENT ID value )
5861 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:227:8: ^( ASSIGNMENT ID value )
5863 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
5864 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ASSIGNMENT, (pANTLR3_UINT8)"ASSIGNMENT"), root_1));
5866 ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
5867 ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
5869 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
5874 retval.tree = root_0; // set result root
5875 if (stream_retval != NULL) stream_retval->free(stream_retval);
5884 // This is where rules clean up and exit
5886 goto rulerecordAssignmentEx; /* Prevent compiler warnings */
5887 rulerecordAssignmentEx: ;
5888 retval.stop = LT(-1);
5890 retval.stop = LT(-1);
5891 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
5892 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
5893 if (stream_ID != NULL) stream_ID->free(stream_ID);
5894 if (stream_35 != NULL) stream_35->free(stream_35);
5895 if (stream_value != NULL) stream_value->free(stream_value);
5901 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
5907 /* $ANTLR end recordAssignment */
5911 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:1: map : 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}' -> ^( MAP ( mapAssignment )* ) ;
5913 static SimanticsDataParser_map_return
5914 map(pSimanticsDataParser ctx)
5916 SimanticsDataParser_map_return retval;
5918 pANTLR3_BASE_TREE root_0;
5920 pANTLR3_COMMON_TOKEN string_literal104;
5921 pANTLR3_COMMON_TOKEN char_literal105;
5922 pANTLR3_COMMON_TOKEN char_literal107;
5923 pANTLR3_COMMON_TOKEN char_literal109;
5924 SimanticsDataParser_mapAssignment_return mapAssignment106;
5925 #undef RETURN_TYPE_mapAssignment106
5926 #define RETURN_TYPE_mapAssignment106 SimanticsDataParser_mapAssignment_return
5928 SimanticsDataParser_mapAssignment_return mapAssignment108;
5929 #undef RETURN_TYPE_mapAssignment108
5930 #define RETURN_TYPE_mapAssignment108 SimanticsDataParser_mapAssignment_return
5932 pANTLR3_BASE_TREE string_literal104_tree;
5933 pANTLR3_BASE_TREE char_literal105_tree;
5934 pANTLR3_BASE_TREE char_literal107_tree;
5935 pANTLR3_BASE_TREE char_literal109_tree;
5936 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_49;
5937 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;
5938 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;
5939 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
5940 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_mapAssignment;
5941 /* Initialize rule variables
5947 string_literal104 = NULL;
5948 char_literal105 = NULL;
5949 char_literal107 = NULL;
5950 char_literal109 = NULL;
5951 mapAssignment106.tree = NULL;
5953 mapAssignment108.tree = NULL;
5955 retval.start = LT(1); retval.stop = retval.start;
5957 string_literal104_tree = NULL;
5958 char_literal105_tree = NULL;
5959 char_literal107_tree = NULL;
5960 char_literal109_tree = NULL;
5963 #define CREATE_stream_49 if (stream_49 == NULL) {stream_49 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 49"); }
5965 #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); }
5967 #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); }
5969 #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
5970 stream_mapAssignment = NULL;
5971 #define CREATE_stream_mapAssignment if (stream_mapAssignment == NULL) {stream_mapAssignment = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule mapAssignment"); }
5975 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:5: ( 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}' -> ^( MAP ( mapAssignment )* ) )
5976 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:7: 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}'
5978 string_literal104 = (pANTLR3_COMMON_TOKEN) MATCHT(49, &FOLLOW_49_in_map1852);
5984 CREATE_stream_49; stream_49->add(stream_49, string_literal104, NULL);
5986 char_literal105 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_map1854);
5992 CREATE_stream_43; stream_43->add(stream_43, char_literal105, NULL);
5995 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:17: ( mapAssignment ( ',' mapAssignment )* )?
6020 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:18: mapAssignment ( ',' mapAssignment )*
6022 FOLLOWPUSH(FOLLOW_mapAssignment_in_map1857);
6023 mapAssignment106=mapAssignment(ctx);
6031 CREATE_stream_mapAssignment; stream_mapAssignment->add(stream_mapAssignment, mapAssignment106.tree, NULL);
6033 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:32: ( ',' mapAssignment )*
6051 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:33: ',' mapAssignment
6053 char_literal107 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_map1860);
6059 CREATE_stream_41; stream_41->add(stream_41, char_literal107, NULL);
6061 FOLLOWPUSH(FOLLOW_mapAssignment_in_map1862);
6062 mapAssignment108=mapAssignment(ctx);
6070 CREATE_stream_mapAssignment; stream_mapAssignment->add(stream_mapAssignment, mapAssignment108.tree, NULL);
6076 goto loop27; /* break out of the loop */
6080 loop27: ; /* Jump out to here if this rule does not match */
6088 char_literal109 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_map1868);
6094 CREATE_stream_44; stream_44->add(stream_44, char_literal109, NULL);
6099 * elements : mapAssignment
6101 * rule labels : retval
6102 * token list labels :
6103 * rule list labels :
6106 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
6108 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
6110 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
6111 retval.tree = root_0;
6112 // 231:5: -> ^( MAP ( mapAssignment )* )
6114 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:231:8: ^( MAP ( mapAssignment )* )
6116 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
6117 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, MAP, (pANTLR3_UINT8)"MAP"), root_1));
6119 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:231:14: ( mapAssignment )*
6121 while ( (stream_mapAssignment != NULL && stream_mapAssignment->hasNext(stream_mapAssignment)) )
6123 ADAPTOR->addChild(ADAPTOR, root_1, stream_mapAssignment == NULL ? NULL : stream_mapAssignment->nextTree(stream_mapAssignment));
6126 if (stream_mapAssignment != NULL) stream_mapAssignment->reset(stream_mapAssignment);
6130 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
6135 retval.tree = root_0; // set result root
6136 if (stream_retval != NULL) stream_retval->free(stream_retval);
6145 // This is where rules clean up and exit
6147 goto rulemapEx; /* Prevent compiler warnings */
6149 retval.stop = LT(-1);
6151 retval.stop = LT(-1);
6152 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
6153 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
6154 if (stream_49 != NULL) stream_49->free(stream_49);
6155 if (stream_43 != NULL) stream_43->free(stream_43);
6156 if (stream_44 != NULL) stream_44->free(stream_44);
6157 if (stream_41 != NULL) stream_41->free(stream_41);
6158 if (stream_mapAssignment != NULL) stream_mapAssignment->free(stream_mapAssignment);
6164 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
6170 /* $ANTLR end map */
6173 * $ANTLR start mapAssignment
6174 * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:234:1: mapAssignment : value '=' value -> ^( ASSIGNMENT ( value )* ) ;
6176 static SimanticsDataParser_mapAssignment_return
6177 mapAssignment(pSimanticsDataParser ctx)
6179 SimanticsDataParser_mapAssignment_return retval;
6181 pANTLR3_BASE_TREE root_0;
6183 pANTLR3_COMMON_TOKEN char_literal111;
6184 SimanticsDataParser_value_return value110;
6185 #undef RETURN_TYPE_value110
6186 #define RETURN_TYPE_value110 SimanticsDataParser_value_return
6188 SimanticsDataParser_value_return value112;
6189 #undef RETURN_TYPE_value112
6190 #define RETURN_TYPE_value112 SimanticsDataParser_value_return
6192 pANTLR3_BASE_TREE char_literal111_tree;
6193 pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
6194 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
6195 /* Initialize rule variables
6201 char_literal111 = NULL;
6202 value110.tree = NULL;
6204 value112.tree = NULL;
6206 retval.start = LT(1); retval.stop = retval.start;
6208 char_literal111_tree = NULL;
6211 #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
6212 stream_value = NULL;
6213 #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
6217 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:235:5: ( value '=' value -> ^( ASSIGNMENT ( value )* ) )
6218 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:235:7: value '=' value
6220 FOLLOWPUSH(FOLLOW_value_in_mapAssignment1900);
6221 value110=value(ctx);
6226 goto rulemapAssignmentEx;
6229 CREATE_stream_value; stream_value->add(stream_value, value110.tree, NULL);
6230 char_literal111 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_mapAssignment1902);
6233 goto rulemapAssignmentEx;
6236 CREATE_stream_35; stream_35->add(stream_35, char_literal111, NULL);
6238 FOLLOWPUSH(FOLLOW_value_in_mapAssignment1904);
6239 value112=value(ctx);
6244 goto rulemapAssignmentEx;
6247 CREATE_stream_value; stream_value->add(stream_value, value112.tree, NULL);
6253 * rule labels : retval
6254 * token list labels :
6255 * rule list labels :
6258 pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
6260 stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
6262 root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
6263 retval.tree = root_0;
6264 // 236:5: -> ^( ASSIGNMENT ( value )* )
6266 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:236:8: ^( ASSIGNMENT ( value )* )
6268 pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
6269 root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ASSIGNMENT, (pANTLR3_UINT8)"ASSIGNMENT"), root_1));
6271 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:236:21: ( value )*
6273 while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )
6275 ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
6278 if (stream_value != NULL) stream_value->reset(stream_value);
6282 ADAPTOR->addChild(ADAPTOR, root_0, root_1);
6287 retval.tree = root_0; // set result root
6288 if (stream_retval != NULL) stream_retval->free(stream_retval);
6297 // This is where rules clean up and exit
6299 goto rulemapAssignmentEx; /* Prevent compiler warnings */
6300 rulemapAssignmentEx: ;
6301 retval.stop = LT(-1);
6303 retval.stop = LT(-1);
6304 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
6305 ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
6306 if (stream_35 != NULL) stream_35->free(stream_35);
6307 if (stream_value != NULL) stream_value->free(stream_value);
6313 retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
6319 /* $ANTLR end mapAssignment */
6320 /* End of parsing rules
6321 * ==============================================
6324 /* ==============================================
6325 * Syntactic predicates
6327 /* End of syntactic predicates
6328 * ==============================================
6337 * =============================================================================