-/** \file\r
- * This C source file was generated by $ANTLR version 3.2 Sep 23, 2009 12:02:23\r
- *\r
- * - From the grammar source file : C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g\r
- * - On : 2010-03-26 13:33:27\r
- * - for the parser : SimanticsDataParserParser *\r
- * Editing it, at least manually, is not wise. \r
- *\r
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.\r
- *\r
- *\r
-*/\r
-// [The "BSD licence"]\r
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC\r
-// http://www.temporal-wave.com\r
-// http://www.linkedin.com/in/jimidle\r
-//\r
-// All rights reserved.\r
-//\r
-// Redistribution and use in source and binary forms, with or without\r
-// modification, are permitted provided that the following conditions\r
-// are met:\r
-// 1. Redistributions of source code must retain the above copyright\r
-// notice, this list of conditions and the following disclaimer.\r
-// 2. Redistributions in binary form must reproduce the above copyright\r
-// notice, this list of conditions and the following disclaimer in the\r
-// documentation and/or other materials provided with the distribution.\r
-// 3. The name of the author may not be used to endorse or promote products\r
-// derived from this software without specific prior written permission.\r
-//\r
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\r
-// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\r
-// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r
-// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\r
-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r
-// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\r
-// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
-\r
-/* -----------------------------------------\r
- * Include the ANTLR3 generated header file.\r
- */\r
-#include "SimanticsDataParser.h"\r
-/* ----------------------------------------- */\r
-\r
-\r
-\r
-\r
-\r
-/* MACROS that hide the C interface implementations from the\r
- * generated code, which makes it a little more understandable to the human eye.\r
- * I am very much against using C pre-processor macros for function calls and bits\r
- * of code as you cannot see what is happening when single stepping in debuggers\r
- * and so on. The exception (in my book at least) is for generated code, where you are\r
- * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()\r
- * hides some indirect calls, but is always referring to the input stream. This is\r
- * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig\r
- * the runtime interfaces without changing the generated code too often, without\r
- * confusing the reader of the generated output, who may not wish to know the gory\r
- * details of the interface inheritance.\r
- */\r
- \r
-#define CTX ctx\r
-\r
-/* Aids in accessing scopes for grammar programmers\r
- */\r
-#undef SCOPE_TYPE\r
-#undef SCOPE_STACK\r
-#undef SCOPE_TOP\r
-#define SCOPE_TYPE(scope) pSimanticsDataParser_##scope##_SCOPE\r
-#define SCOPE_STACK(scope) pSimanticsDataParser_##scope##Stack\r
-#define SCOPE_TOP(scope) ctx->pSimanticsDataParser_##scope##Top\r
-#define SCOPE_SIZE(scope) ctx->pSimanticsDataParser_##scope##Stack_limit\r
-#define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))\r
-\r
-/* Macros for accessing things in the parser\r
- */\r
- \r
-#undef PARSER \r
-#undef RECOGNIZER \r
-#undef HAVEPARSEDRULE\r
-#undef MEMOIZE\r
-#undef INPUT\r
-#undef STRSTREAM\r
-#undef HASEXCEPTION\r
-#undef EXCEPTION\r
-#undef MATCHT\r
-#undef MATCHANYT\r
-#undef FOLLOWSTACK\r
-#undef FOLLOWPUSH\r
-#undef FOLLOWPOP\r
-#undef PRECOVER\r
-#undef PREPORTERROR\r
-#undef LA\r
-#undef LT\r
-#undef CONSTRUCTEX\r
-#undef CONSUME\r
-#undef MARK\r
-#undef REWIND\r
-#undef REWINDLAST\r
-#undef PERRORRECOVERY\r
-#undef HASFAILED\r
-#undef FAILEDFLAG\r
-#undef RECOVERFROMMISMATCHEDSET\r
-#undef RECOVERFROMMISMATCHEDELEMENT\r
-#undef INDEX\r
-#undef ADAPTOR\r
-#undef SEEK\r
-#undef RULEMEMO \r
-#undef DBG\r
-\r
-#define PARSER ctx->pParser \r
-#define RECOGNIZER PARSER->rec\r
-#define PSRSTATE RECOGNIZER->state\r
-#define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)\r
-#define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)\r
-#define INPUT PARSER->tstream\r
-#define STRSTREAM INPUT\r
-#define ISTREAM INPUT->istream\r
-#define INDEX() ISTREAM->index(INPUT->istream)\r
-#define HASEXCEPTION() (PSRSTATE->error == ANTLR3_TRUE)\r
-#define EXCEPTION PSRSTATE->exception\r
-#define MATCHT(t, fs) RECOGNIZER->match(RECOGNIZER, t, fs)\r
-#define MATCHANYT() RECOGNIZER->matchAny(RECOGNIZER)\r
-#define FOLLOWSTACK PSRSTATE->following\r
-#define FOLLOWPUSH(x) FOLLOWSTACK->push(FOLLOWSTACK, ((void *)(&(x))), NULL)\r
-#define FOLLOWPOP() FOLLOWSTACK->pop(FOLLOWSTACK)\r
-#define PRECOVER() RECOGNIZER->recover(RECOGNIZER)\r
-#define PREPORTERROR() RECOGNIZER->reportError(RECOGNIZER)\r
-#define LA(n) INPUT->istream->_LA(ISTREAM, n)\r
-#define LT(n) INPUT->_LT(INPUT, n)\r
-#define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)\r
-#define CONSUME() ISTREAM->consume(ISTREAM)\r
-#define MARK() ISTREAM->mark(ISTREAM)\r
-#define REWIND(m) ISTREAM->rewind(ISTREAM, m)\r
-#define REWINDLAST() ISTREAM->rewindLast(ISTREAM)\r
-#define SEEK(n) ISTREAM->seek(ISTREAM, n)\r
-#define PERRORRECOVERY PSRSTATE->errorRecovery\r
-#define FAILEDFLAG PSRSTATE->failed\r
-#define HASFAILED() (FAILEDFLAG == ANTLR3_TRUE)\r
-#define BACKTRACKING PSRSTATE->backtracking\r
-#define RECOVERFROMMISMATCHEDSET(s) RECOGNIZER->recoverFromMismatchedSet(RECOGNIZER, s)\r
-#define RECOVERFROMMISMATCHEDELEMENT(e) RECOGNIZER->recoverFromMismatchedElement(RECOGNIZER, s)\r
-#define ADAPTOR ctx->adaptor\r
-#define RULEMEMO PSRSTATE->ruleMemo\r
-#define DBG RECOGNIZER->debugger\r
-\r
-#define TOKTEXT(tok, txt) tok, (pANTLR3_UINT8)txt\r
-\r
-/* The 4 tokens defined below may well clash with your own #defines or token types. If so\r
- * then for the present you must use different names for your defines as these are hard coded\r
- * in the code generator. It would be better not to use such names internally, and maybe\r
- * we can change this in a forthcoming release. I deliberately do not #undef these\r
- * here as this will at least give you a redefined error somewhere if they clash.\r
- */\r
-#define UP ANTLR3_TOKEN_UP\r
-#define DOWN ANTLR3_TOKEN_DOWN\r
-#define EOR ANTLR3_TOKEN_EOR\r
-#define INVALID ANTLR3_TOKEN_INVALID\r
-\r
-\r
-/* =============================================================================\r
- * Functions to create and destroy scopes. First come the rule scopes, followed\r
- * by the global declared scopes.\r
- */\r
-\r
-\r
-\r
-/* ============================================================================= */\r
-\r
-/* =============================================================================\r
- * Start of recognizer\r
- */\r
-\r
-\r
-\r
-/** \brief Table of all token names in symbolic order, mainly used for\r
- * error reporting.\r
- */\r
-pANTLR3_UINT8 SimanticsDataParserTokenNames[46+4]\r
- = {\r
- (pANTLR3_UINT8) "<invalid>", /* String to print to indicate an invalid token */\r
- (pANTLR3_UINT8) "<EOR>",\r
- (pANTLR3_UINT8) "<DOWN>", \r
- (pANTLR3_UINT8) "<UP>", \r
- (pANTLR3_UINT8) "TYPE_DEFINITIONS",\r
- (pANTLR3_UINT8) "TYPE_DEFINITION",\r
- (pANTLR3_UINT8) "UNION_TYPE",\r
- (pANTLR3_UINT8) "RECORD_TYPE",\r
- (pANTLR3_UINT8) "TUPLE_TYPE",\r
- (pANTLR3_UINT8) "ARRAY_TYPE",\r
- (pANTLR3_UINT8) "TYPE_REFERENCE",\r
- (pANTLR3_UINT8) "TYPE_ANNOTATION",\r
- (pANTLR3_UINT8) "TYPE_COMPONENT",\r
- (pANTLR3_UINT8) "VALUE_DEFINITIONS",\r
- (pANTLR3_UINT8) "VALUE_DEFINITION",\r
- (pANTLR3_UINT8) "NO_VALUE",\r
- (pANTLR3_UINT8) "VARIANT",\r
- (pANTLR3_UINT8) "ARRAY",\r
- (pANTLR3_UINT8) "TUPLE",\r
- (pANTLR3_UINT8) "TAGGED_VALUE",\r
- (pANTLR3_UINT8) "RECORD",\r
- (pANTLR3_UINT8) "MAP",\r
- (pANTLR3_UINT8) "ASSIGNMENT",\r
- (pANTLR3_UINT8) "ID",\r
- (pANTLR3_UINT8) "INT",\r
- (pANTLR3_UINT8) "EXPONENT",\r
- (pANTLR3_UINT8) "FLOAT",\r
- (pANTLR3_UINT8) "COMMENT",\r
- (pANTLR3_UINT8) "WS",\r
- (pANTLR3_UINT8) "ESC_SEQ",\r
- (pANTLR3_UINT8) "STRING",\r
- (pANTLR3_UINT8) "HEX_DIGIT",\r
- (pANTLR3_UINT8) "UNICODE_ESC",\r
- (pANTLR3_UINT8) "OCTAL_ESC",\r
- (pANTLR3_UINT8) "'type'",\r
- (pANTLR3_UINT8) "'='",\r
- (pANTLR3_UINT8) "'|'",\r
- (pANTLR3_UINT8) "'['",\r
- (pANTLR3_UINT8) "']'",\r
- (pANTLR3_UINT8) "'..'",\r
- (pANTLR3_UINT8) "'('",\r
- (pANTLR3_UINT8) "','",\r
- (pANTLR3_UINT8) "')'",\r
- (pANTLR3_UINT8) "'{'",\r
- (pANTLR3_UINT8) "'}'",\r
- (pANTLR3_UINT8) "':'",\r
- (pANTLR3_UINT8) "'true'",\r
- (pANTLR3_UINT8) "'false'",\r
- (pANTLR3_UINT8) "'null'",\r
- (pANTLR3_UINT8) "'map'"\r
- };\r
-\r
- \r
-\r
-// Forward declare the locally static matching functions we have generated.\r
-//\r
-static SimanticsDataParser_typeDefinitions_return typeDefinitions (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_typeDefinition_return typeDefinition (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_unionType_return unionType (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_unionComponent_return unionComponent (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_type_return type (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_arrayLength_return arrayLength (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_basicType_return basicType (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_tupleType_return tupleType (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_recordType_return recordType (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_component_return component (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_typeReference_return typeReference (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_parameter_return parameter (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_parameterValue_return parameterValue (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_range_return range (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_number_return number (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_string_return string (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_boolean_return boolean (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_valueDefinitions_return valueDefinitions (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_valueDefinition_return valueDefinition (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_value_return value (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_basicValue_return basicValue (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_array_return array (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_tuple_return tuple (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_taggedValue_return taggedValue (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_record_return record (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_recordAssignment_return recordAssignment (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_map_return map (pSimanticsDataParser ctx);\r
-static SimanticsDataParser_mapAssignment_return mapAssignment (pSimanticsDataParser ctx);\r
-static void SimanticsDataParserFree(pSimanticsDataParser ctx);\r
-/* For use in tree output where we are accumulating rule labels via label += ruleRef\r
- * we need a function that knows how to free a return scope when the list is destroyed. \r
- * We cannot just use ANTLR3_FREE because in debug tracking mode, this is a macro.\r
- */\r
-static void ANTLR3_CDECL freeScope(void * scope)\r
-{\r
- ANTLR3_FREE(scope);\r
-}\r
-\r
-/** \brief Name of the grammar file that generated this code\r
- */\r
-static const char fileName[] = "C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g";\r
-\r
-/** \brief Return the name of the grammar file that generated this code.\r
- */\r
-static const char * getGrammarFileName()\r
-{\r
- return fileName;\r
-}\r
-/** \brief Create a new SimanticsDataParser parser and return a context for it.\r
- *\r
- * \param[in] instream Pointer to an input stream interface.\r
- *\r
- * \return Pointer to new parser context upon success.\r
- */\r
-ANTLR3_API pSimanticsDataParser\r
-SimanticsDataParserNew (pANTLR3_COMMON_TOKEN_STREAM instream)\r
-{\r
- // See if we can create a new parser with the standard constructor\r
- //\r
- return SimanticsDataParserNewSSD(instream, NULL);\r
-}\r
-\r
-/** \brief Create a new SimanticsDataParser parser and return a context for it.\r
- *\r
- * \param[in] instream Pointer to an input stream interface.\r
- *\r
- * \return Pointer to new parser context upon success.\r
- */\r
-ANTLR3_API pSimanticsDataParser\r
-SimanticsDataParserNewSSD (pANTLR3_COMMON_TOKEN_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)\r
-{\r
- pSimanticsDataParser ctx; /* Context structure we will build and return */\r
- \r
- ctx = (pSimanticsDataParser) ANTLR3_CALLOC(1, sizeof(SimanticsDataParser));\r
- \r
- if (ctx == NULL)\r
- {\r
- // Failed to allocate memory for parser context\r
- //\r
- return NULL;\r
- }\r
- \r
- /* -------------------------------------------------------------------\r
- * Memory for basic structure is allocated, now to fill in\r
- * the base ANTLR3 structures. We initialize the function pointers\r
- * for the standard ANTLR3 parser function set, but upon return\r
- * from here, the programmer may set the pointers to provide custom\r
- * implementations of each function. \r
- *\r
- * We don't use the macros defined in SimanticsDataParser.h here, in order that you can get a sense\r
- * of what goes where.\r
- */\r
-\r
- /* Create a base parser/recognizer, using the supplied token stream\r
- */\r
- ctx->pParser = antlr3ParserNewStream(ANTLR3_SIZE_HINT, instream->tstream, state);\r
- /* Install the implementation of our SimanticsDataParser interface\r
- */\r
- ctx->typeDefinitions = typeDefinitions;\r
- ctx->typeDefinition = typeDefinition;\r
- ctx->unionType = unionType;\r
- ctx->unionComponent = unionComponent;\r
- ctx->type = type;\r
- ctx->arrayLength = arrayLength;\r
- ctx->basicType = basicType;\r
- ctx->tupleType = tupleType;\r
- ctx->recordType = recordType;\r
- ctx->component = component;\r
- ctx->typeReference = typeReference;\r
- ctx->parameter = parameter;\r
- ctx->parameterValue = parameterValue;\r
- ctx->range = range;\r
- ctx->number = number;\r
- ctx->string = string;\r
- ctx->boolean = boolean;\r
- ctx->valueDefinitions = valueDefinitions;\r
- ctx->valueDefinition = valueDefinition;\r
- ctx->value = value;\r
- ctx->basicValue = basicValue;\r
- ctx->array = array;\r
- ctx->tuple = tuple;\r
- ctx->taggedValue = taggedValue;\r
- ctx->record = record;\r
- ctx->recordAssignment = recordAssignment;\r
- ctx->map = map;\r
- ctx->mapAssignment = mapAssignment;\r
- ctx->free = SimanticsDataParserFree;\r
- ctx->getGrammarFileName = getGrammarFileName;\r
- \r
- /* Install the scope pushing methods.\r
- */\r
- ADAPTOR = ANTLR3_TREE_ADAPTORNew(instream->tstream->tokenSource->strFactory);\r
- ctx->vectors = antlr3VectorFactoryNew(0);\r
- \r
-\r
- \r
- /* Install the token table\r
- */\r
- PSRSTATE->tokenNames = SimanticsDataParserTokenNames;\r
- \r
- \r
- /* Return the newly built parser to the caller\r
- */\r
- return ctx;\r
-}\r
-\r
-/** Free the parser resources\r
- */\r
- static void\r
- SimanticsDataParserFree(pSimanticsDataParser ctx)\r
- {\r
- /* Free any scope memory\r
- */\r
- \r
- ctx->vectors->close(ctx->vectors);\r
- /* We created the adaptor so we must free it\r
- */\r
- ADAPTOR->free(ADAPTOR);\r
- // Free this parser\r
- //\r
- ctx->pParser->free(ctx->pParser);\r
- ANTLR3_FREE(ctx);\r
-\r
- /* Everything is released, so we can return\r
- */\r
- return;\r
- }\r
- \r
-/** Return token names used by this parser\r
- *\r
- * The returned pointer is used as an index into the token names table (using the token \r
- * number as the index).\r
- * \r
- * \return Pointer to first char * in the table.\r
- */\r
-static pANTLR3_UINT8 *getTokenNames() \r
-{\r
- return SimanticsDataParserTokenNames; \r
-}\r
-\r
- \r
-/* Declare the bitsets\r
- */\r
-\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_typeDefinition_in_typeDefinitions768 */\r
-static ANTLR3_BITWORD FOLLOW_typeDefinition_in_typeDefinitions768_bits[] = { ANTLR3_UINT64_LIT(0x0000000400000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_typeDefinition_in_typeDefinitions768 = { FOLLOW_typeDefinition_in_typeDefinitions768_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_34_in_typeDefinition791 */\r
-static ANTLR3_BITWORD FOLLOW_34_in_typeDefinition791_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_34_in_typeDefinition791 = { FOLLOW_34_in_typeDefinition791_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_typeDefinition793 */\r
-static ANTLR3_BITWORD FOLLOW_ID_in_typeDefinition793_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_ID_in_typeDefinition793 = { FOLLOW_ID_in_typeDefinition793_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_typeDefinition795 */\r
-static ANTLR3_BITWORD FOLLOW_35_in_typeDefinition795_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_35_in_typeDefinition795 = { FOLLOW_35_in_typeDefinition795_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_typeDefinition797 */\r
-static ANTLR3_BITWORD FOLLOW_unionType_in_typeDefinition797_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_unionType_in_typeDefinition797 = { FOLLOW_unionType_in_typeDefinition797_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_unionType829 */\r
-static ANTLR3_BITWORD FOLLOW_type_in_unionType829_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_type_in_unionType829 = { FOLLOW_type_in_unionType829_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_36_in_unionType838 */\r
-static ANTLR3_BITWORD FOLLOW_36_in_unionType838_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_36_in_unionType838 = { FOLLOW_36_in_unionType838_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionComponent_in_unionType840 */\r
-static ANTLR3_BITWORD FOLLOW_unionComponent_in_unionType840_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_unionComponent_in_unionType840 = { FOLLOW_unionComponent_in_unionType840_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unionComponent871 */\r
-static ANTLR3_BITWORD FOLLOW_ID_in_unionComponent871_bits[] = { ANTLR3_UINT64_LIT(0x0000090000800002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_ID_in_unionComponent871 = { FOLLOW_ID_in_unionComponent871_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_unionComponent873 */\r
-static ANTLR3_BITWORD FOLLOW_type_in_unionComponent873_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_type_in_unionComponent873 = { FOLLOW_type_in_unionComponent873_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_basicType_in_type900 */\r
-static ANTLR3_BITWORD FOLLOW_basicType_in_type900_bits[] = { ANTLR3_UINT64_LIT(0x0000002000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_basicType_in_type900 = { FOLLOW_basicType_in_type900_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_37_in_type914 */\r
-static ANTLR3_BITWORD FOLLOW_37_in_type914_bits[] = { ANTLR3_UINT64_LIT(0x000000C001000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_37_in_type914 = { FOLLOW_37_in_type914_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_arrayLength_in_type916 */\r
-static ANTLR3_BITWORD FOLLOW_arrayLength_in_type916_bits[] = { ANTLR3_UINT64_LIT(0x0000004000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_arrayLength_in_type916 = { FOLLOW_arrayLength_in_type916_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_38_in_type919 */\r
-static ANTLR3_BITWORD FOLLOW_38_in_type919_bits[] = { ANTLR3_UINT64_LIT(0x0000002000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_38_in_type919 = { FOLLOW_38_in_type919_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength947 */\r
-static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength947_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength947 = { FOLLOW_INT_in_arrayLength947_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength955 */\r
-static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength955_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength955 = { FOLLOW_INT_in_arrayLength955_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength957 */\r
-static ANTLR3_BITWORD FOLLOW_39_in_arrayLength957_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength957 = { FOLLOW_39_in_arrayLength957_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength965 */\r
-static ANTLR3_BITWORD FOLLOW_39_in_arrayLength965_bits[] = { ANTLR3_UINT64_LIT(0x0000000001000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength965 = { FOLLOW_39_in_arrayLength965_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength967 */\r
-static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength967_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength967 = { FOLLOW_INT_in_arrayLength967_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength976 */\r
-static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength976_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength976 = { FOLLOW_INT_in_arrayLength976_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength978 */\r
-static ANTLR3_BITWORD FOLLOW_39_in_arrayLength978_bits[] = { ANTLR3_UINT64_LIT(0x0000000001000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength978 = { FOLLOW_39_in_arrayLength978_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength980 */\r
-static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength980_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength980 = { FOLLOW_INT_in_arrayLength980_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_tupleType_in_basicType998 */\r
-static ANTLR3_BITWORD FOLLOW_tupleType_in_basicType998_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_tupleType_in_basicType998 = { FOLLOW_tupleType_in_basicType998_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_recordType_in_basicType1006 */\r
-static ANTLR3_BITWORD FOLLOW_recordType_in_basicType1006_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_recordType_in_basicType1006 = { FOLLOW_recordType_in_basicType1006_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_typeReference_in_basicType1014 */\r
-static ANTLR3_BITWORD FOLLOW_typeReference_in_basicType1014_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_typeReference_in_basicType1014 = { FOLLOW_typeReference_in_basicType1014_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_tupleType1036 */\r
-static ANTLR3_BITWORD FOLLOW_40_in_tupleType1036_bits[] = { ANTLR3_UINT64_LIT(0x00000D1000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_40_in_tupleType1036 = { FOLLOW_40_in_tupleType1036_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_tupleType1039 */\r
-static ANTLR3_BITWORD FOLLOW_unionType_in_tupleType1039_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_unionType_in_tupleType1039 = { FOLLOW_unionType_in_tupleType1039_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_tupleType1042 */\r
-static ANTLR3_BITWORD FOLLOW_41_in_tupleType1042_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_41_in_tupleType1042 = { FOLLOW_41_in_tupleType1042_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_tupleType1044 */\r
-static ANTLR3_BITWORD FOLLOW_unionType_in_tupleType1044_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_unionType_in_tupleType1044 = { FOLLOW_unionType_in_tupleType1044_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_tupleType1050 */\r
-static ANTLR3_BITWORD FOLLOW_42_in_tupleType1050_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_42_in_tupleType1050 = { FOLLOW_42_in_tupleType1050_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_recordType1083 */\r
-static ANTLR3_BITWORD FOLLOW_43_in_recordType1083_bits[] = { ANTLR3_UINT64_LIT(0x0000100000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_43_in_recordType1083 = { FOLLOW_43_in_recordType1083_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_component_in_recordType1086 */\r
-static ANTLR3_BITWORD FOLLOW_component_in_recordType1086_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_component_in_recordType1086 = { FOLLOW_component_in_recordType1086_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_recordType1089 */\r
-static ANTLR3_BITWORD FOLLOW_41_in_recordType1089_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_41_in_recordType1089 = { FOLLOW_41_in_recordType1089_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_component_in_recordType1091 */\r
-static ANTLR3_BITWORD FOLLOW_component_in_recordType1091_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_component_in_recordType1091 = { FOLLOW_component_in_recordType1091_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_recordType1097 */\r
-static ANTLR3_BITWORD FOLLOW_44_in_recordType1097_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_44_in_recordType1097 = { FOLLOW_44_in_recordType1097_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_component1129 */\r
-static ANTLR3_BITWORD FOLLOW_ID_in_component1129_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_ID_in_component1129 = { FOLLOW_ID_in_component1129_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_component1131 */\r
-static ANTLR3_BITWORD FOLLOW_45_in_component1131_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_45_in_component1131 = { FOLLOW_45_in_component1131_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_component1133 */\r
-static ANTLR3_BITWORD FOLLOW_unionType_in_component1133_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_unionType_in_component1133 = { FOLLOW_unionType_in_component1133_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_typeReference1167 */\r
-static ANTLR3_BITWORD FOLLOW_ID_in_typeReference1167_bits[] = { ANTLR3_UINT64_LIT(0x0000010000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_ID_in_typeReference1167 = { FOLLOW_ID_in_typeReference1167_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_typeReference1170 */\r
-static ANTLR3_BITWORD FOLLOW_40_in_typeReference1170_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_40_in_typeReference1170 = { FOLLOW_40_in_typeReference1170_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_parameter_in_typeReference1172 */\r
-static ANTLR3_BITWORD FOLLOW_parameter_in_typeReference1172_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_parameter_in_typeReference1172 = { FOLLOW_parameter_in_typeReference1172_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_typeReference1175 */\r
-static ANTLR3_BITWORD FOLLOW_41_in_typeReference1175_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_41_in_typeReference1175 = { FOLLOW_41_in_typeReference1175_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_parameter_in_typeReference1177 */\r
-static ANTLR3_BITWORD FOLLOW_parameter_in_typeReference1177_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_parameter_in_typeReference1177 = { FOLLOW_parameter_in_typeReference1177_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_typeReference1181 */\r
-static ANTLR3_BITWORD FOLLOW_42_in_typeReference1181_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_42_in_typeReference1181 = { FOLLOW_42_in_typeReference1181_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_parameter1217 */\r
-static ANTLR3_BITWORD FOLLOW_ID_in_parameter1217_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_ID_in_parameter1217 = { FOLLOW_ID_in_parameter1217_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_parameter1219 */\r
-static ANTLR3_BITWORD FOLLOW_35_in_parameter1219_bits[] = { ANTLR3_UINT64_LIT(0x0000C12045000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_35_in_parameter1219 = { FOLLOW_35_in_parameter1219_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_parameterValue_in_parameter1221 */\r
-static ANTLR3_BITWORD FOLLOW_parameterValue_in_parameter1221_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_parameterValue_in_parameter1221 = { FOLLOW_parameterValue_in_parameter1221_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_parameter1239 */\r
-static ANTLR3_BITWORD FOLLOW_unionType_in_parameter1239_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_unionType_in_parameter1239 = { FOLLOW_unionType_in_parameter1239_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_parameterValue1258 */\r
-static ANTLR3_BITWORD FOLLOW_string_in_parameterValue1258_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_string_in_parameterValue1258 = { FOLLOW_string_in_parameterValue1258_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_in_parameterValue1266 */\r
-static ANTLR3_BITWORD FOLLOW_boolean_in_parameterValue1266_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_boolean_in_parameterValue1266 = { FOLLOW_boolean_in_parameterValue1266_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_parameterValue1274 */\r
-static ANTLR3_BITWORD FOLLOW_number_in_parameterValue1274_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_number_in_parameterValue1274 = { FOLLOW_number_in_parameterValue1274_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_parameterValue1282 */\r
-static ANTLR3_BITWORD FOLLOW_set_in_parameterValue1282_bits[] = { ANTLR3_UINT64_LIT(0x0000008005000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_set_in_parameterValue1282 = { FOLLOW_set_in_parameterValue1282_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_range_in_parameterValue1290 */\r
-static ANTLR3_BITWORD FOLLOW_range_in_parameterValue1290_bits[] = { ANTLR3_UINT64_LIT(0x0000044000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_range_in_parameterValue1290 = { FOLLOW_range_in_parameterValue1290_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_parameterValue1292 */\r
-static ANTLR3_BITWORD FOLLOW_set_in_parameterValue1292_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_set_in_parameterValue1292 = { FOLLOW_set_in_parameterValue1292_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1319 */\r
-static ANTLR3_BITWORD FOLLOW_number_in_range1319_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_number_in_range1319 = { FOLLOW_number_in_range1319_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1327 */\r
-static ANTLR3_BITWORD FOLLOW_number_in_range1327_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_number_in_range1327 = { FOLLOW_number_in_range1327_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1329 */\r
-static ANTLR3_BITWORD FOLLOW_39_in_range1329_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_39_in_range1329 = { FOLLOW_39_in_range1329_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1337 */\r
-static ANTLR3_BITWORD FOLLOW_39_in_range1337_bits[] = { ANTLR3_UINT64_LIT(0x0000000005000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_39_in_range1337 = { FOLLOW_39_in_range1337_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1339 */\r
-static ANTLR3_BITWORD FOLLOW_number_in_range1339_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_number_in_range1339 = { FOLLOW_number_in_range1339_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1348 */\r
-static ANTLR3_BITWORD FOLLOW_number_in_range1348_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_number_in_range1348 = { FOLLOW_number_in_range1348_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1350 */\r
-static ANTLR3_BITWORD FOLLOW_39_in_range1350_bits[] = { ANTLR3_UINT64_LIT(0x0000000005000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_39_in_range1350 = { FOLLOW_39_in_range1350_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1352 */\r
-static ANTLR3_BITWORD FOLLOW_number_in_range1352_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_number_in_range1352 = { FOLLOW_number_in_range1352_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_number0 */\r
-static ANTLR3_BITWORD FOLLOW_set_in_number0_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_set_in_number0 = { FOLLOW_set_in_number0_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_STRING_in_string1402 */\r
-static ANTLR3_BITWORD FOLLOW_STRING_in_string1402_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_STRING_in_string1402 = { FOLLOW_STRING_in_string1402_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_boolean0 */\r
-static ANTLR3_BITWORD FOLLOW_set_in_boolean0_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_set_in_boolean0 = { FOLLOW_set_in_boolean0_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_valueDefinition_in_valueDefinitions1447 */\r
-static ANTLR3_BITWORD FOLLOW_valueDefinition_in_valueDefinitions1447_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_valueDefinition_in_valueDefinitions1447 = { FOLLOW_valueDefinition_in_valueDefinitions1447_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_valueDefinition1470 */\r
-static ANTLR3_BITWORD FOLLOW_ID_in_valueDefinition1470_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_ID_in_valueDefinition1470 = { FOLLOW_ID_in_valueDefinition1470_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_valueDefinition1472 */\r
-static ANTLR3_BITWORD FOLLOW_45_in_valueDefinition1472_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_45_in_valueDefinition1472 = { FOLLOW_45_in_valueDefinition1472_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_valueDefinition1474 */\r
-static ANTLR3_BITWORD FOLLOW_unionType_in_valueDefinition1474_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_unionType_in_valueDefinition1474 = { FOLLOW_unionType_in_valueDefinition1474_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_valueDefinition1476 */\r
-static ANTLR3_BITWORD FOLLOW_35_in_valueDefinition1476_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_35_in_valueDefinition1476 = { FOLLOW_35_in_valueDefinition1476_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_valueDefinition1478 */\r
-static ANTLR3_BITWORD FOLLOW_value_in_valueDefinition1478_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_value_in_valueDefinition1478 = { FOLLOW_value_in_valueDefinition1478_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_basicValue_in_value1514 */\r
-static ANTLR3_BITWORD FOLLOW_basicValue_in_value1514_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_basicValue_in_value1514 = { FOLLOW_basicValue_in_value1514_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_value1528 */\r
-static ANTLR3_BITWORD FOLLOW_45_in_value1528_bits[] = { ANTLR3_UINT64_LIT(0x0000090000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_45_in_value1528 = { FOLLOW_45_in_value1528_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_value1530 */\r
-static ANTLR3_BITWORD FOLLOW_type_in_value1530_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_type_in_value1530 = { FOLLOW_type_in_value1530_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_48_in_basicValue1562 */\r
-static ANTLR3_BITWORD FOLLOW_48_in_basicValue1562_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_48_in_basicValue1562 = { FOLLOW_48_in_basicValue1562_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_basicValue1574 */\r
-static ANTLR3_BITWORD FOLLOW_string_in_basicValue1574_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_string_in_basicValue1574 = { FOLLOW_string_in_basicValue1574_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_basicValue1582 */\r
-static ANTLR3_BITWORD FOLLOW_number_in_basicValue1582_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_number_in_basicValue1582 = { FOLLOW_number_in_basicValue1582_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_in_basicValue1590 */\r
-static ANTLR3_BITWORD FOLLOW_boolean_in_basicValue1590_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_boolean_in_basicValue1590 = { FOLLOW_boolean_in_basicValue1590_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_array_in_basicValue1598 */\r
-static ANTLR3_BITWORD FOLLOW_array_in_basicValue1598_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_array_in_basicValue1598 = { FOLLOW_array_in_basicValue1598_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_tuple_in_basicValue1606 */\r
-static ANTLR3_BITWORD FOLLOW_tuple_in_basicValue1606_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_tuple_in_basicValue1606 = { FOLLOW_tuple_in_basicValue1606_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_taggedValue_in_basicValue1614 */\r
-static ANTLR3_BITWORD FOLLOW_taggedValue_in_basicValue1614_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_taggedValue_in_basicValue1614 = { FOLLOW_taggedValue_in_basicValue1614_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_map_in_basicValue1622 */\r
-static ANTLR3_BITWORD FOLLOW_map_in_basicValue1622_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_map_in_basicValue1622 = { FOLLOW_map_in_basicValue1622_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_record_in_basicValue1630 */\r
-static ANTLR3_BITWORD FOLLOW_record_in_basicValue1630_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_record_in_basicValue1630 = { FOLLOW_record_in_basicValue1630_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_37_in_array1648 */\r
-static ANTLR3_BITWORD FOLLOW_37_in_array1648_bits[] = { ANTLR3_UINT64_LIT(0x0003C96045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_37_in_array1648 = { FOLLOW_37_in_array1648_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_array1651 */\r
-static ANTLR3_BITWORD FOLLOW_value_in_array1651_bits[] = { ANTLR3_UINT64_LIT(0x0000024000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_value_in_array1651 = { FOLLOW_value_in_array1651_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_array1654 */\r
-static ANTLR3_BITWORD FOLLOW_41_in_array1654_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_41_in_array1654 = { FOLLOW_41_in_array1654_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_array1656 */\r
-static ANTLR3_BITWORD FOLLOW_value_in_array1656_bits[] = { ANTLR3_UINT64_LIT(0x0000024000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_value_in_array1656 = { FOLLOW_value_in_array1656_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_38_in_array1662 */\r
-static ANTLR3_BITWORD FOLLOW_38_in_array1662_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_38_in_array1662 = { FOLLOW_38_in_array1662_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_tuple1694 */\r
-static ANTLR3_BITWORD FOLLOW_40_in_tuple1694_bits[] = { ANTLR3_UINT64_LIT(0x0003CD2045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_40_in_tuple1694 = { FOLLOW_40_in_tuple1694_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_tuple1697 */\r
-static ANTLR3_BITWORD FOLLOW_value_in_tuple1697_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_value_in_tuple1697 = { FOLLOW_value_in_tuple1697_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_tuple1700 */\r
-static ANTLR3_BITWORD FOLLOW_41_in_tuple1700_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_41_in_tuple1700 = { FOLLOW_41_in_tuple1700_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_tuple1702 */\r
-static ANTLR3_BITWORD FOLLOW_value_in_tuple1702_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_value_in_tuple1702 = { FOLLOW_value_in_tuple1702_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_tuple1708 */\r
-static ANTLR3_BITWORD FOLLOW_42_in_tuple1708_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_42_in_tuple1708 = { FOLLOW_42_in_tuple1708_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_taggedValue1740 */\r
-static ANTLR3_BITWORD FOLLOW_ID_in_taggedValue1740_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_ID_in_taggedValue1740 = { FOLLOW_ID_in_taggedValue1740_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_basicValue_in_taggedValue1742 */\r
-static ANTLR3_BITWORD FOLLOW_basicValue_in_taggedValue1742_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_basicValue_in_taggedValue1742 = { FOLLOW_basicValue_in_taggedValue1742_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_record1775 */\r
-static ANTLR3_BITWORD FOLLOW_43_in_record1775_bits[] = { ANTLR3_UINT64_LIT(0x0000100000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_43_in_record1775 = { FOLLOW_43_in_record1775_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_recordAssignment_in_record1778 */\r
-static ANTLR3_BITWORD FOLLOW_recordAssignment_in_record1778_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_recordAssignment_in_record1778 = { FOLLOW_recordAssignment_in_record1778_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_record1781 */\r
-static ANTLR3_BITWORD FOLLOW_41_in_record1781_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_41_in_record1781 = { FOLLOW_41_in_record1781_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_recordAssignment_in_record1783 */\r
-static ANTLR3_BITWORD FOLLOW_recordAssignment_in_record1783_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_recordAssignment_in_record1783 = { FOLLOW_recordAssignment_in_record1783_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_record1789 */\r
-static ANTLR3_BITWORD FOLLOW_44_in_record1789_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_44_in_record1789 = { FOLLOW_44_in_record1789_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_recordAssignment1821 */\r
-static ANTLR3_BITWORD FOLLOW_ID_in_recordAssignment1821_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_ID_in_recordAssignment1821 = { FOLLOW_ID_in_recordAssignment1821_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_recordAssignment1823 */\r
-static ANTLR3_BITWORD FOLLOW_35_in_recordAssignment1823_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_35_in_recordAssignment1823 = { FOLLOW_35_in_recordAssignment1823_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_recordAssignment1825 */\r
-static ANTLR3_BITWORD FOLLOW_value_in_recordAssignment1825_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_value_in_recordAssignment1825 = { FOLLOW_value_in_recordAssignment1825_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_49_in_map1852 */\r
-static ANTLR3_BITWORD FOLLOW_49_in_map1852_bits[] = { ANTLR3_UINT64_LIT(0x0000080000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_49_in_map1852 = { FOLLOW_49_in_map1852_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_map1854 */\r
-static ANTLR3_BITWORD FOLLOW_43_in_map1854_bits[] = { ANTLR3_UINT64_LIT(0x0003D92045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_43_in_map1854 = { FOLLOW_43_in_map1854_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_mapAssignment_in_map1857 */\r
-static ANTLR3_BITWORD FOLLOW_mapAssignment_in_map1857_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_mapAssignment_in_map1857 = { FOLLOW_mapAssignment_in_map1857_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_map1860 */\r
-static ANTLR3_BITWORD FOLLOW_41_in_map1860_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_41_in_map1860 = { FOLLOW_41_in_map1860_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_mapAssignment_in_map1862 */\r
-static ANTLR3_BITWORD FOLLOW_mapAssignment_in_map1862_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_mapAssignment_in_map1862 = { FOLLOW_mapAssignment_in_map1862_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_map1868 */\r
-static ANTLR3_BITWORD FOLLOW_44_in_map1868_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_44_in_map1868 = { FOLLOW_44_in_map1868_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_mapAssignment1900 */\r
-static ANTLR3_BITWORD FOLLOW_value_in_mapAssignment1900_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_value_in_mapAssignment1900 = { FOLLOW_value_in_mapAssignment1900_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_mapAssignment1902 */\r
-static ANTLR3_BITWORD FOLLOW_35_in_mapAssignment1902_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };\r
-static ANTLR3_BITSET_LIST FOLLOW_35_in_mapAssignment1902 = { FOLLOW_35_in_mapAssignment1902_bits, 1 };\r
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_mapAssignment1904 */\r
-static ANTLR3_BITWORD FOLLOW_value_in_mapAssignment1904_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };\r
-static ANTLR3_BITSET_LIST FOLLOW_value_in_mapAssignment1904 = { FOLLOW_value_in_mapAssignment1904_bits, 1 };\r
- \r
-\r
- \r
- \r
-/* ==============================================\r
- * Parsing rules\r
- */\r
-/** \r
- * $ANTLR start typeDefinitions\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:1: typeDefinitions : ( typeDefinition )* -> ^( TYPE_DEFINITIONS ( typeDefinition )* ) ;\r
- */\r
-static SimanticsDataParser_typeDefinitions_return\r
-typeDefinitions(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_typeDefinitions_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- SimanticsDataParser_typeDefinition_return typeDefinition1;\r
- #undef RETURN_TYPE_typeDefinition1\r
- #define RETURN_TYPE_typeDefinition1 SimanticsDataParser_typeDefinition_return\r
-\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_typeDefinition;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- typeDefinition1.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
-\r
- stream_typeDefinition = NULL;\r
- #define CREATE_stream_typeDefinition if (stream_typeDefinition == NULL) {stream_typeDefinition = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule typeDefinition"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:17: ( ( typeDefinition )* -> ^( TYPE_DEFINITIONS ( typeDefinition )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: ( typeDefinition )*\r
- {\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: ( typeDefinition )*\r
-\r
- for (;;)\r
- {\r
- int alt1=2;\r
- switch ( LA(1) ) \r
- {\r
- case 34:\r
- {\r
- alt1=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt1) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: typeDefinition\r
- {\r
- FOLLOWPUSH(FOLLOW_typeDefinition_in_typeDefinitions768);\r
- typeDefinition1=typeDefinition(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeDefinitionsEx;\r
- }\r
-\r
- CREATE_stream_typeDefinition; stream_typeDefinition->add(stream_typeDefinition, typeDefinition1.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop1; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop1: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : typeDefinition\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 93:35: -> ^( TYPE_DEFINITIONS ( typeDefinition )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:38: ^( TYPE_DEFINITIONS ( typeDefinition )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_DEFINITIONS, (pANTLR3_UINT8)"TYPE_DEFINITIONS"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:57: ( typeDefinition )*\r
- {\r
- while ( (stream_typeDefinition != NULL && stream_typeDefinition->hasNext(stream_typeDefinition)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_typeDefinition == NULL ? NULL : stream_typeDefinition->nextTree(stream_typeDefinition));\r
-\r
- }\r
- if (stream_typeDefinition != NULL) stream_typeDefinition->reset(stream_typeDefinition);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruletypeDefinitionsEx; /* Prevent compiler warnings */\r
- ruletypeDefinitionsEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_typeDefinition != NULL) stream_typeDefinition->free(stream_typeDefinition);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end typeDefinitions */\r
-\r
-/** \r
- * $ANTLR start typeDefinition\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:95:1: typeDefinition : 'type' ID '=' unionType -> ^( TYPE_DEFINITION ID unionType ) ;\r
- */\r
-static SimanticsDataParser_typeDefinition_return\r
-typeDefinition(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_typeDefinition_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN string_literal2;\r
- pANTLR3_COMMON_TOKEN ID3;\r
- pANTLR3_COMMON_TOKEN char_literal4;\r
- SimanticsDataParser_unionType_return unionType5;\r
- #undef RETURN_TYPE_unionType5\r
- #define RETURN_TYPE_unionType5 SimanticsDataParser_unionType_return\r
-\r
- pANTLR3_BASE_TREE string_literal2_tree;\r
- pANTLR3_BASE_TREE ID3_tree;\r
- pANTLR3_BASE_TREE char_literal4_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_34;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- string_literal2 = NULL;\r
- ID3 = NULL;\r
- char_literal4 = NULL;\r
- unionType5.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- string_literal2_tree = NULL;\r
- ID3_tree = NULL;\r
- char_literal4_tree = NULL;\r
-\r
- stream_ID = NULL;\r
- #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); } \r
- stream_35 = NULL;\r
- #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); } \r
- stream_34 = NULL;\r
- #define CREATE_stream_34 if (stream_34 == NULL) {stream_34 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 34"); } \r
- stream_unionType = NULL;\r
- #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:5: ( 'type' ID '=' unionType -> ^( TYPE_DEFINITION ID unionType ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:7: 'type' ID '=' unionType\r
- {\r
- string_literal2 = (pANTLR3_COMMON_TOKEN) MATCHT(34, &FOLLOW_34_in_typeDefinition791); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeDefinitionEx;\r
- }\r
- \r
- CREATE_stream_34; stream_34->add(stream_34, string_literal2, NULL);\r
-\r
- ID3 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_typeDefinition793); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeDefinitionEx;\r
- }\r
- \r
- CREATE_stream_ID; stream_ID->add(stream_ID, ID3, NULL);\r
-\r
- char_literal4 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_typeDefinition795); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeDefinitionEx;\r
- }\r
- \r
- CREATE_stream_35; stream_35->add(stream_35, char_literal4, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_unionType_in_typeDefinition797);\r
- unionType5=unionType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeDefinitionEx;\r
- }\r
-\r
- CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType5.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : unionType, ID\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 96:31: -> ^( TYPE_DEFINITION ID unionType )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:34: ^( TYPE_DEFINITION ID unionType )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_DEFINITION, (pANTLR3_UINT8)"TYPE_DEFINITION"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruletypeDefinitionEx; /* Prevent compiler warnings */\r
- ruletypeDefinitionEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_ID != NULL) stream_ID->free(stream_ID);\r
- if (stream_35 != NULL) stream_35->free(stream_35);\r
- if (stream_34 != NULL) stream_34->free(stream_34);\r
- if (stream_unionType != NULL) stream_unionType->free(stream_unionType);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end typeDefinition */\r
-\r
-/** \r
- * $ANTLR start unionType\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:99:1: unionType : ( type | ( '|' unionComponent )+ -> ^( UNION_TYPE ( unionComponent )+ ) );\r
- */\r
-static SimanticsDataParser_unionType_return\r
-unionType(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_unionType_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal7;\r
- SimanticsDataParser_type_return type6;\r
- #undef RETURN_TYPE_type6\r
- #define RETURN_TYPE_type6 SimanticsDataParser_type_return\r
-\r
- SimanticsDataParser_unionComponent_return unionComponent8;\r
- #undef RETURN_TYPE_unionComponent8\r
- #define RETURN_TYPE_unionComponent8 SimanticsDataParser_unionComponent_return\r
-\r
- pANTLR3_BASE_TREE char_literal7_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_36;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionComponent;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal7 = NULL;\r
- type6.tree = NULL;\r
-\r
- unionComponent8.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal7_tree = NULL;\r
-\r
- stream_36 = NULL;\r
- #define CREATE_stream_36 if (stream_36 == NULL) {stream_36 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 36"); } \r
- stream_unionComponent = NULL;\r
- #define CREATE_stream_unionComponent if (stream_unionComponent == NULL) {stream_unionComponent = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionComponent"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:100:5: ( type | ( '|' unionComponent )+ -> ^( UNION_TYPE ( unionComponent )+ ) )\r
- \r
- ANTLR3_UINT32 alt3;\r
-\r
- alt3=2;\r
-\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- case 40:\r
- case 43:\r
- {\r
- alt3=1;\r
- }\r
- break;\r
- case 36:\r
- {\r
- alt3=2;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 3;\r
- EXCEPTION->state = 0;\r
-\r
-\r
- goto ruleunionTypeEx;\r
- }\r
-\r
- switch (alt3) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:100:7: type\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_type_in_unionType829);\r
- type6=type(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleunionTypeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, type6.tree);\r
-\r
- }\r
- break;\r
- case 2:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:7: ( '|' unionComponent )+\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:7: ( '|' unionComponent )+\r
- {\r
- int cnt2=0;\r
-\r
- for (;;)\r
- {\r
- int alt2=2;\r
- switch ( LA(1) ) \r
- {\r
- case 36:\r
- {\r
- alt2=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt2) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:8: '|' unionComponent\r
- {\r
- char_literal7 = (pANTLR3_COMMON_TOKEN) MATCHT(36, &FOLLOW_36_in_unionType838); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruleunionTypeEx;\r
- }\r
- \r
- CREATE_stream_36; stream_36->add(stream_36, char_literal7, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_unionComponent_in_unionType840);\r
- unionComponent8=unionComponent(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleunionTypeEx;\r
- }\r
-\r
- CREATE_stream_unionComponent; stream_unionComponent->add(stream_unionComponent, unionComponent8.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- \r
- if ( cnt2 >= 1 )\r
- {\r
- goto loop2;\r
- }\r
- /* mismatchedSetEx()\r
- */\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;\r
- EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;\r
-\r
-\r
- goto ruleunionTypeEx;\r
- }\r
- cnt2++;\r
- }\r
- loop2: ; /* Jump to here if this rule does not match */\r
- }\r
-\r
- \r
- /* AST REWRITE\r
- * elements : unionComponent\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 102:5: -> ^( UNION_TYPE ( unionComponent )+ )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:102:8: ^( UNION_TYPE ( unionComponent )+ )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, UNION_TYPE, (pANTLR3_UINT8)"UNION_TYPE"), root_1));\r
-\r
- if ((stream_unionComponent == NULL || !stream_unionComponent->hasNext(stream_unionComponent)) )\r
- {\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_REWRITE_EARLY_EXCEPTION;\r
- EXCEPTION->name = (void *)ANTLR3_REWRITE_EARLY_EXCEPTION_NAME;\r
- }\r
- else\r
- {\r
- while ( (stream_unionComponent->hasNext(stream_unionComponent)) ) {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_unionComponent == NULL ? NULL : stream_unionComponent->nextTree(stream_unionComponent));\r
-\r
- }\r
- stream_unionComponent->reset(stream_unionComponent);\r
-\r
- }\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
- break;\r
-\r
- }\r
- }\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruleunionTypeEx; /* Prevent compiler warnings */\r
- ruleunionTypeEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_36 != NULL) stream_36->free(stream_36);\r
- if (stream_unionComponent != NULL) stream_unionComponent->free(stream_unionComponent);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end unionType */\r
-\r
-/** \r
- * $ANTLR start unionComponent\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:1: unionComponent : ID ( type )? -> ^( TYPE_COMPONENT ID ( type )? ) ;\r
- */\r
-static SimanticsDataParser_unionComponent_return\r
-unionComponent(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_unionComponent_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN ID9;\r
- SimanticsDataParser_type_return type10;\r
- #undef RETURN_TYPE_type10\r
- #define RETURN_TYPE_type10 SimanticsDataParser_type_return\r
-\r
- pANTLR3_BASE_TREE ID9_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_type;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- ID9 = NULL;\r
- type10.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- ID9_tree = NULL;\r
-\r
- stream_ID = NULL;\r
- #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); } \r
- stream_type = NULL;\r
- #define CREATE_stream_type if (stream_type == NULL) {stream_type = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule type"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:16: ( ID ( type )? -> ^( TYPE_COMPONENT ID ( type )? ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:18: ID ( type )?\r
- {\r
- ID9 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_unionComponent871); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruleunionComponentEx;\r
- }\r
- \r
- CREATE_stream_ID; stream_ID->add(stream_ID, ID9, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:21: ( type )?\r
- {\r
- int alt4=2;\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- case 40:\r
- case 43:\r
- {\r
- alt4=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt4) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:21: type\r
- {\r
- FOLLOWPUSH(FOLLOW_type_in_unionComponent873);\r
- type10=type(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleunionComponentEx;\r
- }\r
-\r
- CREATE_stream_type; stream_type->add(stream_type, type10.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
-\r
- \r
- /* AST REWRITE\r
- * elements : ID, type\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 105:27: -> ^( TYPE_COMPONENT ID ( type )? )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:30: ^( TYPE_COMPONENT ID ( type )? )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_COMPONENT, (pANTLR3_UINT8)"TYPE_COMPONENT"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:50: ( type )?\r
- {\r
- if ( (stream_type != NULL && stream_type->hasNext(stream_type)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_type == NULL ? NULL : stream_type->nextTree(stream_type));\r
-\r
- }\r
- if ( stream_type != NULL) stream_type->reset(stream_type);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruleunionComponentEx; /* Prevent compiler warnings */\r
- ruleunionComponentEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_ID != NULL) stream_ID->free(stream_ID);\r
- if (stream_type != NULL) stream_type->free(stream_type);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end unionComponent */\r
-\r
-/** \r
- * $ANTLR start type\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:107:1: type : ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )* ;\r
- */\r
-static SimanticsDataParser_type_return\r
-type(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_type_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal12;\r
- pANTLR3_COMMON_TOKEN char_literal14;\r
- SimanticsDataParser_basicType_return basicType11;\r
- #undef RETURN_TYPE_basicType11\r
- #define RETURN_TYPE_basicType11 SimanticsDataParser_basicType_return\r
-\r
- SimanticsDataParser_arrayLength_return arrayLength13;\r
- #undef RETURN_TYPE_arrayLength13\r
- #define RETURN_TYPE_arrayLength13 SimanticsDataParser_arrayLength_return\r
-\r
- pANTLR3_BASE_TREE char_literal12_tree;\r
- pANTLR3_BASE_TREE char_literal14_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_37;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_38;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_arrayLength;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicType;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal12 = NULL;\r
- char_literal14 = NULL;\r
- basicType11.tree = NULL;\r
-\r
- arrayLength13.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal12_tree = NULL;\r
- char_literal14_tree = NULL;\r
-\r
- stream_37 = NULL;\r
- #define CREATE_stream_37 if (stream_37 == NULL) {stream_37 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 37"); } \r
- stream_38 = NULL;\r
- #define CREATE_stream_38 if (stream_38 == NULL) {stream_38 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 38"); } \r
- stream_arrayLength = NULL;\r
- #define CREATE_stream_arrayLength if (stream_arrayLength == NULL) {stream_arrayLength = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule arrayLength"); }\r
- stream_basicType = NULL;\r
- #define CREATE_stream_basicType if (stream_basicType == NULL) {stream_basicType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicType"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:5: ( ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )* )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:7: ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )*\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:7: ( basicType -> basicType )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:8: basicType\r
- {\r
- FOLLOWPUSH(FOLLOW_basicType_in_type900);\r
- basicType11=basicType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeEx;\r
- }\r
-\r
- CREATE_stream_basicType; stream_basicType->add(stream_basicType, basicType11.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : basicType\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 108:18: -> basicType\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_0, stream_basicType == NULL ? NULL : stream_basicType->nextTree(stream_basicType));\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:7: ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )*\r
-\r
- for (;;)\r
- {\r
- int alt6=2;\r
- switch ( LA(1) ) \r
- {\r
- case 37:\r
- {\r
- alt6=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt6) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:8: '[' ( arrayLength )? ']'\r
- {\r
- char_literal12 = (pANTLR3_COMMON_TOKEN) MATCHT(37, &FOLLOW_37_in_type914); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeEx;\r
- }\r
- \r
- CREATE_stream_37; stream_37->add(stream_37, char_literal12, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:12: ( arrayLength )?\r
- {\r
- int alt5=2;\r
- switch ( LA(1) ) \r
- {\r
- case INT:\r
- case 39:\r
- {\r
- alt5=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt5) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:12: arrayLength\r
- {\r
- FOLLOWPUSH(FOLLOW_arrayLength_in_type916);\r
- arrayLength13=arrayLength(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeEx;\r
- }\r
-\r
- CREATE_stream_arrayLength; stream_arrayLength->add(stream_arrayLength, arrayLength13.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- char_literal14 = (pANTLR3_COMMON_TOKEN) MATCHT(38, &FOLLOW_38_in_type919); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeEx;\r
- }\r
- \r
- CREATE_stream_38; stream_38->add(stream_38, char_literal14, NULL);\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : arrayLength, type\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 109:29: -> ^( ARRAY_TYPE $type ( arrayLength )? )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:32: ^( ARRAY_TYPE $type ( arrayLength )? )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ARRAY_TYPE, (pANTLR3_UINT8)"ARRAY_TYPE"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_retval == NULL ? NULL : stream_retval->nextTree(stream_retval));\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:51: ( arrayLength )?\r
- {\r
- if ( (stream_arrayLength != NULL && stream_arrayLength->hasNext(stream_arrayLength)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_arrayLength == NULL ? NULL : stream_arrayLength->nextTree(stream_arrayLength));\r
-\r
- }\r
- if ( stream_arrayLength != NULL) stream_arrayLength->reset(stream_arrayLength);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
- break;\r
-\r
- default:\r
- goto loop6; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop6: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruletypeEx; /* Prevent compiler warnings */\r
- ruletypeEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_37 != NULL) stream_37->free(stream_37);\r
- if (stream_38 != NULL) stream_38->free(stream_38);\r
- if (stream_arrayLength != NULL) stream_arrayLength->free(stream_arrayLength);\r
- if (stream_basicType != NULL) stream_basicType->free(stream_basicType);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end type */\r
-\r
-/** \r
- * $ANTLR start arrayLength\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:111:1: arrayLength : ( INT | INT '..' | '..' INT | INT '..' INT );\r
- */\r
-static SimanticsDataParser_arrayLength_return\r
-arrayLength(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_arrayLength_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN INT15;\r
- pANTLR3_COMMON_TOKEN INT16;\r
- pANTLR3_COMMON_TOKEN string_literal17;\r
- pANTLR3_COMMON_TOKEN string_literal18;\r
- pANTLR3_COMMON_TOKEN INT19;\r
- pANTLR3_COMMON_TOKEN INT20;\r
- pANTLR3_COMMON_TOKEN string_literal21;\r
- pANTLR3_COMMON_TOKEN INT22;\r
-\r
- pANTLR3_BASE_TREE INT15_tree;\r
- pANTLR3_BASE_TREE INT16_tree;\r
- pANTLR3_BASE_TREE string_literal17_tree;\r
- pANTLR3_BASE_TREE string_literal18_tree;\r
- pANTLR3_BASE_TREE INT19_tree;\r
- pANTLR3_BASE_TREE INT20_tree;\r
- pANTLR3_BASE_TREE string_literal21_tree;\r
- pANTLR3_BASE_TREE INT22_tree;\r
-\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- INT15 = NULL;\r
- INT16 = NULL;\r
- string_literal17 = NULL;\r
- string_literal18 = NULL;\r
- INT19 = NULL;\r
- INT20 = NULL;\r
- string_literal21 = NULL;\r
- INT22 = NULL;\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- INT15_tree = NULL;\r
- INT16_tree = NULL;\r
- string_literal17_tree = NULL;\r
- string_literal18_tree = NULL;\r
- INT19_tree = NULL;\r
- INT20_tree = NULL;\r
- string_literal21_tree = NULL;\r
- INT22_tree = NULL;\r
-\r
-\r
- retval.tree = NULL;\r
- {\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:112:5: ( INT | INT '..' | '..' INT | INT '..' INT )\r
- \r
- ANTLR3_UINT32 alt7;\r
-\r
- alt7=4;\r
-\r
- switch ( LA(1) ) \r
- {\r
- case INT:\r
- {\r
- switch ( LA(2) ) \r
- {\r
- case 39:\r
- {\r
- switch ( LA(3) ) \r
- {\r
- case INT:\r
- {\r
- alt7=4;\r
- }\r
- break;\r
- case 38:\r
- {\r
- alt7=2;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 7;\r
- EXCEPTION->state = 3;\r
-\r
-\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- }\r
- break;\r
- case 38:\r
- {\r
- alt7=1;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 7;\r
- EXCEPTION->state = 1;\r
-\r
-\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- }\r
- break;\r
- case 39:\r
- {\r
- alt7=3;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 7;\r
- EXCEPTION->state = 0;\r
-\r
-\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- switch (alt7) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:112:7: INT\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- INT15 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength947); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- INT15_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT15));\r
- ADAPTOR->addChild(ADAPTOR, root_0, INT15_tree);\r
-\r
-\r
- }\r
- break;\r
- case 2:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:113:7: INT '..'\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- INT16 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength955); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- INT16_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT16));\r
- ADAPTOR->addChild(ADAPTOR, root_0, INT16_tree);\r
-\r
- string_literal17 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength957); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- string_literal17_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal17));\r
- ADAPTOR->addChild(ADAPTOR, root_0, string_literal17_tree);\r
-\r
-\r
- }\r
- break;\r
- case 3:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:114:7: '..' INT\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- string_literal18 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength965); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- string_literal18_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal18));\r
- ADAPTOR->addChild(ADAPTOR, root_0, string_literal18_tree);\r
-\r
- INT19 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength967); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- INT19_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT19));\r
- ADAPTOR->addChild(ADAPTOR, root_0, INT19_tree);\r
-\r
-\r
- }\r
- break;\r
- case 4:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:115:7: INT '..' INT\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- INT20 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength976); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- INT20_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT20));\r
- ADAPTOR->addChild(ADAPTOR, root_0, INT20_tree);\r
-\r
- string_literal21 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength978); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- string_literal21_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal21));\r
- ADAPTOR->addChild(ADAPTOR, root_0, string_literal21_tree);\r
-\r
- INT22 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength980); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayLengthEx;\r
- }\r
-\r
- INT22_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT22));\r
- ADAPTOR->addChild(ADAPTOR, root_0, INT22_tree);\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulearrayLengthEx; /* Prevent compiler warnings */\r
- rulearrayLengthEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end arrayLength */\r
-\r
-/** \r
- * $ANTLR start basicType\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:118:1: basicType : ( tupleType | recordType | typeReference );\r
- */\r
-static SimanticsDataParser_basicType_return\r
-basicType(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_basicType_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- SimanticsDataParser_tupleType_return tupleType23;\r
- #undef RETURN_TYPE_tupleType23\r
- #define RETURN_TYPE_tupleType23 SimanticsDataParser_tupleType_return\r
-\r
- SimanticsDataParser_recordType_return recordType24;\r
- #undef RETURN_TYPE_recordType24\r
- #define RETURN_TYPE_recordType24 SimanticsDataParser_recordType_return\r
-\r
- SimanticsDataParser_typeReference_return typeReference25;\r
- #undef RETURN_TYPE_typeReference25\r
- #define RETURN_TYPE_typeReference25 SimanticsDataParser_typeReference_return\r
-\r
-\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- tupleType23.tree = NULL;\r
-\r
- recordType24.tree = NULL;\r
-\r
- typeReference25.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
-\r
-\r
- retval.tree = NULL;\r
- {\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:119:5: ( tupleType | recordType | typeReference )\r
- \r
- ANTLR3_UINT32 alt8;\r
-\r
- alt8=3;\r
-\r
- switch ( LA(1) ) \r
- {\r
- case 40:\r
- {\r
- alt8=1;\r
- }\r
- break;\r
- case 43:\r
- {\r
- alt8=2;\r
- }\r
- break;\r
- case ID:\r
- {\r
- alt8=3;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 8;\r
- EXCEPTION->state = 0;\r
-\r
-\r
- goto rulebasicTypeEx;\r
- }\r
-\r
- switch (alt8) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:119:7: tupleType\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_tupleType_in_basicType998);\r
- tupleType23=tupleType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicTypeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, tupleType23.tree);\r
-\r
- }\r
- break;\r
- case 2:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:120:7: recordType\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_recordType_in_basicType1006);\r
- recordType24=recordType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicTypeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, recordType24.tree);\r
-\r
- }\r
- break;\r
- case 3:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:121:7: typeReference\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_typeReference_in_basicType1014);\r
- typeReference25=typeReference(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicTypeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, typeReference25.tree);\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulebasicTypeEx; /* Prevent compiler warnings */\r
- rulebasicTypeEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end basicType */\r
-\r
-/** \r
- * $ANTLR start tupleType\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:124:1: tupleType : '(' ( unionType ( ',' unionType )* )? ')' -> ^( TUPLE_TYPE ( unionType )* ) ;\r
- */\r
-static SimanticsDataParser_tupleType_return\r
-tupleType(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_tupleType_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal26;\r
- pANTLR3_COMMON_TOKEN char_literal28;\r
- pANTLR3_COMMON_TOKEN char_literal30;\r
- SimanticsDataParser_unionType_return unionType27;\r
- #undef RETURN_TYPE_unionType27\r
- #define RETURN_TYPE_unionType27 SimanticsDataParser_unionType_return\r
-\r
- SimanticsDataParser_unionType_return unionType29;\r
- #undef RETURN_TYPE_unionType29\r
- #define RETURN_TYPE_unionType29 SimanticsDataParser_unionType_return\r
-\r
- pANTLR3_BASE_TREE char_literal26_tree;\r
- pANTLR3_BASE_TREE char_literal28_tree;\r
- pANTLR3_BASE_TREE char_literal30_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal26 = NULL;\r
- char_literal28 = NULL;\r
- char_literal30 = NULL;\r
- unionType27.tree = NULL;\r
-\r
- unionType29.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal26_tree = NULL;\r
- char_literal28_tree = NULL;\r
- char_literal30_tree = NULL;\r
-\r
- stream_42 = NULL;\r
- #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); } \r
- stream_41 = NULL;\r
- #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); } \r
- stream_40 = NULL;\r
- #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); } \r
- stream_unionType = NULL;\r
- #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:5: ( '(' ( unionType ( ',' unionType )* )? ')' -> ^( TUPLE_TYPE ( unionType )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:7: '(' ( unionType ( ',' unionType )* )? ')'\r
- {\r
- char_literal26 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_tupleType1036); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleTypeEx;\r
- }\r
- \r
- CREATE_stream_40; stream_40->add(stream_40, char_literal26, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:11: ( unionType ( ',' unionType )* )?\r
- {\r
- int alt10=2;\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- case 36:\r
- case 40:\r
- case 43:\r
- {\r
- alt10=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt10) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:12: unionType ( ',' unionType )*\r
- {\r
- FOLLOWPUSH(FOLLOW_unionType_in_tupleType1039);\r
- unionType27=unionType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleTypeEx;\r
- }\r
-\r
- CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType27.tree, NULL);\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:22: ( ',' unionType )*\r
-\r
- for (;;)\r
- {\r
- int alt9=2;\r
- switch ( LA(1) ) \r
- {\r
- case 41:\r
- {\r
- alt9=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt9) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:23: ',' unionType\r
- {\r
- char_literal28 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_tupleType1042); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleTypeEx;\r
- }\r
- \r
- CREATE_stream_41; stream_41->add(stream_41, char_literal28, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_unionType_in_tupleType1044);\r
- unionType29=unionType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleTypeEx;\r
- }\r
-\r
- CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType29.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop9; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop9: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- char_literal30 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_tupleType1050); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleTypeEx;\r
- }\r
- \r
- CREATE_stream_42; stream_42->add(stream_42, char_literal30, NULL);\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : unionType\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 126:5: -> ^( TUPLE_TYPE ( unionType )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:126:8: ^( TUPLE_TYPE ( unionType )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TUPLE_TYPE, (pANTLR3_UINT8)"TUPLE_TYPE"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:126:21: ( unionType )*\r
- {\r
- while ( (stream_unionType != NULL && stream_unionType->hasNext(stream_unionType)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));\r
-\r
- }\r
- if (stream_unionType != NULL) stream_unionType->reset(stream_unionType);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruletupleTypeEx; /* Prevent compiler warnings */\r
- ruletupleTypeEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_42 != NULL) stream_42->free(stream_42);\r
- if (stream_41 != NULL) stream_41->free(stream_41);\r
- if (stream_40 != NULL) stream_40->free(stream_40);\r
- if (stream_unionType != NULL) stream_unionType->free(stream_unionType);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end tupleType */\r
-\r
-/** \r
- * $ANTLR start recordType\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:129:1: recordType : '{' ( component ( ',' component )* )? '}' -> ^( RECORD_TYPE ( component )* ) ;\r
- */\r
-static SimanticsDataParser_recordType_return\r
-recordType(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_recordType_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal31;\r
- pANTLR3_COMMON_TOKEN char_literal33;\r
- pANTLR3_COMMON_TOKEN char_literal35;\r
- SimanticsDataParser_component_return component32;\r
- #undef RETURN_TYPE_component32\r
- #define RETURN_TYPE_component32 SimanticsDataParser_component_return\r
-\r
- SimanticsDataParser_component_return component34;\r
- #undef RETURN_TYPE_component34\r
- #define RETURN_TYPE_component34 SimanticsDataParser_component_return\r
-\r
- pANTLR3_BASE_TREE char_literal31_tree;\r
- pANTLR3_BASE_TREE char_literal33_tree;\r
- pANTLR3_BASE_TREE char_literal35_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_component;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal31 = NULL;\r
- char_literal33 = NULL;\r
- char_literal35 = NULL;\r
- component32.tree = NULL;\r
-\r
- component34.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal31_tree = NULL;\r
- char_literal33_tree = NULL;\r
- char_literal35_tree = NULL;\r
-\r
- stream_43 = NULL;\r
- #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); } \r
- stream_44 = NULL;\r
- #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); } \r
- stream_41 = NULL;\r
- #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); } \r
- stream_component = NULL;\r
- #define CREATE_stream_component if (stream_component == NULL) {stream_component = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule component"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:5: ( '{' ( component ( ',' component )* )? '}' -> ^( RECORD_TYPE ( component )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:7: '{' ( component ( ',' component )* )? '}'\r
- {\r
- char_literal31 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_recordType1083); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordTypeEx;\r
- }\r
- \r
- CREATE_stream_43; stream_43->add(stream_43, char_literal31, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:11: ( component ( ',' component )* )?\r
- {\r
- int alt12=2;\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- {\r
- alt12=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt12) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:12: component ( ',' component )*\r
- {\r
- FOLLOWPUSH(FOLLOW_component_in_recordType1086);\r
- component32=component(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordTypeEx;\r
- }\r
-\r
- CREATE_stream_component; stream_component->add(stream_component, component32.tree, NULL);\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:22: ( ',' component )*\r
-\r
- for (;;)\r
- {\r
- int alt11=2;\r
- switch ( LA(1) ) \r
- {\r
- case 41:\r
- {\r
- alt11=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt11) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:23: ',' component\r
- {\r
- char_literal33 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_recordType1089); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordTypeEx;\r
- }\r
- \r
- CREATE_stream_41; stream_41->add(stream_41, char_literal33, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_component_in_recordType1091);\r
- component34=component(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordTypeEx;\r
- }\r
-\r
- CREATE_stream_component; stream_component->add(stream_component, component34.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop11; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop11: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- char_literal35 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_recordType1097); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordTypeEx;\r
- }\r
- \r
- CREATE_stream_44; stream_44->add(stream_44, char_literal35, NULL);\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : component\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 131:5: -> ^( RECORD_TYPE ( component )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:131:8: ^( RECORD_TYPE ( component )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, RECORD_TYPE, (pANTLR3_UINT8)"RECORD_TYPE"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:131:22: ( component )*\r
- {\r
- while ( (stream_component != NULL && stream_component->hasNext(stream_component)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_component == NULL ? NULL : stream_component->nextTree(stream_component));\r
-\r
- }\r
- if (stream_component != NULL) stream_component->reset(stream_component);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulerecordTypeEx; /* Prevent compiler warnings */\r
- rulerecordTypeEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_43 != NULL) stream_43->free(stream_43);\r
- if (stream_44 != NULL) stream_44->free(stream_44);\r
- if (stream_41 != NULL) stream_41->free(stream_41);\r
- if (stream_component != NULL) stream_component->free(stream_component);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end recordType */\r
-\r
-/** \r
- * $ANTLR start component\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:134:1: component : ID ':' unionType -> ^( TYPE_COMPONENT ID unionType ) ;\r
- */\r
-static SimanticsDataParser_component_return\r
-component(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_component_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN ID36;\r
- pANTLR3_COMMON_TOKEN char_literal37;\r
- SimanticsDataParser_unionType_return unionType38;\r
- #undef RETURN_TYPE_unionType38\r
- #define RETURN_TYPE_unionType38 SimanticsDataParser_unionType_return\r
-\r
- pANTLR3_BASE_TREE ID36_tree;\r
- pANTLR3_BASE_TREE char_literal37_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- ID36 = NULL;\r
- char_literal37 = NULL;\r
- unionType38.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- ID36_tree = NULL;\r
- char_literal37_tree = NULL;\r
-\r
- stream_45 = NULL;\r
- #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); } \r
- stream_ID = NULL;\r
- #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); } \r
- stream_unionType = NULL;\r
- #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:135:5: ( ID ':' unionType -> ^( TYPE_COMPONENT ID unionType ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:135:7: ID ':' unionType\r
- {\r
- ID36 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_component1129); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulecomponentEx;\r
- }\r
- \r
- CREATE_stream_ID; stream_ID->add(stream_ID, ID36, NULL);\r
-\r
- char_literal37 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_component1131); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulecomponentEx;\r
- }\r
- \r
- CREATE_stream_45; stream_45->add(stream_45, char_literal37, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_unionType_in_component1133);\r
- unionType38=unionType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulecomponentEx;\r
- }\r
-\r
- CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType38.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : ID, unionType\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 136:5: -> ^( TYPE_COMPONENT ID unionType )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:136:8: ^( TYPE_COMPONENT ID unionType )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_COMPONENT, (pANTLR3_UINT8)"TYPE_COMPONENT"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulecomponentEx; /* Prevent compiler warnings */\r
- rulecomponentEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_45 != NULL) stream_45->free(stream_45);\r
- if (stream_ID != NULL) stream_ID->free(stream_ID);\r
- if (stream_unionType != NULL) stream_unionType->free(stream_unionType);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end component */\r
-\r
-/** \r
- * $ANTLR start typeReference\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:139:1: typeReference : ID ( '(' parameter ( ',' parameter )* ')' )? -> ^( TYPE_REFERENCE ID ( parameter )* ) ;\r
- */\r
-static SimanticsDataParser_typeReference_return\r
-typeReference(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_typeReference_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN ID39;\r
- pANTLR3_COMMON_TOKEN char_literal40;\r
- pANTLR3_COMMON_TOKEN char_literal42;\r
- pANTLR3_COMMON_TOKEN char_literal44;\r
- SimanticsDataParser_parameter_return parameter41;\r
- #undef RETURN_TYPE_parameter41\r
- #define RETURN_TYPE_parameter41 SimanticsDataParser_parameter_return\r
-\r
- SimanticsDataParser_parameter_return parameter43;\r
- #undef RETURN_TYPE_parameter43\r
- #define RETURN_TYPE_parameter43 SimanticsDataParser_parameter_return\r
-\r
- pANTLR3_BASE_TREE ID39_tree;\r
- pANTLR3_BASE_TREE char_literal40_tree;\r
- pANTLR3_BASE_TREE char_literal42_tree;\r
- pANTLR3_BASE_TREE char_literal44_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_parameter;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- ID39 = NULL;\r
- char_literal40 = NULL;\r
- char_literal42 = NULL;\r
- char_literal44 = NULL;\r
- parameter41.tree = NULL;\r
-\r
- parameter43.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- ID39_tree = NULL;\r
- char_literal40_tree = NULL;\r
- char_literal42_tree = NULL;\r
- char_literal44_tree = NULL;\r
-\r
- stream_42 = NULL;\r
- #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); } \r
- stream_41 = NULL;\r
- #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); } \r
- stream_40 = NULL;\r
- #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); } \r
- stream_ID = NULL;\r
- #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); } \r
- stream_parameter = NULL;\r
- #define CREATE_stream_parameter if (stream_parameter == NULL) {stream_parameter = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule parameter"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:5: ( ID ( '(' parameter ( ',' parameter )* ')' )? -> ^( TYPE_REFERENCE ID ( parameter )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:7: ID ( '(' parameter ( ',' parameter )* ')' )?\r
- {\r
- ID39 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_typeReference1167); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeReferenceEx;\r
- }\r
- \r
- CREATE_stream_ID; stream_ID->add(stream_ID, ID39, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:10: ( '(' parameter ( ',' parameter )* ')' )?\r
- {\r
- int alt14=2;\r
- switch ( LA(1) ) \r
- {\r
- case 40:\r
- {\r
- alt14=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt14) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:11: '(' parameter ( ',' parameter )* ')'\r
- {\r
- char_literal40 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_typeReference1170); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeReferenceEx;\r
- }\r
- \r
- CREATE_stream_40; stream_40->add(stream_40, char_literal40, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_parameter_in_typeReference1172);\r
- parameter41=parameter(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeReferenceEx;\r
- }\r
-\r
- CREATE_stream_parameter; stream_parameter->add(stream_parameter, parameter41.tree, NULL);\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:25: ( ',' parameter )*\r
-\r
- for (;;)\r
- {\r
- int alt13=2;\r
- switch ( LA(1) ) \r
- {\r
- case 41:\r
- {\r
- alt13=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt13) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:26: ',' parameter\r
- {\r
- char_literal42 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_typeReference1175); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeReferenceEx;\r
- }\r
- \r
- CREATE_stream_41; stream_41->add(stream_41, char_literal42, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_parameter_in_typeReference1177);\r
- parameter43=parameter(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeReferenceEx;\r
- }\r
-\r
- CREATE_stream_parameter; stream_parameter->add(stream_parameter, parameter43.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop13; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop13: ; /* Jump out to here if this rule does not match */\r
-\r
- char_literal44 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_typeReference1181); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletypeReferenceEx;\r
- }\r
- \r
- CREATE_stream_42; stream_42->add(stream_42, char_literal44, NULL);\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
-\r
- \r
- /* AST REWRITE\r
- * elements : ID, parameter\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 141:5: -> ^( TYPE_REFERENCE ID ( parameter )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:141:8: ^( TYPE_REFERENCE ID ( parameter )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_REFERENCE, (pANTLR3_UINT8)"TYPE_REFERENCE"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:141:28: ( parameter )*\r
- {\r
- while ( (stream_parameter != NULL && stream_parameter->hasNext(stream_parameter)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_parameter == NULL ? NULL : stream_parameter->nextTree(stream_parameter));\r
-\r
- }\r
- if (stream_parameter != NULL) stream_parameter->reset(stream_parameter);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruletypeReferenceEx; /* Prevent compiler warnings */\r
- ruletypeReferenceEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_42 != NULL) stream_42->free(stream_42);\r
- if (stream_41 != NULL) stream_41->free(stream_41);\r
- if (stream_40 != NULL) stream_40->free(stream_40);\r
- if (stream_ID != NULL) stream_ID->free(stream_ID);\r
- if (stream_parameter != NULL) stream_parameter->free(stream_parameter);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end typeReference */\r
-\r
-/** \r
- * $ANTLR start parameter\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:144:1: parameter : ( ID '=' parameterValue -> ^( TYPE_ANNOTATION ID parameterValue ) | unionType );\r
- */\r
-static SimanticsDataParser_parameter_return\r
-parameter(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_parameter_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN ID45;\r
- pANTLR3_COMMON_TOKEN char_literal46;\r
- SimanticsDataParser_parameterValue_return parameterValue47;\r
- #undef RETURN_TYPE_parameterValue47\r
- #define RETURN_TYPE_parameterValue47 SimanticsDataParser_parameterValue_return\r
-\r
- SimanticsDataParser_unionType_return unionType48;\r
- #undef RETURN_TYPE_unionType48\r
- #define RETURN_TYPE_unionType48 SimanticsDataParser_unionType_return\r
-\r
- pANTLR3_BASE_TREE ID45_tree;\r
- pANTLR3_BASE_TREE char_literal46_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_parameterValue;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- ID45 = NULL;\r
- char_literal46 = NULL;\r
- parameterValue47.tree = NULL;\r
-\r
- unionType48.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- ID45_tree = NULL;\r
- char_literal46_tree = NULL;\r
-\r
- stream_ID = NULL;\r
- #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); } \r
- stream_35 = NULL;\r
- #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); } \r
- stream_parameterValue = NULL;\r
- #define CREATE_stream_parameterValue if (stream_parameterValue == NULL) {stream_parameterValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule parameterValue"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:5: ( ID '=' parameterValue -> ^( TYPE_ANNOTATION ID parameterValue ) | unionType )\r
- \r
- ANTLR3_UINT32 alt15;\r
-\r
- alt15=2;\r
-\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- {\r
- switch ( LA(2) ) \r
- {\r
- case 35:\r
- {\r
- alt15=1;\r
- }\r
- break;\r
- case 37:\r
- case 40:\r
- case 41:\r
- case 42:\r
- {\r
- alt15=2;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 15;\r
- EXCEPTION->state = 1;\r
-\r
-\r
- goto ruleparameterEx;\r
- }\r
-\r
- }\r
- break;\r
- case 36:\r
- case 40:\r
- case 43:\r
- {\r
- alt15=2;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 15;\r
- EXCEPTION->state = 0;\r
-\r
-\r
- goto ruleparameterEx;\r
- }\r
-\r
- switch (alt15) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:7: ID '=' parameterValue\r
- {\r
- ID45 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_parameter1217); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruleparameterEx;\r
- }\r
- \r
- CREATE_stream_ID; stream_ID->add(stream_ID, ID45, NULL);\r
-\r
- char_literal46 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_parameter1219); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruleparameterEx;\r
- }\r
- \r
- CREATE_stream_35; stream_35->add(stream_35, char_literal46, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_parameterValue_in_parameter1221);\r
- parameterValue47=parameterValue(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleparameterEx;\r
- }\r
-\r
- CREATE_stream_parameterValue; stream_parameterValue->add(stream_parameterValue, parameterValue47.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : ID, parameterValue\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 145:29: -> ^( TYPE_ANNOTATION ID parameterValue )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:32: ^( TYPE_ANNOTATION ID parameterValue )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_ANNOTATION, (pANTLR3_UINT8)"TYPE_ANNOTATION"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_parameterValue == NULL ? NULL : stream_parameterValue->nextTree(stream_parameterValue));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
- break;\r
- case 2:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:146:7: unionType\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_unionType_in_parameter1239);\r
- unionType48=unionType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleparameterEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, unionType48.tree);\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruleparameterEx; /* Prevent compiler warnings */\r
- ruleparameterEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_ID != NULL) stream_ID->free(stream_ID);\r
- if (stream_35 != NULL) stream_35->free(stream_35);\r
- if (stream_parameterValue != NULL) stream_parameterValue->free(stream_parameterValue);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end parameter */\r
-\r
-/** \r
- * $ANTLR start parameterValue\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:149:1: parameterValue : ( string | boolean | number | ( '[' | '(' ) range ( ']' | ')' ) );\r
- */\r
-static SimanticsDataParser_parameterValue_return\r
-parameterValue(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_parameterValue_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN set52;\r
- pANTLR3_COMMON_TOKEN set54;\r
- SimanticsDataParser_string_return string49;\r
- #undef RETURN_TYPE_string49\r
- #define RETURN_TYPE_string49 SimanticsDataParser_string_return\r
-\r
- SimanticsDataParser_boolean_return boolean50;\r
- #undef RETURN_TYPE_boolean50\r
- #define RETURN_TYPE_boolean50 SimanticsDataParser_boolean_return\r
-\r
- SimanticsDataParser_number_return number51;\r
- #undef RETURN_TYPE_number51\r
- #define RETURN_TYPE_number51 SimanticsDataParser_number_return\r
-\r
- SimanticsDataParser_range_return range53;\r
- #undef RETURN_TYPE_range53\r
- #define RETURN_TYPE_range53 SimanticsDataParser_range_return\r
-\r
- pANTLR3_BASE_TREE set52_tree;\r
- pANTLR3_BASE_TREE set54_tree;\r
-\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- set52 = NULL;\r
- set54 = NULL;\r
- string49.tree = NULL;\r
-\r
- boolean50.tree = NULL;\r
-\r
- number51.tree = NULL;\r
-\r
- range53.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- set52_tree = NULL;\r
- set54_tree = NULL;\r
-\r
-\r
- retval.tree = NULL;\r
- {\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:150:5: ( string | boolean | number | ( '[' | '(' ) range ( ']' | ')' ) )\r
- \r
- ANTLR3_UINT32 alt16;\r
-\r
- alt16=4;\r
-\r
- switch ( LA(1) ) \r
- {\r
- case STRING:\r
- {\r
- alt16=1;\r
- }\r
- break;\r
- case 46:\r
- case 47:\r
- {\r
- alt16=2;\r
- }\r
- break;\r
- case INT:\r
- case FLOAT:\r
- {\r
- alt16=3;\r
- }\r
- break;\r
- case 37:\r
- case 40:\r
- {\r
- alt16=4;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 16;\r
- EXCEPTION->state = 0;\r
-\r
-\r
- goto ruleparameterValueEx;\r
- }\r
-\r
- switch (alt16) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:150:7: string\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_string_in_parameterValue1258);\r
- string49=string(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleparameterValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, string49.tree);\r
-\r
- }\r
- break;\r
- case 2:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:151:7: boolean\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_boolean_in_parameterValue1266);\r
- boolean50=boolean(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleparameterValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, boolean50.tree);\r
-\r
- }\r
- break;\r
- case 3:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:152:7: number\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_number_in_parameterValue1274);\r
- number51=number(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleparameterValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, number51.tree);\r
-\r
- }\r
- break;\r
- case 4:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:153:7: ( '[' | '(' ) range ( ']' | ')' )\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- set52=(pANTLR3_COMMON_TOKEN)LT(1);\r
- if ( LA(1) == 37 || LA(1) == 40 )\r
- {\r
- CONSUME();\r
- ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set52)));\r
- PERRORRECOVERY=ANTLR3_FALSE;\r
- }\r
- else \r
- {\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
- EXCEPTION->expectingSet = &FOLLOW_set_in_parameterValue1282;\r
- RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_parameterValue1282); goto ruleparameterValueEx;\r
- }\r
-\r
- FOLLOWPUSH(FOLLOW_range_in_parameterValue1290);\r
- range53=range(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruleparameterValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, range53.tree);\r
- set54=(pANTLR3_COMMON_TOKEN)LT(1);\r
- if ( LA(1) == 38 || LA(1) == 42 )\r
- {\r
- CONSUME();\r
- ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set54)));\r
- PERRORRECOVERY=ANTLR3_FALSE;\r
- }\r
- else \r
- {\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
- EXCEPTION->expectingSet = &FOLLOW_set_in_parameterValue1292;\r
- RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_parameterValue1292); goto ruleparameterValueEx;\r
- }\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruleparameterValueEx; /* Prevent compiler warnings */\r
- ruleparameterValueEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end parameterValue */\r
-\r
-/** \r
- * $ANTLR start range\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:156:1: range : ( number | number '..' | '..' number | number '..' number );\r
- */\r
-static SimanticsDataParser_range_return\r
-range(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_range_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN string_literal57;\r
- pANTLR3_COMMON_TOKEN string_literal58;\r
- pANTLR3_COMMON_TOKEN string_literal61;\r
- SimanticsDataParser_number_return number55;\r
- #undef RETURN_TYPE_number55\r
- #define RETURN_TYPE_number55 SimanticsDataParser_number_return\r
-\r
- SimanticsDataParser_number_return number56;\r
- #undef RETURN_TYPE_number56\r
- #define RETURN_TYPE_number56 SimanticsDataParser_number_return\r
-\r
- SimanticsDataParser_number_return number59;\r
- #undef RETURN_TYPE_number59\r
- #define RETURN_TYPE_number59 SimanticsDataParser_number_return\r
-\r
- SimanticsDataParser_number_return number60;\r
- #undef RETURN_TYPE_number60\r
- #define RETURN_TYPE_number60 SimanticsDataParser_number_return\r
-\r
- SimanticsDataParser_number_return number62;\r
- #undef RETURN_TYPE_number62\r
- #define RETURN_TYPE_number62 SimanticsDataParser_number_return\r
-\r
- pANTLR3_BASE_TREE string_literal57_tree;\r
- pANTLR3_BASE_TREE string_literal58_tree;\r
- pANTLR3_BASE_TREE string_literal61_tree;\r
-\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- string_literal57 = NULL;\r
- string_literal58 = NULL;\r
- string_literal61 = NULL;\r
- number55.tree = NULL;\r
-\r
- number56.tree = NULL;\r
-\r
- number59.tree = NULL;\r
-\r
- number60.tree = NULL;\r
-\r
- number62.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- string_literal57_tree = NULL;\r
- string_literal58_tree = NULL;\r
- string_literal61_tree = NULL;\r
-\r
-\r
- retval.tree = NULL;\r
- {\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:157:5: ( number | number '..' | '..' number | number '..' number )\r
- \r
- ANTLR3_UINT32 alt17;\r
-\r
- alt17=4;\r
-\r
- switch ( LA(1) ) \r
- {\r
- case INT:\r
- case FLOAT:\r
- {\r
- switch ( LA(2) ) \r
- {\r
- case 39:\r
- {\r
- switch ( LA(3) ) \r
- {\r
- case INT:\r
- case FLOAT:\r
- {\r
- alt17=4;\r
- }\r
- break;\r
- case 38:\r
- case 42:\r
- {\r
- alt17=2;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 17;\r
- EXCEPTION->state = 3;\r
-\r
-\r
- goto rulerangeEx;\r
- }\r
-\r
- }\r
- break;\r
- case 38:\r
- case 42:\r
- {\r
- alt17=1;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 17;\r
- EXCEPTION->state = 1;\r
-\r
-\r
- goto rulerangeEx;\r
- }\r
-\r
- }\r
- break;\r
- case 39:\r
- {\r
- alt17=3;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 17;\r
- EXCEPTION->state = 0;\r
-\r
-\r
- goto rulerangeEx;\r
- }\r
-\r
- switch (alt17) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:157:7: number\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_number_in_range1319);\r
- number55=number(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerangeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, number55.tree);\r
-\r
- }\r
- break;\r
- case 2:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:158:7: number '..'\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_number_in_range1327);\r
- number56=number(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerangeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, number56.tree);\r
- string_literal57 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1329); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerangeEx;\r
- }\r
-\r
- string_literal57_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal57));\r
- ADAPTOR->addChild(ADAPTOR, root_0, string_literal57_tree);\r
-\r
-\r
- }\r
- break;\r
- case 3:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:159:7: '..' number\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- string_literal58 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1337); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerangeEx;\r
- }\r
-\r
- string_literal58_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal58));\r
- ADAPTOR->addChild(ADAPTOR, root_0, string_literal58_tree);\r
-\r
- FOLLOWPUSH(FOLLOW_number_in_range1339);\r
- number59=number(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerangeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, number59.tree);\r
-\r
- }\r
- break;\r
- case 4:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:160:7: number '..' number\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_number_in_range1348);\r
- number60=number(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerangeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, number60.tree);\r
- string_literal61 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1350); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerangeEx;\r
- }\r
-\r
- string_literal61_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal61));\r
- ADAPTOR->addChild(ADAPTOR, root_0, string_literal61_tree);\r
-\r
- FOLLOWPUSH(FOLLOW_number_in_range1352);\r
- number62=number(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerangeEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, number62.tree);\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulerangeEx; /* Prevent compiler warnings */\r
- rulerangeEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end range */\r
-\r
-/** \r
- * $ANTLR start number\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:163:1: number : ( INT | FLOAT );\r
- */\r
-static SimanticsDataParser_number_return\r
-number(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_number_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN set63;\r
-\r
- pANTLR3_BASE_TREE set63_tree;\r
-\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- set63 = NULL;\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- set63_tree = NULL;\r
-\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:164:5: ( INT | FLOAT )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- set63=(pANTLR3_COMMON_TOKEN)LT(1);\r
- if ( LA(1) == INT || LA(1) == FLOAT )\r
- {\r
- CONSUME();\r
- ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set63)));\r
- PERRORRECOVERY=ANTLR3_FALSE;\r
- }\r
- else \r
- {\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
- EXCEPTION->expectingSet = &FOLLOW_set_in_number0;\r
- RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_number0); goto rulenumberEx;\r
- }\r
-\r
-\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulenumberEx; /* Prevent compiler warnings */\r
- rulenumberEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end number */\r
-\r
-/** \r
- * $ANTLR start string\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:168:1: string : STRING ;\r
- */\r
-static SimanticsDataParser_string_return\r
-string(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_string_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN STRING64;\r
-\r
- pANTLR3_BASE_TREE STRING64_tree;\r
-\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- STRING64 = NULL;\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- STRING64_tree = NULL;\r
-\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:169:5: ( STRING )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:169:7: STRING\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- STRING64 = (pANTLR3_COMMON_TOKEN) MATCHT(STRING, &FOLLOW_STRING_in_string1402); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulestringEx;\r
- }\r
-\r
- STRING64_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STRING64));\r
- ADAPTOR->addChild(ADAPTOR, root_0, STRING64_tree);\r
-\r
-\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulestringEx; /* Prevent compiler warnings */\r
- rulestringEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end string */\r
-\r
-/** \r
- * $ANTLR start boolean\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:172:1: boolean : ( 'true' | 'false' );\r
- */\r
-static SimanticsDataParser_boolean_return\r
-boolean(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_boolean_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN set65;\r
-\r
- pANTLR3_BASE_TREE set65_tree;\r
-\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- set65 = NULL;\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- set65_tree = NULL;\r
-\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:173:5: ( 'true' | 'false' )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- set65=(pANTLR3_COMMON_TOKEN)LT(1);\r
- if ( ((LA(1) >= 46) && (LA(1) <= 47)) )\r
- {\r
- CONSUME();\r
- ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set65)));\r
- PERRORRECOVERY=ANTLR3_FALSE;\r
- }\r
- else \r
- {\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
- EXCEPTION->expectingSet = &FOLLOW_set_in_boolean0;\r
- RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_boolean0); goto rulebooleanEx;\r
- }\r
-\r
-\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulebooleanEx; /* Prevent compiler warnings */\r
- rulebooleanEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end boolean */\r
-\r
-/** \r
- * $ANTLR start valueDefinitions\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:1: valueDefinitions : ( valueDefinition )* -> ^( VALUE_DEFINITIONS ( valueDefinition )* ) ;\r
- */\r
-static SimanticsDataParser_valueDefinitions_return\r
-valueDefinitions(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_valueDefinitions_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- SimanticsDataParser_valueDefinition_return valueDefinition66;\r
- #undef RETURN_TYPE_valueDefinition66\r
- #define RETURN_TYPE_valueDefinition66 SimanticsDataParser_valueDefinition_return\r
-\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_valueDefinition;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- valueDefinition66.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
-\r
- stream_valueDefinition = NULL;\r
- #define CREATE_stream_valueDefinition if (stream_valueDefinition == NULL) {stream_valueDefinition = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule valueDefinition"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:18: ( ( valueDefinition )* -> ^( VALUE_DEFINITIONS ( valueDefinition )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: ( valueDefinition )*\r
- {\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: ( valueDefinition )*\r
-\r
- for (;;)\r
- {\r
- int alt18=2;\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- {\r
- alt18=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt18) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: valueDefinition\r
- {\r
- FOLLOWPUSH(FOLLOW_valueDefinition_in_valueDefinitions1447);\r
- valueDefinition66=valueDefinition(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueDefinitionsEx;\r
- }\r
-\r
- CREATE_stream_valueDefinition; stream_valueDefinition->add(stream_valueDefinition, valueDefinition66.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop18; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop18: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : valueDefinition\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 181:37: -> ^( VALUE_DEFINITIONS ( valueDefinition )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:40: ^( VALUE_DEFINITIONS ( valueDefinition )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VALUE_DEFINITIONS, (pANTLR3_UINT8)"VALUE_DEFINITIONS"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:60: ( valueDefinition )*\r
- {\r
- while ( (stream_valueDefinition != NULL && stream_valueDefinition->hasNext(stream_valueDefinition)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_valueDefinition == NULL ? NULL : stream_valueDefinition->nextTree(stream_valueDefinition));\r
-\r
- }\r
- if (stream_valueDefinition != NULL) stream_valueDefinition->reset(stream_valueDefinition);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulevalueDefinitionsEx; /* Prevent compiler warnings */\r
- rulevalueDefinitionsEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_valueDefinition != NULL) stream_valueDefinition->free(stream_valueDefinition);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end valueDefinitions */\r
-\r
-/** \r
- * $ANTLR start valueDefinition\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:183:1: valueDefinition : ID ':' unionType '=' value -> ^( VALUE_DEFINITION ID unionType value ) ;\r
- */\r
-static SimanticsDataParser_valueDefinition_return\r
-valueDefinition(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_valueDefinition_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN ID67;\r
- pANTLR3_COMMON_TOKEN char_literal68;\r
- pANTLR3_COMMON_TOKEN char_literal70;\r
- SimanticsDataParser_unionType_return unionType69;\r
- #undef RETURN_TYPE_unionType69\r
- #define RETURN_TYPE_unionType69 SimanticsDataParser_unionType_return\r
-\r
- SimanticsDataParser_value_return value71;\r
- #undef RETURN_TYPE_value71\r
- #define RETURN_TYPE_value71 SimanticsDataParser_value_return\r
-\r
- pANTLR3_BASE_TREE ID67_tree;\r
- pANTLR3_BASE_TREE char_literal68_tree;\r
- pANTLR3_BASE_TREE char_literal70_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- ID67 = NULL;\r
- char_literal68 = NULL;\r
- char_literal70 = NULL;\r
- unionType69.tree = NULL;\r
-\r
- value71.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- ID67_tree = NULL;\r
- char_literal68_tree = NULL;\r
- char_literal70_tree = NULL;\r
-\r
- stream_45 = NULL;\r
- #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); } \r
- stream_ID = NULL;\r
- #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); } \r
- stream_35 = NULL;\r
- #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); } \r
- stream_unionType = NULL;\r
- #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }\r
- stream_value = NULL;\r
- #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:184:5: ( ID ':' unionType '=' value -> ^( VALUE_DEFINITION ID unionType value ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:184:7: ID ':' unionType '=' value\r
- {\r
- ID67 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_valueDefinition1470); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueDefinitionEx;\r
- }\r
- \r
- CREATE_stream_ID; stream_ID->add(stream_ID, ID67, NULL);\r
-\r
- char_literal68 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_valueDefinition1472); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueDefinitionEx;\r
- }\r
- \r
- CREATE_stream_45; stream_45->add(stream_45, char_literal68, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_unionType_in_valueDefinition1474);\r
- unionType69=unionType(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueDefinitionEx;\r
- }\r
-\r
- CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType69.tree, NULL);\r
- char_literal70 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_valueDefinition1476); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueDefinitionEx;\r
- }\r
- \r
- CREATE_stream_35; stream_35->add(stream_35, char_literal70, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_value_in_valueDefinition1478);\r
- value71=value(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueDefinitionEx;\r
- }\r
-\r
- CREATE_stream_value; stream_value->add(stream_value, value71.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : value, unionType, ID\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 185:5: -> ^( VALUE_DEFINITION ID unionType value )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:185:8: ^( VALUE_DEFINITION ID unionType value )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VALUE_DEFINITION, (pANTLR3_UINT8)"VALUE_DEFINITION"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulevalueDefinitionEx; /* Prevent compiler warnings */\r
- rulevalueDefinitionEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_45 != NULL) stream_45->free(stream_45);\r
- if (stream_ID != NULL) stream_ID->free(stream_ID);\r
- if (stream_35 != NULL) stream_35->free(stream_35);\r
- if (stream_unionType != NULL) stream_unionType->free(stream_unionType);\r
- if (stream_value != NULL) stream_value->free(stream_value);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end valueDefinition */\r
-\r
-/** \r
- * $ANTLR start value\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:188:1: value : ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )* ;\r
- */\r
-static SimanticsDataParser_value_return\r
-value(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_value_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal73;\r
- SimanticsDataParser_basicValue_return basicValue72;\r
- #undef RETURN_TYPE_basicValue72\r
- #define RETURN_TYPE_basicValue72 SimanticsDataParser_basicValue_return\r
-\r
- SimanticsDataParser_type_return type74;\r
- #undef RETURN_TYPE_type74\r
- #define RETURN_TYPE_type74 SimanticsDataParser_type_return\r
-\r
- pANTLR3_BASE_TREE char_literal73_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicValue;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_type;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal73 = NULL;\r
- basicValue72.tree = NULL;\r
-\r
- type74.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal73_tree = NULL;\r
-\r
- stream_45 = NULL;\r
- #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); } \r
- stream_basicValue = NULL;\r
- #define CREATE_stream_basicValue if (stream_basicValue == NULL) {stream_basicValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicValue"); }\r
- stream_type = NULL;\r
- #define CREATE_stream_type if (stream_type == NULL) {stream_type = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule type"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:5: ( ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )* )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:7: ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )*\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:7: ( basicValue -> basicValue )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:8: basicValue\r
- {\r
- FOLLOWPUSH(FOLLOW_basicValue_in_value1514);\r
- basicValue72=basicValue(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueEx;\r
- }\r
-\r
- CREATE_stream_basicValue; stream_basicValue->add(stream_basicValue, basicValue72.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : basicValue\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 189:19: -> basicValue\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_0, stream_basicValue == NULL ? NULL : stream_basicValue->nextTree(stream_basicValue));\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:7: ( ':' type -> ^( VARIANT type $value) )*\r
-\r
- for (;;)\r
- {\r
- int alt19=2;\r
- switch ( LA(1) ) \r
- {\r
- case 45:\r
- {\r
- alt19=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt19) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:8: ':' type\r
- {\r
- char_literal73 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_value1528); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueEx;\r
- }\r
- \r
- CREATE_stream_45; stream_45->add(stream_45, char_literal73, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_type_in_value1530);\r
- type74=type(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulevalueEx;\r
- }\r
-\r
- CREATE_stream_type; stream_type->add(stream_type, type74.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : value, type\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 190:17: -> ^( VARIANT type $value)\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:20: ^( VARIANT type $value)\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VARIANT, (pANTLR3_UINT8)"VARIANT"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_type == NULL ? NULL : stream_type->nextTree(stream_type));\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_retval == NULL ? NULL : stream_retval->nextTree(stream_retval));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
- break;\r
-\r
- default:\r
- goto loop19; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop19: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulevalueEx; /* Prevent compiler warnings */\r
- rulevalueEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_45 != NULL) stream_45->free(stream_45);\r
- if (stream_basicValue != NULL) stream_basicValue->free(stream_basicValue);\r
- if (stream_type != NULL) stream_type->free(stream_type);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end value */\r
-\r
-/** \r
- * $ANTLR start basicValue\r
- * 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 );\r
- */\r
-static SimanticsDataParser_basicValue_return\r
-basicValue(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_basicValue_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN string_literal75;\r
- SimanticsDataParser_string_return string76;\r
- #undef RETURN_TYPE_string76\r
- #define RETURN_TYPE_string76 SimanticsDataParser_string_return\r
-\r
- SimanticsDataParser_number_return number77;\r
- #undef RETURN_TYPE_number77\r
- #define RETURN_TYPE_number77 SimanticsDataParser_number_return\r
-\r
- SimanticsDataParser_boolean_return boolean78;\r
- #undef RETURN_TYPE_boolean78\r
- #define RETURN_TYPE_boolean78 SimanticsDataParser_boolean_return\r
-\r
- SimanticsDataParser_array_return array79;\r
- #undef RETURN_TYPE_array79\r
- #define RETURN_TYPE_array79 SimanticsDataParser_array_return\r
-\r
- SimanticsDataParser_tuple_return tuple80;\r
- #undef RETURN_TYPE_tuple80\r
- #define RETURN_TYPE_tuple80 SimanticsDataParser_tuple_return\r
-\r
- SimanticsDataParser_taggedValue_return taggedValue81;\r
- #undef RETURN_TYPE_taggedValue81\r
- #define RETURN_TYPE_taggedValue81 SimanticsDataParser_taggedValue_return\r
-\r
- SimanticsDataParser_map_return map82;\r
- #undef RETURN_TYPE_map82\r
- #define RETURN_TYPE_map82 SimanticsDataParser_map_return\r
-\r
- SimanticsDataParser_record_return record83;\r
- #undef RETURN_TYPE_record83\r
- #define RETURN_TYPE_record83 SimanticsDataParser_record_return\r
-\r
- pANTLR3_BASE_TREE string_literal75_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_48;\r
-\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- string_literal75 = NULL;\r
- string76.tree = NULL;\r
-\r
- number77.tree = NULL;\r
-\r
- boolean78.tree = NULL;\r
-\r
- array79.tree = NULL;\r
-\r
- tuple80.tree = NULL;\r
-\r
- taggedValue81.tree = NULL;\r
-\r
- map82.tree = NULL;\r
-\r
- record83.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- string_literal75_tree = NULL;\r
-\r
- stream_48 = NULL;\r
- #define CREATE_stream_48 if (stream_48 == NULL) {stream_48 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 48"); } \r
-\r
- retval.tree = NULL;\r
- {\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:194:5: ( 'null' -> NO_VALUE | string | number | boolean | array | tuple | taggedValue | map | record )\r
- \r
- ANTLR3_UINT32 alt20;\r
-\r
- alt20=9;\r
-\r
- switch ( LA(1) ) \r
- {\r
- case 48:\r
- {\r
- alt20=1;\r
- }\r
- break;\r
- case STRING:\r
- {\r
- alt20=2;\r
- }\r
- break;\r
- case INT:\r
- case FLOAT:\r
- {\r
- alt20=3;\r
- }\r
- break;\r
- case 46:\r
- case 47:\r
- {\r
- alt20=4;\r
- }\r
- break;\r
- case 37:\r
- {\r
- alt20=5;\r
- }\r
- break;\r
- case 40:\r
- {\r
- alt20=6;\r
- }\r
- break;\r
- case ID:\r
- {\r
- alt20=7;\r
- }\r
- break;\r
- case 49:\r
- {\r
- alt20=8;\r
- }\r
- break;\r
- case 43:\r
- {\r
- alt20=9;\r
- }\r
- break;\r
-\r
- default:\r
- CONSTRUCTEX();\r
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
- EXCEPTION->message = (void *)"";\r
- EXCEPTION->decisionNum = 20;\r
- EXCEPTION->state = 0;\r
-\r
-\r
- goto rulebasicValueEx;\r
- }\r
-\r
- switch (alt20) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:194:7: 'null'\r
- {\r
- string_literal75 = (pANTLR3_COMMON_TOKEN) MATCHT(48, &FOLLOW_48_in_basicValue1562); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
- \r
- CREATE_stream_48; stream_48->add(stream_48, string_literal75, NULL);\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : \r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 194:14: -> NO_VALUE\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, NO_VALUE, (pANTLR3_UINT8)"NO_VALUE"));\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
- break;\r
- case 2:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:195:7: string\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_string_in_basicValue1574);\r
- string76=string(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, string76.tree);\r
-\r
- }\r
- break;\r
- case 3:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:196:7: number\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_number_in_basicValue1582);\r
- number77=number(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, number77.tree);\r
-\r
- }\r
- break;\r
- case 4:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:197:7: boolean\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_boolean_in_basicValue1590);\r
- boolean78=boolean(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, boolean78.tree);\r
-\r
- }\r
- break;\r
- case 5:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:198:7: array\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_array_in_basicValue1598);\r
- array79=array(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, array79.tree);\r
-\r
- }\r
- break;\r
- case 6:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:199:7: tuple\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_tuple_in_basicValue1606);\r
- tuple80=tuple(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, tuple80.tree);\r
-\r
- }\r
- break;\r
- case 7:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:200:7: taggedValue\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_taggedValue_in_basicValue1614);\r
- taggedValue81=taggedValue(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, taggedValue81.tree);\r
-\r
- }\r
- break;\r
- case 8:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:201:7: map\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_map_in_basicValue1622);\r
- map82=map(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, map82.tree);\r
-\r
- }\r
- break;\r
- case 9:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:202:7: record\r
- {\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
-\r
- FOLLOWPUSH(FOLLOW_record_in_basicValue1630);\r
- record83=record(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulebasicValueEx;\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, record83.tree);\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulebasicValueEx; /* Prevent compiler warnings */\r
- rulebasicValueEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_48 != NULL) stream_48->free(stream_48);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end basicValue */\r
-\r
-/** \r
- * $ANTLR start array\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:205:1: array : '[' ( value ( ',' value )* )? ']' -> ^( ARRAY ( value )* ) ;\r
- */\r
-static SimanticsDataParser_array_return\r
-array(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_array_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal84;\r
- pANTLR3_COMMON_TOKEN char_literal86;\r
- pANTLR3_COMMON_TOKEN char_literal88;\r
- SimanticsDataParser_value_return value85;\r
- #undef RETURN_TYPE_value85\r
- #define RETURN_TYPE_value85 SimanticsDataParser_value_return\r
-\r
- SimanticsDataParser_value_return value87;\r
- #undef RETURN_TYPE_value87\r
- #define RETURN_TYPE_value87 SimanticsDataParser_value_return\r
-\r
- pANTLR3_BASE_TREE char_literal84_tree;\r
- pANTLR3_BASE_TREE char_literal86_tree;\r
- pANTLR3_BASE_TREE char_literal88_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_37;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_38;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal84 = NULL;\r
- char_literal86 = NULL;\r
- char_literal88 = NULL;\r
- value85.tree = NULL;\r
-\r
- value87.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal84_tree = NULL;\r
- char_literal86_tree = NULL;\r
- char_literal88_tree = NULL;\r
-\r
- stream_41 = NULL;\r
- #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); } \r
- stream_37 = NULL;\r
- #define CREATE_stream_37 if (stream_37 == NULL) {stream_37 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 37"); } \r
- stream_38 = NULL;\r
- #define CREATE_stream_38 if (stream_38 == NULL) {stream_38 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 38"); } \r
- stream_value = NULL;\r
- #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:5: ( '[' ( value ( ',' value )* )? ']' -> ^( ARRAY ( value )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:7: '[' ( value ( ',' value )* )? ']'\r
- {\r
- char_literal84 = (pANTLR3_COMMON_TOKEN) MATCHT(37, &FOLLOW_37_in_array1648); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayEx;\r
- }\r
- \r
- CREATE_stream_37; stream_37->add(stream_37, char_literal84, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:11: ( value ( ',' value )* )?\r
- {\r
- int alt22=2;\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- case INT:\r
- case FLOAT:\r
- case STRING:\r
- case 37:\r
- case 40:\r
- case 43:\r
- case 46:\r
- case 47:\r
- case 48:\r
- case 49:\r
- {\r
- alt22=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt22) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:12: value ( ',' value )*\r
- {\r
- FOLLOWPUSH(FOLLOW_value_in_array1651);\r
- value85=value(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayEx;\r
- }\r
-\r
- CREATE_stream_value; stream_value->add(stream_value, value85.tree, NULL);\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:18: ( ',' value )*\r
-\r
- for (;;)\r
- {\r
- int alt21=2;\r
- switch ( LA(1) ) \r
- {\r
- case 41:\r
- {\r
- alt21=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt21) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:19: ',' value\r
- {\r
- char_literal86 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_array1654); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayEx;\r
- }\r
- \r
- CREATE_stream_41; stream_41->add(stream_41, char_literal86, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_value_in_array1656);\r
- value87=value(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayEx;\r
- }\r
-\r
- CREATE_stream_value; stream_value->add(stream_value, value87.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop21; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop21: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- char_literal88 = (pANTLR3_COMMON_TOKEN) MATCHT(38, &FOLLOW_38_in_array1662); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulearrayEx;\r
- }\r
- \r
- CREATE_stream_38; stream_38->add(stream_38, char_literal88, NULL);\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : value\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 207:5: -> ^( ARRAY ( value )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:207:8: ^( ARRAY ( value )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ARRAY, (pANTLR3_UINT8)"ARRAY"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:207:16: ( value )*\r
- {\r
- while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));\r
-\r
- }\r
- if (stream_value != NULL) stream_value->reset(stream_value);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulearrayEx; /* Prevent compiler warnings */\r
- rulearrayEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_41 != NULL) stream_41->free(stream_41);\r
- if (stream_37 != NULL) stream_37->free(stream_37);\r
- if (stream_38 != NULL) stream_38->free(stream_38);\r
- if (stream_value != NULL) stream_value->free(stream_value);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end array */\r
-\r
-/** \r
- * $ANTLR start tuple\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:210:1: tuple : '(' ( value ( ',' value )* )? ')' -> ^( TUPLE ( value )* ) ;\r
- */\r
-static SimanticsDataParser_tuple_return\r
-tuple(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_tuple_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal89;\r
- pANTLR3_COMMON_TOKEN char_literal91;\r
- pANTLR3_COMMON_TOKEN char_literal93;\r
- SimanticsDataParser_value_return value90;\r
- #undef RETURN_TYPE_value90\r
- #define RETURN_TYPE_value90 SimanticsDataParser_value_return\r
-\r
- SimanticsDataParser_value_return value92;\r
- #undef RETURN_TYPE_value92\r
- #define RETURN_TYPE_value92 SimanticsDataParser_value_return\r
-\r
- pANTLR3_BASE_TREE char_literal89_tree;\r
- pANTLR3_BASE_TREE char_literal91_tree;\r
- pANTLR3_BASE_TREE char_literal93_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal89 = NULL;\r
- char_literal91 = NULL;\r
- char_literal93 = NULL;\r
- value90.tree = NULL;\r
-\r
- value92.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal89_tree = NULL;\r
- char_literal91_tree = NULL;\r
- char_literal93_tree = NULL;\r
-\r
- stream_42 = NULL;\r
- #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); } \r
- stream_41 = NULL;\r
- #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); } \r
- stream_40 = NULL;\r
- #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); } \r
- stream_value = NULL;\r
- #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:5: ( '(' ( value ( ',' value )* )? ')' -> ^( TUPLE ( value )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:7: '(' ( value ( ',' value )* )? ')'\r
- {\r
- char_literal89 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_tuple1694); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleEx;\r
- }\r
- \r
- CREATE_stream_40; stream_40->add(stream_40, char_literal89, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:11: ( value ( ',' value )* )?\r
- {\r
- int alt24=2;\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- case INT:\r
- case FLOAT:\r
- case STRING:\r
- case 37:\r
- case 40:\r
- case 43:\r
- case 46:\r
- case 47:\r
- case 48:\r
- case 49:\r
- {\r
- alt24=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt24) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:12: value ( ',' value )*\r
- {\r
- FOLLOWPUSH(FOLLOW_value_in_tuple1697);\r
- value90=value(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleEx;\r
- }\r
-\r
- CREATE_stream_value; stream_value->add(stream_value, value90.tree, NULL);\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:18: ( ',' value )*\r
-\r
- for (;;)\r
- {\r
- int alt23=2;\r
- switch ( LA(1) ) \r
- {\r
- case 41:\r
- {\r
- alt23=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt23) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:19: ',' value\r
- {\r
- char_literal91 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_tuple1700); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleEx;\r
- }\r
- \r
- CREATE_stream_41; stream_41->add(stream_41, char_literal91, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_value_in_tuple1702);\r
- value92=value(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleEx;\r
- }\r
-\r
- CREATE_stream_value; stream_value->add(stream_value, value92.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop23; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop23: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- char_literal93 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_tuple1708); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletupleEx;\r
- }\r
- \r
- CREATE_stream_42; stream_42->add(stream_42, char_literal93, NULL);\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : value\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 212:5: -> ^( TUPLE ( value )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:212:8: ^( TUPLE ( value )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TUPLE, (pANTLR3_UINT8)"TUPLE"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:212:16: ( value )*\r
- {\r
- while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));\r
-\r
- }\r
- if (stream_value != NULL) stream_value->reset(stream_value);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruletupleEx; /* Prevent compiler warnings */\r
- ruletupleEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_42 != NULL) stream_42->free(stream_42);\r
- if (stream_41 != NULL) stream_41->free(stream_41);\r
- if (stream_40 != NULL) stream_40->free(stream_40);\r
- if (stream_value != NULL) stream_value->free(stream_value);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end tuple */\r
-\r
-/** \r
- * $ANTLR start taggedValue\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:215:1: taggedValue : ID basicValue -> ^( TAGGED_VALUE ID basicValue ) ;\r
- */\r
-static SimanticsDataParser_taggedValue_return\r
-taggedValue(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_taggedValue_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN ID94;\r
- SimanticsDataParser_basicValue_return basicValue95;\r
- #undef RETURN_TYPE_basicValue95\r
- #define RETURN_TYPE_basicValue95 SimanticsDataParser_basicValue_return\r
-\r
- pANTLR3_BASE_TREE ID94_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicValue;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- ID94 = NULL;\r
- basicValue95.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- ID94_tree = NULL;\r
-\r
- stream_ID = NULL;\r
- #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); } \r
- stream_basicValue = NULL;\r
- #define CREATE_stream_basicValue if (stream_basicValue == NULL) {stream_basicValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicValue"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:216:5: ( ID basicValue -> ^( TAGGED_VALUE ID basicValue ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:216:7: ID basicValue\r
- {\r
- ID94 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_taggedValue1740); \r
- if (HASEXCEPTION())\r
- {\r
- goto ruletaggedValueEx;\r
- }\r
- \r
- CREATE_stream_ID; stream_ID->add(stream_ID, ID94, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_basicValue_in_taggedValue1742);\r
- basicValue95=basicValue(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto ruletaggedValueEx;\r
- }\r
-\r
- CREATE_stream_basicValue; stream_basicValue->add(stream_basicValue, basicValue95.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : basicValue, ID\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 217:5: -> ^( TAGGED_VALUE ID basicValue )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:217:8: ^( TAGGED_VALUE ID basicValue )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TAGGED_VALUE, (pANTLR3_UINT8)"TAGGED_VALUE"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_basicValue == NULL ? NULL : stream_basicValue->nextTree(stream_basicValue));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto ruletaggedValueEx; /* Prevent compiler warnings */\r
- ruletaggedValueEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_ID != NULL) stream_ID->free(stream_ID);\r
- if (stream_basicValue != NULL) stream_basicValue->free(stream_basicValue);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end taggedValue */\r
-\r
-/** \r
- * $ANTLR start record\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:220:1: record : '{' ( recordAssignment ( ',' recordAssignment )* )? '}' -> ^( RECORD ( recordAssignment )* ) ;\r
- */\r
-static SimanticsDataParser_record_return\r
-record(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_record_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal96;\r
- pANTLR3_COMMON_TOKEN char_literal98;\r
- pANTLR3_COMMON_TOKEN char_literal100;\r
- SimanticsDataParser_recordAssignment_return recordAssignment97;\r
- #undef RETURN_TYPE_recordAssignment97\r
- #define RETURN_TYPE_recordAssignment97 SimanticsDataParser_recordAssignment_return\r
-\r
- SimanticsDataParser_recordAssignment_return recordAssignment99;\r
- #undef RETURN_TYPE_recordAssignment99\r
- #define RETURN_TYPE_recordAssignment99 SimanticsDataParser_recordAssignment_return\r
-\r
- pANTLR3_BASE_TREE char_literal96_tree;\r
- pANTLR3_BASE_TREE char_literal98_tree;\r
- pANTLR3_BASE_TREE char_literal100_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_recordAssignment;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal96 = NULL;\r
- char_literal98 = NULL;\r
- char_literal100 = NULL;\r
- recordAssignment97.tree = NULL;\r
-\r
- recordAssignment99.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal96_tree = NULL;\r
- char_literal98_tree = NULL;\r
- char_literal100_tree = NULL;\r
-\r
- stream_43 = NULL;\r
- #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); } \r
- stream_44 = NULL;\r
- #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); } \r
- stream_41 = NULL;\r
- #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); } \r
- stream_recordAssignment = NULL;\r
- #define CREATE_stream_recordAssignment if (stream_recordAssignment == NULL) {stream_recordAssignment = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule recordAssignment"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:5: ( '{' ( recordAssignment ( ',' recordAssignment )* )? '}' -> ^( RECORD ( recordAssignment )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:7: '{' ( recordAssignment ( ',' recordAssignment )* )? '}'\r
- {\r
- char_literal96 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_record1775); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordEx;\r
- }\r
- \r
- CREATE_stream_43; stream_43->add(stream_43, char_literal96, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:11: ( recordAssignment ( ',' recordAssignment )* )?\r
- {\r
- int alt26=2;\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- {\r
- alt26=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt26) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:12: recordAssignment ( ',' recordAssignment )*\r
- {\r
- FOLLOWPUSH(FOLLOW_recordAssignment_in_record1778);\r
- recordAssignment97=recordAssignment(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordEx;\r
- }\r
-\r
- CREATE_stream_recordAssignment; stream_recordAssignment->add(stream_recordAssignment, recordAssignment97.tree, NULL);\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:29: ( ',' recordAssignment )*\r
-\r
- for (;;)\r
- {\r
- int alt25=2;\r
- switch ( LA(1) ) \r
- {\r
- case 41:\r
- {\r
- alt25=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt25) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:30: ',' recordAssignment\r
- {\r
- char_literal98 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_record1781); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordEx;\r
- }\r
- \r
- CREATE_stream_41; stream_41->add(stream_41, char_literal98, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_recordAssignment_in_record1783);\r
- recordAssignment99=recordAssignment(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordEx;\r
- }\r
-\r
- CREATE_stream_recordAssignment; stream_recordAssignment->add(stream_recordAssignment, recordAssignment99.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop25; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop25: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- char_literal100 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_record1789); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordEx;\r
- }\r
- \r
- CREATE_stream_44; stream_44->add(stream_44, char_literal100, NULL);\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : recordAssignment\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 222:5: -> ^( RECORD ( recordAssignment )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:222:8: ^( RECORD ( recordAssignment )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, RECORD, (pANTLR3_UINT8)"RECORD"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:222:17: ( recordAssignment )*\r
- {\r
- while ( (stream_recordAssignment != NULL && stream_recordAssignment->hasNext(stream_recordAssignment)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_recordAssignment == NULL ? NULL : stream_recordAssignment->nextTree(stream_recordAssignment));\r
-\r
- }\r
- if (stream_recordAssignment != NULL) stream_recordAssignment->reset(stream_recordAssignment);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulerecordEx; /* Prevent compiler warnings */\r
- rulerecordEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_43 != NULL) stream_43->free(stream_43);\r
- if (stream_44 != NULL) stream_44->free(stream_44);\r
- if (stream_41 != NULL) stream_41->free(stream_41);\r
- if (stream_recordAssignment != NULL) stream_recordAssignment->free(stream_recordAssignment);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end record */\r
-\r
-/** \r
- * $ANTLR start recordAssignment\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:225:1: recordAssignment : ID '=' value -> ^( ASSIGNMENT ID value ) ;\r
- */\r
-static SimanticsDataParser_recordAssignment_return\r
-recordAssignment(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_recordAssignment_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN ID101;\r
- pANTLR3_COMMON_TOKEN char_literal102;\r
- SimanticsDataParser_value_return value103;\r
- #undef RETURN_TYPE_value103\r
- #define RETURN_TYPE_value103 SimanticsDataParser_value_return\r
-\r
- pANTLR3_BASE_TREE ID101_tree;\r
- pANTLR3_BASE_TREE char_literal102_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- ID101 = NULL;\r
- char_literal102 = NULL;\r
- value103.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- ID101_tree = NULL;\r
- char_literal102_tree = NULL;\r
-\r
- stream_ID = NULL;\r
- #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); } \r
- stream_35 = NULL;\r
- #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); } \r
- stream_value = NULL;\r
- #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:226:5: ( ID '=' value -> ^( ASSIGNMENT ID value ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:226:7: ID '=' value\r
- {\r
- ID101 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_recordAssignment1821); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordAssignmentEx;\r
- }\r
- \r
- CREATE_stream_ID; stream_ID->add(stream_ID, ID101, NULL);\r
-\r
- char_literal102 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_recordAssignment1823); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordAssignmentEx;\r
- }\r
- \r
- CREATE_stream_35; stream_35->add(stream_35, char_literal102, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_value_in_recordAssignment1825);\r
- value103=value(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulerecordAssignmentEx;\r
- }\r
-\r
- CREATE_stream_value; stream_value->add(stream_value, value103.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : value, ID\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 227:5: -> ^( ASSIGNMENT ID value )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:227:8: ^( ASSIGNMENT ID value )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ASSIGNMENT, (pANTLR3_UINT8)"ASSIGNMENT"), root_1));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulerecordAssignmentEx; /* Prevent compiler warnings */\r
- rulerecordAssignmentEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_ID != NULL) stream_ID->free(stream_ID);\r
- if (stream_35 != NULL) stream_35->free(stream_35);\r
- if (stream_value != NULL) stream_value->free(stream_value);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end recordAssignment */\r
-\r
-/** \r
- * $ANTLR start map\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:1: map : 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}' -> ^( MAP ( mapAssignment )* ) ;\r
- */\r
-static SimanticsDataParser_map_return\r
-map(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_map_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN string_literal104;\r
- pANTLR3_COMMON_TOKEN char_literal105;\r
- pANTLR3_COMMON_TOKEN char_literal107;\r
- pANTLR3_COMMON_TOKEN char_literal109;\r
- SimanticsDataParser_mapAssignment_return mapAssignment106;\r
- #undef RETURN_TYPE_mapAssignment106\r
- #define RETURN_TYPE_mapAssignment106 SimanticsDataParser_mapAssignment_return\r
-\r
- SimanticsDataParser_mapAssignment_return mapAssignment108;\r
- #undef RETURN_TYPE_mapAssignment108\r
- #define RETURN_TYPE_mapAssignment108 SimanticsDataParser_mapAssignment_return\r
-\r
- pANTLR3_BASE_TREE string_literal104_tree;\r
- pANTLR3_BASE_TREE char_literal105_tree;\r
- pANTLR3_BASE_TREE char_literal107_tree;\r
- pANTLR3_BASE_TREE char_literal109_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_49;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_mapAssignment;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- string_literal104 = NULL;\r
- char_literal105 = NULL;\r
- char_literal107 = NULL;\r
- char_literal109 = NULL;\r
- mapAssignment106.tree = NULL;\r
-\r
- mapAssignment108.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- string_literal104_tree = NULL;\r
- char_literal105_tree = NULL;\r
- char_literal107_tree = NULL;\r
- char_literal109_tree = NULL;\r
-\r
- stream_49 = NULL;\r
- #define CREATE_stream_49 if (stream_49 == NULL) {stream_49 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 49"); } \r
- stream_43 = NULL;\r
- #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); } \r
- stream_44 = NULL;\r
- #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); } \r
- stream_41 = NULL;\r
- #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); } \r
- stream_mapAssignment = NULL;\r
- #define CREATE_stream_mapAssignment if (stream_mapAssignment == NULL) {stream_mapAssignment = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule mapAssignment"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:5: ( 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}' -> ^( MAP ( mapAssignment )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:7: 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}'\r
- {\r
- string_literal104 = (pANTLR3_COMMON_TOKEN) MATCHT(49, &FOLLOW_49_in_map1852); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapEx;\r
- }\r
- \r
- CREATE_stream_49; stream_49->add(stream_49, string_literal104, NULL);\r
-\r
- char_literal105 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_map1854); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapEx;\r
- }\r
- \r
- CREATE_stream_43; stream_43->add(stream_43, char_literal105, NULL);\r
-\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:17: ( mapAssignment ( ',' mapAssignment )* )?\r
- {\r
- int alt28=2;\r
- switch ( LA(1) ) \r
- {\r
- case ID:\r
- case INT:\r
- case FLOAT:\r
- case STRING:\r
- case 37:\r
- case 40:\r
- case 43:\r
- case 46:\r
- case 47:\r
- case 48:\r
- case 49:\r
- {\r
- alt28=1;\r
- }\r
- break;\r
- }\r
-\r
- switch (alt28) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:18: mapAssignment ( ',' mapAssignment )*\r
- {\r
- FOLLOWPUSH(FOLLOW_mapAssignment_in_map1857);\r
- mapAssignment106=mapAssignment(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapEx;\r
- }\r
-\r
- CREATE_stream_mapAssignment; stream_mapAssignment->add(stream_mapAssignment, mapAssignment106.tree, NULL);\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:32: ( ',' mapAssignment )*\r
-\r
- for (;;)\r
- {\r
- int alt27=2;\r
- switch ( LA(1) ) \r
- {\r
- case 41:\r
- {\r
- alt27=1;\r
- }\r
- break;\r
-\r
- }\r
-\r
- switch (alt27) \r
- {\r
- case 1:\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:33: ',' mapAssignment\r
- {\r
- char_literal107 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_map1860); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapEx;\r
- }\r
- \r
- CREATE_stream_41; stream_41->add(stream_41, char_literal107, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_mapAssignment_in_map1862);\r
- mapAssignment108=mapAssignment(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapEx;\r
- }\r
-\r
- CREATE_stream_mapAssignment; stream_mapAssignment->add(stream_mapAssignment, mapAssignment108.tree, NULL);\r
-\r
- }\r
- break;\r
-\r
- default:\r
- goto loop27; /* break out of the loop */\r
- break;\r
- }\r
- }\r
- loop27: ; /* Jump out to here if this rule does not match */\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- char_literal109 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_map1868); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapEx;\r
- }\r
- \r
- CREATE_stream_44; stream_44->add(stream_44, char_literal109, NULL);\r
-\r
-\r
- \r
- /* AST REWRITE\r
- * elements : mapAssignment\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 231:5: -> ^( MAP ( mapAssignment )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:231:8: ^( MAP ( mapAssignment )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, MAP, (pANTLR3_UINT8)"MAP"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:231:14: ( mapAssignment )*\r
- {\r
- while ( (stream_mapAssignment != NULL && stream_mapAssignment->hasNext(stream_mapAssignment)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_mapAssignment == NULL ? NULL : stream_mapAssignment->nextTree(stream_mapAssignment));\r
-\r
- }\r
- if (stream_mapAssignment != NULL) stream_mapAssignment->reset(stream_mapAssignment);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulemapEx; /* Prevent compiler warnings */\r
- rulemapEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_49 != NULL) stream_49->free(stream_49);\r
- if (stream_43 != NULL) stream_43->free(stream_43);\r
- if (stream_44 != NULL) stream_44->free(stream_44);\r
- if (stream_41 != NULL) stream_41->free(stream_41);\r
- if (stream_mapAssignment != NULL) stream_mapAssignment->free(stream_mapAssignment);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end map */\r
-\r
-/** \r
- * $ANTLR start mapAssignment\r
- * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:234:1: mapAssignment : value '=' value -> ^( ASSIGNMENT ( value )* ) ;\r
- */\r
-static SimanticsDataParser_mapAssignment_return\r
-mapAssignment(pSimanticsDataParser ctx)\r
-{ \r
- SimanticsDataParser_mapAssignment_return retval;\r
-\r
- pANTLR3_BASE_TREE root_0;\r
-\r
- pANTLR3_COMMON_TOKEN char_literal111;\r
- SimanticsDataParser_value_return value110;\r
- #undef RETURN_TYPE_value110\r
- #define RETURN_TYPE_value110 SimanticsDataParser_value_return\r
-\r
- SimanticsDataParser_value_return value112;\r
- #undef RETURN_TYPE_value112\r
- #define RETURN_TYPE_value112 SimanticsDataParser_value_return\r
-\r
- pANTLR3_BASE_TREE char_literal111_tree;\r
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;\r
- /* Initialize rule variables\r
- */\r
-\r
-\r
- root_0 = NULL;\r
-\r
- char_literal111 = NULL;\r
- value110.tree = NULL;\r
-\r
- value112.tree = NULL;\r
-\r
- retval.start = LT(1); retval.stop = retval.start;\r
-\r
- char_literal111_tree = NULL;\r
-\r
- stream_35 = NULL;\r
- #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); } \r
- stream_value = NULL;\r
- #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }\r
-\r
- retval.tree = NULL;\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:235:5: ( value '=' value -> ^( ASSIGNMENT ( value )* ) )\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:235:7: value '=' value\r
- {\r
- FOLLOWPUSH(FOLLOW_value_in_mapAssignment1900);\r
- value110=value(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapAssignmentEx;\r
- }\r
-\r
- CREATE_stream_value; stream_value->add(stream_value, value110.tree, NULL);\r
- char_literal111 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_mapAssignment1902); \r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapAssignmentEx;\r
- }\r
- \r
- CREATE_stream_35; stream_35->add(stream_35, char_literal111, NULL);\r
-\r
- FOLLOWPUSH(FOLLOW_value_in_mapAssignment1904);\r
- value112=value(ctx);\r
-\r
- FOLLOWPOP();\r
- if (HASEXCEPTION())\r
- {\r
- goto rulemapAssignmentEx;\r
- }\r
-\r
- CREATE_stream_value; stream_value->add(stream_value, value112.tree, NULL);\r
-\r
- \r
- /* AST REWRITE\r
- * elements : value\r
- * token labels : \r
- * rule labels : retval\r
- * token list labels : \r
- * rule list labels : \r
- */\r
- {\r
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;\r
-\r
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);\r
-\r
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- retval.tree = root_0;\r
- // 236:5: -> ^( ASSIGNMENT ( value )* )\r
- {\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:236:8: ^( ASSIGNMENT ( value )* )\r
- {\r
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));\r
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ASSIGNMENT, (pANTLR3_UINT8)"ASSIGNMENT"), root_1));\r
-\r
- // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:236:21: ( value )*\r
- {\r
- while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )\r
- {\r
- ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));\r
-\r
- }\r
- if (stream_value != NULL) stream_value->reset(stream_value);\r
-\r
- }\r
-\r
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0; // set result root\r
- if (stream_retval != NULL) stream_retval->free(stream_retval);\r
-\r
-\r
- }\r
- }\r
-\r
- }\r
- \r
-\r
- // This is where rules clean up and exit\r
- //\r
- goto rulemapAssignmentEx; /* Prevent compiler warnings */\r
- rulemapAssignmentEx: ;\r
- retval.stop = LT(-1);\r
-\r
- retval.stop = LT(-1);\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));\r
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);\r
- if (stream_35 != NULL) stream_35->free(stream_35);\r
- if (stream_value != NULL) stream_value->free(stream_value);\r
-\r
- if (HASEXCEPTION())\r
- {\r
- PREPORTERROR();\r
- PRECOVER();\r
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));\r
- }\r
-\r
-\r
- return retval;\r
-}\r
-/* $ANTLR end mapAssignment */\r
-/* End of parsing rules\r
- * ==============================================\r
- */\r
-\r
-/* ==============================================\r
- * Syntactic predicates\r
- */\r
-/* End of syntactic predicates\r
- * ==============================================\r
- */\r
-\r
- \r
- \r
-\r
-\r
-\r
-/* End of code\r
- * =============================================================================\r
- */\r
+/** \file
+ * This C source file was generated by $ANTLR version 3.2 Sep 23, 2009 12:02:23
+ *
+ * - From the grammar source file : C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g
+ * - On : 2010-03-26 13:33:27
+ * - for the parser : SimanticsDataParserParser *
+ * Editing it, at least manually, is not wise.
+ *
+ * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
+ *
+ *
+*/
+// [The "BSD licence"]
+// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
+// http://www.temporal-wave.com
+// http://www.linkedin.com/in/jimidle
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. The name of the author may not be used to endorse or promote products
+// derived from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/* -----------------------------------------
+ * Include the ANTLR3 generated header file.
+ */
+#include "SimanticsDataParser.h"
+/* ----------------------------------------- */
+
+
+
+
+
+/* MACROS that hide the C interface implementations from the
+ * generated code, which makes it a little more understandable to the human eye.
+ * I am very much against using C pre-processor macros for function calls and bits
+ * of code as you cannot see what is happening when single stepping in debuggers
+ * and so on. The exception (in my book at least) is for generated code, where you are
+ * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()
+ * hides some indirect calls, but is always referring to the input stream. This is
+ * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig
+ * the runtime interfaces without changing the generated code too often, without
+ * confusing the reader of the generated output, who may not wish to know the gory
+ * details of the interface inheritance.
+ */
+
+#define CTX ctx
+
+/* Aids in accessing scopes for grammar programmers
+ */
+#undef SCOPE_TYPE
+#undef SCOPE_STACK
+#undef SCOPE_TOP
+#define SCOPE_TYPE(scope) pSimanticsDataParser_##scope##_SCOPE
+#define SCOPE_STACK(scope) pSimanticsDataParser_##scope##Stack
+#define SCOPE_TOP(scope) ctx->pSimanticsDataParser_##scope##Top
+#define SCOPE_SIZE(scope) ctx->pSimanticsDataParser_##scope##Stack_limit
+#define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))
+
+/* Macros for accessing things in the parser
+ */
+
+#undef PARSER
+#undef RECOGNIZER
+#undef HAVEPARSEDRULE
+#undef MEMOIZE
+#undef INPUT
+#undef STRSTREAM
+#undef HASEXCEPTION
+#undef EXCEPTION
+#undef MATCHT
+#undef MATCHANYT
+#undef FOLLOWSTACK
+#undef FOLLOWPUSH
+#undef FOLLOWPOP
+#undef PRECOVER
+#undef PREPORTERROR
+#undef LA
+#undef LT
+#undef CONSTRUCTEX
+#undef CONSUME
+#undef MARK
+#undef REWIND
+#undef REWINDLAST
+#undef PERRORRECOVERY
+#undef HASFAILED
+#undef FAILEDFLAG
+#undef RECOVERFROMMISMATCHEDSET
+#undef RECOVERFROMMISMATCHEDELEMENT
+#undef INDEX
+#undef ADAPTOR
+#undef SEEK
+#undef RULEMEMO
+#undef DBG
+
+#define PARSER ctx->pParser
+#define RECOGNIZER PARSER->rec
+#define PSRSTATE RECOGNIZER->state
+#define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)
+#define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)
+#define INPUT PARSER->tstream
+#define STRSTREAM INPUT
+#define ISTREAM INPUT->istream
+#define INDEX() ISTREAM->index(INPUT->istream)
+#define HASEXCEPTION() (PSRSTATE->error == ANTLR3_TRUE)
+#define EXCEPTION PSRSTATE->exception
+#define MATCHT(t, fs) RECOGNIZER->match(RECOGNIZER, t, fs)
+#define MATCHANYT() RECOGNIZER->matchAny(RECOGNIZER)
+#define FOLLOWSTACK PSRSTATE->following
+#define FOLLOWPUSH(x) FOLLOWSTACK->push(FOLLOWSTACK, ((void *)(&(x))), NULL)
+#define FOLLOWPOP() FOLLOWSTACK->pop(FOLLOWSTACK)
+#define PRECOVER() RECOGNIZER->recover(RECOGNIZER)
+#define PREPORTERROR() RECOGNIZER->reportError(RECOGNIZER)
+#define LA(n) INPUT->istream->_LA(ISTREAM, n)
+#define LT(n) INPUT->_LT(INPUT, n)
+#define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)
+#define CONSUME() ISTREAM->consume(ISTREAM)
+#define MARK() ISTREAM->mark(ISTREAM)
+#define REWIND(m) ISTREAM->rewind(ISTREAM, m)
+#define REWINDLAST() ISTREAM->rewindLast(ISTREAM)
+#define SEEK(n) ISTREAM->seek(ISTREAM, n)
+#define PERRORRECOVERY PSRSTATE->errorRecovery
+#define FAILEDFLAG PSRSTATE->failed
+#define HASFAILED() (FAILEDFLAG == ANTLR3_TRUE)
+#define BACKTRACKING PSRSTATE->backtracking
+#define RECOVERFROMMISMATCHEDSET(s) RECOGNIZER->recoverFromMismatchedSet(RECOGNIZER, s)
+#define RECOVERFROMMISMATCHEDELEMENT(e) RECOGNIZER->recoverFromMismatchedElement(RECOGNIZER, s)
+#define ADAPTOR ctx->adaptor
+#define RULEMEMO PSRSTATE->ruleMemo
+#define DBG RECOGNIZER->debugger
+
+#define TOKTEXT(tok, txt) tok, (pANTLR3_UINT8)txt
+
+/* The 4 tokens defined below may well clash with your own #defines or token types. If so
+ * then for the present you must use different names for your defines as these are hard coded
+ * in the code generator. It would be better not to use such names internally, and maybe
+ * we can change this in a forthcoming release. I deliberately do not #undef these
+ * here as this will at least give you a redefined error somewhere if they clash.
+ */
+#define UP ANTLR3_TOKEN_UP
+#define DOWN ANTLR3_TOKEN_DOWN
+#define EOR ANTLR3_TOKEN_EOR
+#define INVALID ANTLR3_TOKEN_INVALID
+
+
+/* =============================================================================
+ * Functions to create and destroy scopes. First come the rule scopes, followed
+ * by the global declared scopes.
+ */
+
+
+
+/* ============================================================================= */
+
+/* =============================================================================
+ * Start of recognizer
+ */
+
+
+
+/** \brief Table of all token names in symbolic order, mainly used for
+ * error reporting.
+ */
+pANTLR3_UINT8 SimanticsDataParserTokenNames[46+4]
+ = {
+ (pANTLR3_UINT8) "<invalid>", /* String to print to indicate an invalid token */
+ (pANTLR3_UINT8) "<EOR>",
+ (pANTLR3_UINT8) "<DOWN>",
+ (pANTLR3_UINT8) "<UP>",
+ (pANTLR3_UINT8) "TYPE_DEFINITIONS",
+ (pANTLR3_UINT8) "TYPE_DEFINITION",
+ (pANTLR3_UINT8) "UNION_TYPE",
+ (pANTLR3_UINT8) "RECORD_TYPE",
+ (pANTLR3_UINT8) "TUPLE_TYPE",
+ (pANTLR3_UINT8) "ARRAY_TYPE",
+ (pANTLR3_UINT8) "TYPE_REFERENCE",
+ (pANTLR3_UINT8) "TYPE_ANNOTATION",
+ (pANTLR3_UINT8) "TYPE_COMPONENT",
+ (pANTLR3_UINT8) "VALUE_DEFINITIONS",
+ (pANTLR3_UINT8) "VALUE_DEFINITION",
+ (pANTLR3_UINT8) "NO_VALUE",
+ (pANTLR3_UINT8) "VARIANT",
+ (pANTLR3_UINT8) "ARRAY",
+ (pANTLR3_UINT8) "TUPLE",
+ (pANTLR3_UINT8) "TAGGED_VALUE",
+ (pANTLR3_UINT8) "RECORD",
+ (pANTLR3_UINT8) "MAP",
+ (pANTLR3_UINT8) "ASSIGNMENT",
+ (pANTLR3_UINT8) "ID",
+ (pANTLR3_UINT8) "INT",
+ (pANTLR3_UINT8) "EXPONENT",
+ (pANTLR3_UINT8) "FLOAT",
+ (pANTLR3_UINT8) "COMMENT",
+ (pANTLR3_UINT8) "WS",
+ (pANTLR3_UINT8) "ESC_SEQ",
+ (pANTLR3_UINT8) "STRING",
+ (pANTLR3_UINT8) "HEX_DIGIT",
+ (pANTLR3_UINT8) "UNICODE_ESC",
+ (pANTLR3_UINT8) "OCTAL_ESC",
+ (pANTLR3_UINT8) "'type'",
+ (pANTLR3_UINT8) "'='",
+ (pANTLR3_UINT8) "'|'",
+ (pANTLR3_UINT8) "'['",
+ (pANTLR3_UINT8) "']'",
+ (pANTLR3_UINT8) "'..'",
+ (pANTLR3_UINT8) "'('",
+ (pANTLR3_UINT8) "','",
+ (pANTLR3_UINT8) "')'",
+ (pANTLR3_UINT8) "'{'",
+ (pANTLR3_UINT8) "'}'",
+ (pANTLR3_UINT8) "':'",
+ (pANTLR3_UINT8) "'true'",
+ (pANTLR3_UINT8) "'false'",
+ (pANTLR3_UINT8) "'null'",
+ (pANTLR3_UINT8) "'map'"
+ };
+
+
+
+// Forward declare the locally static matching functions we have generated.
+//
+static SimanticsDataParser_typeDefinitions_return typeDefinitions (pSimanticsDataParser ctx);
+static SimanticsDataParser_typeDefinition_return typeDefinition (pSimanticsDataParser ctx);
+static SimanticsDataParser_unionType_return unionType (pSimanticsDataParser ctx);
+static SimanticsDataParser_unionComponent_return unionComponent (pSimanticsDataParser ctx);
+static SimanticsDataParser_type_return type (pSimanticsDataParser ctx);
+static SimanticsDataParser_arrayLength_return arrayLength (pSimanticsDataParser ctx);
+static SimanticsDataParser_basicType_return basicType (pSimanticsDataParser ctx);
+static SimanticsDataParser_tupleType_return tupleType (pSimanticsDataParser ctx);
+static SimanticsDataParser_recordType_return recordType (pSimanticsDataParser ctx);
+static SimanticsDataParser_component_return component (pSimanticsDataParser ctx);
+static SimanticsDataParser_typeReference_return typeReference (pSimanticsDataParser ctx);
+static SimanticsDataParser_parameter_return parameter (pSimanticsDataParser ctx);
+static SimanticsDataParser_parameterValue_return parameterValue (pSimanticsDataParser ctx);
+static SimanticsDataParser_range_return range (pSimanticsDataParser ctx);
+static SimanticsDataParser_number_return number (pSimanticsDataParser ctx);
+static SimanticsDataParser_string_return string (pSimanticsDataParser ctx);
+static SimanticsDataParser_boolean_return boolean (pSimanticsDataParser ctx);
+static SimanticsDataParser_valueDefinitions_return valueDefinitions (pSimanticsDataParser ctx);
+static SimanticsDataParser_valueDefinition_return valueDefinition (pSimanticsDataParser ctx);
+static SimanticsDataParser_value_return value (pSimanticsDataParser ctx);
+static SimanticsDataParser_basicValue_return basicValue (pSimanticsDataParser ctx);
+static SimanticsDataParser_array_return array (pSimanticsDataParser ctx);
+static SimanticsDataParser_tuple_return tuple (pSimanticsDataParser ctx);
+static SimanticsDataParser_taggedValue_return taggedValue (pSimanticsDataParser ctx);
+static SimanticsDataParser_record_return record (pSimanticsDataParser ctx);
+static SimanticsDataParser_recordAssignment_return recordAssignment (pSimanticsDataParser ctx);
+static SimanticsDataParser_map_return map (pSimanticsDataParser ctx);
+static SimanticsDataParser_mapAssignment_return mapAssignment (pSimanticsDataParser ctx);
+static void SimanticsDataParserFree(pSimanticsDataParser ctx);
+/* For use in tree output where we are accumulating rule labels via label += ruleRef
+ * we need a function that knows how to free a return scope when the list is destroyed.
+ * We cannot just use ANTLR3_FREE because in debug tracking mode, this is a macro.
+ */
+static void ANTLR3_CDECL freeScope(void * scope)
+{
+ ANTLR3_FREE(scope);
+}
+
+/** \brief Name of the grammar file that generated this code
+ */
+static const char fileName[] = "C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g";
+
+/** \brief Return the name of the grammar file that generated this code.
+ */
+static const char * getGrammarFileName()
+{
+ return fileName;
+}
+/** \brief Create a new SimanticsDataParser parser and return a context for it.
+ *
+ * \param[in] instream Pointer to an input stream interface.
+ *
+ * \return Pointer to new parser context upon success.
+ */
+ANTLR3_API pSimanticsDataParser
+SimanticsDataParserNew (pANTLR3_COMMON_TOKEN_STREAM instream)
+{
+ // See if we can create a new parser with the standard constructor
+ //
+ return SimanticsDataParserNewSSD(instream, NULL);
+}
+
+/** \brief Create a new SimanticsDataParser parser and return a context for it.
+ *
+ * \param[in] instream Pointer to an input stream interface.
+ *
+ * \return Pointer to new parser context upon success.
+ */
+ANTLR3_API pSimanticsDataParser
+SimanticsDataParserNewSSD (pANTLR3_COMMON_TOKEN_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
+{
+ pSimanticsDataParser ctx; /* Context structure we will build and return */
+
+ ctx = (pSimanticsDataParser) ANTLR3_CALLOC(1, sizeof(SimanticsDataParser));
+
+ if (ctx == NULL)
+ {
+ // Failed to allocate memory for parser context
+ //
+ return NULL;
+ }
+
+ /* -------------------------------------------------------------------
+ * Memory for basic structure is allocated, now to fill in
+ * the base ANTLR3 structures. We initialize the function pointers
+ * for the standard ANTLR3 parser function set, but upon return
+ * from here, the programmer may set the pointers to provide custom
+ * implementations of each function.
+ *
+ * We don't use the macros defined in SimanticsDataParser.h here, in order that you can get a sense
+ * of what goes where.
+ */
+
+ /* Create a base parser/recognizer, using the supplied token stream
+ */
+ ctx->pParser = antlr3ParserNewStream(ANTLR3_SIZE_HINT, instream->tstream, state);
+ /* Install the implementation of our SimanticsDataParser interface
+ */
+ ctx->typeDefinitions = typeDefinitions;
+ ctx->typeDefinition = typeDefinition;
+ ctx->unionType = unionType;
+ ctx->unionComponent = unionComponent;
+ ctx->type = type;
+ ctx->arrayLength = arrayLength;
+ ctx->basicType = basicType;
+ ctx->tupleType = tupleType;
+ ctx->recordType = recordType;
+ ctx->component = component;
+ ctx->typeReference = typeReference;
+ ctx->parameter = parameter;
+ ctx->parameterValue = parameterValue;
+ ctx->range = range;
+ ctx->number = number;
+ ctx->string = string;
+ ctx->boolean = boolean;
+ ctx->valueDefinitions = valueDefinitions;
+ ctx->valueDefinition = valueDefinition;
+ ctx->value = value;
+ ctx->basicValue = basicValue;
+ ctx->array = array;
+ ctx->tuple = tuple;
+ ctx->taggedValue = taggedValue;
+ ctx->record = record;
+ ctx->recordAssignment = recordAssignment;
+ ctx->map = map;
+ ctx->mapAssignment = mapAssignment;
+ ctx->free = SimanticsDataParserFree;
+ ctx->getGrammarFileName = getGrammarFileName;
+
+ /* Install the scope pushing methods.
+ */
+ ADAPTOR = ANTLR3_TREE_ADAPTORNew(instream->tstream->tokenSource->strFactory);
+ ctx->vectors = antlr3VectorFactoryNew(0);
+
+
+
+ /* Install the token table
+ */
+ PSRSTATE->tokenNames = SimanticsDataParserTokenNames;
+
+
+ /* Return the newly built parser to the caller
+ */
+ return ctx;
+}
+
+/** Free the parser resources
+ */
+ static void
+ SimanticsDataParserFree(pSimanticsDataParser ctx)
+ {
+ /* Free any scope memory
+ */
+
+ ctx->vectors->close(ctx->vectors);
+ /* We created the adaptor so we must free it
+ */
+ ADAPTOR->free(ADAPTOR);
+ // Free this parser
+ //
+ ctx->pParser->free(ctx->pParser);
+ ANTLR3_FREE(ctx);
+
+ /* Everything is released, so we can return
+ */
+ return;
+ }
+
+/** Return token names used by this parser
+ *
+ * The returned pointer is used as an index into the token names table (using the token
+ * number as the index).
+ *
+ * \return Pointer to first char * in the table.
+ */
+static pANTLR3_UINT8 *getTokenNames()
+{
+ return SimanticsDataParserTokenNames;
+}
+
+
+/* Declare the bitsets
+ */
+
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_typeDefinition_in_typeDefinitions768 */
+static ANTLR3_BITWORD FOLLOW_typeDefinition_in_typeDefinitions768_bits[] = { ANTLR3_UINT64_LIT(0x0000000400000002) };
+static ANTLR3_BITSET_LIST FOLLOW_typeDefinition_in_typeDefinitions768 = { FOLLOW_typeDefinition_in_typeDefinitions768_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_34_in_typeDefinition791 */
+static ANTLR3_BITWORD FOLLOW_34_in_typeDefinition791_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_34_in_typeDefinition791 = { FOLLOW_34_in_typeDefinition791_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_typeDefinition793 */
+static ANTLR3_BITWORD FOLLOW_ID_in_typeDefinition793_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
+static ANTLR3_BITSET_LIST FOLLOW_ID_in_typeDefinition793 = { FOLLOW_ID_in_typeDefinition793_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_typeDefinition795 */
+static ANTLR3_BITWORD FOLLOW_35_in_typeDefinition795_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_35_in_typeDefinition795 = { FOLLOW_35_in_typeDefinition795_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_typeDefinition797 */
+static ANTLR3_BITWORD FOLLOW_unionType_in_typeDefinition797_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_unionType_in_typeDefinition797 = { FOLLOW_unionType_in_typeDefinition797_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_unionType829 */
+static ANTLR3_BITWORD FOLLOW_type_in_unionType829_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_type_in_unionType829 = { FOLLOW_type_in_unionType829_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_36_in_unionType838 */
+static ANTLR3_BITWORD FOLLOW_36_in_unionType838_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_36_in_unionType838 = { FOLLOW_36_in_unionType838_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionComponent_in_unionType840 */
+static ANTLR3_BITWORD FOLLOW_unionComponent_in_unionType840_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_unionComponent_in_unionType840 = { FOLLOW_unionComponent_in_unionType840_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unionComponent871 */
+static ANTLR3_BITWORD FOLLOW_ID_in_unionComponent871_bits[] = { ANTLR3_UINT64_LIT(0x0000090000800002) };
+static ANTLR3_BITSET_LIST FOLLOW_ID_in_unionComponent871 = { FOLLOW_ID_in_unionComponent871_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_unionComponent873 */
+static ANTLR3_BITWORD FOLLOW_type_in_unionComponent873_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_type_in_unionComponent873 = { FOLLOW_type_in_unionComponent873_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_basicType_in_type900 */
+static ANTLR3_BITWORD FOLLOW_basicType_in_type900_bits[] = { ANTLR3_UINT64_LIT(0x0000002000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_basicType_in_type900 = { FOLLOW_basicType_in_type900_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_37_in_type914 */
+static ANTLR3_BITWORD FOLLOW_37_in_type914_bits[] = { ANTLR3_UINT64_LIT(0x000000C001000000) };
+static ANTLR3_BITSET_LIST FOLLOW_37_in_type914 = { FOLLOW_37_in_type914_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_arrayLength_in_type916 */
+static ANTLR3_BITWORD FOLLOW_arrayLength_in_type916_bits[] = { ANTLR3_UINT64_LIT(0x0000004000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_arrayLength_in_type916 = { FOLLOW_arrayLength_in_type916_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_38_in_type919 */
+static ANTLR3_BITWORD FOLLOW_38_in_type919_bits[] = { ANTLR3_UINT64_LIT(0x0000002000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_38_in_type919 = { FOLLOW_38_in_type919_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength947 */
+static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength947_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength947 = { FOLLOW_INT_in_arrayLength947_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength955 */
+static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength955_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength955 = { FOLLOW_INT_in_arrayLength955_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength957 */
+static ANTLR3_BITWORD FOLLOW_39_in_arrayLength957_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength957 = { FOLLOW_39_in_arrayLength957_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength965 */
+static ANTLR3_BITWORD FOLLOW_39_in_arrayLength965_bits[] = { ANTLR3_UINT64_LIT(0x0000000001000000) };
+static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength965 = { FOLLOW_39_in_arrayLength965_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength967 */
+static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength967_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength967 = { FOLLOW_INT_in_arrayLength967_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength976 */
+static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength976_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength976 = { FOLLOW_INT_in_arrayLength976_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_arrayLength978 */
+static ANTLR3_BITWORD FOLLOW_39_in_arrayLength978_bits[] = { ANTLR3_UINT64_LIT(0x0000000001000000) };
+static ANTLR3_BITSET_LIST FOLLOW_39_in_arrayLength978 = { FOLLOW_39_in_arrayLength978_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_arrayLength980 */
+static ANTLR3_BITWORD FOLLOW_INT_in_arrayLength980_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_INT_in_arrayLength980 = { FOLLOW_INT_in_arrayLength980_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_tupleType_in_basicType998 */
+static ANTLR3_BITWORD FOLLOW_tupleType_in_basicType998_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_tupleType_in_basicType998 = { FOLLOW_tupleType_in_basicType998_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_recordType_in_basicType1006 */
+static ANTLR3_BITWORD FOLLOW_recordType_in_basicType1006_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_recordType_in_basicType1006 = { FOLLOW_recordType_in_basicType1006_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_typeReference_in_basicType1014 */
+static ANTLR3_BITWORD FOLLOW_typeReference_in_basicType1014_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_typeReference_in_basicType1014 = { FOLLOW_typeReference_in_basicType1014_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_tupleType1036 */
+static ANTLR3_BITWORD FOLLOW_40_in_tupleType1036_bits[] = { ANTLR3_UINT64_LIT(0x00000D1000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_40_in_tupleType1036 = { FOLLOW_40_in_tupleType1036_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_tupleType1039 */
+static ANTLR3_BITWORD FOLLOW_unionType_in_tupleType1039_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_unionType_in_tupleType1039 = { FOLLOW_unionType_in_tupleType1039_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_tupleType1042 */
+static ANTLR3_BITWORD FOLLOW_41_in_tupleType1042_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_41_in_tupleType1042 = { FOLLOW_41_in_tupleType1042_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_tupleType1044 */
+static ANTLR3_BITWORD FOLLOW_unionType_in_tupleType1044_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_unionType_in_tupleType1044 = { FOLLOW_unionType_in_tupleType1044_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_tupleType1050 */
+static ANTLR3_BITWORD FOLLOW_42_in_tupleType1050_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_42_in_tupleType1050 = { FOLLOW_42_in_tupleType1050_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_recordType1083 */
+static ANTLR3_BITWORD FOLLOW_43_in_recordType1083_bits[] = { ANTLR3_UINT64_LIT(0x0000100000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_43_in_recordType1083 = { FOLLOW_43_in_recordType1083_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_component_in_recordType1086 */
+static ANTLR3_BITWORD FOLLOW_component_in_recordType1086_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_component_in_recordType1086 = { FOLLOW_component_in_recordType1086_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_recordType1089 */
+static ANTLR3_BITWORD FOLLOW_41_in_recordType1089_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_41_in_recordType1089 = { FOLLOW_41_in_recordType1089_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_component_in_recordType1091 */
+static ANTLR3_BITWORD FOLLOW_component_in_recordType1091_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_component_in_recordType1091 = { FOLLOW_component_in_recordType1091_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_recordType1097 */
+static ANTLR3_BITWORD FOLLOW_44_in_recordType1097_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_44_in_recordType1097 = { FOLLOW_44_in_recordType1097_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_component1129 */
+static ANTLR3_BITWORD FOLLOW_ID_in_component1129_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_ID_in_component1129 = { FOLLOW_ID_in_component1129_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_component1131 */
+static ANTLR3_BITWORD FOLLOW_45_in_component1131_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_45_in_component1131 = { FOLLOW_45_in_component1131_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_component1133 */
+static ANTLR3_BITWORD FOLLOW_unionType_in_component1133_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_unionType_in_component1133 = { FOLLOW_unionType_in_component1133_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_typeReference1167 */
+static ANTLR3_BITWORD FOLLOW_ID_in_typeReference1167_bits[] = { ANTLR3_UINT64_LIT(0x0000010000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_ID_in_typeReference1167 = { FOLLOW_ID_in_typeReference1167_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_typeReference1170 */
+static ANTLR3_BITWORD FOLLOW_40_in_typeReference1170_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_40_in_typeReference1170 = { FOLLOW_40_in_typeReference1170_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_parameter_in_typeReference1172 */
+static ANTLR3_BITWORD FOLLOW_parameter_in_typeReference1172_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_parameter_in_typeReference1172 = { FOLLOW_parameter_in_typeReference1172_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_typeReference1175 */
+static ANTLR3_BITWORD FOLLOW_41_in_typeReference1175_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_41_in_typeReference1175 = { FOLLOW_41_in_typeReference1175_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_parameter_in_typeReference1177 */
+static ANTLR3_BITWORD FOLLOW_parameter_in_typeReference1177_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_parameter_in_typeReference1177 = { FOLLOW_parameter_in_typeReference1177_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_typeReference1181 */
+static ANTLR3_BITWORD FOLLOW_42_in_typeReference1181_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_42_in_typeReference1181 = { FOLLOW_42_in_typeReference1181_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_parameter1217 */
+static ANTLR3_BITWORD FOLLOW_ID_in_parameter1217_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
+static ANTLR3_BITSET_LIST FOLLOW_ID_in_parameter1217 = { FOLLOW_ID_in_parameter1217_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_parameter1219 */
+static ANTLR3_BITWORD FOLLOW_35_in_parameter1219_bits[] = { ANTLR3_UINT64_LIT(0x0000C12045000000) };
+static ANTLR3_BITSET_LIST FOLLOW_35_in_parameter1219 = { FOLLOW_35_in_parameter1219_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_parameterValue_in_parameter1221 */
+static ANTLR3_BITWORD FOLLOW_parameterValue_in_parameter1221_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_parameterValue_in_parameter1221 = { FOLLOW_parameterValue_in_parameter1221_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_parameter1239 */
+static ANTLR3_BITWORD FOLLOW_unionType_in_parameter1239_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_unionType_in_parameter1239 = { FOLLOW_unionType_in_parameter1239_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_parameterValue1258 */
+static ANTLR3_BITWORD FOLLOW_string_in_parameterValue1258_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_string_in_parameterValue1258 = { FOLLOW_string_in_parameterValue1258_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_in_parameterValue1266 */
+static ANTLR3_BITWORD FOLLOW_boolean_in_parameterValue1266_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_boolean_in_parameterValue1266 = { FOLLOW_boolean_in_parameterValue1266_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_parameterValue1274 */
+static ANTLR3_BITWORD FOLLOW_number_in_parameterValue1274_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_number_in_parameterValue1274 = { FOLLOW_number_in_parameterValue1274_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_parameterValue1282 */
+static ANTLR3_BITWORD FOLLOW_set_in_parameterValue1282_bits[] = { ANTLR3_UINT64_LIT(0x0000008005000000) };
+static ANTLR3_BITSET_LIST FOLLOW_set_in_parameterValue1282 = { FOLLOW_set_in_parameterValue1282_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_range_in_parameterValue1290 */
+static ANTLR3_BITWORD FOLLOW_range_in_parameterValue1290_bits[] = { ANTLR3_UINT64_LIT(0x0000044000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_range_in_parameterValue1290 = { FOLLOW_range_in_parameterValue1290_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_parameterValue1292 */
+static ANTLR3_BITWORD FOLLOW_set_in_parameterValue1292_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_set_in_parameterValue1292 = { FOLLOW_set_in_parameterValue1292_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1319 */
+static ANTLR3_BITWORD FOLLOW_number_in_range1319_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_number_in_range1319 = { FOLLOW_number_in_range1319_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1327 */
+static ANTLR3_BITWORD FOLLOW_number_in_range1327_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_number_in_range1327 = { FOLLOW_number_in_range1327_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1329 */
+static ANTLR3_BITWORD FOLLOW_39_in_range1329_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_39_in_range1329 = { FOLLOW_39_in_range1329_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1337 */
+static ANTLR3_BITWORD FOLLOW_39_in_range1337_bits[] = { ANTLR3_UINT64_LIT(0x0000000005000000) };
+static ANTLR3_BITSET_LIST FOLLOW_39_in_range1337 = { FOLLOW_39_in_range1337_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1339 */
+static ANTLR3_BITWORD FOLLOW_number_in_range1339_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_number_in_range1339 = { FOLLOW_number_in_range1339_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1348 */
+static ANTLR3_BITWORD FOLLOW_number_in_range1348_bits[] = { ANTLR3_UINT64_LIT(0x0000008000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_number_in_range1348 = { FOLLOW_number_in_range1348_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_39_in_range1350 */
+static ANTLR3_BITWORD FOLLOW_39_in_range1350_bits[] = { ANTLR3_UINT64_LIT(0x0000000005000000) };
+static ANTLR3_BITSET_LIST FOLLOW_39_in_range1350 = { FOLLOW_39_in_range1350_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_range1352 */
+static ANTLR3_BITWORD FOLLOW_number_in_range1352_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_number_in_range1352 = { FOLLOW_number_in_range1352_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_number0 */
+static ANTLR3_BITWORD FOLLOW_set_in_number0_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_set_in_number0 = { FOLLOW_set_in_number0_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_STRING_in_string1402 */
+static ANTLR3_BITWORD FOLLOW_STRING_in_string1402_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_STRING_in_string1402 = { FOLLOW_STRING_in_string1402_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_boolean0 */
+static ANTLR3_BITWORD FOLLOW_set_in_boolean0_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_set_in_boolean0 = { FOLLOW_set_in_boolean0_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_valueDefinition_in_valueDefinitions1447 */
+static ANTLR3_BITWORD FOLLOW_valueDefinition_in_valueDefinitions1447_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800002) };
+static ANTLR3_BITSET_LIST FOLLOW_valueDefinition_in_valueDefinitions1447 = { FOLLOW_valueDefinition_in_valueDefinitions1447_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_valueDefinition1470 */
+static ANTLR3_BITWORD FOLLOW_ID_in_valueDefinition1470_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_ID_in_valueDefinition1470 = { FOLLOW_ID_in_valueDefinition1470_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_valueDefinition1472 */
+static ANTLR3_BITWORD FOLLOW_45_in_valueDefinition1472_bits[] = { ANTLR3_UINT64_LIT(0x0000091000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_45_in_valueDefinition1472 = { FOLLOW_45_in_valueDefinition1472_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_unionType_in_valueDefinition1474 */
+static ANTLR3_BITWORD FOLLOW_unionType_in_valueDefinition1474_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
+static ANTLR3_BITSET_LIST FOLLOW_unionType_in_valueDefinition1474 = { FOLLOW_unionType_in_valueDefinition1474_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_valueDefinition1476 */
+static ANTLR3_BITWORD FOLLOW_35_in_valueDefinition1476_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_35_in_valueDefinition1476 = { FOLLOW_35_in_valueDefinition1476_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_valueDefinition1478 */
+static ANTLR3_BITWORD FOLLOW_value_in_valueDefinition1478_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_value_in_valueDefinition1478 = { FOLLOW_value_in_valueDefinition1478_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_basicValue_in_value1514 */
+static ANTLR3_BITWORD FOLLOW_basicValue_in_value1514_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_basicValue_in_value1514 = { FOLLOW_basicValue_in_value1514_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_value1528 */
+static ANTLR3_BITWORD FOLLOW_45_in_value1528_bits[] = { ANTLR3_UINT64_LIT(0x0000090000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_45_in_value1528 = { FOLLOW_45_in_value1528_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_in_value1530 */
+static ANTLR3_BITWORD FOLLOW_type_in_value1530_bits[] = { ANTLR3_UINT64_LIT(0x0000200000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_type_in_value1530 = { FOLLOW_type_in_value1530_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_48_in_basicValue1562 */
+static ANTLR3_BITWORD FOLLOW_48_in_basicValue1562_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_48_in_basicValue1562 = { FOLLOW_48_in_basicValue1562_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_basicValue1574 */
+static ANTLR3_BITWORD FOLLOW_string_in_basicValue1574_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_string_in_basicValue1574 = { FOLLOW_string_in_basicValue1574_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_basicValue1582 */
+static ANTLR3_BITWORD FOLLOW_number_in_basicValue1582_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_number_in_basicValue1582 = { FOLLOW_number_in_basicValue1582_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_in_basicValue1590 */
+static ANTLR3_BITWORD FOLLOW_boolean_in_basicValue1590_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_boolean_in_basicValue1590 = { FOLLOW_boolean_in_basicValue1590_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_array_in_basicValue1598 */
+static ANTLR3_BITWORD FOLLOW_array_in_basicValue1598_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_array_in_basicValue1598 = { FOLLOW_array_in_basicValue1598_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_tuple_in_basicValue1606 */
+static ANTLR3_BITWORD FOLLOW_tuple_in_basicValue1606_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_tuple_in_basicValue1606 = { FOLLOW_tuple_in_basicValue1606_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_taggedValue_in_basicValue1614 */
+static ANTLR3_BITWORD FOLLOW_taggedValue_in_basicValue1614_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_taggedValue_in_basicValue1614 = { FOLLOW_taggedValue_in_basicValue1614_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_map_in_basicValue1622 */
+static ANTLR3_BITWORD FOLLOW_map_in_basicValue1622_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_map_in_basicValue1622 = { FOLLOW_map_in_basicValue1622_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_record_in_basicValue1630 */
+static ANTLR3_BITWORD FOLLOW_record_in_basicValue1630_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_record_in_basicValue1630 = { FOLLOW_record_in_basicValue1630_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_37_in_array1648 */
+static ANTLR3_BITWORD FOLLOW_37_in_array1648_bits[] = { ANTLR3_UINT64_LIT(0x0003C96045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_37_in_array1648 = { FOLLOW_37_in_array1648_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_array1651 */
+static ANTLR3_BITWORD FOLLOW_value_in_array1651_bits[] = { ANTLR3_UINT64_LIT(0x0000024000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_value_in_array1651 = { FOLLOW_value_in_array1651_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_array1654 */
+static ANTLR3_BITWORD FOLLOW_41_in_array1654_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_41_in_array1654 = { FOLLOW_41_in_array1654_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_array1656 */
+static ANTLR3_BITWORD FOLLOW_value_in_array1656_bits[] = { ANTLR3_UINT64_LIT(0x0000024000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_value_in_array1656 = { FOLLOW_value_in_array1656_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_38_in_array1662 */
+static ANTLR3_BITWORD FOLLOW_38_in_array1662_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_38_in_array1662 = { FOLLOW_38_in_array1662_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_40_in_tuple1694 */
+static ANTLR3_BITWORD FOLLOW_40_in_tuple1694_bits[] = { ANTLR3_UINT64_LIT(0x0003CD2045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_40_in_tuple1694 = { FOLLOW_40_in_tuple1694_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_tuple1697 */
+static ANTLR3_BITWORD FOLLOW_value_in_tuple1697_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_value_in_tuple1697 = { FOLLOW_value_in_tuple1697_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_tuple1700 */
+static ANTLR3_BITWORD FOLLOW_41_in_tuple1700_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_41_in_tuple1700 = { FOLLOW_41_in_tuple1700_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_tuple1702 */
+static ANTLR3_BITWORD FOLLOW_value_in_tuple1702_bits[] = { ANTLR3_UINT64_LIT(0x0000060000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_value_in_tuple1702 = { FOLLOW_value_in_tuple1702_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_tuple1708 */
+static ANTLR3_BITWORD FOLLOW_42_in_tuple1708_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_42_in_tuple1708 = { FOLLOW_42_in_tuple1708_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_taggedValue1740 */
+static ANTLR3_BITWORD FOLLOW_ID_in_taggedValue1740_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_ID_in_taggedValue1740 = { FOLLOW_ID_in_taggedValue1740_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_basicValue_in_taggedValue1742 */
+static ANTLR3_BITWORD FOLLOW_basicValue_in_taggedValue1742_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_basicValue_in_taggedValue1742 = { FOLLOW_basicValue_in_taggedValue1742_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_record1775 */
+static ANTLR3_BITWORD FOLLOW_43_in_record1775_bits[] = { ANTLR3_UINT64_LIT(0x0000100000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_43_in_record1775 = { FOLLOW_43_in_record1775_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_recordAssignment_in_record1778 */
+static ANTLR3_BITWORD FOLLOW_recordAssignment_in_record1778_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_recordAssignment_in_record1778 = { FOLLOW_recordAssignment_in_record1778_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_record1781 */
+static ANTLR3_BITWORD FOLLOW_41_in_record1781_bits[] = { ANTLR3_UINT64_LIT(0x0000000000800000) };
+static ANTLR3_BITSET_LIST FOLLOW_41_in_record1781 = { FOLLOW_41_in_record1781_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_recordAssignment_in_record1783 */
+static ANTLR3_BITWORD FOLLOW_recordAssignment_in_record1783_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_recordAssignment_in_record1783 = { FOLLOW_recordAssignment_in_record1783_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_record1789 */
+static ANTLR3_BITWORD FOLLOW_44_in_record1789_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_44_in_record1789 = { FOLLOW_44_in_record1789_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_recordAssignment1821 */
+static ANTLR3_BITWORD FOLLOW_ID_in_recordAssignment1821_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
+static ANTLR3_BITSET_LIST FOLLOW_ID_in_recordAssignment1821 = { FOLLOW_ID_in_recordAssignment1821_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_recordAssignment1823 */
+static ANTLR3_BITWORD FOLLOW_35_in_recordAssignment1823_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_35_in_recordAssignment1823 = { FOLLOW_35_in_recordAssignment1823_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_recordAssignment1825 */
+static ANTLR3_BITWORD FOLLOW_value_in_recordAssignment1825_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_value_in_recordAssignment1825 = { FOLLOW_value_in_recordAssignment1825_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_49_in_map1852 */
+static ANTLR3_BITWORD FOLLOW_49_in_map1852_bits[] = { ANTLR3_UINT64_LIT(0x0000080000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_49_in_map1852 = { FOLLOW_49_in_map1852_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_43_in_map1854 */
+static ANTLR3_BITWORD FOLLOW_43_in_map1854_bits[] = { ANTLR3_UINT64_LIT(0x0003D92045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_43_in_map1854 = { FOLLOW_43_in_map1854_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_mapAssignment_in_map1857 */
+static ANTLR3_BITWORD FOLLOW_mapAssignment_in_map1857_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_mapAssignment_in_map1857 = { FOLLOW_mapAssignment_in_map1857_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_41_in_map1860 */
+static ANTLR3_BITWORD FOLLOW_41_in_map1860_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_41_in_map1860 = { FOLLOW_41_in_map1860_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_mapAssignment_in_map1862 */
+static ANTLR3_BITWORD FOLLOW_mapAssignment_in_map1862_bits[] = { ANTLR3_UINT64_LIT(0x0000120000000000) };
+static ANTLR3_BITSET_LIST FOLLOW_mapAssignment_in_map1862 = { FOLLOW_mapAssignment_in_map1862_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_map1868 */
+static ANTLR3_BITWORD FOLLOW_44_in_map1868_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_44_in_map1868 = { FOLLOW_44_in_map1868_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_mapAssignment1900 */
+static ANTLR3_BITWORD FOLLOW_value_in_mapAssignment1900_bits[] = { ANTLR3_UINT64_LIT(0x0000000800000000) };
+static ANTLR3_BITSET_LIST FOLLOW_value_in_mapAssignment1900 = { FOLLOW_value_in_mapAssignment1900_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_35_in_mapAssignment1902 */
+static ANTLR3_BITWORD FOLLOW_35_in_mapAssignment1902_bits[] = { ANTLR3_UINT64_LIT(0x0003C92045800000) };
+static ANTLR3_BITSET_LIST FOLLOW_35_in_mapAssignment1902 = { FOLLOW_35_in_mapAssignment1902_bits, 1 };
+/** Bitset defining follow set for error recovery in rule state: FOLLOW_value_in_mapAssignment1904 */
+static ANTLR3_BITWORD FOLLOW_value_in_mapAssignment1904_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
+static ANTLR3_BITSET_LIST FOLLOW_value_in_mapAssignment1904 = { FOLLOW_value_in_mapAssignment1904_bits, 1 };
+
+
+
+
+/* ==============================================
+ * Parsing rules
+ */
+/**
+ * $ANTLR start typeDefinitions
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:1: typeDefinitions : ( typeDefinition )* -> ^( TYPE_DEFINITIONS ( typeDefinition )* ) ;
+ */
+static SimanticsDataParser_typeDefinitions_return
+typeDefinitions(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_typeDefinitions_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ SimanticsDataParser_typeDefinition_return typeDefinition1;
+ #undef RETURN_TYPE_typeDefinition1
+ #define RETURN_TYPE_typeDefinition1 SimanticsDataParser_typeDefinition_return
+
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_typeDefinition;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ typeDefinition1.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+
+ stream_typeDefinition = NULL;
+ #define CREATE_stream_typeDefinition if (stream_typeDefinition == NULL) {stream_typeDefinition = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule typeDefinition"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:17: ( ( typeDefinition )* -> ^( TYPE_DEFINITIONS ( typeDefinition )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: ( typeDefinition )*
+ {
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: ( typeDefinition )*
+
+ for (;;)
+ {
+ int alt1=2;
+ switch ( LA(1) )
+ {
+ case 34:
+ {
+ alt1=1;
+ }
+ break;
+
+ }
+
+ switch (alt1)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:19: typeDefinition
+ {
+ FOLLOWPUSH(FOLLOW_typeDefinition_in_typeDefinitions768);
+ typeDefinition1=typeDefinition(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletypeDefinitionsEx;
+ }
+
+ CREATE_stream_typeDefinition; stream_typeDefinition->add(stream_typeDefinition, typeDefinition1.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop1; /* break out of the loop */
+ break;
+ }
+ }
+ loop1: ; /* Jump out to here if this rule does not match */
+
+
+
+ /* AST REWRITE
+ * elements : typeDefinition
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 93:35: -> ^( TYPE_DEFINITIONS ( typeDefinition )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:38: ^( TYPE_DEFINITIONS ( typeDefinition )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_DEFINITIONS, (pANTLR3_UINT8)"TYPE_DEFINITIONS"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:93:57: ( typeDefinition )*
+ {
+ while ( (stream_typeDefinition != NULL && stream_typeDefinition->hasNext(stream_typeDefinition)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_typeDefinition == NULL ? NULL : stream_typeDefinition->nextTree(stream_typeDefinition));
+
+ }
+ if (stream_typeDefinition != NULL) stream_typeDefinition->reset(stream_typeDefinition);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruletypeDefinitionsEx; /* Prevent compiler warnings */
+ ruletypeDefinitionsEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_typeDefinition != NULL) stream_typeDefinition->free(stream_typeDefinition);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end typeDefinitions */
+
+/**
+ * $ANTLR start typeDefinition
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:95:1: typeDefinition : 'type' ID '=' unionType -> ^( TYPE_DEFINITION ID unionType ) ;
+ */
+static SimanticsDataParser_typeDefinition_return
+typeDefinition(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_typeDefinition_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN string_literal2;
+ pANTLR3_COMMON_TOKEN ID3;
+ pANTLR3_COMMON_TOKEN char_literal4;
+ SimanticsDataParser_unionType_return unionType5;
+ #undef RETURN_TYPE_unionType5
+ #define RETURN_TYPE_unionType5 SimanticsDataParser_unionType_return
+
+ pANTLR3_BASE_TREE string_literal2_tree;
+ pANTLR3_BASE_TREE ID3_tree;
+ pANTLR3_BASE_TREE char_literal4_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_34;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ string_literal2 = NULL;
+ ID3 = NULL;
+ char_literal4 = NULL;
+ unionType5.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ string_literal2_tree = NULL;
+ ID3_tree = NULL;
+ char_literal4_tree = NULL;
+
+ stream_ID = NULL;
+ #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
+ stream_35 = NULL;
+ #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
+ stream_34 = NULL;
+ #define CREATE_stream_34 if (stream_34 == NULL) {stream_34 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 34"); }
+ stream_unionType = NULL;
+ #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:5: ( 'type' ID '=' unionType -> ^( TYPE_DEFINITION ID unionType ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:7: 'type' ID '=' unionType
+ {
+ string_literal2 = (pANTLR3_COMMON_TOKEN) MATCHT(34, &FOLLOW_34_in_typeDefinition791);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeDefinitionEx;
+ }
+
+ CREATE_stream_34; stream_34->add(stream_34, string_literal2, NULL);
+
+ ID3 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_typeDefinition793);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeDefinitionEx;
+ }
+
+ CREATE_stream_ID; stream_ID->add(stream_ID, ID3, NULL);
+
+ char_literal4 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_typeDefinition795);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeDefinitionEx;
+ }
+
+ CREATE_stream_35; stream_35->add(stream_35, char_literal4, NULL);
+
+ FOLLOWPUSH(FOLLOW_unionType_in_typeDefinition797);
+ unionType5=unionType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletypeDefinitionEx;
+ }
+
+ CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType5.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : unionType, ID
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 96:31: -> ^( TYPE_DEFINITION ID unionType )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:96:34: ^( TYPE_DEFINITION ID unionType )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_DEFINITION, (pANTLR3_UINT8)"TYPE_DEFINITION"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruletypeDefinitionEx; /* Prevent compiler warnings */
+ ruletypeDefinitionEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_ID != NULL) stream_ID->free(stream_ID);
+ if (stream_35 != NULL) stream_35->free(stream_35);
+ if (stream_34 != NULL) stream_34->free(stream_34);
+ if (stream_unionType != NULL) stream_unionType->free(stream_unionType);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end typeDefinition */
+
+/**
+ * $ANTLR start unionType
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:99:1: unionType : ( type | ( '|' unionComponent )+ -> ^( UNION_TYPE ( unionComponent )+ ) );
+ */
+static SimanticsDataParser_unionType_return
+unionType(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_unionType_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal7;
+ SimanticsDataParser_type_return type6;
+ #undef RETURN_TYPE_type6
+ #define RETURN_TYPE_type6 SimanticsDataParser_type_return
+
+ SimanticsDataParser_unionComponent_return unionComponent8;
+ #undef RETURN_TYPE_unionComponent8
+ #define RETURN_TYPE_unionComponent8 SimanticsDataParser_unionComponent_return
+
+ pANTLR3_BASE_TREE char_literal7_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_36;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionComponent;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal7 = NULL;
+ type6.tree = NULL;
+
+ unionComponent8.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal7_tree = NULL;
+
+ stream_36 = NULL;
+ #define CREATE_stream_36 if (stream_36 == NULL) {stream_36 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 36"); }
+ stream_unionComponent = NULL;
+ #define CREATE_stream_unionComponent if (stream_unionComponent == NULL) {stream_unionComponent = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionComponent"); }
+
+ retval.tree = NULL;
+ {
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:100:5: ( type | ( '|' unionComponent )+ -> ^( UNION_TYPE ( unionComponent )+ ) )
+
+ ANTLR3_UINT32 alt3;
+
+ alt3=2;
+
+ switch ( LA(1) )
+ {
+ case ID:
+ case 40:
+ case 43:
+ {
+ alt3=1;
+ }
+ break;
+ case 36:
+ {
+ alt3=2;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 3;
+ EXCEPTION->state = 0;
+
+
+ goto ruleunionTypeEx;
+ }
+
+ switch (alt3)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:100:7: type
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_type_in_unionType829);
+ type6=type(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleunionTypeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, type6.tree);
+
+ }
+ break;
+ case 2:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:7: ( '|' unionComponent )+
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:7: ( '|' unionComponent )+
+ {
+ int cnt2=0;
+
+ for (;;)
+ {
+ int alt2=2;
+ switch ( LA(1) )
+ {
+ case 36:
+ {
+ alt2=1;
+ }
+ break;
+
+ }
+
+ switch (alt2)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:101:8: '|' unionComponent
+ {
+ char_literal7 = (pANTLR3_COMMON_TOKEN) MATCHT(36, &FOLLOW_36_in_unionType838);
+ if (HASEXCEPTION())
+ {
+ goto ruleunionTypeEx;
+ }
+
+ CREATE_stream_36; stream_36->add(stream_36, char_literal7, NULL);
+
+ FOLLOWPUSH(FOLLOW_unionComponent_in_unionType840);
+ unionComponent8=unionComponent(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleunionTypeEx;
+ }
+
+ CREATE_stream_unionComponent; stream_unionComponent->add(stream_unionComponent, unionComponent8.tree, NULL);
+
+ }
+ break;
+
+ default:
+
+ if ( cnt2 >= 1 )
+ {
+ goto loop2;
+ }
+ /* mismatchedSetEx()
+ */
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
+ EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
+
+
+ goto ruleunionTypeEx;
+ }
+ cnt2++;
+ }
+ loop2: ; /* Jump to here if this rule does not match */
+ }
+
+
+ /* AST REWRITE
+ * elements : unionComponent
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 102:5: -> ^( UNION_TYPE ( unionComponent )+ )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:102:8: ^( UNION_TYPE ( unionComponent )+ )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, UNION_TYPE, (pANTLR3_UINT8)"UNION_TYPE"), root_1));
+
+ if ((stream_unionComponent == NULL || !stream_unionComponent->hasNext(stream_unionComponent)) )
+ {
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_REWRITE_EARLY_EXCEPTION;
+ EXCEPTION->name = (void *)ANTLR3_REWRITE_EARLY_EXCEPTION_NAME;
+ }
+ else
+ {
+ while ( (stream_unionComponent->hasNext(stream_unionComponent)) ) {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_unionComponent == NULL ? NULL : stream_unionComponent->nextTree(stream_unionComponent));
+
+ }
+ stream_unionComponent->reset(stream_unionComponent);
+
+ }
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+ break;
+
+ }
+ }
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruleunionTypeEx; /* Prevent compiler warnings */
+ ruleunionTypeEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_36 != NULL) stream_36->free(stream_36);
+ if (stream_unionComponent != NULL) stream_unionComponent->free(stream_unionComponent);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end unionType */
+
+/**
+ * $ANTLR start unionComponent
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:1: unionComponent : ID ( type )? -> ^( TYPE_COMPONENT ID ( type )? ) ;
+ */
+static SimanticsDataParser_unionComponent_return
+unionComponent(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_unionComponent_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN ID9;
+ SimanticsDataParser_type_return type10;
+ #undef RETURN_TYPE_type10
+ #define RETURN_TYPE_type10 SimanticsDataParser_type_return
+
+ pANTLR3_BASE_TREE ID9_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_type;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ ID9 = NULL;
+ type10.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ ID9_tree = NULL;
+
+ stream_ID = NULL;
+ #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
+ stream_type = NULL;
+ #define CREATE_stream_type if (stream_type == NULL) {stream_type = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule type"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:16: ( ID ( type )? -> ^( TYPE_COMPONENT ID ( type )? ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:18: ID ( type )?
+ {
+ ID9 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_unionComponent871);
+ if (HASEXCEPTION())
+ {
+ goto ruleunionComponentEx;
+ }
+
+ CREATE_stream_ID; stream_ID->add(stream_ID, ID9, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:21: ( type )?
+ {
+ int alt4=2;
+ switch ( LA(1) )
+ {
+ case ID:
+ case 40:
+ case 43:
+ {
+ alt4=1;
+ }
+ break;
+ }
+
+ switch (alt4)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:21: type
+ {
+ FOLLOWPUSH(FOLLOW_type_in_unionComponent873);
+ type10=type(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleunionComponentEx;
+ }
+
+ CREATE_stream_type; stream_type->add(stream_type, type10.tree, NULL);
+
+ }
+ break;
+
+ }
+ }
+
+
+ /* AST REWRITE
+ * elements : ID, type
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 105:27: -> ^( TYPE_COMPONENT ID ( type )? )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:30: ^( TYPE_COMPONENT ID ( type )? )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_COMPONENT, (pANTLR3_UINT8)"TYPE_COMPONENT"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:105:50: ( type )?
+ {
+ if ( (stream_type != NULL && stream_type->hasNext(stream_type)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_type == NULL ? NULL : stream_type->nextTree(stream_type));
+
+ }
+ if ( stream_type != NULL) stream_type->reset(stream_type);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruleunionComponentEx; /* Prevent compiler warnings */
+ ruleunionComponentEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_ID != NULL) stream_ID->free(stream_ID);
+ if (stream_type != NULL) stream_type->free(stream_type);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end unionComponent */
+
+/**
+ * $ANTLR start type
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:107:1: type : ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )* ;
+ */
+static SimanticsDataParser_type_return
+type(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_type_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal12;
+ pANTLR3_COMMON_TOKEN char_literal14;
+ SimanticsDataParser_basicType_return basicType11;
+ #undef RETURN_TYPE_basicType11
+ #define RETURN_TYPE_basicType11 SimanticsDataParser_basicType_return
+
+ SimanticsDataParser_arrayLength_return arrayLength13;
+ #undef RETURN_TYPE_arrayLength13
+ #define RETURN_TYPE_arrayLength13 SimanticsDataParser_arrayLength_return
+
+ pANTLR3_BASE_TREE char_literal12_tree;
+ pANTLR3_BASE_TREE char_literal14_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_37;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_38;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_arrayLength;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicType;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal12 = NULL;
+ char_literal14 = NULL;
+ basicType11.tree = NULL;
+
+ arrayLength13.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal12_tree = NULL;
+ char_literal14_tree = NULL;
+
+ stream_37 = NULL;
+ #define CREATE_stream_37 if (stream_37 == NULL) {stream_37 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 37"); }
+ stream_38 = NULL;
+ #define CREATE_stream_38 if (stream_38 == NULL) {stream_38 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 38"); }
+ stream_arrayLength = NULL;
+ #define CREATE_stream_arrayLength if (stream_arrayLength == NULL) {stream_arrayLength = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule arrayLength"); }
+ stream_basicType = NULL;
+ #define CREATE_stream_basicType if (stream_basicType == NULL) {stream_basicType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicType"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:5: ( ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )* )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:7: ( basicType -> basicType ) ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )*
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:7: ( basicType -> basicType )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:108:8: basicType
+ {
+ FOLLOWPUSH(FOLLOW_basicType_in_type900);
+ basicType11=basicType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletypeEx;
+ }
+
+ CREATE_stream_basicType; stream_basicType->add(stream_basicType, basicType11.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : basicType
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 108:18: -> basicType
+ {
+ ADAPTOR->addChild(ADAPTOR, root_0, stream_basicType == NULL ? NULL : stream_basicType->nextTree(stream_basicType));
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:7: ( '[' ( arrayLength )? ']' -> ^( ARRAY_TYPE $type ( arrayLength )? ) )*
+
+ for (;;)
+ {
+ int alt6=2;
+ switch ( LA(1) )
+ {
+ case 37:
+ {
+ alt6=1;
+ }
+ break;
+
+ }
+
+ switch (alt6)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:8: '[' ( arrayLength )? ']'
+ {
+ char_literal12 = (pANTLR3_COMMON_TOKEN) MATCHT(37, &FOLLOW_37_in_type914);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeEx;
+ }
+
+ CREATE_stream_37; stream_37->add(stream_37, char_literal12, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:12: ( arrayLength )?
+ {
+ int alt5=2;
+ switch ( LA(1) )
+ {
+ case INT:
+ case 39:
+ {
+ alt5=1;
+ }
+ break;
+ }
+
+ switch (alt5)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:12: arrayLength
+ {
+ FOLLOWPUSH(FOLLOW_arrayLength_in_type916);
+ arrayLength13=arrayLength(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletypeEx;
+ }
+
+ CREATE_stream_arrayLength; stream_arrayLength->add(stream_arrayLength, arrayLength13.tree, NULL);
+
+ }
+ break;
+
+ }
+ }
+ char_literal14 = (pANTLR3_COMMON_TOKEN) MATCHT(38, &FOLLOW_38_in_type919);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeEx;
+ }
+
+ CREATE_stream_38; stream_38->add(stream_38, char_literal14, NULL);
+
+
+
+ /* AST REWRITE
+ * elements : arrayLength, type
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 109:29: -> ^( ARRAY_TYPE $type ( arrayLength )? )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:32: ^( ARRAY_TYPE $type ( arrayLength )? )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ARRAY_TYPE, (pANTLR3_UINT8)"ARRAY_TYPE"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_retval == NULL ? NULL : stream_retval->nextTree(stream_retval));
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:109:51: ( arrayLength )?
+ {
+ if ( (stream_arrayLength != NULL && stream_arrayLength->hasNext(stream_arrayLength)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_arrayLength == NULL ? NULL : stream_arrayLength->nextTree(stream_arrayLength));
+
+ }
+ if ( stream_arrayLength != NULL) stream_arrayLength->reset(stream_arrayLength);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+ break;
+
+ default:
+ goto loop6; /* break out of the loop */
+ break;
+ }
+ }
+ loop6: ; /* Jump out to here if this rule does not match */
+
+
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruletypeEx; /* Prevent compiler warnings */
+ ruletypeEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_37 != NULL) stream_37->free(stream_37);
+ if (stream_38 != NULL) stream_38->free(stream_38);
+ if (stream_arrayLength != NULL) stream_arrayLength->free(stream_arrayLength);
+ if (stream_basicType != NULL) stream_basicType->free(stream_basicType);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end type */
+
+/**
+ * $ANTLR start arrayLength
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:111:1: arrayLength : ( INT | INT '..' | '..' INT | INT '..' INT );
+ */
+static SimanticsDataParser_arrayLength_return
+arrayLength(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_arrayLength_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN INT15;
+ pANTLR3_COMMON_TOKEN INT16;
+ pANTLR3_COMMON_TOKEN string_literal17;
+ pANTLR3_COMMON_TOKEN string_literal18;
+ pANTLR3_COMMON_TOKEN INT19;
+ pANTLR3_COMMON_TOKEN INT20;
+ pANTLR3_COMMON_TOKEN string_literal21;
+ pANTLR3_COMMON_TOKEN INT22;
+
+ pANTLR3_BASE_TREE INT15_tree;
+ pANTLR3_BASE_TREE INT16_tree;
+ pANTLR3_BASE_TREE string_literal17_tree;
+ pANTLR3_BASE_TREE string_literal18_tree;
+ pANTLR3_BASE_TREE INT19_tree;
+ pANTLR3_BASE_TREE INT20_tree;
+ pANTLR3_BASE_TREE string_literal21_tree;
+ pANTLR3_BASE_TREE INT22_tree;
+
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ INT15 = NULL;
+ INT16 = NULL;
+ string_literal17 = NULL;
+ string_literal18 = NULL;
+ INT19 = NULL;
+ INT20 = NULL;
+ string_literal21 = NULL;
+ INT22 = NULL;
+ retval.start = LT(1); retval.stop = retval.start;
+
+ INT15_tree = NULL;
+ INT16_tree = NULL;
+ string_literal17_tree = NULL;
+ string_literal18_tree = NULL;
+ INT19_tree = NULL;
+ INT20_tree = NULL;
+ string_literal21_tree = NULL;
+ INT22_tree = NULL;
+
+
+ retval.tree = NULL;
+ {
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:112:5: ( INT | INT '..' | '..' INT | INT '..' INT )
+
+ ANTLR3_UINT32 alt7;
+
+ alt7=4;
+
+ switch ( LA(1) )
+ {
+ case INT:
+ {
+ switch ( LA(2) )
+ {
+ case 39:
+ {
+ switch ( LA(3) )
+ {
+ case INT:
+ {
+ alt7=4;
+ }
+ break;
+ case 38:
+ {
+ alt7=2;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 7;
+ EXCEPTION->state = 3;
+
+
+ goto rulearrayLengthEx;
+ }
+
+ }
+ break;
+ case 38:
+ {
+ alt7=1;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 7;
+ EXCEPTION->state = 1;
+
+
+ goto rulearrayLengthEx;
+ }
+
+ }
+ break;
+ case 39:
+ {
+ alt7=3;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 7;
+ EXCEPTION->state = 0;
+
+
+ goto rulearrayLengthEx;
+ }
+
+ switch (alt7)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:112:7: INT
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ INT15 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength947);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayLengthEx;
+ }
+
+ INT15_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT15));
+ ADAPTOR->addChild(ADAPTOR, root_0, INT15_tree);
+
+
+ }
+ break;
+ case 2:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:113:7: INT '..'
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ INT16 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength955);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayLengthEx;
+ }
+
+ INT16_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT16));
+ ADAPTOR->addChild(ADAPTOR, root_0, INT16_tree);
+
+ string_literal17 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength957);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayLengthEx;
+ }
+
+ string_literal17_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal17));
+ ADAPTOR->addChild(ADAPTOR, root_0, string_literal17_tree);
+
+
+ }
+ break;
+ case 3:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:114:7: '..' INT
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ string_literal18 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength965);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayLengthEx;
+ }
+
+ string_literal18_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal18));
+ ADAPTOR->addChild(ADAPTOR, root_0, string_literal18_tree);
+
+ INT19 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength967);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayLengthEx;
+ }
+
+ INT19_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT19));
+ ADAPTOR->addChild(ADAPTOR, root_0, INT19_tree);
+
+
+ }
+ break;
+ case 4:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:115:7: INT '..' INT
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ INT20 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength976);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayLengthEx;
+ }
+
+ INT20_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT20));
+ ADAPTOR->addChild(ADAPTOR, root_0, INT20_tree);
+
+ string_literal21 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_arrayLength978);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayLengthEx;
+ }
+
+ string_literal21_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal21));
+ ADAPTOR->addChild(ADAPTOR, root_0, string_literal21_tree);
+
+ INT22 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_arrayLength980);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayLengthEx;
+ }
+
+ INT22_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT22));
+ ADAPTOR->addChild(ADAPTOR, root_0, INT22_tree);
+
+
+ }
+ break;
+
+ }
+ }
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulearrayLengthEx; /* Prevent compiler warnings */
+ rulearrayLengthEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end arrayLength */
+
+/**
+ * $ANTLR start basicType
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:118:1: basicType : ( tupleType | recordType | typeReference );
+ */
+static SimanticsDataParser_basicType_return
+basicType(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_basicType_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ SimanticsDataParser_tupleType_return tupleType23;
+ #undef RETURN_TYPE_tupleType23
+ #define RETURN_TYPE_tupleType23 SimanticsDataParser_tupleType_return
+
+ SimanticsDataParser_recordType_return recordType24;
+ #undef RETURN_TYPE_recordType24
+ #define RETURN_TYPE_recordType24 SimanticsDataParser_recordType_return
+
+ SimanticsDataParser_typeReference_return typeReference25;
+ #undef RETURN_TYPE_typeReference25
+ #define RETURN_TYPE_typeReference25 SimanticsDataParser_typeReference_return
+
+
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ tupleType23.tree = NULL;
+
+ recordType24.tree = NULL;
+
+ typeReference25.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+
+
+ retval.tree = NULL;
+ {
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:119:5: ( tupleType | recordType | typeReference )
+
+ ANTLR3_UINT32 alt8;
+
+ alt8=3;
+
+ switch ( LA(1) )
+ {
+ case 40:
+ {
+ alt8=1;
+ }
+ break;
+ case 43:
+ {
+ alt8=2;
+ }
+ break;
+ case ID:
+ {
+ alt8=3;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 8;
+ EXCEPTION->state = 0;
+
+
+ goto rulebasicTypeEx;
+ }
+
+ switch (alt8)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:119:7: tupleType
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_tupleType_in_basicType998);
+ tupleType23=tupleType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicTypeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, tupleType23.tree);
+
+ }
+ break;
+ case 2:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:120:7: recordType
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_recordType_in_basicType1006);
+ recordType24=recordType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicTypeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, recordType24.tree);
+
+ }
+ break;
+ case 3:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:121:7: typeReference
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_typeReference_in_basicType1014);
+ typeReference25=typeReference(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicTypeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, typeReference25.tree);
+
+ }
+ break;
+
+ }
+ }
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulebasicTypeEx; /* Prevent compiler warnings */
+ rulebasicTypeEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end basicType */
+
+/**
+ * $ANTLR start tupleType
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:124:1: tupleType : '(' ( unionType ( ',' unionType )* )? ')' -> ^( TUPLE_TYPE ( unionType )* ) ;
+ */
+static SimanticsDataParser_tupleType_return
+tupleType(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_tupleType_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal26;
+ pANTLR3_COMMON_TOKEN char_literal28;
+ pANTLR3_COMMON_TOKEN char_literal30;
+ SimanticsDataParser_unionType_return unionType27;
+ #undef RETURN_TYPE_unionType27
+ #define RETURN_TYPE_unionType27 SimanticsDataParser_unionType_return
+
+ SimanticsDataParser_unionType_return unionType29;
+ #undef RETURN_TYPE_unionType29
+ #define RETURN_TYPE_unionType29 SimanticsDataParser_unionType_return
+
+ pANTLR3_BASE_TREE char_literal26_tree;
+ pANTLR3_BASE_TREE char_literal28_tree;
+ pANTLR3_BASE_TREE char_literal30_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal26 = NULL;
+ char_literal28 = NULL;
+ char_literal30 = NULL;
+ unionType27.tree = NULL;
+
+ unionType29.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal26_tree = NULL;
+ char_literal28_tree = NULL;
+ char_literal30_tree = NULL;
+
+ stream_42 = NULL;
+ #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); }
+ stream_41 = NULL;
+ #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
+ stream_40 = NULL;
+ #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); }
+ stream_unionType = NULL;
+ #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:5: ( '(' ( unionType ( ',' unionType )* )? ')' -> ^( TUPLE_TYPE ( unionType )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:7: '(' ( unionType ( ',' unionType )* )? ')'
+ {
+ char_literal26 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_tupleType1036);
+ if (HASEXCEPTION())
+ {
+ goto ruletupleTypeEx;
+ }
+
+ CREATE_stream_40; stream_40->add(stream_40, char_literal26, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:11: ( unionType ( ',' unionType )* )?
+ {
+ int alt10=2;
+ switch ( LA(1) )
+ {
+ case ID:
+ case 36:
+ case 40:
+ case 43:
+ {
+ alt10=1;
+ }
+ break;
+ }
+
+ switch (alt10)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:12: unionType ( ',' unionType )*
+ {
+ FOLLOWPUSH(FOLLOW_unionType_in_tupleType1039);
+ unionType27=unionType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletupleTypeEx;
+ }
+
+ CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType27.tree, NULL);
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:22: ( ',' unionType )*
+
+ for (;;)
+ {
+ int alt9=2;
+ switch ( LA(1) )
+ {
+ case 41:
+ {
+ alt9=1;
+ }
+ break;
+
+ }
+
+ switch (alt9)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:125:23: ',' unionType
+ {
+ char_literal28 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_tupleType1042);
+ if (HASEXCEPTION())
+ {
+ goto ruletupleTypeEx;
+ }
+
+ CREATE_stream_41; stream_41->add(stream_41, char_literal28, NULL);
+
+ FOLLOWPUSH(FOLLOW_unionType_in_tupleType1044);
+ unionType29=unionType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletupleTypeEx;
+ }
+
+ CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType29.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop9; /* break out of the loop */
+ break;
+ }
+ }
+ loop9: ; /* Jump out to here if this rule does not match */
+
+
+ }
+ break;
+
+ }
+ }
+ char_literal30 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_tupleType1050);
+ if (HASEXCEPTION())
+ {
+ goto ruletupleTypeEx;
+ }
+
+ CREATE_stream_42; stream_42->add(stream_42, char_literal30, NULL);
+
+
+
+ /* AST REWRITE
+ * elements : unionType
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 126:5: -> ^( TUPLE_TYPE ( unionType )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:126:8: ^( TUPLE_TYPE ( unionType )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TUPLE_TYPE, (pANTLR3_UINT8)"TUPLE_TYPE"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:126:21: ( unionType )*
+ {
+ while ( (stream_unionType != NULL && stream_unionType->hasNext(stream_unionType)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));
+
+ }
+ if (stream_unionType != NULL) stream_unionType->reset(stream_unionType);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruletupleTypeEx; /* Prevent compiler warnings */
+ ruletupleTypeEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_42 != NULL) stream_42->free(stream_42);
+ if (stream_41 != NULL) stream_41->free(stream_41);
+ if (stream_40 != NULL) stream_40->free(stream_40);
+ if (stream_unionType != NULL) stream_unionType->free(stream_unionType);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end tupleType */
+
+/**
+ * $ANTLR start recordType
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:129:1: recordType : '{' ( component ( ',' component )* )? '}' -> ^( RECORD_TYPE ( component )* ) ;
+ */
+static SimanticsDataParser_recordType_return
+recordType(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_recordType_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal31;
+ pANTLR3_COMMON_TOKEN char_literal33;
+ pANTLR3_COMMON_TOKEN char_literal35;
+ SimanticsDataParser_component_return component32;
+ #undef RETURN_TYPE_component32
+ #define RETURN_TYPE_component32 SimanticsDataParser_component_return
+
+ SimanticsDataParser_component_return component34;
+ #undef RETURN_TYPE_component34
+ #define RETURN_TYPE_component34 SimanticsDataParser_component_return
+
+ pANTLR3_BASE_TREE char_literal31_tree;
+ pANTLR3_BASE_TREE char_literal33_tree;
+ pANTLR3_BASE_TREE char_literal35_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_component;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal31 = NULL;
+ char_literal33 = NULL;
+ char_literal35 = NULL;
+ component32.tree = NULL;
+
+ component34.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal31_tree = NULL;
+ char_literal33_tree = NULL;
+ char_literal35_tree = NULL;
+
+ stream_43 = NULL;
+ #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); }
+ stream_44 = NULL;
+ #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); }
+ stream_41 = NULL;
+ #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
+ stream_component = NULL;
+ #define CREATE_stream_component if (stream_component == NULL) {stream_component = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule component"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:5: ( '{' ( component ( ',' component )* )? '}' -> ^( RECORD_TYPE ( component )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:7: '{' ( component ( ',' component )* )? '}'
+ {
+ char_literal31 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_recordType1083);
+ if (HASEXCEPTION())
+ {
+ goto rulerecordTypeEx;
+ }
+
+ CREATE_stream_43; stream_43->add(stream_43, char_literal31, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:11: ( component ( ',' component )* )?
+ {
+ int alt12=2;
+ switch ( LA(1) )
+ {
+ case ID:
+ {
+ alt12=1;
+ }
+ break;
+ }
+
+ switch (alt12)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:12: component ( ',' component )*
+ {
+ FOLLOWPUSH(FOLLOW_component_in_recordType1086);
+ component32=component(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerecordTypeEx;
+ }
+
+ CREATE_stream_component; stream_component->add(stream_component, component32.tree, NULL);
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:22: ( ',' component )*
+
+ for (;;)
+ {
+ int alt11=2;
+ switch ( LA(1) )
+ {
+ case 41:
+ {
+ alt11=1;
+ }
+ break;
+
+ }
+
+ switch (alt11)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:130:23: ',' component
+ {
+ char_literal33 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_recordType1089);
+ if (HASEXCEPTION())
+ {
+ goto rulerecordTypeEx;
+ }
+
+ CREATE_stream_41; stream_41->add(stream_41, char_literal33, NULL);
+
+ FOLLOWPUSH(FOLLOW_component_in_recordType1091);
+ component34=component(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerecordTypeEx;
+ }
+
+ CREATE_stream_component; stream_component->add(stream_component, component34.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop11; /* break out of the loop */
+ break;
+ }
+ }
+ loop11: ; /* Jump out to here if this rule does not match */
+
+
+ }
+ break;
+
+ }
+ }
+ char_literal35 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_recordType1097);
+ if (HASEXCEPTION())
+ {
+ goto rulerecordTypeEx;
+ }
+
+ CREATE_stream_44; stream_44->add(stream_44, char_literal35, NULL);
+
+
+
+ /* AST REWRITE
+ * elements : component
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 131:5: -> ^( RECORD_TYPE ( component )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:131:8: ^( RECORD_TYPE ( component )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, RECORD_TYPE, (pANTLR3_UINT8)"RECORD_TYPE"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:131:22: ( component )*
+ {
+ while ( (stream_component != NULL && stream_component->hasNext(stream_component)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_component == NULL ? NULL : stream_component->nextTree(stream_component));
+
+ }
+ if (stream_component != NULL) stream_component->reset(stream_component);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulerecordTypeEx; /* Prevent compiler warnings */
+ rulerecordTypeEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_43 != NULL) stream_43->free(stream_43);
+ if (stream_44 != NULL) stream_44->free(stream_44);
+ if (stream_41 != NULL) stream_41->free(stream_41);
+ if (stream_component != NULL) stream_component->free(stream_component);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end recordType */
+
+/**
+ * $ANTLR start component
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:134:1: component : ID ':' unionType -> ^( TYPE_COMPONENT ID unionType ) ;
+ */
+static SimanticsDataParser_component_return
+component(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_component_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN ID36;
+ pANTLR3_COMMON_TOKEN char_literal37;
+ SimanticsDataParser_unionType_return unionType38;
+ #undef RETURN_TYPE_unionType38
+ #define RETURN_TYPE_unionType38 SimanticsDataParser_unionType_return
+
+ pANTLR3_BASE_TREE ID36_tree;
+ pANTLR3_BASE_TREE char_literal37_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ ID36 = NULL;
+ char_literal37 = NULL;
+ unionType38.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ ID36_tree = NULL;
+ char_literal37_tree = NULL;
+
+ stream_45 = NULL;
+ #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); }
+ stream_ID = NULL;
+ #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
+ stream_unionType = NULL;
+ #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:135:5: ( ID ':' unionType -> ^( TYPE_COMPONENT ID unionType ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:135:7: ID ':' unionType
+ {
+ ID36 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_component1129);
+ if (HASEXCEPTION())
+ {
+ goto rulecomponentEx;
+ }
+
+ CREATE_stream_ID; stream_ID->add(stream_ID, ID36, NULL);
+
+ char_literal37 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_component1131);
+ if (HASEXCEPTION())
+ {
+ goto rulecomponentEx;
+ }
+
+ CREATE_stream_45; stream_45->add(stream_45, char_literal37, NULL);
+
+ FOLLOWPUSH(FOLLOW_unionType_in_component1133);
+ unionType38=unionType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulecomponentEx;
+ }
+
+ CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType38.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : ID, unionType
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 136:5: -> ^( TYPE_COMPONENT ID unionType )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:136:8: ^( TYPE_COMPONENT ID unionType )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_COMPONENT, (pANTLR3_UINT8)"TYPE_COMPONENT"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulecomponentEx; /* Prevent compiler warnings */
+ rulecomponentEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_45 != NULL) stream_45->free(stream_45);
+ if (stream_ID != NULL) stream_ID->free(stream_ID);
+ if (stream_unionType != NULL) stream_unionType->free(stream_unionType);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end component */
+
+/**
+ * $ANTLR start typeReference
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:139:1: typeReference : ID ( '(' parameter ( ',' parameter )* ')' )? -> ^( TYPE_REFERENCE ID ( parameter )* ) ;
+ */
+static SimanticsDataParser_typeReference_return
+typeReference(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_typeReference_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN ID39;
+ pANTLR3_COMMON_TOKEN char_literal40;
+ pANTLR3_COMMON_TOKEN char_literal42;
+ pANTLR3_COMMON_TOKEN char_literal44;
+ SimanticsDataParser_parameter_return parameter41;
+ #undef RETURN_TYPE_parameter41
+ #define RETURN_TYPE_parameter41 SimanticsDataParser_parameter_return
+
+ SimanticsDataParser_parameter_return parameter43;
+ #undef RETURN_TYPE_parameter43
+ #define RETURN_TYPE_parameter43 SimanticsDataParser_parameter_return
+
+ pANTLR3_BASE_TREE ID39_tree;
+ pANTLR3_BASE_TREE char_literal40_tree;
+ pANTLR3_BASE_TREE char_literal42_tree;
+ pANTLR3_BASE_TREE char_literal44_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_parameter;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ ID39 = NULL;
+ char_literal40 = NULL;
+ char_literal42 = NULL;
+ char_literal44 = NULL;
+ parameter41.tree = NULL;
+
+ parameter43.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ ID39_tree = NULL;
+ char_literal40_tree = NULL;
+ char_literal42_tree = NULL;
+ char_literal44_tree = NULL;
+
+ stream_42 = NULL;
+ #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); }
+ stream_41 = NULL;
+ #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
+ stream_40 = NULL;
+ #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); }
+ stream_ID = NULL;
+ #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
+ stream_parameter = NULL;
+ #define CREATE_stream_parameter if (stream_parameter == NULL) {stream_parameter = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule parameter"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:5: ( ID ( '(' parameter ( ',' parameter )* ')' )? -> ^( TYPE_REFERENCE ID ( parameter )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:7: ID ( '(' parameter ( ',' parameter )* ')' )?
+ {
+ ID39 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_typeReference1167);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeReferenceEx;
+ }
+
+ CREATE_stream_ID; stream_ID->add(stream_ID, ID39, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:10: ( '(' parameter ( ',' parameter )* ')' )?
+ {
+ int alt14=2;
+ switch ( LA(1) )
+ {
+ case 40:
+ {
+ alt14=1;
+ }
+ break;
+ }
+
+ switch (alt14)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:11: '(' parameter ( ',' parameter )* ')'
+ {
+ char_literal40 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_typeReference1170);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeReferenceEx;
+ }
+
+ CREATE_stream_40; stream_40->add(stream_40, char_literal40, NULL);
+
+ FOLLOWPUSH(FOLLOW_parameter_in_typeReference1172);
+ parameter41=parameter(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletypeReferenceEx;
+ }
+
+ CREATE_stream_parameter; stream_parameter->add(stream_parameter, parameter41.tree, NULL);
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:25: ( ',' parameter )*
+
+ for (;;)
+ {
+ int alt13=2;
+ switch ( LA(1) )
+ {
+ case 41:
+ {
+ alt13=1;
+ }
+ break;
+
+ }
+
+ switch (alt13)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:140:26: ',' parameter
+ {
+ char_literal42 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_typeReference1175);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeReferenceEx;
+ }
+
+ CREATE_stream_41; stream_41->add(stream_41, char_literal42, NULL);
+
+ FOLLOWPUSH(FOLLOW_parameter_in_typeReference1177);
+ parameter43=parameter(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletypeReferenceEx;
+ }
+
+ CREATE_stream_parameter; stream_parameter->add(stream_parameter, parameter43.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop13; /* break out of the loop */
+ break;
+ }
+ }
+ loop13: ; /* Jump out to here if this rule does not match */
+
+ char_literal44 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_typeReference1181);
+ if (HASEXCEPTION())
+ {
+ goto ruletypeReferenceEx;
+ }
+
+ CREATE_stream_42; stream_42->add(stream_42, char_literal44, NULL);
+
+
+ }
+ break;
+
+ }
+ }
+
+
+ /* AST REWRITE
+ * elements : ID, parameter
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 141:5: -> ^( TYPE_REFERENCE ID ( parameter )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:141:8: ^( TYPE_REFERENCE ID ( parameter )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_REFERENCE, (pANTLR3_UINT8)"TYPE_REFERENCE"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:141:28: ( parameter )*
+ {
+ while ( (stream_parameter != NULL && stream_parameter->hasNext(stream_parameter)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_parameter == NULL ? NULL : stream_parameter->nextTree(stream_parameter));
+
+ }
+ if (stream_parameter != NULL) stream_parameter->reset(stream_parameter);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruletypeReferenceEx; /* Prevent compiler warnings */
+ ruletypeReferenceEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_42 != NULL) stream_42->free(stream_42);
+ if (stream_41 != NULL) stream_41->free(stream_41);
+ if (stream_40 != NULL) stream_40->free(stream_40);
+ if (stream_ID != NULL) stream_ID->free(stream_ID);
+ if (stream_parameter != NULL) stream_parameter->free(stream_parameter);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end typeReference */
+
+/**
+ * $ANTLR start parameter
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:144:1: parameter : ( ID '=' parameterValue -> ^( TYPE_ANNOTATION ID parameterValue ) | unionType );
+ */
+static SimanticsDataParser_parameter_return
+parameter(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_parameter_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN ID45;
+ pANTLR3_COMMON_TOKEN char_literal46;
+ SimanticsDataParser_parameterValue_return parameterValue47;
+ #undef RETURN_TYPE_parameterValue47
+ #define RETURN_TYPE_parameterValue47 SimanticsDataParser_parameterValue_return
+
+ SimanticsDataParser_unionType_return unionType48;
+ #undef RETURN_TYPE_unionType48
+ #define RETURN_TYPE_unionType48 SimanticsDataParser_unionType_return
+
+ pANTLR3_BASE_TREE ID45_tree;
+ pANTLR3_BASE_TREE char_literal46_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_parameterValue;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ ID45 = NULL;
+ char_literal46 = NULL;
+ parameterValue47.tree = NULL;
+
+ unionType48.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ ID45_tree = NULL;
+ char_literal46_tree = NULL;
+
+ stream_ID = NULL;
+ #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
+ stream_35 = NULL;
+ #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
+ stream_parameterValue = NULL;
+ #define CREATE_stream_parameterValue if (stream_parameterValue == NULL) {stream_parameterValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule parameterValue"); }
+
+ retval.tree = NULL;
+ {
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:5: ( ID '=' parameterValue -> ^( TYPE_ANNOTATION ID parameterValue ) | unionType )
+
+ ANTLR3_UINT32 alt15;
+
+ alt15=2;
+
+ switch ( LA(1) )
+ {
+ case ID:
+ {
+ switch ( LA(2) )
+ {
+ case 35:
+ {
+ alt15=1;
+ }
+ break;
+ case 37:
+ case 40:
+ case 41:
+ case 42:
+ {
+ alt15=2;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 15;
+ EXCEPTION->state = 1;
+
+
+ goto ruleparameterEx;
+ }
+
+ }
+ break;
+ case 36:
+ case 40:
+ case 43:
+ {
+ alt15=2;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 15;
+ EXCEPTION->state = 0;
+
+
+ goto ruleparameterEx;
+ }
+
+ switch (alt15)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:7: ID '=' parameterValue
+ {
+ ID45 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_parameter1217);
+ if (HASEXCEPTION())
+ {
+ goto ruleparameterEx;
+ }
+
+ CREATE_stream_ID; stream_ID->add(stream_ID, ID45, NULL);
+
+ char_literal46 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_parameter1219);
+ if (HASEXCEPTION())
+ {
+ goto ruleparameterEx;
+ }
+
+ CREATE_stream_35; stream_35->add(stream_35, char_literal46, NULL);
+
+ FOLLOWPUSH(FOLLOW_parameterValue_in_parameter1221);
+ parameterValue47=parameterValue(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleparameterEx;
+ }
+
+ CREATE_stream_parameterValue; stream_parameterValue->add(stream_parameterValue, parameterValue47.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : ID, parameterValue
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 145:29: -> ^( TYPE_ANNOTATION ID parameterValue )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:145:32: ^( TYPE_ANNOTATION ID parameterValue )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TYPE_ANNOTATION, (pANTLR3_UINT8)"TYPE_ANNOTATION"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_parameterValue == NULL ? NULL : stream_parameterValue->nextTree(stream_parameterValue));
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+ break;
+ case 2:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:146:7: unionType
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_unionType_in_parameter1239);
+ unionType48=unionType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleparameterEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, unionType48.tree);
+
+ }
+ break;
+
+ }
+ }
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruleparameterEx; /* Prevent compiler warnings */
+ ruleparameterEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_ID != NULL) stream_ID->free(stream_ID);
+ if (stream_35 != NULL) stream_35->free(stream_35);
+ if (stream_parameterValue != NULL) stream_parameterValue->free(stream_parameterValue);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end parameter */
+
+/**
+ * $ANTLR start parameterValue
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:149:1: parameterValue : ( string | boolean | number | ( '[' | '(' ) range ( ']' | ')' ) );
+ */
+static SimanticsDataParser_parameterValue_return
+parameterValue(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_parameterValue_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN set52;
+ pANTLR3_COMMON_TOKEN set54;
+ SimanticsDataParser_string_return string49;
+ #undef RETURN_TYPE_string49
+ #define RETURN_TYPE_string49 SimanticsDataParser_string_return
+
+ SimanticsDataParser_boolean_return boolean50;
+ #undef RETURN_TYPE_boolean50
+ #define RETURN_TYPE_boolean50 SimanticsDataParser_boolean_return
+
+ SimanticsDataParser_number_return number51;
+ #undef RETURN_TYPE_number51
+ #define RETURN_TYPE_number51 SimanticsDataParser_number_return
+
+ SimanticsDataParser_range_return range53;
+ #undef RETURN_TYPE_range53
+ #define RETURN_TYPE_range53 SimanticsDataParser_range_return
+
+ pANTLR3_BASE_TREE set52_tree;
+ pANTLR3_BASE_TREE set54_tree;
+
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ set52 = NULL;
+ set54 = NULL;
+ string49.tree = NULL;
+
+ boolean50.tree = NULL;
+
+ number51.tree = NULL;
+
+ range53.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ set52_tree = NULL;
+ set54_tree = NULL;
+
+
+ retval.tree = NULL;
+ {
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:150:5: ( string | boolean | number | ( '[' | '(' ) range ( ']' | ')' ) )
+
+ ANTLR3_UINT32 alt16;
+
+ alt16=4;
+
+ switch ( LA(1) )
+ {
+ case STRING:
+ {
+ alt16=1;
+ }
+ break;
+ case 46:
+ case 47:
+ {
+ alt16=2;
+ }
+ break;
+ case INT:
+ case FLOAT:
+ {
+ alt16=3;
+ }
+ break;
+ case 37:
+ case 40:
+ {
+ alt16=4;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 16;
+ EXCEPTION->state = 0;
+
+
+ goto ruleparameterValueEx;
+ }
+
+ switch (alt16)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:150:7: string
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_string_in_parameterValue1258);
+ string49=string(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleparameterValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, string49.tree);
+
+ }
+ break;
+ case 2:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:151:7: boolean
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_boolean_in_parameterValue1266);
+ boolean50=boolean(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleparameterValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, boolean50.tree);
+
+ }
+ break;
+ case 3:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:152:7: number
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_number_in_parameterValue1274);
+ number51=number(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleparameterValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, number51.tree);
+
+ }
+ break;
+ case 4:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:153:7: ( '[' | '(' ) range ( ']' | ')' )
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ set52=(pANTLR3_COMMON_TOKEN)LT(1);
+ if ( LA(1) == 37 || LA(1) == 40 )
+ {
+ CONSUME();
+ ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set52)));
+ PERRORRECOVERY=ANTLR3_FALSE;
+ }
+ else
+ {
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
+ EXCEPTION->expectingSet = &FOLLOW_set_in_parameterValue1282;
+ RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_parameterValue1282); goto ruleparameterValueEx;
+ }
+
+ FOLLOWPUSH(FOLLOW_range_in_parameterValue1290);
+ range53=range(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruleparameterValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, range53.tree);
+ set54=(pANTLR3_COMMON_TOKEN)LT(1);
+ if ( LA(1) == 38 || LA(1) == 42 )
+ {
+ CONSUME();
+ ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set54)));
+ PERRORRECOVERY=ANTLR3_FALSE;
+ }
+ else
+ {
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
+ EXCEPTION->expectingSet = &FOLLOW_set_in_parameterValue1292;
+ RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_parameterValue1292); goto ruleparameterValueEx;
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruleparameterValueEx; /* Prevent compiler warnings */
+ ruleparameterValueEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end parameterValue */
+
+/**
+ * $ANTLR start range
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:156:1: range : ( number | number '..' | '..' number | number '..' number );
+ */
+static SimanticsDataParser_range_return
+range(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_range_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN string_literal57;
+ pANTLR3_COMMON_TOKEN string_literal58;
+ pANTLR3_COMMON_TOKEN string_literal61;
+ SimanticsDataParser_number_return number55;
+ #undef RETURN_TYPE_number55
+ #define RETURN_TYPE_number55 SimanticsDataParser_number_return
+
+ SimanticsDataParser_number_return number56;
+ #undef RETURN_TYPE_number56
+ #define RETURN_TYPE_number56 SimanticsDataParser_number_return
+
+ SimanticsDataParser_number_return number59;
+ #undef RETURN_TYPE_number59
+ #define RETURN_TYPE_number59 SimanticsDataParser_number_return
+
+ SimanticsDataParser_number_return number60;
+ #undef RETURN_TYPE_number60
+ #define RETURN_TYPE_number60 SimanticsDataParser_number_return
+
+ SimanticsDataParser_number_return number62;
+ #undef RETURN_TYPE_number62
+ #define RETURN_TYPE_number62 SimanticsDataParser_number_return
+
+ pANTLR3_BASE_TREE string_literal57_tree;
+ pANTLR3_BASE_TREE string_literal58_tree;
+ pANTLR3_BASE_TREE string_literal61_tree;
+
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ string_literal57 = NULL;
+ string_literal58 = NULL;
+ string_literal61 = NULL;
+ number55.tree = NULL;
+
+ number56.tree = NULL;
+
+ number59.tree = NULL;
+
+ number60.tree = NULL;
+
+ number62.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ string_literal57_tree = NULL;
+ string_literal58_tree = NULL;
+ string_literal61_tree = NULL;
+
+
+ retval.tree = NULL;
+ {
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:157:5: ( number | number '..' | '..' number | number '..' number )
+
+ ANTLR3_UINT32 alt17;
+
+ alt17=4;
+
+ switch ( LA(1) )
+ {
+ case INT:
+ case FLOAT:
+ {
+ switch ( LA(2) )
+ {
+ case 39:
+ {
+ switch ( LA(3) )
+ {
+ case INT:
+ case FLOAT:
+ {
+ alt17=4;
+ }
+ break;
+ case 38:
+ case 42:
+ {
+ alt17=2;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 17;
+ EXCEPTION->state = 3;
+
+
+ goto rulerangeEx;
+ }
+
+ }
+ break;
+ case 38:
+ case 42:
+ {
+ alt17=1;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 17;
+ EXCEPTION->state = 1;
+
+
+ goto rulerangeEx;
+ }
+
+ }
+ break;
+ case 39:
+ {
+ alt17=3;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 17;
+ EXCEPTION->state = 0;
+
+
+ goto rulerangeEx;
+ }
+
+ switch (alt17)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:157:7: number
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_number_in_range1319);
+ number55=number(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerangeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, number55.tree);
+
+ }
+ break;
+ case 2:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:158:7: number '..'
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_number_in_range1327);
+ number56=number(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerangeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, number56.tree);
+ string_literal57 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1329);
+ if (HASEXCEPTION())
+ {
+ goto rulerangeEx;
+ }
+
+ string_literal57_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal57));
+ ADAPTOR->addChild(ADAPTOR, root_0, string_literal57_tree);
+
+
+ }
+ break;
+ case 3:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:159:7: '..' number
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ string_literal58 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1337);
+ if (HASEXCEPTION())
+ {
+ goto rulerangeEx;
+ }
+
+ string_literal58_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal58));
+ ADAPTOR->addChild(ADAPTOR, root_0, string_literal58_tree);
+
+ FOLLOWPUSH(FOLLOW_number_in_range1339);
+ number59=number(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerangeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, number59.tree);
+
+ }
+ break;
+ case 4:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:160:7: number '..' number
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_number_in_range1348);
+ number60=number(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerangeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, number60.tree);
+ string_literal61 = (pANTLR3_COMMON_TOKEN) MATCHT(39, &FOLLOW_39_in_range1350);
+ if (HASEXCEPTION())
+ {
+ goto rulerangeEx;
+ }
+
+ string_literal61_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal61));
+ ADAPTOR->addChild(ADAPTOR, root_0, string_literal61_tree);
+
+ FOLLOWPUSH(FOLLOW_number_in_range1352);
+ number62=number(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerangeEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, number62.tree);
+
+ }
+ break;
+
+ }
+ }
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulerangeEx; /* Prevent compiler warnings */
+ rulerangeEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end range */
+
+/**
+ * $ANTLR start number
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:163:1: number : ( INT | FLOAT );
+ */
+static SimanticsDataParser_number_return
+number(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_number_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN set63;
+
+ pANTLR3_BASE_TREE set63_tree;
+
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ set63 = NULL;
+ retval.start = LT(1); retval.stop = retval.start;
+
+ set63_tree = NULL;
+
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:164:5: ( INT | FLOAT )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ set63=(pANTLR3_COMMON_TOKEN)LT(1);
+ if ( LA(1) == INT || LA(1) == FLOAT )
+ {
+ CONSUME();
+ ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set63)));
+ PERRORRECOVERY=ANTLR3_FALSE;
+ }
+ else
+ {
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
+ EXCEPTION->expectingSet = &FOLLOW_set_in_number0;
+ RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_number0); goto rulenumberEx;
+ }
+
+
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulenumberEx; /* Prevent compiler warnings */
+ rulenumberEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end number */
+
+/**
+ * $ANTLR start string
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:168:1: string : STRING ;
+ */
+static SimanticsDataParser_string_return
+string(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_string_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN STRING64;
+
+ pANTLR3_BASE_TREE STRING64_tree;
+
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ STRING64 = NULL;
+ retval.start = LT(1); retval.stop = retval.start;
+
+ STRING64_tree = NULL;
+
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:169:5: ( STRING )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:169:7: STRING
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ STRING64 = (pANTLR3_COMMON_TOKEN) MATCHT(STRING, &FOLLOW_STRING_in_string1402);
+ if (HASEXCEPTION())
+ {
+ goto rulestringEx;
+ }
+
+ STRING64_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STRING64));
+ ADAPTOR->addChild(ADAPTOR, root_0, STRING64_tree);
+
+
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulestringEx; /* Prevent compiler warnings */
+ rulestringEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end string */
+
+/**
+ * $ANTLR start boolean
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:172:1: boolean : ( 'true' | 'false' );
+ */
+static SimanticsDataParser_boolean_return
+boolean(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_boolean_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN set65;
+
+ pANTLR3_BASE_TREE set65_tree;
+
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ set65 = NULL;
+ retval.start = LT(1); retval.stop = retval.start;
+
+ set65_tree = NULL;
+
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:173:5: ( 'true' | 'false' )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ set65=(pANTLR3_COMMON_TOKEN)LT(1);
+ if ( ((LA(1) >= 46) && (LA(1) <= 47)) )
+ {
+ CONSUME();
+ ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set65)));
+ PERRORRECOVERY=ANTLR3_FALSE;
+ }
+ else
+ {
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
+ EXCEPTION->expectingSet = &FOLLOW_set_in_boolean0;
+ RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_boolean0); goto rulebooleanEx;
+ }
+
+
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulebooleanEx; /* Prevent compiler warnings */
+ rulebooleanEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end boolean */
+
+/**
+ * $ANTLR start valueDefinitions
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:1: valueDefinitions : ( valueDefinition )* -> ^( VALUE_DEFINITIONS ( valueDefinition )* ) ;
+ */
+static SimanticsDataParser_valueDefinitions_return
+valueDefinitions(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_valueDefinitions_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ SimanticsDataParser_valueDefinition_return valueDefinition66;
+ #undef RETURN_TYPE_valueDefinition66
+ #define RETURN_TYPE_valueDefinition66 SimanticsDataParser_valueDefinition_return
+
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_valueDefinition;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ valueDefinition66.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+
+ stream_valueDefinition = NULL;
+ #define CREATE_stream_valueDefinition if (stream_valueDefinition == NULL) {stream_valueDefinition = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule valueDefinition"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:18: ( ( valueDefinition )* -> ^( VALUE_DEFINITIONS ( valueDefinition )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: ( valueDefinition )*
+ {
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: ( valueDefinition )*
+
+ for (;;)
+ {
+ int alt18=2;
+ switch ( LA(1) )
+ {
+ case ID:
+ {
+ alt18=1;
+ }
+ break;
+
+ }
+
+ switch (alt18)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:20: valueDefinition
+ {
+ FOLLOWPUSH(FOLLOW_valueDefinition_in_valueDefinitions1447);
+ valueDefinition66=valueDefinition(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulevalueDefinitionsEx;
+ }
+
+ CREATE_stream_valueDefinition; stream_valueDefinition->add(stream_valueDefinition, valueDefinition66.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop18; /* break out of the loop */
+ break;
+ }
+ }
+ loop18: ; /* Jump out to here if this rule does not match */
+
+
+
+ /* AST REWRITE
+ * elements : valueDefinition
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 181:37: -> ^( VALUE_DEFINITIONS ( valueDefinition )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:40: ^( VALUE_DEFINITIONS ( valueDefinition )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VALUE_DEFINITIONS, (pANTLR3_UINT8)"VALUE_DEFINITIONS"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:181:60: ( valueDefinition )*
+ {
+ while ( (stream_valueDefinition != NULL && stream_valueDefinition->hasNext(stream_valueDefinition)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_valueDefinition == NULL ? NULL : stream_valueDefinition->nextTree(stream_valueDefinition));
+
+ }
+ if (stream_valueDefinition != NULL) stream_valueDefinition->reset(stream_valueDefinition);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulevalueDefinitionsEx; /* Prevent compiler warnings */
+ rulevalueDefinitionsEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_valueDefinition != NULL) stream_valueDefinition->free(stream_valueDefinition);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end valueDefinitions */
+
+/**
+ * $ANTLR start valueDefinition
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:183:1: valueDefinition : ID ':' unionType '=' value -> ^( VALUE_DEFINITION ID unionType value ) ;
+ */
+static SimanticsDataParser_valueDefinition_return
+valueDefinition(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_valueDefinition_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN ID67;
+ pANTLR3_COMMON_TOKEN char_literal68;
+ pANTLR3_COMMON_TOKEN char_literal70;
+ SimanticsDataParser_unionType_return unionType69;
+ #undef RETURN_TYPE_unionType69
+ #define RETURN_TYPE_unionType69 SimanticsDataParser_unionType_return
+
+ SimanticsDataParser_value_return value71;
+ #undef RETURN_TYPE_value71
+ #define RETURN_TYPE_value71 SimanticsDataParser_value_return
+
+ pANTLR3_BASE_TREE ID67_tree;
+ pANTLR3_BASE_TREE char_literal68_tree;
+ pANTLR3_BASE_TREE char_literal70_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_unionType;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ ID67 = NULL;
+ char_literal68 = NULL;
+ char_literal70 = NULL;
+ unionType69.tree = NULL;
+
+ value71.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ ID67_tree = NULL;
+ char_literal68_tree = NULL;
+ char_literal70_tree = NULL;
+
+ stream_45 = NULL;
+ #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); }
+ stream_ID = NULL;
+ #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
+ stream_35 = NULL;
+ #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
+ stream_unionType = NULL;
+ #define CREATE_stream_unionType if (stream_unionType == NULL) {stream_unionType = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule unionType"); }
+ stream_value = NULL;
+ #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:184:5: ( ID ':' unionType '=' value -> ^( VALUE_DEFINITION ID unionType value ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:184:7: ID ':' unionType '=' value
+ {
+ ID67 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_valueDefinition1470);
+ if (HASEXCEPTION())
+ {
+ goto rulevalueDefinitionEx;
+ }
+
+ CREATE_stream_ID; stream_ID->add(stream_ID, ID67, NULL);
+
+ char_literal68 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_valueDefinition1472);
+ if (HASEXCEPTION())
+ {
+ goto rulevalueDefinitionEx;
+ }
+
+ CREATE_stream_45; stream_45->add(stream_45, char_literal68, NULL);
+
+ FOLLOWPUSH(FOLLOW_unionType_in_valueDefinition1474);
+ unionType69=unionType(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulevalueDefinitionEx;
+ }
+
+ CREATE_stream_unionType; stream_unionType->add(stream_unionType, unionType69.tree, NULL);
+ char_literal70 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_valueDefinition1476);
+ if (HASEXCEPTION())
+ {
+ goto rulevalueDefinitionEx;
+ }
+
+ CREATE_stream_35; stream_35->add(stream_35, char_literal70, NULL);
+
+ FOLLOWPUSH(FOLLOW_value_in_valueDefinition1478);
+ value71=value(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulevalueDefinitionEx;
+ }
+
+ CREATE_stream_value; stream_value->add(stream_value, value71.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : value, unionType, ID
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 185:5: -> ^( VALUE_DEFINITION ID unionType value )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:185:8: ^( VALUE_DEFINITION ID unionType value )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VALUE_DEFINITION, (pANTLR3_UINT8)"VALUE_DEFINITION"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_unionType == NULL ? NULL : stream_unionType->nextTree(stream_unionType));
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulevalueDefinitionEx; /* Prevent compiler warnings */
+ rulevalueDefinitionEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_45 != NULL) stream_45->free(stream_45);
+ if (stream_ID != NULL) stream_ID->free(stream_ID);
+ if (stream_35 != NULL) stream_35->free(stream_35);
+ if (stream_unionType != NULL) stream_unionType->free(stream_unionType);
+ if (stream_value != NULL) stream_value->free(stream_value);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end valueDefinition */
+
+/**
+ * $ANTLR start value
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:188:1: value : ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )* ;
+ */
+static SimanticsDataParser_value_return
+value(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_value_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal73;
+ SimanticsDataParser_basicValue_return basicValue72;
+ #undef RETURN_TYPE_basicValue72
+ #define RETURN_TYPE_basicValue72 SimanticsDataParser_basicValue_return
+
+ SimanticsDataParser_type_return type74;
+ #undef RETURN_TYPE_type74
+ #define RETURN_TYPE_type74 SimanticsDataParser_type_return
+
+ pANTLR3_BASE_TREE char_literal73_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_45;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicValue;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_type;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal73 = NULL;
+ basicValue72.tree = NULL;
+
+ type74.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal73_tree = NULL;
+
+ stream_45 = NULL;
+ #define CREATE_stream_45 if (stream_45 == NULL) {stream_45 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 45"); }
+ stream_basicValue = NULL;
+ #define CREATE_stream_basicValue if (stream_basicValue == NULL) {stream_basicValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicValue"); }
+ stream_type = NULL;
+ #define CREATE_stream_type if (stream_type == NULL) {stream_type = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule type"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:5: ( ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )* )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:7: ( basicValue -> basicValue ) ( ':' type -> ^( VARIANT type $value) )*
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:7: ( basicValue -> basicValue )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:189:8: basicValue
+ {
+ FOLLOWPUSH(FOLLOW_basicValue_in_value1514);
+ basicValue72=basicValue(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulevalueEx;
+ }
+
+ CREATE_stream_basicValue; stream_basicValue->add(stream_basicValue, basicValue72.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : basicValue
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 189:19: -> basicValue
+ {
+ ADAPTOR->addChild(ADAPTOR, root_0, stream_basicValue == NULL ? NULL : stream_basicValue->nextTree(stream_basicValue));
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:7: ( ':' type -> ^( VARIANT type $value) )*
+
+ for (;;)
+ {
+ int alt19=2;
+ switch ( LA(1) )
+ {
+ case 45:
+ {
+ alt19=1;
+ }
+ break;
+
+ }
+
+ switch (alt19)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:8: ':' type
+ {
+ char_literal73 = (pANTLR3_COMMON_TOKEN) MATCHT(45, &FOLLOW_45_in_value1528);
+ if (HASEXCEPTION())
+ {
+ goto rulevalueEx;
+ }
+
+ CREATE_stream_45; stream_45->add(stream_45, char_literal73, NULL);
+
+ FOLLOWPUSH(FOLLOW_type_in_value1530);
+ type74=type(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulevalueEx;
+ }
+
+ CREATE_stream_type; stream_type->add(stream_type, type74.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : value, type
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 190:17: -> ^( VARIANT type $value)
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:190:20: ^( VARIANT type $value)
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VARIANT, (pANTLR3_UINT8)"VARIANT"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_type == NULL ? NULL : stream_type->nextTree(stream_type));
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_retval == NULL ? NULL : stream_retval->nextTree(stream_retval));
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+ break;
+
+ default:
+ goto loop19; /* break out of the loop */
+ break;
+ }
+ }
+ loop19: ; /* Jump out to here if this rule does not match */
+
+
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulevalueEx; /* Prevent compiler warnings */
+ rulevalueEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_45 != NULL) stream_45->free(stream_45);
+ if (stream_basicValue != NULL) stream_basicValue->free(stream_basicValue);
+ if (stream_type != NULL) stream_type->free(stream_type);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end value */
+
+/**
+ * $ANTLR start basicValue
+ * 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 );
+ */
+static SimanticsDataParser_basicValue_return
+basicValue(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_basicValue_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN string_literal75;
+ SimanticsDataParser_string_return string76;
+ #undef RETURN_TYPE_string76
+ #define RETURN_TYPE_string76 SimanticsDataParser_string_return
+
+ SimanticsDataParser_number_return number77;
+ #undef RETURN_TYPE_number77
+ #define RETURN_TYPE_number77 SimanticsDataParser_number_return
+
+ SimanticsDataParser_boolean_return boolean78;
+ #undef RETURN_TYPE_boolean78
+ #define RETURN_TYPE_boolean78 SimanticsDataParser_boolean_return
+
+ SimanticsDataParser_array_return array79;
+ #undef RETURN_TYPE_array79
+ #define RETURN_TYPE_array79 SimanticsDataParser_array_return
+
+ SimanticsDataParser_tuple_return tuple80;
+ #undef RETURN_TYPE_tuple80
+ #define RETURN_TYPE_tuple80 SimanticsDataParser_tuple_return
+
+ SimanticsDataParser_taggedValue_return taggedValue81;
+ #undef RETURN_TYPE_taggedValue81
+ #define RETURN_TYPE_taggedValue81 SimanticsDataParser_taggedValue_return
+
+ SimanticsDataParser_map_return map82;
+ #undef RETURN_TYPE_map82
+ #define RETURN_TYPE_map82 SimanticsDataParser_map_return
+
+ SimanticsDataParser_record_return record83;
+ #undef RETURN_TYPE_record83
+ #define RETURN_TYPE_record83 SimanticsDataParser_record_return
+
+ pANTLR3_BASE_TREE string_literal75_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_48;
+
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ string_literal75 = NULL;
+ string76.tree = NULL;
+
+ number77.tree = NULL;
+
+ boolean78.tree = NULL;
+
+ array79.tree = NULL;
+
+ tuple80.tree = NULL;
+
+ taggedValue81.tree = NULL;
+
+ map82.tree = NULL;
+
+ record83.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ string_literal75_tree = NULL;
+
+ stream_48 = NULL;
+ #define CREATE_stream_48 if (stream_48 == NULL) {stream_48 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 48"); }
+
+ retval.tree = NULL;
+ {
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:194:5: ( 'null' -> NO_VALUE | string | number | boolean | array | tuple | taggedValue | map | record )
+
+ ANTLR3_UINT32 alt20;
+
+ alt20=9;
+
+ switch ( LA(1) )
+ {
+ case 48:
+ {
+ alt20=1;
+ }
+ break;
+ case STRING:
+ {
+ alt20=2;
+ }
+ break;
+ case INT:
+ case FLOAT:
+ {
+ alt20=3;
+ }
+ break;
+ case 46:
+ case 47:
+ {
+ alt20=4;
+ }
+ break;
+ case 37:
+ {
+ alt20=5;
+ }
+ break;
+ case 40:
+ {
+ alt20=6;
+ }
+ break;
+ case ID:
+ {
+ alt20=7;
+ }
+ break;
+ case 49:
+ {
+ alt20=8;
+ }
+ break;
+ case 43:
+ {
+ alt20=9;
+ }
+ break;
+
+ default:
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 20;
+ EXCEPTION->state = 0;
+
+
+ goto rulebasicValueEx;
+ }
+
+ switch (alt20)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:194:7: 'null'
+ {
+ string_literal75 = (pANTLR3_COMMON_TOKEN) MATCHT(48, &FOLLOW_48_in_basicValue1562);
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ CREATE_stream_48; stream_48->add(stream_48, string_literal75, NULL);
+
+
+
+ /* AST REWRITE
+ * elements :
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 194:14: -> NO_VALUE
+ {
+ ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, NO_VALUE, (pANTLR3_UINT8)"NO_VALUE"));
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+ break;
+ case 2:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:195:7: string
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_string_in_basicValue1574);
+ string76=string(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, string76.tree);
+
+ }
+ break;
+ case 3:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:196:7: number
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_number_in_basicValue1582);
+ number77=number(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, number77.tree);
+
+ }
+ break;
+ case 4:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:197:7: boolean
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_boolean_in_basicValue1590);
+ boolean78=boolean(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, boolean78.tree);
+
+ }
+ break;
+ case 5:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:198:7: array
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_array_in_basicValue1598);
+ array79=array(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, array79.tree);
+
+ }
+ break;
+ case 6:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:199:7: tuple
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_tuple_in_basicValue1606);
+ tuple80=tuple(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, tuple80.tree);
+
+ }
+ break;
+ case 7:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:200:7: taggedValue
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_taggedValue_in_basicValue1614);
+ taggedValue81=taggedValue(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, taggedValue81.tree);
+
+ }
+ break;
+ case 8:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:201:7: map
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_map_in_basicValue1622);
+ map82=map(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, map82.tree);
+
+ }
+ break;
+ case 9:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:202:7: record
+ {
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+
+ FOLLOWPUSH(FOLLOW_record_in_basicValue1630);
+ record83=record(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulebasicValueEx;
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, record83.tree);
+
+ }
+ break;
+
+ }
+ }
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulebasicValueEx; /* Prevent compiler warnings */
+ rulebasicValueEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_48 != NULL) stream_48->free(stream_48);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end basicValue */
+
+/**
+ * $ANTLR start array
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:205:1: array : '[' ( value ( ',' value )* )? ']' -> ^( ARRAY ( value )* ) ;
+ */
+static SimanticsDataParser_array_return
+array(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_array_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal84;
+ pANTLR3_COMMON_TOKEN char_literal86;
+ pANTLR3_COMMON_TOKEN char_literal88;
+ SimanticsDataParser_value_return value85;
+ #undef RETURN_TYPE_value85
+ #define RETURN_TYPE_value85 SimanticsDataParser_value_return
+
+ SimanticsDataParser_value_return value87;
+ #undef RETURN_TYPE_value87
+ #define RETURN_TYPE_value87 SimanticsDataParser_value_return
+
+ pANTLR3_BASE_TREE char_literal84_tree;
+ pANTLR3_BASE_TREE char_literal86_tree;
+ pANTLR3_BASE_TREE char_literal88_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_37;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_38;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal84 = NULL;
+ char_literal86 = NULL;
+ char_literal88 = NULL;
+ value85.tree = NULL;
+
+ value87.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal84_tree = NULL;
+ char_literal86_tree = NULL;
+ char_literal88_tree = NULL;
+
+ stream_41 = NULL;
+ #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
+ stream_37 = NULL;
+ #define CREATE_stream_37 if (stream_37 == NULL) {stream_37 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 37"); }
+ stream_38 = NULL;
+ #define CREATE_stream_38 if (stream_38 == NULL) {stream_38 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 38"); }
+ stream_value = NULL;
+ #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:5: ( '[' ( value ( ',' value )* )? ']' -> ^( ARRAY ( value )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:7: '[' ( value ( ',' value )* )? ']'
+ {
+ char_literal84 = (pANTLR3_COMMON_TOKEN) MATCHT(37, &FOLLOW_37_in_array1648);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayEx;
+ }
+
+ CREATE_stream_37; stream_37->add(stream_37, char_literal84, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:11: ( value ( ',' value )* )?
+ {
+ int alt22=2;
+ switch ( LA(1) )
+ {
+ case ID:
+ case INT:
+ case FLOAT:
+ case STRING:
+ case 37:
+ case 40:
+ case 43:
+ case 46:
+ case 47:
+ case 48:
+ case 49:
+ {
+ alt22=1;
+ }
+ break;
+ }
+
+ switch (alt22)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:12: value ( ',' value )*
+ {
+ FOLLOWPUSH(FOLLOW_value_in_array1651);
+ value85=value(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulearrayEx;
+ }
+
+ CREATE_stream_value; stream_value->add(stream_value, value85.tree, NULL);
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:18: ( ',' value )*
+
+ for (;;)
+ {
+ int alt21=2;
+ switch ( LA(1) )
+ {
+ case 41:
+ {
+ alt21=1;
+ }
+ break;
+
+ }
+
+ switch (alt21)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:206:19: ',' value
+ {
+ char_literal86 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_array1654);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayEx;
+ }
+
+ CREATE_stream_41; stream_41->add(stream_41, char_literal86, NULL);
+
+ FOLLOWPUSH(FOLLOW_value_in_array1656);
+ value87=value(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulearrayEx;
+ }
+
+ CREATE_stream_value; stream_value->add(stream_value, value87.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop21; /* break out of the loop */
+ break;
+ }
+ }
+ loop21: ; /* Jump out to here if this rule does not match */
+
+
+ }
+ break;
+
+ }
+ }
+ char_literal88 = (pANTLR3_COMMON_TOKEN) MATCHT(38, &FOLLOW_38_in_array1662);
+ if (HASEXCEPTION())
+ {
+ goto rulearrayEx;
+ }
+
+ CREATE_stream_38; stream_38->add(stream_38, char_literal88, NULL);
+
+
+
+ /* AST REWRITE
+ * elements : value
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 207:5: -> ^( ARRAY ( value )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:207:8: ^( ARRAY ( value )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ARRAY, (pANTLR3_UINT8)"ARRAY"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:207:16: ( value )*
+ {
+ while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
+
+ }
+ if (stream_value != NULL) stream_value->reset(stream_value);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulearrayEx; /* Prevent compiler warnings */
+ rulearrayEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_41 != NULL) stream_41->free(stream_41);
+ if (stream_37 != NULL) stream_37->free(stream_37);
+ if (stream_38 != NULL) stream_38->free(stream_38);
+ if (stream_value != NULL) stream_value->free(stream_value);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end array */
+
+/**
+ * $ANTLR start tuple
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:210:1: tuple : '(' ( value ( ',' value )* )? ')' -> ^( TUPLE ( value )* ) ;
+ */
+static SimanticsDataParser_tuple_return
+tuple(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_tuple_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal89;
+ pANTLR3_COMMON_TOKEN char_literal91;
+ pANTLR3_COMMON_TOKEN char_literal93;
+ SimanticsDataParser_value_return value90;
+ #undef RETURN_TYPE_value90
+ #define RETURN_TYPE_value90 SimanticsDataParser_value_return
+
+ SimanticsDataParser_value_return value92;
+ #undef RETURN_TYPE_value92
+ #define RETURN_TYPE_value92 SimanticsDataParser_value_return
+
+ pANTLR3_BASE_TREE char_literal89_tree;
+ pANTLR3_BASE_TREE char_literal91_tree;
+ pANTLR3_BASE_TREE char_literal93_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_42;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_40;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal89 = NULL;
+ char_literal91 = NULL;
+ char_literal93 = NULL;
+ value90.tree = NULL;
+
+ value92.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal89_tree = NULL;
+ char_literal91_tree = NULL;
+ char_literal93_tree = NULL;
+
+ stream_42 = NULL;
+ #define CREATE_stream_42 if (stream_42 == NULL) {stream_42 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 42"); }
+ stream_41 = NULL;
+ #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
+ stream_40 = NULL;
+ #define CREATE_stream_40 if (stream_40 == NULL) {stream_40 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 40"); }
+ stream_value = NULL;
+ #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:5: ( '(' ( value ( ',' value )* )? ')' -> ^( TUPLE ( value )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:7: '(' ( value ( ',' value )* )? ')'
+ {
+ char_literal89 = (pANTLR3_COMMON_TOKEN) MATCHT(40, &FOLLOW_40_in_tuple1694);
+ if (HASEXCEPTION())
+ {
+ goto ruletupleEx;
+ }
+
+ CREATE_stream_40; stream_40->add(stream_40, char_literal89, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:11: ( value ( ',' value )* )?
+ {
+ int alt24=2;
+ switch ( LA(1) )
+ {
+ case ID:
+ case INT:
+ case FLOAT:
+ case STRING:
+ case 37:
+ case 40:
+ case 43:
+ case 46:
+ case 47:
+ case 48:
+ case 49:
+ {
+ alt24=1;
+ }
+ break;
+ }
+
+ switch (alt24)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:12: value ( ',' value )*
+ {
+ FOLLOWPUSH(FOLLOW_value_in_tuple1697);
+ value90=value(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletupleEx;
+ }
+
+ CREATE_stream_value; stream_value->add(stream_value, value90.tree, NULL);
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:18: ( ',' value )*
+
+ for (;;)
+ {
+ int alt23=2;
+ switch ( LA(1) )
+ {
+ case 41:
+ {
+ alt23=1;
+ }
+ break;
+
+ }
+
+ switch (alt23)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:211:19: ',' value
+ {
+ char_literal91 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_tuple1700);
+ if (HASEXCEPTION())
+ {
+ goto ruletupleEx;
+ }
+
+ CREATE_stream_41; stream_41->add(stream_41, char_literal91, NULL);
+
+ FOLLOWPUSH(FOLLOW_value_in_tuple1702);
+ value92=value(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletupleEx;
+ }
+
+ CREATE_stream_value; stream_value->add(stream_value, value92.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop23; /* break out of the loop */
+ break;
+ }
+ }
+ loop23: ; /* Jump out to here if this rule does not match */
+
+
+ }
+ break;
+
+ }
+ }
+ char_literal93 = (pANTLR3_COMMON_TOKEN) MATCHT(42, &FOLLOW_42_in_tuple1708);
+ if (HASEXCEPTION())
+ {
+ goto ruletupleEx;
+ }
+
+ CREATE_stream_42; stream_42->add(stream_42, char_literal93, NULL);
+
+
+
+ /* AST REWRITE
+ * elements : value
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 212:5: -> ^( TUPLE ( value )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:212:8: ^( TUPLE ( value )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TUPLE, (pANTLR3_UINT8)"TUPLE"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:212:16: ( value )*
+ {
+ while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
+
+ }
+ if (stream_value != NULL) stream_value->reset(stream_value);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruletupleEx; /* Prevent compiler warnings */
+ ruletupleEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_42 != NULL) stream_42->free(stream_42);
+ if (stream_41 != NULL) stream_41->free(stream_41);
+ if (stream_40 != NULL) stream_40->free(stream_40);
+ if (stream_value != NULL) stream_value->free(stream_value);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end tuple */
+
+/**
+ * $ANTLR start taggedValue
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:215:1: taggedValue : ID basicValue -> ^( TAGGED_VALUE ID basicValue ) ;
+ */
+static SimanticsDataParser_taggedValue_return
+taggedValue(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_taggedValue_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN ID94;
+ SimanticsDataParser_basicValue_return basicValue95;
+ #undef RETURN_TYPE_basicValue95
+ #define RETURN_TYPE_basicValue95 SimanticsDataParser_basicValue_return
+
+ pANTLR3_BASE_TREE ID94_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_basicValue;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ ID94 = NULL;
+ basicValue95.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ ID94_tree = NULL;
+
+ stream_ID = NULL;
+ #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
+ stream_basicValue = NULL;
+ #define CREATE_stream_basicValue if (stream_basicValue == NULL) {stream_basicValue = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule basicValue"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:216:5: ( ID basicValue -> ^( TAGGED_VALUE ID basicValue ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:216:7: ID basicValue
+ {
+ ID94 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_taggedValue1740);
+ if (HASEXCEPTION())
+ {
+ goto ruletaggedValueEx;
+ }
+
+ CREATE_stream_ID; stream_ID->add(stream_ID, ID94, NULL);
+
+ FOLLOWPUSH(FOLLOW_basicValue_in_taggedValue1742);
+ basicValue95=basicValue(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto ruletaggedValueEx;
+ }
+
+ CREATE_stream_basicValue; stream_basicValue->add(stream_basicValue, basicValue95.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : basicValue, ID
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 217:5: -> ^( TAGGED_VALUE ID basicValue )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:217:8: ^( TAGGED_VALUE ID basicValue )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TAGGED_VALUE, (pANTLR3_UINT8)"TAGGED_VALUE"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_basicValue == NULL ? NULL : stream_basicValue->nextTree(stream_basicValue));
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto ruletaggedValueEx; /* Prevent compiler warnings */
+ ruletaggedValueEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_ID != NULL) stream_ID->free(stream_ID);
+ if (stream_basicValue != NULL) stream_basicValue->free(stream_basicValue);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end taggedValue */
+
+/**
+ * $ANTLR start record
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:220:1: record : '{' ( recordAssignment ( ',' recordAssignment )* )? '}' -> ^( RECORD ( recordAssignment )* ) ;
+ */
+static SimanticsDataParser_record_return
+record(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_record_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal96;
+ pANTLR3_COMMON_TOKEN char_literal98;
+ pANTLR3_COMMON_TOKEN char_literal100;
+ SimanticsDataParser_recordAssignment_return recordAssignment97;
+ #undef RETURN_TYPE_recordAssignment97
+ #define RETURN_TYPE_recordAssignment97 SimanticsDataParser_recordAssignment_return
+
+ SimanticsDataParser_recordAssignment_return recordAssignment99;
+ #undef RETURN_TYPE_recordAssignment99
+ #define RETURN_TYPE_recordAssignment99 SimanticsDataParser_recordAssignment_return
+
+ pANTLR3_BASE_TREE char_literal96_tree;
+ pANTLR3_BASE_TREE char_literal98_tree;
+ pANTLR3_BASE_TREE char_literal100_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_recordAssignment;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal96 = NULL;
+ char_literal98 = NULL;
+ char_literal100 = NULL;
+ recordAssignment97.tree = NULL;
+
+ recordAssignment99.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal96_tree = NULL;
+ char_literal98_tree = NULL;
+ char_literal100_tree = NULL;
+
+ stream_43 = NULL;
+ #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); }
+ stream_44 = NULL;
+ #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); }
+ stream_41 = NULL;
+ #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
+ stream_recordAssignment = NULL;
+ #define CREATE_stream_recordAssignment if (stream_recordAssignment == NULL) {stream_recordAssignment = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule recordAssignment"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:5: ( '{' ( recordAssignment ( ',' recordAssignment )* )? '}' -> ^( RECORD ( recordAssignment )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:7: '{' ( recordAssignment ( ',' recordAssignment )* )? '}'
+ {
+ char_literal96 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_record1775);
+ if (HASEXCEPTION())
+ {
+ goto rulerecordEx;
+ }
+
+ CREATE_stream_43; stream_43->add(stream_43, char_literal96, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:11: ( recordAssignment ( ',' recordAssignment )* )?
+ {
+ int alt26=2;
+ switch ( LA(1) )
+ {
+ case ID:
+ {
+ alt26=1;
+ }
+ break;
+ }
+
+ switch (alt26)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:12: recordAssignment ( ',' recordAssignment )*
+ {
+ FOLLOWPUSH(FOLLOW_recordAssignment_in_record1778);
+ recordAssignment97=recordAssignment(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerecordEx;
+ }
+
+ CREATE_stream_recordAssignment; stream_recordAssignment->add(stream_recordAssignment, recordAssignment97.tree, NULL);
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:29: ( ',' recordAssignment )*
+
+ for (;;)
+ {
+ int alt25=2;
+ switch ( LA(1) )
+ {
+ case 41:
+ {
+ alt25=1;
+ }
+ break;
+
+ }
+
+ switch (alt25)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:221:30: ',' recordAssignment
+ {
+ char_literal98 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_record1781);
+ if (HASEXCEPTION())
+ {
+ goto rulerecordEx;
+ }
+
+ CREATE_stream_41; stream_41->add(stream_41, char_literal98, NULL);
+
+ FOLLOWPUSH(FOLLOW_recordAssignment_in_record1783);
+ recordAssignment99=recordAssignment(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerecordEx;
+ }
+
+ CREATE_stream_recordAssignment; stream_recordAssignment->add(stream_recordAssignment, recordAssignment99.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop25; /* break out of the loop */
+ break;
+ }
+ }
+ loop25: ; /* Jump out to here if this rule does not match */
+
+
+ }
+ break;
+
+ }
+ }
+ char_literal100 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_record1789);
+ if (HASEXCEPTION())
+ {
+ goto rulerecordEx;
+ }
+
+ CREATE_stream_44; stream_44->add(stream_44, char_literal100, NULL);
+
+
+
+ /* AST REWRITE
+ * elements : recordAssignment
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 222:5: -> ^( RECORD ( recordAssignment )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:222:8: ^( RECORD ( recordAssignment )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, RECORD, (pANTLR3_UINT8)"RECORD"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:222:17: ( recordAssignment )*
+ {
+ while ( (stream_recordAssignment != NULL && stream_recordAssignment->hasNext(stream_recordAssignment)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_recordAssignment == NULL ? NULL : stream_recordAssignment->nextTree(stream_recordAssignment));
+
+ }
+ if (stream_recordAssignment != NULL) stream_recordAssignment->reset(stream_recordAssignment);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulerecordEx; /* Prevent compiler warnings */
+ rulerecordEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_43 != NULL) stream_43->free(stream_43);
+ if (stream_44 != NULL) stream_44->free(stream_44);
+ if (stream_41 != NULL) stream_41->free(stream_41);
+ if (stream_recordAssignment != NULL) stream_recordAssignment->free(stream_recordAssignment);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end record */
+
+/**
+ * $ANTLR start recordAssignment
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:225:1: recordAssignment : ID '=' value -> ^( ASSIGNMENT ID value ) ;
+ */
+static SimanticsDataParser_recordAssignment_return
+recordAssignment(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_recordAssignment_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN ID101;
+ pANTLR3_COMMON_TOKEN char_literal102;
+ SimanticsDataParser_value_return value103;
+ #undef RETURN_TYPE_value103
+ #define RETURN_TYPE_value103 SimanticsDataParser_value_return
+
+ pANTLR3_BASE_TREE ID101_tree;
+ pANTLR3_BASE_TREE char_literal102_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ID;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ ID101 = NULL;
+ char_literal102 = NULL;
+ value103.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ ID101_tree = NULL;
+ char_literal102_tree = NULL;
+
+ stream_ID = NULL;
+ #define CREATE_stream_ID if (stream_ID == NULL) {stream_ID = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ID"); }
+ stream_35 = NULL;
+ #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
+ stream_value = NULL;
+ #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:226:5: ( ID '=' value -> ^( ASSIGNMENT ID value ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:226:7: ID '=' value
+ {
+ ID101 = (pANTLR3_COMMON_TOKEN) MATCHT(ID, &FOLLOW_ID_in_recordAssignment1821);
+ if (HASEXCEPTION())
+ {
+ goto rulerecordAssignmentEx;
+ }
+
+ CREATE_stream_ID; stream_ID->add(stream_ID, ID101, NULL);
+
+ char_literal102 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_recordAssignment1823);
+ if (HASEXCEPTION())
+ {
+ goto rulerecordAssignmentEx;
+ }
+
+ CREATE_stream_35; stream_35->add(stream_35, char_literal102, NULL);
+
+ FOLLOWPUSH(FOLLOW_value_in_recordAssignment1825);
+ value103=value(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulerecordAssignmentEx;
+ }
+
+ CREATE_stream_value; stream_value->add(stream_value, value103.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : value, ID
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 227:5: -> ^( ASSIGNMENT ID value )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:227:8: ^( ASSIGNMENT ID value )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ASSIGNMENT, (pANTLR3_UINT8)"ASSIGNMENT"), root_1));
+
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_ID == NULL ? NULL : stream_ID->nextNode(stream_ID));
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulerecordAssignmentEx; /* Prevent compiler warnings */
+ rulerecordAssignmentEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_ID != NULL) stream_ID->free(stream_ID);
+ if (stream_35 != NULL) stream_35->free(stream_35);
+ if (stream_value != NULL) stream_value->free(stream_value);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end recordAssignment */
+
+/**
+ * $ANTLR start map
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:1: map : 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}' -> ^( MAP ( mapAssignment )* ) ;
+ */
+static SimanticsDataParser_map_return
+map(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_map_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN string_literal104;
+ pANTLR3_COMMON_TOKEN char_literal105;
+ pANTLR3_COMMON_TOKEN char_literal107;
+ pANTLR3_COMMON_TOKEN char_literal109;
+ SimanticsDataParser_mapAssignment_return mapAssignment106;
+ #undef RETURN_TYPE_mapAssignment106
+ #define RETURN_TYPE_mapAssignment106 SimanticsDataParser_mapAssignment_return
+
+ SimanticsDataParser_mapAssignment_return mapAssignment108;
+ #undef RETURN_TYPE_mapAssignment108
+ #define RETURN_TYPE_mapAssignment108 SimanticsDataParser_mapAssignment_return
+
+ pANTLR3_BASE_TREE string_literal104_tree;
+ pANTLR3_BASE_TREE char_literal105_tree;
+ pANTLR3_BASE_TREE char_literal107_tree;
+ pANTLR3_BASE_TREE char_literal109_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_49;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_43;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_44;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_41;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_mapAssignment;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ string_literal104 = NULL;
+ char_literal105 = NULL;
+ char_literal107 = NULL;
+ char_literal109 = NULL;
+ mapAssignment106.tree = NULL;
+
+ mapAssignment108.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ string_literal104_tree = NULL;
+ char_literal105_tree = NULL;
+ char_literal107_tree = NULL;
+ char_literal109_tree = NULL;
+
+ stream_49 = NULL;
+ #define CREATE_stream_49 if (stream_49 == NULL) {stream_49 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 49"); }
+ stream_43 = NULL;
+ #define CREATE_stream_43 if (stream_43 == NULL) {stream_43 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 43"); }
+ stream_44 = NULL;
+ #define CREATE_stream_44 if (stream_44 == NULL) {stream_44 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 44"); }
+ stream_41 = NULL;
+ #define CREATE_stream_41 if (stream_41 == NULL) {stream_41 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 41"); }
+ stream_mapAssignment = NULL;
+ #define CREATE_stream_mapAssignment if (stream_mapAssignment == NULL) {stream_mapAssignment = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule mapAssignment"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:5: ( 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}' -> ^( MAP ( mapAssignment )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:7: 'map' '{' ( mapAssignment ( ',' mapAssignment )* )? '}'
+ {
+ string_literal104 = (pANTLR3_COMMON_TOKEN) MATCHT(49, &FOLLOW_49_in_map1852);
+ if (HASEXCEPTION())
+ {
+ goto rulemapEx;
+ }
+
+ CREATE_stream_49; stream_49->add(stream_49, string_literal104, NULL);
+
+ char_literal105 = (pANTLR3_COMMON_TOKEN) MATCHT(43, &FOLLOW_43_in_map1854);
+ if (HASEXCEPTION())
+ {
+ goto rulemapEx;
+ }
+
+ CREATE_stream_43; stream_43->add(stream_43, char_literal105, NULL);
+
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:17: ( mapAssignment ( ',' mapAssignment )* )?
+ {
+ int alt28=2;
+ switch ( LA(1) )
+ {
+ case ID:
+ case INT:
+ case FLOAT:
+ case STRING:
+ case 37:
+ case 40:
+ case 43:
+ case 46:
+ case 47:
+ case 48:
+ case 49:
+ {
+ alt28=1;
+ }
+ break;
+ }
+
+ switch (alt28)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:18: mapAssignment ( ',' mapAssignment )*
+ {
+ FOLLOWPUSH(FOLLOW_mapAssignment_in_map1857);
+ mapAssignment106=mapAssignment(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulemapEx;
+ }
+
+ CREATE_stream_mapAssignment; stream_mapAssignment->add(stream_mapAssignment, mapAssignment106.tree, NULL);
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:32: ( ',' mapAssignment )*
+
+ for (;;)
+ {
+ int alt27=2;
+ switch ( LA(1) )
+ {
+ case 41:
+ {
+ alt27=1;
+ }
+ break;
+
+ }
+
+ switch (alt27)
+ {
+ case 1:
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:230:33: ',' mapAssignment
+ {
+ char_literal107 = (pANTLR3_COMMON_TOKEN) MATCHT(41, &FOLLOW_41_in_map1860);
+ if (HASEXCEPTION())
+ {
+ goto rulemapEx;
+ }
+
+ CREATE_stream_41; stream_41->add(stream_41, char_literal107, NULL);
+
+ FOLLOWPUSH(FOLLOW_mapAssignment_in_map1862);
+ mapAssignment108=mapAssignment(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulemapEx;
+ }
+
+ CREATE_stream_mapAssignment; stream_mapAssignment->add(stream_mapAssignment, mapAssignment108.tree, NULL);
+
+ }
+ break;
+
+ default:
+ goto loop27; /* break out of the loop */
+ break;
+ }
+ }
+ loop27: ; /* Jump out to here if this rule does not match */
+
+
+ }
+ break;
+
+ }
+ }
+ char_literal109 = (pANTLR3_COMMON_TOKEN) MATCHT(44, &FOLLOW_44_in_map1868);
+ if (HASEXCEPTION())
+ {
+ goto rulemapEx;
+ }
+
+ CREATE_stream_44; stream_44->add(stream_44, char_literal109, NULL);
+
+
+
+ /* AST REWRITE
+ * elements : mapAssignment
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 231:5: -> ^( MAP ( mapAssignment )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:231:8: ^( MAP ( mapAssignment )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, MAP, (pANTLR3_UINT8)"MAP"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:231:14: ( mapAssignment )*
+ {
+ while ( (stream_mapAssignment != NULL && stream_mapAssignment->hasNext(stream_mapAssignment)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_mapAssignment == NULL ? NULL : stream_mapAssignment->nextTree(stream_mapAssignment));
+
+ }
+ if (stream_mapAssignment != NULL) stream_mapAssignment->reset(stream_mapAssignment);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulemapEx; /* Prevent compiler warnings */
+ rulemapEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_49 != NULL) stream_49->free(stream_49);
+ if (stream_43 != NULL) stream_43->free(stream_43);
+ if (stream_44 != NULL) stream_44->free(stream_44);
+ if (stream_41 != NULL) stream_41->free(stream_41);
+ if (stream_mapAssignment != NULL) stream_mapAssignment->free(stream_mapAssignment);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end map */
+
+/**
+ * $ANTLR start mapAssignment
+ * C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:234:1: mapAssignment : value '=' value -> ^( ASSIGNMENT ( value )* ) ;
+ */
+static SimanticsDataParser_mapAssignment_return
+mapAssignment(pSimanticsDataParser ctx)
+{
+ SimanticsDataParser_mapAssignment_return retval;
+
+ pANTLR3_BASE_TREE root_0;
+
+ pANTLR3_COMMON_TOKEN char_literal111;
+ SimanticsDataParser_value_return value110;
+ #undef RETURN_TYPE_value110
+ #define RETURN_TYPE_value110 SimanticsDataParser_value_return
+
+ SimanticsDataParser_value_return value112;
+ #undef RETURN_TYPE_value112
+ #define RETURN_TYPE_value112 SimanticsDataParser_value_return
+
+ pANTLR3_BASE_TREE char_literal111_tree;
+ pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_35;
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_value;
+ /* Initialize rule variables
+ */
+
+
+ root_0 = NULL;
+
+ char_literal111 = NULL;
+ value110.tree = NULL;
+
+ value112.tree = NULL;
+
+ retval.start = LT(1); retval.stop = retval.start;
+
+ char_literal111_tree = NULL;
+
+ stream_35 = NULL;
+ #define CREATE_stream_35 if (stream_35 == NULL) {stream_35 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 35"); }
+ stream_value = NULL;
+ #define CREATE_stream_value if (stream_value == NULL) {stream_value = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule value"); }
+
+ retval.tree = NULL;
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:235:5: ( value '=' value -> ^( ASSIGNMENT ( value )* ) )
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:235:7: value '=' value
+ {
+ FOLLOWPUSH(FOLLOW_value_in_mapAssignment1900);
+ value110=value(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulemapAssignmentEx;
+ }
+
+ CREATE_stream_value; stream_value->add(stream_value, value110.tree, NULL);
+ char_literal111 = (pANTLR3_COMMON_TOKEN) MATCHT(35, &FOLLOW_35_in_mapAssignment1902);
+ if (HASEXCEPTION())
+ {
+ goto rulemapAssignmentEx;
+ }
+
+ CREATE_stream_35; stream_35->add(stream_35, char_literal111, NULL);
+
+ FOLLOWPUSH(FOLLOW_value_in_mapAssignment1904);
+ value112=value(ctx);
+
+ FOLLOWPOP();
+ if (HASEXCEPTION())
+ {
+ goto rulemapAssignmentEx;
+ }
+
+ CREATE_stream_value; stream_value->add(stream_value, value112.tree, NULL);
+
+
+ /* AST REWRITE
+ * elements : value
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+ * rule list labels :
+ */
+ {
+ pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
+
+ stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
+
+ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ retval.tree = root_0;
+ // 236:5: -> ^( ASSIGNMENT ( value )* )
+ {
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:236:8: ^( ASSIGNMENT ( value )* )
+ {
+ pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
+ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ASSIGNMENT, (pANTLR3_UINT8)"ASSIGNMENT"), root_1));
+
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:236:21: ( value )*
+ {
+ while ( (stream_value != NULL && stream_value->hasNext(stream_value)) )
+ {
+ ADAPTOR->addChild(ADAPTOR, root_1, stream_value == NULL ? NULL : stream_value->nextTree(stream_value));
+
+ }
+ if (stream_value != NULL) stream_value->reset(stream_value);
+
+ }
+
+ ADAPTOR->addChild(ADAPTOR, root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0; // set result root
+ if (stream_retval != NULL) stream_retval->free(stream_retval);
+
+
+ }
+ }
+
+ }
+
+
+ // This is where rules clean up and exit
+ //
+ goto rulemapAssignmentEx; /* Prevent compiler warnings */
+ rulemapAssignmentEx: ;
+ retval.stop = LT(-1);
+
+ retval.stop = LT(-1);
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
+ ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
+ if (stream_35 != NULL) stream_35->free(stream_35);
+ if (stream_value != NULL) stream_value->free(stream_value);
+
+ if (HASEXCEPTION())
+ {
+ PREPORTERROR();
+ PRECOVER();
+ retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
+ }
+
+
+ return retval;
+}
+/* $ANTLR end mapAssignment */
+/* End of parsing rules
+ * ==============================================
+ */
+
+/* ==============================================
+ * Syntactic predicates
+ */
+/* End of syntactic predicates
+ * ==============================================
+ */
+
+
+
+
+
+
+/* End of code
+ * =============================================================================
+ */