--- /dev/null
+/** \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:28\r
+ * - for the lexer : SimanticsDataLexerLexer *\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 "SimanticsDataLexer.h"\r
+/* ----------------------------------------- */\r
+\r
+\r
+/** String literals used by SimanticsDataLexer that we must do things like MATCHS() with.\r
+ * C will normally just lay down 8 bit characters, and you can use L"xxx" to\r
+ * get wchar_t, but wchar_t is 16 bits on Windows, which is not UTF32 and so\r
+ * we perform this little trick of defining the literals as arrays of UINT32\r
+ * and passing in the address of these.\r
+ */\r
+static ANTLR3_UCHAR lit_1[] = { 0x74, 0x79, 0x70, 0x65, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_2[] = { 0x2E, 0x2E, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_3[] = { 0x74, 0x72, 0x75, 0x65, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_4[] = { 0x66, 0x61, 0x6C, 0x73, 0x65, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_5[] = { 0x6E, 0x75, 0x6C, 0x6C, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_6[] = { 0x6D, 0x61, 0x70, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_7[] = { 0x2F, 0x2F, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_8[] = { 0x2F, 0x2A, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_9[] = { 0x2A, 0x2F, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_10[] = { 0x22, 0x22, 0x22, ANTLR3_STRING_TERMINATOR};\r
+static ANTLR3_UCHAR lit_11[] = { 0x22, 0x22, ANTLR3_STRING_TERMINATOR};\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) pSimanticsDataLexer_##scope##_SCOPE\r
+#define SCOPE_STACK(scope) pSimanticsDataLexer_##scope##Stack\r
+#define SCOPE_TOP(scope) ctx->pSimanticsDataLexer_##scope##Top\r
+#define SCOPE_SIZE(scope) ctx->pSimanticsDataLexer_##scope##Stack_limit\r
+#define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))\r
+\r
+ \r
+/* Macros for accessing things in a lexer\r
+ */\r
+#undef LEXER\r
+#undef RECOGNIZER \r
+#undef RULEMEMO \r
+#undef GETCHARINDEX\r
+#undef GETLINE\r
+#undef GETCHARPOSITIONINLINE\r
+#undef EMIT\r
+#undef EMITNEW\r
+#undef MATCHC\r
+#undef MATCHS\r
+#undef MATCHRANGE\r
+#undef LTOKEN\r
+#undef HASFAILED\r
+#undef FAILEDFLAG\r
+#undef INPUT\r
+#undef STRSTREAM\r
+#undef LA\r
+#undef HASEXCEPTION\r
+#undef EXCEPTION\r
+#undef CONSTRUCTEX\r
+#undef CONSUME\r
+#undef LRECOVER\r
+#undef MARK\r
+#undef REWIND\r
+#undef REWINDLAST\r
+#undef BACKTRACKING\r
+#undef MATCHANY\r
+#undef MEMOIZE\r
+#undef HAVEPARSEDRULE\r
+#undef GETTEXT\r
+#undef INDEX\r
+#undef SEEK\r
+#undef PUSHSTREAM\r
+#undef POPSTREAM\r
+#undef SETTEXT\r
+#undef SETTEXT8\r
+\r
+#define LEXER ctx->pLexer\r
+#define RECOGNIZER LEXER->rec\r
+#define LEXSTATE RECOGNIZER->state\r
+#define TOKSOURCE LEXSTATE->tokSource\r
+#define GETCHARINDEX() LEXER->getCharIndex(LEXER)\r
+#define GETLINE() LEXER->getLine(LEXER)\r
+#define GETTEXT() LEXER->getText(LEXER)\r
+#define GETCHARPOSITIONINLINE() LEXER->getCharPositionInLine(LEXER)\r
+#define EMIT() LEXSTATE->type = _type; LEXER->emit(LEXER)\r
+#define EMITNEW(t) LEXER->emitNew(LEXER, t)\r
+#define MATCHC(c) LEXER->matchc(LEXER, c)\r
+#define MATCHS(s) LEXER->matchs(LEXER, s)\r
+#define MATCHRANGE(c1,c2) LEXER->matchRange(LEXER, c1, c2)\r
+#define MATCHANY() LEXER->matchAny(LEXER)\r
+#define LTOKEN LEXSTATE->token\r
+#define HASFAILED() (LEXSTATE->failed == ANTLR3_TRUE)\r
+#define BACKTRACKING LEXSTATE->backtracking\r
+#define FAILEDFLAG LEXSTATE->failed\r
+#define INPUT LEXER->input\r
+#define STRSTREAM INPUT\r
+#define ISTREAM INPUT->istream\r
+#define INDEX() ISTREAM->index(ISTREAM)\r
+#define SEEK(n) ISTREAM->seek(ISTREAM, n)\r
+#define EOF_TOKEN &(LEXSTATE->tokSource->eofToken)\r
+#define HASEXCEPTION() (LEXSTATE->error == ANTLR3_TRUE)\r
+#define EXCEPTION LEXSTATE->exception\r
+#define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)\r
+#define LRECOVER() LEXER->recover(LEXER)\r
+#define MARK() ISTREAM->mark(ISTREAM)\r
+#define REWIND(m) ISTREAM->rewind(ISTREAM, m)\r
+#define REWINDLAST() ISTREAM->rewindLast(ISTREAM)\r
+#define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)\r
+#define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)\r
+#define PUSHSTREAM(str) LEXER->pushCharStream(LEXER, str)\r
+#define POPSTREAM() LEXER->popCharStream(LEXER)\r
+#define SETTEXT(str) LEXSTATE->text = str\r
+#define SKIP() LEXSTATE->token = &(TOKSOURCE->skipToken)\r
+#define USER1 LEXSTATE->user1\r
+#define USER2 LEXSTATE->user2\r
+#define USER3 LEXSTATE->user3\r
+#define CUSTOM LEXSTATE->custom\r
+#define RULEMEMO LEXSTATE->ruleMemo\r
+#define DBG RECOGNIZER->debugger\r
+\r
+/* If we have been told we can rely on the standard 8 bit or 16 bit input\r
+ * stream, then we can define our macros to use the direct pointers\r
+ * in the input object, which is much faster than indirect calls. This\r
+ * is really only significant to lexers with a lot of fragment rules (which\r
+ * do not place LA(1) in a temporary at the moment) and even then\r
+ * only if there is a lot of input (order of say 1M or so).\r
+ */\r
+#if defined(ANTLR3_INLINE_INPUT_ASCII) || defined(ANTLR3_INLINE_INPUT_UTF16)\r
+\r
+# ifdef ANTLR3_INLINE_INPUT_ASCII\r
+\r
+/* 8 bit "ASCII" (actually any 8 bit character set) */\r
+\r
+# define NEXTCHAR ((pANTLR3_UINT8)(INPUT->nextChar))\r
+# define DATAP ((pANTLR3_UINT8)(INPUT->data))\r
+\r
+# else\r
+\r
+# define NEXTCHAR ((pANTLR3_UINT16)(INPUT->nextChar)) \r
+# define DATAP ((pANTLR3_UINT16)(INPUT->data))\r
+\r
+# endif\r
+\r
+# define LA(n) ((NEXTCHAR + n) > (DATAP + INPUT->sizeBuf) ? ANTLR3_CHARSTREAM_EOF : (ANTLR3_UCHAR)(*(NEXTCHAR + n - 1)))\r
+# define CONSUME() \\r
+{ \\r
+ if (NEXTCHAR < (DATAP + INPUT->sizeBuf)) \\r
+ { \\r
+ INPUT->charPositionInLine++; \\r
+ if ((ANTLR3_UCHAR)(*NEXTCHAR) == INPUT->newlineChar) \\r
+ { \\r
+ INPUT->line++; \\r
+ INPUT->charPositionInLine = 0; \\r
+ INPUT->currentLine = (void *)(NEXTCHAR + 1); \\r
+ } \\r
+ INPUT->nextChar = (void *)(NEXTCHAR + 1); \\r
+ } \\r
+}\r
+\r
+#else\r
+\r
+// Pick up the input character by calling the input stream implementation.\r
+//\r
+#define CONSUME() INPUT->istream->consume(INPUT->istream)\r
+#define LA(n) INPUT->istream->_LA(INPUT->istream, n)\r
+\r
+#endif\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
+/* Forward declare the locally static matching functions we have generated and any predicate functions.\r
+ */\r
+static ANTLR3_INLINE void mT__34 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__35 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__36 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__37 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__38 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__39 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__40 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__41 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__42 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__43 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__44 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__45 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__46 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__47 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__48 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mT__49 (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mID (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mINT (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mFLOAT (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mCOMMENT (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mWS (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mSTRING (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mEXPONENT (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mHEX_DIGIT (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mESC_SEQ (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mOCTAL_ESC (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mUNICODE_ESC (pSimanticsDataLexer ctx);\r
+static ANTLR3_INLINE void mTokens (pSimanticsDataLexer ctx);\r
+static void SimanticsDataLexerFree(pSimanticsDataLexer ctx);\r
+\r
+/* =========================================================================\r
+ * Lexer matching rules end.\r
+ * =========================================================================\r
+ */\r
+\r
+\r
+\r
+static void\r
+SimanticsDataLexerFree (pSimanticsDataLexer ctx)\r
+{\r
+ LEXER->free(LEXER);\r
+ \r
+ ANTLR3_FREE(ctx);\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
+\r
+/** \brief Create a new lexer called SimanticsDataLexer\r
+ *\r
+ * \param[in] instream Pointer to an initialized input stream\r
+ * \return \r
+ * - Success pSimanticsDataLexer initialized for the lex start\r
+ * - Fail NULL\r
+ */\r
+ANTLR3_API pSimanticsDataLexer SimanticsDataLexerNew \r
+(pANTLR3_INPUT_STREAM instream)\r
+{\r
+ // See if we can create a new lexer with the standard constructor\r
+ //\r
+ return SimanticsDataLexerNewSSD(instream, NULL);\r
+}\r
+\r
+/** \brief Create a new lexer called SimanticsDataLexer\r
+ *\r
+ * \param[in] instream Pointer to an initialized input stream\r
+ * \param[state] state Previously created shared recognizer stat\r
+ * \return \r
+ * - Success pSimanticsDataLexer initialized for the lex start\r
+ * - Fail NULL\r
+ */\r
+ANTLR3_API pSimanticsDataLexer SimanticsDataLexerNewSSD \r
+(pANTLR3_INPUT_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)\r
+{\r
+ pSimanticsDataLexer ctx; // Context structure we will build and return\r
+\r
+ ctx = (pSimanticsDataLexer) ANTLR3_CALLOC(1, sizeof(SimanticsDataLexer));\r
+\r
+ if (ctx == NULL)\r
+ {\r
+ // Failed to allocate memory for lexer context\r
+ return NULL;\r
+ }\r
+\r
+ /* -------------------------------------------------------------------\r
+ * Memory for basic structure is allocated, now to fill in\r
+ * in base ANTLR3 structures. We initialize the function pointers\r
+ * for the standard ANTLR3 lexer 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 SimanticsDataLexer.h here so you can get a sense\r
+ * of what goes where.\r
+ */\r
+ \r
+ /* Create a base lexer, using the supplied input stream\r
+ */\r
+ ctx->pLexer = antlr3LexerNewStream(ANTLR3_SIZE_HINT, instream, state);\r
+ \r
+ /* Check that we allocated the memory correctly\r
+ */\r
+ if (ctx->pLexer == NULL)\r
+ {\r
+ ANTLR3_FREE(ctx);\r
+ return NULL;\r
+ }\r
+ /* Install the implementation of our SimanticsDataLexer interface\r
+ */\r
+ ctx->mT__34 = mT__34;\r
+ ctx->mT__35 = mT__35;\r
+ ctx->mT__36 = mT__36;\r
+ ctx->mT__37 = mT__37;\r
+ ctx->mT__38 = mT__38;\r
+ ctx->mT__39 = mT__39;\r
+ ctx->mT__40 = mT__40;\r
+ ctx->mT__41 = mT__41;\r
+ ctx->mT__42 = mT__42;\r
+ ctx->mT__43 = mT__43;\r
+ ctx->mT__44 = mT__44;\r
+ ctx->mT__45 = mT__45;\r
+ ctx->mT__46 = mT__46;\r
+ ctx->mT__47 = mT__47;\r
+ ctx->mT__48 = mT__48;\r
+ ctx->mT__49 = mT__49;\r
+ ctx->mID = mID;\r
+ ctx->mINT = mINT;\r
+ ctx->mFLOAT = mFLOAT;\r
+ ctx->mCOMMENT = mCOMMENT;\r
+ ctx->mWS = mWS;\r
+ ctx->mSTRING = mSTRING;\r
+ ctx->mEXPONENT = mEXPONENT;\r
+ ctx->mHEX_DIGIT = mHEX_DIGIT;\r
+ ctx->mESC_SEQ = mESC_SEQ;\r
+ ctx->mOCTAL_ESC = mOCTAL_ESC;\r
+ ctx->mUNICODE_ESC = mUNICODE_ESC;\r
+ ctx->mTokens = mTokens;\r
+ \r
+ /** When the nextToken() call is made to this lexer's pANTLR3_TOKEN_SOURCE\r
+ * it will call mTokens() in this generated code, and will pass it the ctx\r
+ * pointer of this lexer, not the context of the base lexer, so store that now.\r
+ */\r
+ ctx->pLexer->ctx = ctx;\r
+ \r
+ /**Install the token matching function\r
+ */\r
+ ctx->pLexer->mTokens = (void (*) (void *))(mTokens);\r
+ \r
+ ctx->getGrammarFileName = getGrammarFileName;\r
+ ctx->free = SimanticsDataLexerFree;\r
+\r
+ \r
+ \r
+\r
+\r
+ /* Return the newly built lexer to the caller\r
+ */\r
+ return ctx;\r
+}\r
+\r
+/* =========================================================================\r
+ * DFA tables for the lexer\r
+ */\r
+/** Static dfa state tables for Cyclic dfa:\r
+ * 40:1: FLOAT : ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '-' )? ( '0' .. '9' )+ EXPONENT );\r
+ */\r
+static const ANTLR3_INT32 dfa10_eot[5] =\r
+ {\r
+ -1, -1, -1, -1, -1\r
+ };\r
+static const ANTLR3_INT32 dfa10_eof[5] =\r
+ {\r
+ -1, -1, -1, -1, -1\r
+ };\r
+static const ANTLR3_INT32 dfa10_min[5] =\r
+ {\r
+ 45, 48, 46, -1, -1\r
+ };\r
+static const ANTLR3_INT32 dfa10_max[5] =\r
+ {\r
+ 57, 57, 101, -1, -1\r
+ };\r
+static const ANTLR3_INT32 dfa10_accept[5] =\r
+ {\r
+ -1, -1, -1, 2, 1\r
+ };\r
+static const ANTLR3_INT32 dfa10_special[5] =\r
+ { \r
+ -1, -1, -1, -1, -1\r
+ };\r
+\r
+/** Used when there is no transition table entry for a particular state */\r
+#define dfa10_T_empty NULL\r
+\r
+static const ANTLR3_INT32 dfa10_T0[] =\r
+ {\r
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2\r
+ };static const ANTLR3_INT32 dfa10_T1[] =\r
+ {\r
+ 1, -1, -1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2\r
+ };static const ANTLR3_INT32 dfa10_T2[] =\r
+ {\r
+ 4, -1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3\r
+ };\r
+\r
+/* Transition tables are a table of sub tables, with some tables\r
+ * reused for efficiency.\r
+ */\r
+static const ANTLR3_INT32 * const dfa10_transitions[] =\r
+{\r
+ dfa10_T1, dfa10_T0, dfa10_T2, dfa10_T_empty, dfa10_T_empty \r
+};\r
+\r
+\r
+/* Declare tracking structure for Cyclic DFA 10\r
+ */\r
+static\r
+ANTLR3_CYCLIC_DFA cdfa10\r
+ = {\r
+ 10, /* Decision number of this dfa */\r
+ /* Which decision this represents: */\r
+ (const pANTLR3_UCHAR)"40:1: FLOAT : ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '-' )? ( '0' .. '9' )+ EXPONENT );", \r
+ (CDFA_SPECIAL_FUNC) antlr3dfaspecialStateTransition, /* Default special state transition function */\r
+ antlr3dfaspecialTransition, /* DFA specialTransition is currently just a default function in the runtime */\r
+ antlr3dfapredict, /* DFA simulator function is in the runtime */\r
+ dfa10_eot, /* EOT table */\r
+ dfa10_eof, /* EOF table */\r
+ dfa10_min, /* Minimum tokens for each state */\r
+ dfa10_max, /* Maximum tokens for each state */\r
+ dfa10_accept, /* Accept table */\r
+ dfa10_special, /* Special transition states */\r
+ dfa10_transitions /* Table of transition tables */\r
+\r
+ }; \r
+/* End of Cyclic DFA 10\r
+ * ---------------------\r
+ *//** Static dfa state tables for Cyclic dfa:\r
+ * 1:1: Tokens : ( T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | ID | INT | FLOAT | COMMENT | WS | STRING );\r
+ */\r
+static const ANTLR3_INT32 dfa22_eot[44] =\r
+ {\r
+ -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 16, 16, -1, -1, \r
+ 28, -1, -1, -1, 16, 16, 16, 16, 16, -1, -1, 16, 16, 16, 16, 38, 39, 40, \r
+ 16, 42, -1, -1, -1, 43, -1, -1\r
+ };\r
+static const ANTLR3_INT32 dfa22_eof[44] =\r
+ {\r
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, -1, -1, -1, -1, -1, -1\r
+ };\r
+static const ANTLR3_INT32 dfa22_min[44] =\r
+ {\r
+ 9, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 97, 117, 97, -1, 48, \r
+ 46, -1, -1, -1, 112, 117, 108, 108, 112, -1, -1, 101, 101, 115, 108, 48, \r
+ 48, 48, 101, 48, -1, -1, -1, 48, -1, -1\r
+ };\r
+static const ANTLR3_INT32 dfa22_max[44] =\r
+ {\r
+ 125, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 97, 117, 97, -1, \r
+ 57, 101, -1, -1, -1, 112, 117, 108, 108, 112, -1, -1, 101, 101, 115, 108, \r
+ 122, 122, 122, 101, 122, -1, -1, -1, 122, -1, -1\r
+ };\r
+static const ANTLR3_INT32 dfa22_accept[44] =\r
+ {\r
+ -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, 17, -1, -1, 20, \r
+ 21, 22, -1, -1, -1, -1, -1, 19, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ 16, 1, 13, -1, 15, 14\r
+ };\r
+static const ANTLR3_INT32 dfa22_special[44] =\r
+ { \r
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, -1, -1, -1, -1, -1, -1\r
+ };\r
+\r
+/** Used when there is no transition table entry for a particular state */\r
+#define dfa22_T_empty NULL\r
+\r
+static const ANTLR3_INT32 dfa22_T0[] =\r
+ {\r
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, -1, -1, -1, -1, -1, -1, -1, 16, \r
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, \r
+ 16, 16, 16, 16, 16, 16, 16, -1, -1, -1, -1, 16, -1, 16, 16, 16, 16, 16, \r
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, \r
+ 16, 16, 16\r
+ };static const ANTLR3_INT32 dfa22_T1[] =\r
+ {\r
+ 41\r
+ };static const ANTLR3_INT32 dfa22_T2[] =\r
+ {\r
+ 36\r
+ };static const ANTLR3_INT32 dfa22_T3[] =\r
+ {\r
+ 31\r
+ };static const ANTLR3_INT32 dfa22_T4[] =\r
+ {\r
+ 26\r
+ };static const ANTLR3_INT32 dfa22_T5[] =\r
+ {\r
+ 35\r
+ };static const ANTLR3_INT32 dfa22_T6[] =\r
+ {\r
+ 30\r
+ };static const ANTLR3_INT32 dfa22_T7[] =\r
+ {\r
+ 33\r
+ };static const ANTLR3_INT32 dfa22_T8[] =\r
+ {\r
+ 25\r
+ };static const ANTLR3_INT32 dfa22_T9[] =\r
+ {\r
+ 20, 20, -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, -1, -1, -1, 20, -1, 21, -1, -1, -1, -1, -1, 7, 9, -1, -1, 8, 17, \r
+ 6, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 12, -1, -1, 2, -1, -1, -1, \r
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, \r
+ 16, 16, 16, 16, 16, 16, 16, 16, 4, -1, 5, -1, 16, -1, 16, 16, 16, 16, 16, \r
+ 13, 16, 16, 16, 16, 16, 16, 15, 14, 16, 16, 16, 16, 16, 1, 16, 16, 16, \r
+ 16, 16, 16, 10, 3, 11\r
+ };static const ANTLR3_INT32 dfa22_T10[] =\r
+ {\r
+ 24\r
+ };static const ANTLR3_INT32 dfa22_T11[] =\r
+ {\r
+ 32\r
+ };static const ANTLR3_INT32 dfa22_T12[] =\r
+ {\r
+ 37\r
+ };static const ANTLR3_INT32 dfa22_T13[] =\r
+ {\r
+ 29\r
+ };static const ANTLR3_INT32 dfa22_T14[] =\r
+ {\r
+ 34\r
+ };static const ANTLR3_INT32 dfa22_T15[] =\r
+ {\r
+ 27, -1, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, -1, -1, -1, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \r
+ -1, 27\r
+ };static const ANTLR3_INT32 dfa22_T16[] =\r
+ {\r
+ 23, -1, -1, -1, -1, -1, -1, 22\r
+ };static const ANTLR3_INT32 dfa22_T17[] =\r
+ {\r
+ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18\r
+ };\r
+\r
+/* Transition tables are a table of sub tables, with some tables\r
+ * reused for efficiency.\r
+ */\r
+static const ANTLR3_INT32 * const dfa22_transitions[] =\r
+{\r
+ dfa22_T9, dfa22_T16, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, \r
+ dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, \r
+ dfa22_T_empty, dfa22_T_empty, dfa22_T10, dfa22_T8, dfa22_T4, dfa22_T_empty, \r
+ dfa22_T17, dfa22_T15, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T13, \r
+ dfa22_T6, dfa22_T3, dfa22_T11, dfa22_T7, dfa22_T_empty, dfa22_T_empty, \r
+ dfa22_T14, dfa22_T5, dfa22_T2, dfa22_T12, dfa22_T0, dfa22_T0, dfa22_T0, \r
+ dfa22_T1, dfa22_T0, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T0, \r
+ dfa22_T_empty, dfa22_T_empty \r
+};\r
+\r
+\r
+/* Declare tracking structure for Cyclic DFA 22\r
+ */\r
+static\r
+ANTLR3_CYCLIC_DFA cdfa22\r
+ = {\r
+ 22, /* Decision number of this dfa */\r
+ /* Which decision this represents: */\r
+ (const pANTLR3_UCHAR)"1:1: Tokens : ( T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | ID | INT | FLOAT | COMMENT | WS | STRING );", \r
+ (CDFA_SPECIAL_FUNC) antlr3dfaspecialStateTransition, /* Default special state transition function */\r
+ antlr3dfaspecialTransition, /* DFA specialTransition is currently just a default function in the runtime */\r
+ antlr3dfapredict, /* DFA simulator function is in the runtime */\r
+ dfa22_eot, /* EOT table */\r
+ dfa22_eof, /* EOF table */\r
+ dfa22_min, /* Minimum tokens for each state */\r
+ dfa22_max, /* Maximum tokens for each state */\r
+ dfa22_accept, /* Accept table */\r
+ dfa22_special, /* Special transition states */\r
+ dfa22_transitions /* Table of transition tables */\r
+\r
+ }; \r
+/* End of Cyclic DFA 22\r
+ * ---------------------\r
+ */ \r
+/* =========================================================================\r
+ * End of DFA tables for the lexer\r
+ */ \r
+\r
+/* =========================================================================\r
+ * Functions to match the lexer grammar defined tokens from the input stream\r
+ */\r
+\r
+// Comes from: 7:7: ( 'type' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__34\r
+ *\r
+ * Looks to match the characters the constitute the token T__34\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__34(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__34;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:7:7: ( 'type' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:7:9: 'type'\r
+ {\r
+ MATCHS(lit_1); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__34Ex;\r
+ }\r
+\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__34Ex; /* Prevent compiler warnings */\r
+ ruleT__34Ex: ;\r
+\r
+}\r
+// $ANTLR end T__34\r
+\r
+// Comes from: 8:7: ( '=' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__35\r
+ *\r
+ * Looks to match the characters the constitute the token T__35\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__35(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__35;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:8:7: ( '=' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:8:9: '='\r
+ {\r
+ MATCHC('='); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__35Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__35Ex; /* Prevent compiler warnings */\r
+ ruleT__35Ex: ;\r
+\r
+}\r
+// $ANTLR end T__35\r
+\r
+// Comes from: 9:7: ( '|' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__36\r
+ *\r
+ * Looks to match the characters the constitute the token T__36\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__36(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__36;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:9:7: ( '|' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:9:9: '|'\r
+ {\r
+ MATCHC('|'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__36Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__36Ex; /* Prevent compiler warnings */\r
+ ruleT__36Ex: ;\r
+\r
+}\r
+// $ANTLR end T__36\r
+\r
+// Comes from: 10:7: ( '[' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__37\r
+ *\r
+ * Looks to match the characters the constitute the token T__37\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__37(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__37;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:10:7: ( '[' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:10:9: '['\r
+ {\r
+ MATCHC('['); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__37Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__37Ex; /* Prevent compiler warnings */\r
+ ruleT__37Ex: ;\r
+\r
+}\r
+// $ANTLR end T__37\r
+\r
+// Comes from: 11:7: ( ']' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__38\r
+ *\r
+ * Looks to match the characters the constitute the token T__38\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__38(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__38;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:11:7: ( ']' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:11:9: ']'\r
+ {\r
+ MATCHC(']'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__38Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__38Ex; /* Prevent compiler warnings */\r
+ ruleT__38Ex: ;\r
+\r
+}\r
+// $ANTLR end T__38\r
+\r
+// Comes from: 12:7: ( '..' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__39\r
+ *\r
+ * Looks to match the characters the constitute the token T__39\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__39(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__39;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:12:7: ( '..' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:12:9: '..'\r
+ {\r
+ MATCHS(lit_2); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__39Ex;\r
+ }\r
+\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__39Ex; /* Prevent compiler warnings */\r
+ ruleT__39Ex: ;\r
+\r
+}\r
+// $ANTLR end T__39\r
+\r
+// Comes from: 13:7: ( '(' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__40\r
+ *\r
+ * Looks to match the characters the constitute the token T__40\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__40(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__40;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:13:7: ( '(' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:13:9: '('\r
+ {\r
+ MATCHC('('); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__40Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__40Ex; /* Prevent compiler warnings */\r
+ ruleT__40Ex: ;\r
+\r
+}\r
+// $ANTLR end T__40\r
+\r
+// Comes from: 14:7: ( ',' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__41\r
+ *\r
+ * Looks to match the characters the constitute the token T__41\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__41(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__41;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:14:7: ( ',' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:14:9: ','\r
+ {\r
+ MATCHC(','); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__41Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__41Ex; /* Prevent compiler warnings */\r
+ ruleT__41Ex: ;\r
+\r
+}\r
+// $ANTLR end T__41\r
+\r
+// Comes from: 15:7: ( ')' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__42\r
+ *\r
+ * Looks to match the characters the constitute the token T__42\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__42(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__42;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:15:7: ( ')' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:15:9: ')'\r
+ {\r
+ MATCHC(')'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__42Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__42Ex; /* Prevent compiler warnings */\r
+ ruleT__42Ex: ;\r
+\r
+}\r
+// $ANTLR end T__42\r
+\r
+// Comes from: 16:7: ( '{' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__43\r
+ *\r
+ * Looks to match the characters the constitute the token T__43\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__43(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__43;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:16:7: ( '{' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:16:9: '{'\r
+ {\r
+ MATCHC('{'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__43Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__43Ex; /* Prevent compiler warnings */\r
+ ruleT__43Ex: ;\r
+\r
+}\r
+// $ANTLR end T__43\r
+\r
+// Comes from: 17:7: ( '}' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__44\r
+ *\r
+ * Looks to match the characters the constitute the token T__44\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__44(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__44;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:17:7: ( '}' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:17:9: '}'\r
+ {\r
+ MATCHC('}'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__44Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__44Ex; /* Prevent compiler warnings */\r
+ ruleT__44Ex: ;\r
+\r
+}\r
+// $ANTLR end T__44\r
+\r
+// Comes from: 18:7: ( ':' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__45\r
+ *\r
+ * Looks to match the characters the constitute the token T__45\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__45(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__45;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:18:7: ( ':' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:18:9: ':'\r
+ {\r
+ MATCHC(':'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__45Ex;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__45Ex; /* Prevent compiler warnings */\r
+ ruleT__45Ex: ;\r
+\r
+}\r
+// $ANTLR end T__45\r
+\r
+// Comes from: 19:7: ( 'true' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__46\r
+ *\r
+ * Looks to match the characters the constitute the token T__46\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__46(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__46;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:19:7: ( 'true' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:19:9: 'true'\r
+ {\r
+ MATCHS(lit_3); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__46Ex;\r
+ }\r
+\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__46Ex; /* Prevent compiler warnings */\r
+ ruleT__46Ex: ;\r
+\r
+}\r
+// $ANTLR end T__46\r
+\r
+// Comes from: 20:7: ( 'false' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__47\r
+ *\r
+ * Looks to match the characters the constitute the token T__47\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__47(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__47;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:20:7: ( 'false' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:20:9: 'false'\r
+ {\r
+ MATCHS(lit_4); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__47Ex;\r
+ }\r
+\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__47Ex; /* Prevent compiler warnings */\r
+ ruleT__47Ex: ;\r
+\r
+}\r
+// $ANTLR end T__47\r
+\r
+// Comes from: 21:7: ( 'null' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__48\r
+ *\r
+ * Looks to match the characters the constitute the token T__48\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__48(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__48;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:21:7: ( 'null' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:21:9: 'null'\r
+ {\r
+ MATCHS(lit_5); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__48Ex;\r
+ }\r
+\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__48Ex; /* Prevent compiler warnings */\r
+ ruleT__48Ex: ;\r
+\r
+}\r
+// $ANTLR end T__48\r
+\r
+// Comes from: 22:7: ( 'map' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start T__49\r
+ *\r
+ * Looks to match the characters the constitute the token T__49\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mT__49(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = T__49;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:22:7: ( 'map' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:22:9: 'map'\r
+ {\r
+ MATCHS(lit_6); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleT__49Ex;\r
+ }\r
+\r
+\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleT__49Ex; /* Prevent compiler warnings */\r
+ ruleT__49Ex: ;\r
+\r
+}\r
+// $ANTLR end T__49\r
+\r
+// Comes from: 34:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start ID\r
+ *\r
+ * Looks to match the characters the constitute the token ID\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mID(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = ID;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:34:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:34:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*\r
+ {\r
+ if ( ((LA(1) >= 'A') && (LA(1) <= 'Z')) || LA(1) == '_' || ((LA(1) >= 'a') && (LA(1) <= 'z')) )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleIDEx;\r
+ }\r
+\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:34:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*\r
+\r
+ for (;;)\r
+ {\r
+ int alt1=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ case '8':\r
+ case '9':\r
+ case 'A':\r
+ case 'B':\r
+ case 'C':\r
+ case 'D':\r
+ case 'E':\r
+ case 'F':\r
+ case 'G':\r
+ case 'H':\r
+ case 'I':\r
+ case 'J':\r
+ case 'K':\r
+ case 'L':\r
+ case 'M':\r
+ case 'N':\r
+ case 'O':\r
+ case 'P':\r
+ case 'Q':\r
+ case 'R':\r
+ case 'S':\r
+ case 'T':\r
+ case 'U':\r
+ case 'V':\r
+ case 'W':\r
+ case 'X':\r
+ case 'Y':\r
+ case 'Z':\r
+ case '_':\r
+ case 'a':\r
+ case 'b':\r
+ case 'c':\r
+ case 'd':\r
+ case 'e':\r
+ case 'f':\r
+ case 'g':\r
+ case 'h':\r
+ case 'i':\r
+ case 'j':\r
+ case 'k':\r
+ case 'l':\r
+ case 'm':\r
+ case 'n':\r
+ case 'o':\r
+ case 'p':\r
+ case 'q':\r
+ case 'r':\r
+ case 's':\r
+ case 't':\r
+ case 'u':\r
+ case 'v':\r
+ case 'w':\r
+ case 'x':\r
+ case 'y':\r
+ case 'z':\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:\r
+ {\r
+ if ( ((LA(1) >= '0') && (LA(1) <= '9')) || ((LA(1) >= 'A') && (LA(1) <= 'Z')) || LA(1) == '_' || ((LA(1) >= 'a') && (LA(1) <= 'z')) )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleIDEx;\r
+ }\r
+\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
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleIDEx; /* Prevent compiler warnings */\r
+ ruleIDEx: ;\r
+\r
+}\r
+// $ANTLR end ID\r
+\r
+// Comes from: 37:5: ( ( '-' )? ( '0' .. '9' )+ )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start INT\r
+ *\r
+ * Looks to match the characters the constitute the token INT\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mINT(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = INT;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:5: ( ( '-' )? ( '0' .. '9' )+ )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:7: ( '-' )? ( '0' .. '9' )+\r
+ {\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:7: ( '-' )?\r
+ {\r
+ int alt2=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '-':\r
+ {\r
+ alt2=1;\r
+ }\r
+ break;\r
+ }\r
+\r
+ switch (alt2) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:7: '-'\r
+ {\r
+ MATCHC('-'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleINTEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:12: ( '0' .. '9' )+\r
+ {\r
+ int cnt3=0;\r
+\r
+ for (;;)\r
+ {\r
+ int alt3=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ case '8':\r
+ case '9':\r
+ {\r
+ alt3=1;\r
+ }\r
+ break;\r
+\r
+ }\r
+\r
+ switch (alt3) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:12: '0' .. '9'\r
+ {\r
+ MATCHRANGE('0', '9'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleINTEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ \r
+ if ( cnt3 >= 1 )\r
+ {\r
+ goto loop3;\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 ruleINTEx;\r
+ }\r
+ cnt3++;\r
+ }\r
+ loop3: ; /* Jump to here if this rule does not match */\r
+ }\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleINTEx; /* Prevent compiler warnings */\r
+ ruleINTEx: ;\r
+\r
+}\r
+// $ANTLR end INT\r
+\r
+// Comes from: 41:5: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '-' )? ( '0' .. '9' )+ EXPONENT )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start FLOAT\r
+ *\r
+ * Looks to match the characters the constitute the token FLOAT\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mFLOAT(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = FLOAT;\r
+ \r
+ \r
+ {\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:5: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '-' )? ( '0' .. '9' )+ EXPONENT )\r
+ \r
+ ANTLR3_UINT32 alt10;\r
+\r
+ alt10=2;\r
+\r
+ alt10 = cdfa10.predict(ctx, RECOGNIZER, ISTREAM, &cdfa10);\r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+ switch (alt10) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:9: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )?\r
+ {\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:9: ( '-' )?\r
+ {\r
+ int alt4=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '-':\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:41:9: '-'\r
+ {\r
+ MATCHC('-'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:14: ( '0' .. '9' )+\r
+ {\r
+ int cnt5=0;\r
+\r
+ for (;;)\r
+ {\r
+ int alt5=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ case '8':\r
+ case '9':\r
+ {\r
+ alt5=1;\r
+ }\r
+ break;\r
+\r
+ }\r
+\r
+ switch (alt5) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:15: '0' .. '9'\r
+ {\r
+ MATCHRANGE('0', '9'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ \r
+ if ( cnt5 >= 1 )\r
+ {\r
+ goto loop5;\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 ruleFLOATEx;\r
+ }\r
+ cnt5++;\r
+ }\r
+ loop5: ; /* Jump to here if this rule does not match */\r
+ }\r
+ MATCHC('.'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:30: ( '0' .. '9' )+\r
+ {\r
+ int cnt6=0;\r
+\r
+ for (;;)\r
+ {\r
+ int alt6=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ case '8':\r
+ case '9':\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:41:31: '0' .. '9'\r
+ {\r
+ MATCHRANGE('0', '9'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ \r
+ if ( cnt6 >= 1 )\r
+ {\r
+ goto loop6;\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 ruleFLOATEx;\r
+ }\r
+ cnt6++;\r
+ }\r
+ loop6: ; /* Jump to here if this rule does not match */\r
+ }\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:42: ( EXPONENT )?\r
+ {\r
+ int alt7=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case 'E':\r
+ case 'e':\r
+ {\r
+ alt7=1;\r
+ }\r
+ break;\r
+ }\r
+\r
+ switch (alt7) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:42: EXPONENT\r
+ {\r
+ /* 41:42: EXPONENT */\r
+ mEXPONENT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+\r
+ }\r
+ break;\r
+ case 2:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:9: ( '-' )? ( '0' .. '9' )+ EXPONENT\r
+ {\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:9: ( '-' )?\r
+ {\r
+ int alt8=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '-':\r
+ {\r
+ alt8=1;\r
+ }\r
+ break;\r
+ }\r
+\r
+ switch (alt8) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:9: '-'\r
+ {\r
+ MATCHC('-'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:14: ( '0' .. '9' )+\r
+ {\r
+ int cnt9=0;\r
+\r
+ for (;;)\r
+ {\r
+ int alt9=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ case '8':\r
+ case '9':\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:43:15: '0' .. '9'\r
+ {\r
+ MATCHRANGE('0', '9'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ \r
+ if ( cnt9 >= 1 )\r
+ {\r
+ goto loop9;\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 ruleFLOATEx;\r
+ }\r
+ cnt9++;\r
+ }\r
+ loop9: ; /* Jump to here if this rule does not match */\r
+ }\r
+ /* 43:9: ( '-' )? ( '0' .. '9' )+ EXPONENT */\r
+ mEXPONENT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleFLOATEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleFLOATEx; /* Prevent compiler warnings */\r
+ ruleFLOATEx: ;\r
+\r
+}\r
+// $ANTLR end FLOAT\r
+\r
+// Comes from: 47:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' | '/*' ( options {greedy=false; } : . )* '*/' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start COMMENT\r
+ *\r
+ * Looks to match the characters the constitute the token COMMENT\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mCOMMENT(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = COMMENT;\r
+ \r
+ \r
+ {\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' | '/*' ( options {greedy=false; } : . )* '*/' )\r
+ \r
+ ANTLR3_UINT32 alt14;\r
+\r
+ alt14=2;\r
+\r
+ switch ( LA(1) ) \r
+ {\r
+ case '/':\r
+ {\r
+ switch ( LA(2) ) \r
+ {\r
+ case '/':\r
+ {\r
+ alt14=1;\r
+ }\r
+ break;\r
+ case '*':\r
+ {\r
+ alt14=2;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
+ EXCEPTION->message = (void *)"";\r
+ EXCEPTION->decisionNum = 14;\r
+ EXCEPTION->state = 1;\r
+\r
+\r
+ goto ruleCOMMENTEx;\r
+ }\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
+ EXCEPTION->message = (void *)"";\r
+ EXCEPTION->decisionNum = 14;\r
+ EXCEPTION->state = 0;\r
+\r
+\r
+ goto ruleCOMMENTEx;\r
+ }\r
+\r
+ switch (alt14) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:9: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'\r
+ {\r
+ MATCHS(lit_7); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleCOMMENTEx;\r
+ }\r
+\r
+\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:14: (~ ( '\\n' | '\\r' ) )*\r
+\r
+ for (;;)\r
+ {\r
+ int alt11=2;\r
+ {\r
+ /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)\r
+ */\r
+ int LA11_0 = LA(1);\r
+ if ( (((LA11_0 >= 0x0000) && (LA11_0 <= '\t')) || ((LA11_0 >= 0x000B) && (LA11_0 <= '\f')) || ((LA11_0 >= 0x000E) && (LA11_0 <= 0xFFFF))) ) \r
+ {\r
+ alt11=1;\r
+ }\r
+\r
+ }\r
+ switch (alt11) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:14: ~ ( '\\n' | '\\r' )\r
+ {\r
+ if ( ((LA(1) >= 0x0000) && (LA(1) <= '\t')) || ((LA(1) >= 0x000B) && (LA(1) <= '\f')) || ((LA(1) >= 0x000E) && (LA(1) <= 0xFFFF)) )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleCOMMENTEx;\r
+ }\r
+\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
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:28: ( '\\r' )?\r
+ {\r
+ int alt12=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '\r':\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:47:28: '\\r'\r
+ {\r
+ MATCHC('\r'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleCOMMENTEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+ MATCHC('\n'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleCOMMENTEx;\r
+ }\r
+\r
+ {\r
+ LEXSTATE->channel=HIDDEN;\r
+ }\r
+\r
+ }\r
+ break;\r
+ case 2:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:48:9: '/*' ( options {greedy=false; } : . )* '*/'\r
+ {\r
+ MATCHS(lit_8); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleCOMMENTEx;\r
+ }\r
+\r
+\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:48:14: ( options {greedy=false; } : . )*\r
+\r
+ for (;;)\r
+ {\r
+ int alt13=2;\r
+ {\r
+ /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)\r
+ */\r
+ int LA13_0 = LA(1);\r
+ if ( (LA13_0 == '*') ) \r
+ {\r
+ {\r
+ /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)\r
+ */\r
+ int LA13_1 = LA(2);\r
+ if ( (LA13_1 == '/') ) \r
+ {\r
+ alt13=2;\r
+ }\r
+ else if ( (((LA13_1 >= 0x0000) && (LA13_1 <= '.')) || ((LA13_1 >= '0') && (LA13_1 <= 0xFFFF))) ) \r
+ {\r
+ alt13=1;\r
+ }\r
+\r
+ }\r
+ }\r
+ else if ( (((LA13_0 >= 0x0000) && (LA13_0 <= ')')) || ((LA13_0 >= '+') && (LA13_0 <= 0xFFFF))) ) \r
+ {\r
+ alt13=1;\r
+ }\r
+\r
+ }\r
+ switch (alt13) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:48:42: .\r
+ {\r
+ MATCHANY(); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleCOMMENTEx;\r
+ }\r
+\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
+ MATCHS(lit_9); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleCOMMENTEx;\r
+ }\r
+\r
+\r
+ {\r
+ LEXSTATE->channel=HIDDEN;\r
+ }\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleCOMMENTEx; /* Prevent compiler warnings */\r
+ ruleCOMMENTEx: ;\r
+\r
+}\r
+// $ANTLR end COMMENT\r
+\r
+// Comes from: 51:5: ( ( ' ' | '\\t' | '\\r' | '\\n' ) )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start WS\r
+ *\r
+ * Looks to match the characters the constitute the token WS\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mWS(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = WS;\r
+ \r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:51:5: ( ( ' ' | '\\t' | '\\r' | '\\n' ) )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:51:9: ( ' ' | '\\t' | '\\r' | '\\n' )\r
+ {\r
+ if ( ((LA(1) >= '\t') && (LA(1) <= '\n')) || LA(1) == '\r' || LA(1) == ' ' )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleWSEx;\r
+ }\r
+\r
+ {\r
+ LEXSTATE->channel=HIDDEN;\r
+ }\r
+\r
+ }\r
+\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleWSEx; /* Prevent compiler warnings */\r
+ ruleWSEx: ;\r
+\r
+}\r
+// $ANTLR end WS\r
+\r
+// Comes from: 59:5: ( '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"' | '\"\"\"' (~ ( '\"' ) | '\"' ~ ( '\"' ) | '\"\"' ~ ( '\"' ) )* '\"\"\"' )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start STRING\r
+ *\r
+ * Looks to match the characters the constitute the token STRING\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mSTRING(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ _type = STRING;\r
+ \r
+ \r
+ {\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:5: ( '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"' | '\"\"\"' (~ ( '\"' ) | '\"' ~ ( '\"' ) | '\"\"' ~ ( '\"' ) )* '\"\"\"' )\r
+ \r
+ ANTLR3_UINT32 alt17;\r
+\r
+ alt17=2;\r
+\r
+ switch ( LA(1) ) \r
+ {\r
+ case '"':\r
+ {\r
+\r
+ {\r
+ int LA17_1 = LA(2);\r
+ if ( (LA17_1 == '"') ) \r
+ {\r
+ switch ( LA(3) ) \r
+ {\r
+ case '"':\r
+ {\r
+ alt17=2;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ alt17=1;}\r
+\r
+ }\r
+ else if ( (((LA17_1 >= 0x0000) && (LA17_1 <= '!')) || ((LA17_1 >= '#') && (LA17_1 <= 0xFFFF))) ) \r
+ {\r
+ alt17=1;\r
+ }\r
+ else \r
+ {\r
+ \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 ruleSTRINGEx;\r
+ }\r
+ }\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 ruleSTRINGEx;\r
+ }\r
+\r
+ switch (alt17) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:8: '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"'\r
+ {\r
+ MATCHC('"'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:12: ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )*\r
+\r
+ for (;;)\r
+ {\r
+ int alt15=3;\r
+ {\r
+ /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)\r
+ */\r
+ int LA15_0 = LA(1);\r
+ if ( (LA15_0 == '\\') ) \r
+ {\r
+ alt15=1;\r
+ }\r
+ else if ( (((LA15_0 >= 0x0000) && (LA15_0 <= '!')) || ((LA15_0 >= '#') && (LA15_0 <= '[')) || ((LA15_0 >= ']') && (LA15_0 <= 0xFFFF))) ) \r
+ {\r
+ alt15=2;\r
+ }\r
+\r
+ }\r
+ switch (alt15) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:14: ESC_SEQ\r
+ {\r
+ /* 59:14: ESC_SEQ */\r
+ mESC_SEQ(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 2:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:24: ~ ( '\\\\' | '\"' )\r
+ {\r
+ if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= '[')) || ((LA(1) >= ']') && (LA(1) <= 0xFFFF)) )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ goto loop15; /* break out of the loop */\r
+ break;\r
+ }\r
+ }\r
+ loop15: ; /* Jump out to here if this rule does not match */\r
+\r
+ MATCHC('"'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 2:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:8: '\"\"\"' (~ ( '\"' ) | '\"' ~ ( '\"' ) | '\"\"' ~ ( '\"' ) )* '\"\"\"'\r
+ {\r
+ MATCHS(lit_10); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:14: (~ ( '\"' ) | '\"' ~ ( '\"' ) | '\"\"' ~ ( '\"' ) )*\r
+\r
+ for (;;)\r
+ {\r
+ int alt16=4;\r
+ {\r
+ /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)\r
+ */\r
+ int LA16_0 = LA(1);\r
+ if ( (LA16_0 == '"') ) \r
+ {\r
+ {\r
+ /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)\r
+ */\r
+ int LA16_1 = LA(2);\r
+ if ( (LA16_1 == '"') ) \r
+ {\r
+ {\r
+ /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)\r
+ */\r
+ int LA16_3 = LA(3);\r
+ if ( (((LA16_3 >= 0x0000) && (LA16_3 <= '!')) || ((LA16_3 >= '#') && (LA16_3 <= 0xFFFF))) ) \r
+ {\r
+ alt16=3;\r
+ }\r
+\r
+ }\r
+ }\r
+ else if ( (((LA16_1 >= 0x0000) && (LA16_1 <= '!')) || ((LA16_1 >= '#') && (LA16_1 <= 0xFFFF))) ) \r
+ {\r
+ alt16=2;\r
+ }\r
+\r
+ }\r
+ }\r
+ else if ( (((LA16_0 >= 0x0000) && (LA16_0 <= '!')) || ((LA16_0 >= '#') && (LA16_0 <= 0xFFFF))) ) \r
+ {\r
+ alt16=1;\r
+ }\r
+\r
+ }\r
+ switch (alt16) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:16: ~ ( '\"' )\r
+ {\r
+ if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= 0xFFFF)) )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 2:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:25: '\"' ~ ( '\"' )\r
+ {\r
+ MATCHC('"'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleSTRINGEx;\r
+ }\r
+\r
+ if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= 0xFFFF)) )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 3:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:38: '\"\"' ~ ( '\"' )\r
+ {\r
+ MATCHS(lit_11); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+ if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= 0xFFFF)) )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ goto loop16; /* break out of the loop */\r
+ break;\r
+ }\r
+ }\r
+ loop16: ; /* Jump out to here if this rule does not match */\r
+\r
+ MATCHS(lit_10); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleSTRINGEx;\r
+ }\r
+\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+ LEXSTATE->type = _type;\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleSTRINGEx; /* Prevent compiler warnings */\r
+ ruleSTRINGEx: ;\r
+\r
+}\r
+// $ANTLR end STRING\r
+\r
+// Comes from: 64:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start EXPONENT\r
+ *\r
+ * Looks to match the characters the constitute the token EXPONENT\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mEXPONENT(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+\r
+ {\r
+ if ( LA(1) == 'E' || LA(1) == 'e' )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleEXPONENTEx;\r
+ }\r
+\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:22: ( '+' | '-' )?\r
+ {\r
+ int alt18=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '+':\r
+ case '-':\r
+ {\r
+ alt18=1;\r
+ }\r
+ break;\r
+ }\r
+\r
+ switch (alt18) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:\r
+ {\r
+ if ( LA(1) == '+' || LA(1) == '-' )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleEXPONENTEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:33: ( '0' .. '9' )+\r
+ {\r
+ int cnt19=0;\r
+\r
+ for (;;)\r
+ {\r
+ int alt19=2;\r
+ switch ( LA(1) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ case '8':\r
+ case '9':\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:64:34: '0' .. '9'\r
+ {\r
+ MATCHRANGE('0', '9'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleEXPONENTEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ \r
+ if ( cnt19 >= 1 )\r
+ {\r
+ goto loop19;\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 ruleEXPONENTEx;\r
+ }\r
+ cnt19++;\r
+ }\r
+ loop19: ; /* Jump to here if this rule does not match */\r
+ }\r
+\r
+ }\r
+\r
+\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleEXPONENTEx; /* Prevent compiler warnings */\r
+ ruleEXPONENTEx: ;\r
+\r
+}\r
+// $ANTLR end EXPONENT\r
+\r
+// Comes from: 67:11: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start HEX_DIGIT\r
+ *\r
+ * Looks to match the characters the constitute the token HEX_DIGIT\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mHEX_DIGIT(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:67:11: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:67:13: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )\r
+ {\r
+ if ( ((LA(1) >= '0') && (LA(1) <= '9')) || ((LA(1) >= 'A') && (LA(1) <= 'F')) || ((LA(1) >= 'a') && (LA(1) <= 'f')) )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleHEX_DIGITEx;\r
+ }\r
+\r
+\r
+ }\r
+\r
+\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleHEX_DIGITEx; /* Prevent compiler warnings */\r
+ ruleHEX_DIGITEx: ;\r
+\r
+}\r
+// $ANTLR end HEX_DIGIT\r
+\r
+// Comes from: 71:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start ESC_SEQ\r
+ *\r
+ * Looks to match the characters the constitute the token ESC_SEQ\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mESC_SEQ(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ \r
+ {\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:71:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )\r
+ \r
+ ANTLR3_UINT32 alt20;\r
+\r
+ alt20=3;\r
+\r
+ switch ( LA(1) ) \r
+ {\r
+ case '\\':\r
+ {\r
+ switch ( LA(2) ) \r
+ {\r
+ case '"':\r
+ case '\'':\r
+ case '\\':\r
+ case 'b':\r
+ case 'f':\r
+ case 'n':\r
+ case 'r':\r
+ case 't':\r
+ {\r
+ alt20=1;\r
+ }\r
+ break;\r
+ case 'u':\r
+ {\r
+ alt20=2;\r
+ }\r
+ break;\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ {\r
+ alt20=3;\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 = 1;\r
+\r
+\r
+ goto ruleESC_SEQEx;\r
+ }\r
+\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 ruleESC_SEQEx;\r
+ }\r
+\r
+ switch (alt20) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:71:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )\r
+ {\r
+ MATCHC('\\'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleESC_SEQEx;\r
+ }\r
+\r
+ if ( LA(1) == '"' || LA(1) == '\'' || LA(1) == '\\' || LA(1) == 'b' || LA(1) == 'f' || LA(1) == 'n' || LA(1) == 'r' || LA(1) == 't' )\r
+ {\r
+ CONSUME();\r
+\r
+ }\r
+ else \r
+ {\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;\r
+ EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;\r
+\r
+ LRECOVER(); goto ruleESC_SEQEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 2:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:72:9: UNICODE_ESC\r
+ {\r
+ /* 72:9: UNICODE_ESC */\r
+ mUNICODE_ESC(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleESC_SEQEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 3:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:73:9: OCTAL_ESC\r
+ {\r
+ /* 73:9: OCTAL_ESC */\r
+ mOCTAL_ESC(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleESC_SEQEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleESC_SEQEx; /* Prevent compiler warnings */\r
+ ruleESC_SEQEx: ;\r
+\r
+}\r
+// $ANTLR end ESC_SEQ\r
+\r
+// Comes from: 78:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start OCTAL_ESC\r
+ *\r
+ * Looks to match the characters the constitute the token OCTAL_ESC\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mOCTAL_ESC(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ \r
+ {\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )\r
+ \r
+ ANTLR3_UINT32 alt21;\r
+\r
+ alt21=3;\r
+\r
+ switch ( LA(1) ) \r
+ {\r
+ case '\\':\r
+ {\r
+ switch ( LA(2) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ {\r
+ switch ( LA(3) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ {\r
+ switch ( LA(4) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ {\r
+ alt21=1;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ alt21=2;}\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ alt21=3;}\r
+\r
+ }\r
+ break;\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ {\r
+ switch ( LA(3) ) \r
+ {\r
+ case '0':\r
+ case '1':\r
+ case '2':\r
+ case '3':\r
+ case '4':\r
+ case '5':\r
+ case '6':\r
+ case '7':\r
+ {\r
+ alt21=2;\r
+ }\r
+ break;\r
+\r
+ default:\r
+ alt21=3;}\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
+ EXCEPTION->message = (void *)"";\r
+ EXCEPTION->decisionNum = 21;\r
+ EXCEPTION->state = 1;\r
+\r
+\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+ }\r
+ break;\r
+\r
+ default:\r
+ CONSTRUCTEX();\r
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;\r
+ EXCEPTION->message = (void *)"";\r
+ EXCEPTION->decisionNum = 21;\r
+ EXCEPTION->state = 0;\r
+\r
+\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+ switch (alt21) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )\r
+ {\r
+ MATCHC('\\'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:14: ( '0' .. '3' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:15: '0' .. '3'\r
+ {\r
+ MATCHRANGE('0', '3'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:25: ( '0' .. '7' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:26: '0' .. '7'\r
+ {\r
+ MATCHRANGE('0', '7'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:36: ( '0' .. '7' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:37: '0' .. '7'\r
+ {\r
+ MATCHRANGE('0', '7'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 2:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )\r
+ {\r
+ MATCHC('\\'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:14: ( '0' .. '7' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:15: '0' .. '7'\r
+ {\r
+ MATCHRANGE('0', '7'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+\r
+ }\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:25: ( '0' .. '7' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:26: '0' .. '7'\r
+ {\r
+ MATCHRANGE('0', '7'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 3:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:80:9: '\\\\' ( '0' .. '7' )\r
+ {\r
+ MATCHC('\\'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:80:14: ( '0' .. '7' )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:80:15: '0' .. '7'\r
+ {\r
+ MATCHRANGE('0', '7'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleOCTAL_ESCEx;\r
+ }\r
+\r
+\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleOCTAL_ESCEx; /* Prevent compiler warnings */\r
+ ruleOCTAL_ESCEx: ;\r
+\r
+}\r
+// $ANTLR end OCTAL_ESC\r
+\r
+// Comes from: 85:5: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )\r
+/** \brief Lexer rule generated by ANTLR3\r
+ *\r
+ * $ANTLR start UNICODE_ESC\r
+ *\r
+ * Looks to match the characters the constitute the token UNICODE_ESC\r
+ * from the attached input stream.\r
+ *\r
+ *\r
+ * \remark\r
+ * - lexer->error == ANTLR3_TRUE if an exception was thrown.\r
+ */\r
+static ANTLR3_INLINE\r
+void mUNICODE_ESC(pSimanticsDataLexer ctx)\r
+{\r
+ ANTLR3_UINT32 _type;\r
+\r
+ \r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:85:5: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT\r
+ {\r
+ MATCHC('\\'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleUNICODE_ESCEx;\r
+ }\r
+\r
+ MATCHC('u'); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleUNICODE_ESCEx;\r
+ }\r
+\r
+ /* 85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT */\r
+ mHEX_DIGIT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleUNICODE_ESCEx;\r
+ }\r
+\r
+ /* 85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT */\r
+ mHEX_DIGIT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleUNICODE_ESCEx;\r
+ }\r
+\r
+ /* 85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT */\r
+ mHEX_DIGIT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleUNICODE_ESCEx;\r
+ }\r
+\r
+ /* 85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT */\r
+ mHEX_DIGIT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleUNICODE_ESCEx;\r
+ }\r
+\r
+\r
+ }\r
+\r
+\r
+\r
+ // This is where rules clean up and exit\r
+ //\r
+ goto ruleUNICODE_ESCEx; /* Prevent compiler warnings */\r
+ ruleUNICODE_ESCEx: ;\r
+\r
+}\r
+// $ANTLR end UNICODE_ESC\r
+\r
+/** This is the entry point in to the lexer from an object that\r
+ * wants to generate the next token, such as a pCOMMON_TOKEN_STREAM\r
+ */\r
+static void \r
+mTokens(pSimanticsDataLexer ctx)\r
+{\r
+ {\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:8: ( T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | ID | INT | FLOAT | COMMENT | WS | STRING )\r
+ \r
+ ANTLR3_UINT32 alt22;\r
+\r
+ alt22=22;\r
+\r
+ alt22 = cdfa22.predict(ctx, RECOGNIZER, ISTREAM, &cdfa22);\r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+ switch (alt22) \r
+ {\r
+ case 1:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:10: T__34\r
+ {\r
+ /* 1:10: T__34 */\r
+ mT__34(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 2:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:16: T__35\r
+ {\r
+ /* 1:16: T__35 */\r
+ mT__35(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 3:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:22: T__36\r
+ {\r
+ /* 1:22: T__36 */\r
+ mT__36(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 4:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:28: T__37\r
+ {\r
+ /* 1:28: T__37 */\r
+ mT__37(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 5:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:34: T__38\r
+ {\r
+ /* 1:34: T__38 */\r
+ mT__38(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 6:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:40: T__39\r
+ {\r
+ /* 1:40: T__39 */\r
+ mT__39(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 7:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:46: T__40\r
+ {\r
+ /* 1:46: T__40 */\r
+ mT__40(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 8:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:52: T__41\r
+ {\r
+ /* 1:52: T__41 */\r
+ mT__41(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 9:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:58: T__42\r
+ {\r
+ /* 1:58: T__42 */\r
+ mT__42(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 10:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:64: T__43\r
+ {\r
+ /* 1:64: T__43 */\r
+ mT__43(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 11:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:70: T__44\r
+ {\r
+ /* 1:70: T__44 */\r
+ mT__44(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 12:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:76: T__45\r
+ {\r
+ /* 1:76: T__45 */\r
+ mT__45(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 13:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:82: T__46\r
+ {\r
+ /* 1:82: T__46 */\r
+ mT__46(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 14:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:88: T__47\r
+ {\r
+ /* 1:88: T__47 */\r
+ mT__47(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 15:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:94: T__48\r
+ {\r
+ /* 1:94: T__48 */\r
+ mT__48(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 16:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:100: T__49\r
+ {\r
+ /* 1:100: T__49 */\r
+ mT__49(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 17:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:106: ID\r
+ {\r
+ /* 1:106: ID */\r
+ mID(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 18:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:109: INT\r
+ {\r
+ /* 1:109: INT */\r
+ mINT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 19:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:113: FLOAT\r
+ {\r
+ /* 1:113: FLOAT */\r
+ mFLOAT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 20:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:119: COMMENT\r
+ {\r
+ /* 1:119: COMMENT */\r
+ mCOMMENT(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 21:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:127: WS\r
+ {\r
+ /* 1:127: WS */\r
+ mWS(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+ case 22:\r
+ // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:130: STRING\r
+ {\r
+ /* 1:130: STRING */\r
+ mSTRING(ctx ); \r
+ if (HASEXCEPTION())\r
+ {\r
+ goto ruleTokensEx;\r
+ }\r
+\r
+\r
+ }\r
+ break;\r
+\r
+ }\r
+ }\r
+\r
+ \r
+ goto ruleTokensEx; /* Prevent compiler warnings */\r
+ruleTokensEx: ;\r
+}\r
+\r
+/* =========================================================================\r
+ * Lexer matching rules end.\r
+ * =========================================================================\r
+ */\r
+/* End of Lexer code\r
+ * ================================================\r
+ * ================================================\r
+ */ \r
+\r
+\r
+/* End of code\r
+ * =============================================================================\r
+ */\r