2 * This C source file was generated by $ANTLR version 3.2 Sep 23, 2009 12:02:23
4 * - From the grammar source file : C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g
5 * - On : 2010-03-26 13:33:28
6 * - for the lexer : SimanticsDataLexerLexer *
7 * Editing it, at least manually, is not wise.
9 * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
13 // [The "BSD licence"]
14 // Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
15 // http://www.temporal-wave.com
16 // http://www.linkedin.com/in/jimidle
18 // All rights reserved.
20 // Redistribution and use in source and binary forms, with or without
21 // modification, are permitted provided that the following conditions
23 // 1. Redistributions of source code must retain the above copyright
24 // notice, this list of conditions and the following disclaimer.
25 // 2. Redistributions in binary form must reproduce the above copyright
26 // notice, this list of conditions and the following disclaimer in the
27 // documentation and/or other materials provided with the distribution.
28 // 3. The name of the author may not be used to endorse or promote products
29 // derived from this software without specific prior written permission.
31 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
32 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
33 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
34 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
35 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
36 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
37 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
38 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
39 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
40 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 /* -----------------------------------------
43 * Include the ANTLR3 generated header file.
45 #include "SimanticsDataLexer.h"
46 /* ----------------------------------------- */
49 /** String literals used by SimanticsDataLexer that we must do things like MATCHS() with.
50 * C will normally just lay down 8 bit characters, and you can use L"xxx" to
51 * get wchar_t, but wchar_t is 16 bits on Windows, which is not UTF32 and so
52 * we perform this little trick of defining the literals as arrays of UINT32
53 * and passing in the address of these.
55 static ANTLR3_UCHAR lit_1[] = { 0x74, 0x79, 0x70, 0x65, ANTLR3_STRING_TERMINATOR};
56 static ANTLR3_UCHAR lit_2[] = { 0x2E, 0x2E, ANTLR3_STRING_TERMINATOR};
57 static ANTLR3_UCHAR lit_3[] = { 0x74, 0x72, 0x75, 0x65, ANTLR3_STRING_TERMINATOR};
58 static ANTLR3_UCHAR lit_4[] = { 0x66, 0x61, 0x6C, 0x73, 0x65, ANTLR3_STRING_TERMINATOR};
59 static ANTLR3_UCHAR lit_5[] = { 0x6E, 0x75, 0x6C, 0x6C, ANTLR3_STRING_TERMINATOR};
60 static ANTLR3_UCHAR lit_6[] = { 0x6D, 0x61, 0x70, ANTLR3_STRING_TERMINATOR};
61 static ANTLR3_UCHAR lit_7[] = { 0x2F, 0x2F, ANTLR3_STRING_TERMINATOR};
62 static ANTLR3_UCHAR lit_8[] = { 0x2F, 0x2A, ANTLR3_STRING_TERMINATOR};
63 static ANTLR3_UCHAR lit_9[] = { 0x2A, 0x2F, ANTLR3_STRING_TERMINATOR};
64 static ANTLR3_UCHAR lit_10[] = { 0x22, 0x22, 0x22, ANTLR3_STRING_TERMINATOR};
65 static ANTLR3_UCHAR lit_11[] = { 0x22, 0x22, ANTLR3_STRING_TERMINATOR};
70 /* MACROS that hide the C interface implementations from the
71 * generated code, which makes it a little more understandable to the human eye.
72 * I am very much against using C pre-processor macros for function calls and bits
73 * of code as you cannot see what is happening when single stepping in debuggers
74 * and so on. The exception (in my book at least) is for generated code, where you are
75 * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()
76 * hides some indirect calls, but is always referring to the input stream. This is
77 * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig
78 * the runtime interfaces without changing the generated code too often, without
79 * confusing the reader of the generated output, who may not wish to know the gory
80 * details of the interface inheritance.
85 /* Aids in accessing scopes for grammar programmers
90 #define SCOPE_TYPE(scope) pSimanticsDataLexer_##scope##_SCOPE
91 #define SCOPE_STACK(scope) pSimanticsDataLexer_##scope##Stack
92 #define SCOPE_TOP(scope) ctx->pSimanticsDataLexer_##scope##Top
93 #define SCOPE_SIZE(scope) ctx->pSimanticsDataLexer_##scope##Stack_limit
94 #define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))
97 /* Macros for accessing things in a lexer
104 #undef GETCHARPOSITIONINLINE
127 #undef HAVEPARSEDRULE
136 #define LEXER ctx->pLexer
137 #define RECOGNIZER LEXER->rec
138 #define LEXSTATE RECOGNIZER->state
139 #define TOKSOURCE LEXSTATE->tokSource
140 #define GETCHARINDEX() LEXER->getCharIndex(LEXER)
141 #define GETLINE() LEXER->getLine(LEXER)
142 #define GETTEXT() LEXER->getText(LEXER)
143 #define GETCHARPOSITIONINLINE() LEXER->getCharPositionInLine(LEXER)
144 #define EMIT() LEXSTATE->type = _type; LEXER->emit(LEXER)
145 #define EMITNEW(t) LEXER->emitNew(LEXER, t)
146 #define MATCHC(c) LEXER->matchc(LEXER, c)
147 #define MATCHS(s) LEXER->matchs(LEXER, s)
148 #define MATCHRANGE(c1,c2) LEXER->matchRange(LEXER, c1, c2)
149 #define MATCHANY() LEXER->matchAny(LEXER)
150 #define LTOKEN LEXSTATE->token
151 #define HASFAILED() (LEXSTATE->failed == ANTLR3_TRUE)
152 #define BACKTRACKING LEXSTATE->backtracking
153 #define FAILEDFLAG LEXSTATE->failed
154 #define INPUT LEXER->input
155 #define STRSTREAM INPUT
156 #define ISTREAM INPUT->istream
157 #define INDEX() ISTREAM->index(ISTREAM)
158 #define SEEK(n) ISTREAM->seek(ISTREAM, n)
159 #define EOF_TOKEN &(LEXSTATE->tokSource->eofToken)
160 #define HASEXCEPTION() (LEXSTATE->error == ANTLR3_TRUE)
161 #define EXCEPTION LEXSTATE->exception
162 #define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)
163 #define LRECOVER() LEXER->recover(LEXER)
164 #define MARK() ISTREAM->mark(ISTREAM)
165 #define REWIND(m) ISTREAM->rewind(ISTREAM, m)
166 #define REWINDLAST() ISTREAM->rewindLast(ISTREAM)
167 #define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)
168 #define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)
169 #define PUSHSTREAM(str) LEXER->pushCharStream(LEXER, str)
170 #define POPSTREAM() LEXER->popCharStream(LEXER)
171 #define SETTEXT(str) LEXSTATE->text = str
172 #define SKIP() LEXSTATE->token = &(TOKSOURCE->skipToken)
173 #define USER1 LEXSTATE->user1
174 #define USER2 LEXSTATE->user2
175 #define USER3 LEXSTATE->user3
176 #define CUSTOM LEXSTATE->custom
177 #define RULEMEMO LEXSTATE->ruleMemo
178 #define DBG RECOGNIZER->debugger
180 /* If we have been told we can rely on the standard 8 bit or 16 bit input
181 * stream, then we can define our macros to use the direct pointers
182 * in the input object, which is much faster than indirect calls. This
183 * is really only significant to lexers with a lot of fragment rules (which
184 * do not place LA(1) in a temporary at the moment) and even then
185 * only if there is a lot of input (order of say 1M or so).
187 #if defined(ANTLR3_INLINE_INPUT_ASCII) || defined(ANTLR3_INLINE_INPUT_UTF16)
189 # ifdef ANTLR3_INLINE_INPUT_ASCII
191 /* 8 bit "ASCII" (actually any 8 bit character set) */
193 # define NEXTCHAR ((pANTLR3_UINT8)(INPUT->nextChar))
194 # define DATAP ((pANTLR3_UINT8)(INPUT->data))
198 # define NEXTCHAR ((pANTLR3_UINT16)(INPUT->nextChar))
199 # define DATAP ((pANTLR3_UINT16)(INPUT->data))
203 # define LA(n) ((NEXTCHAR + n) > (DATAP + INPUT->sizeBuf) ? ANTLR3_CHARSTREAM_EOF : (ANTLR3_UCHAR)(*(NEXTCHAR + n - 1)))
206 if (NEXTCHAR < (DATAP + INPUT->sizeBuf)) \
208 INPUT->charPositionInLine++; \
209 if ((ANTLR3_UCHAR)(*NEXTCHAR) == INPUT->newlineChar) \
212 INPUT->charPositionInLine = 0; \
213 INPUT->currentLine = (void *)(NEXTCHAR + 1); \
215 INPUT->nextChar = (void *)(NEXTCHAR + 1); \
221 // Pick up the input character by calling the input stream implementation.
223 #define CONSUME() INPUT->istream->consume(INPUT->istream)
224 #define LA(n) INPUT->istream->_LA(INPUT->istream, n)
227 #define TOKTEXT(tok, txt) tok, (pANTLR3_UINT8)txt
229 /* The 4 tokens defined below may well clash with your own #defines or token types. If so
230 * then for the present you must use different names for your defines as these are hard coded
231 * in the code generator. It would be better not to use such names internally, and maybe
232 * we can change this in a forthcoming release. I deliberately do not #undef these
233 * here as this will at least give you a redefined error somewhere if they clash.
235 #define UP ANTLR3_TOKEN_UP
236 #define DOWN ANTLR3_TOKEN_DOWN
237 #define EOR ANTLR3_TOKEN_EOR
238 #define INVALID ANTLR3_TOKEN_INVALID
241 /* =============================================================================
242 * Functions to create and destroy scopes. First come the rule scopes, followed
243 * by the global declared scopes.
248 /* ============================================================================= */
250 /* =============================================================================
251 * Start of recognizer
255 /* Forward declare the locally static matching functions we have generated and any predicate functions.
257 static ANTLR3_INLINE void mT__34 (pSimanticsDataLexer ctx);
258 static ANTLR3_INLINE void mT__35 (pSimanticsDataLexer ctx);
259 static ANTLR3_INLINE void mT__36 (pSimanticsDataLexer ctx);
260 static ANTLR3_INLINE void mT__37 (pSimanticsDataLexer ctx);
261 static ANTLR3_INLINE void mT__38 (pSimanticsDataLexer ctx);
262 static ANTLR3_INLINE void mT__39 (pSimanticsDataLexer ctx);
263 static ANTLR3_INLINE void mT__40 (pSimanticsDataLexer ctx);
264 static ANTLR3_INLINE void mT__41 (pSimanticsDataLexer ctx);
265 static ANTLR3_INLINE void mT__42 (pSimanticsDataLexer ctx);
266 static ANTLR3_INLINE void mT__43 (pSimanticsDataLexer ctx);
267 static ANTLR3_INLINE void mT__44 (pSimanticsDataLexer ctx);
268 static ANTLR3_INLINE void mT__45 (pSimanticsDataLexer ctx);
269 static ANTLR3_INLINE void mT__46 (pSimanticsDataLexer ctx);
270 static ANTLR3_INLINE void mT__47 (pSimanticsDataLexer ctx);
271 static ANTLR3_INLINE void mT__48 (pSimanticsDataLexer ctx);
272 static ANTLR3_INLINE void mT__49 (pSimanticsDataLexer ctx);
273 static ANTLR3_INLINE void mID (pSimanticsDataLexer ctx);
274 static ANTLR3_INLINE void mINT (pSimanticsDataLexer ctx);
275 static ANTLR3_INLINE void mFLOAT (pSimanticsDataLexer ctx);
276 static ANTLR3_INLINE void mCOMMENT (pSimanticsDataLexer ctx);
277 static ANTLR3_INLINE void mWS (pSimanticsDataLexer ctx);
278 static ANTLR3_INLINE void mSTRING (pSimanticsDataLexer ctx);
279 static ANTLR3_INLINE void mEXPONENT (pSimanticsDataLexer ctx);
280 static ANTLR3_INLINE void mHEX_DIGIT (pSimanticsDataLexer ctx);
281 static ANTLR3_INLINE void mESC_SEQ (pSimanticsDataLexer ctx);
282 static ANTLR3_INLINE void mOCTAL_ESC (pSimanticsDataLexer ctx);
283 static ANTLR3_INLINE void mUNICODE_ESC (pSimanticsDataLexer ctx);
284 static ANTLR3_INLINE void mTokens (pSimanticsDataLexer ctx);
285 static void SimanticsDataLexerFree(pSimanticsDataLexer ctx);
287 /* =========================================================================
288 * Lexer matching rules end.
289 * =========================================================================
295 SimanticsDataLexerFree (pSimanticsDataLexer ctx)
302 /** \brief Name of the grammar file that generated this code
304 static const char fileName[] = "C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g";
306 /** \brief Return the name of the grammar file that generated this code.
308 static const char * getGrammarFileName()
313 /** \brief Create a new lexer called SimanticsDataLexer
315 * \param[in] instream Pointer to an initialized input stream
317 * - Success pSimanticsDataLexer initialized for the lex start
320 ANTLR3_API pSimanticsDataLexer SimanticsDataLexerNew
321 (pANTLR3_INPUT_STREAM instream)
323 // See if we can create a new lexer with the standard constructor
325 return SimanticsDataLexerNewSSD(instream, NULL);
328 /** \brief Create a new lexer called SimanticsDataLexer
330 * \param[in] instream Pointer to an initialized input stream
331 * \param[state] state Previously created shared recognizer stat
333 * - Success pSimanticsDataLexer initialized for the lex start
336 ANTLR3_API pSimanticsDataLexer SimanticsDataLexerNewSSD
337 (pANTLR3_INPUT_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
339 pSimanticsDataLexer ctx; // Context structure we will build and return
341 ctx = (pSimanticsDataLexer) ANTLR3_CALLOC(1, sizeof(SimanticsDataLexer));
345 // Failed to allocate memory for lexer context
349 /* -------------------------------------------------------------------
350 * Memory for basic structure is allocated, now to fill in
351 * in base ANTLR3 structures. We initialize the function pointers
352 * for the standard ANTLR3 lexer function set, but upon return
353 * from here, the programmer may set the pointers to provide custom
354 * implementations of each function.
356 * We don't use the macros defined in SimanticsDataLexer.h here so you can get a sense
357 * of what goes where.
360 /* Create a base lexer, using the supplied input stream
362 ctx->pLexer = antlr3LexerNewStream(ANTLR3_SIZE_HINT, instream, state);
364 /* Check that we allocated the memory correctly
366 if (ctx->pLexer == NULL)
371 /* Install the implementation of our SimanticsDataLexer interface
373 ctx->mT__34 = mT__34;
374 ctx->mT__35 = mT__35;
375 ctx->mT__36 = mT__36;
376 ctx->mT__37 = mT__37;
377 ctx->mT__38 = mT__38;
378 ctx->mT__39 = mT__39;
379 ctx->mT__40 = mT__40;
380 ctx->mT__41 = mT__41;
381 ctx->mT__42 = mT__42;
382 ctx->mT__43 = mT__43;
383 ctx->mT__44 = mT__44;
384 ctx->mT__45 = mT__45;
385 ctx->mT__46 = mT__46;
386 ctx->mT__47 = mT__47;
387 ctx->mT__48 = mT__48;
388 ctx->mT__49 = mT__49;
391 ctx->mFLOAT = mFLOAT;
392 ctx->mCOMMENT = mCOMMENT;
394 ctx->mSTRING = mSTRING;
395 ctx->mEXPONENT = mEXPONENT;
396 ctx->mHEX_DIGIT = mHEX_DIGIT;
397 ctx->mESC_SEQ = mESC_SEQ;
398 ctx->mOCTAL_ESC = mOCTAL_ESC;
399 ctx->mUNICODE_ESC = mUNICODE_ESC;
400 ctx->mTokens = mTokens;
402 /** When the nextToken() call is made to this lexer's pANTLR3_TOKEN_SOURCE
403 * it will call mTokens() in this generated code, and will pass it the ctx
404 * pointer of this lexer, not the context of the base lexer, so store that now.
406 ctx->pLexer->ctx = ctx;
408 /**Install the token matching function
410 ctx->pLexer->mTokens = (void (*) (void *))(mTokens);
412 ctx->getGrammarFileName = getGrammarFileName;
413 ctx->free = SimanticsDataLexerFree;
419 /* Return the newly built lexer to the caller
424 /* =========================================================================
425 * DFA tables for the lexer
427 /** Static dfa state tables for Cyclic dfa:
428 * 40:1: FLOAT : ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '-' )? ( '0' .. '9' )+ EXPONENT );
430 static const ANTLR3_INT32 dfa10_eot[5] =
434 static const ANTLR3_INT32 dfa10_eof[5] =
438 static const ANTLR3_INT32 dfa10_min[5] =
442 static const ANTLR3_INT32 dfa10_max[5] =
446 static const ANTLR3_INT32 dfa10_accept[5] =
450 static const ANTLR3_INT32 dfa10_special[5] =
455 /** Used when there is no transition table entry for a particular state */
456 #define dfa10_T_empty NULL
458 static const ANTLR3_INT32 dfa10_T0[] =
460 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
461 };static const ANTLR3_INT32 dfa10_T1[] =
463 1, -1, -1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
464 };static const ANTLR3_INT32 dfa10_T2[] =
466 4, -1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1,
467 -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3
471 /* Transition tables are a table of sub tables, with some tables
472 * reused for efficiency.
474 static const ANTLR3_INT32 * const dfa10_transitions[] =
476 dfa10_T1, dfa10_T0, dfa10_T2, dfa10_T_empty, dfa10_T_empty
480 /* Declare tracking structure for Cyclic DFA 10
483 ANTLR3_CYCLIC_DFA cdfa10
485 10, /* Decision number of this dfa */
486 /* Which decision this represents: */
487 (const pANTLR3_UCHAR)"40:1: FLOAT : ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '-' )? ( '0' .. '9' )+ EXPONENT );",
488 (CDFA_SPECIAL_FUNC) antlr3dfaspecialStateTransition, /* Default special state transition function */
489 antlr3dfaspecialTransition, /* DFA specialTransition is currently just a default function in the runtime */
490 antlr3dfapredict, /* DFA simulator function is in the runtime */
491 dfa10_eot, /* EOT table */
492 dfa10_eof, /* EOF table */
493 dfa10_min, /* Minimum tokens for each state */
494 dfa10_max, /* Maximum tokens for each state */
495 dfa10_accept, /* Accept table */
496 dfa10_special, /* Special transition states */
497 dfa10_transitions /* Table of transition tables */
500 /* End of Cyclic DFA 10
501 * ---------------------
502 *//** Static dfa state tables for Cyclic dfa:
503 * 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 );
505 static const ANTLR3_INT32 dfa22_eot[44] =
507 -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 16, 16, -1, -1,
508 28, -1, -1, -1, 16, 16, 16, 16, 16, -1, -1, 16, 16, 16, 16, 38, 39, 40,
509 16, 42, -1, -1, -1, 43, -1, -1
511 static const ANTLR3_INT32 dfa22_eof[44] =
513 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
514 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
515 -1, -1, -1, -1, -1, -1, -1, -1
517 static const ANTLR3_INT32 dfa22_min[44] =
519 9, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 97, 117, 97, -1, 48,
520 46, -1, -1, -1, 112, 117, 108, 108, 112, -1, -1, 101, 101, 115, 108, 48,
521 48, 48, 101, 48, -1, -1, -1, 48, -1, -1
523 static const ANTLR3_INT32 dfa22_max[44] =
525 125, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 97, 117, 97, -1,
526 57, 101, -1, -1, -1, 112, 117, 108, 108, 112, -1, -1, 101, 101, 115, 108,
527 122, 122, 122, 101, 122, -1, -1, -1, 122, -1, -1
529 static const ANTLR3_INT32 dfa22_accept[44] =
531 -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, 17, -1, -1, 20,
532 21, 22, -1, -1, -1, -1, -1, 19, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
533 16, 1, 13, -1, 15, 14
535 static const ANTLR3_INT32 dfa22_special[44] =
537 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
538 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
539 -1, -1, -1, -1, -1, -1, -1, -1
542 /** Used when there is no transition table entry for a particular state */
543 #define dfa22_T_empty NULL
545 static const ANTLR3_INT32 dfa22_T0[] =
547 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, -1, -1, -1, -1, -1, -1, -1, 16,
548 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
549 16, 16, 16, 16, 16, 16, 16, -1, -1, -1, -1, 16, -1, 16, 16, 16, 16, 16,
550 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
552 };static const ANTLR3_INT32 dfa22_T1[] =
555 };static const ANTLR3_INT32 dfa22_T2[] =
558 };static const ANTLR3_INT32 dfa22_T3[] =
561 };static const ANTLR3_INT32 dfa22_T4[] =
564 };static const ANTLR3_INT32 dfa22_T5[] =
567 };static const ANTLR3_INT32 dfa22_T6[] =
570 };static const ANTLR3_INT32 dfa22_T7[] =
573 };static const ANTLR3_INT32 dfa22_T8[] =
576 };static const ANTLR3_INT32 dfa22_T9[] =
578 20, 20, -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
579 -1, -1, -1, -1, -1, 20, -1, 21, -1, -1, -1, -1, -1, 7, 9, -1, -1, 8, 17,
580 6, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 12, -1, -1, 2, -1, -1, -1,
581 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
582 16, 16, 16, 16, 16, 16, 16, 16, 4, -1, 5, -1, 16, -1, 16, 16, 16, 16, 16,
583 13, 16, 16, 16, 16, 16, 16, 15, 14, 16, 16, 16, 16, 16, 1, 16, 16, 16,
584 16, 16, 16, 10, 3, 11
585 };static const ANTLR3_INT32 dfa22_T10[] =
588 };static const ANTLR3_INT32 dfa22_T11[] =
591 };static const ANTLR3_INT32 dfa22_T12[] =
594 };static const ANTLR3_INT32 dfa22_T13[] =
597 };static const ANTLR3_INT32 dfa22_T14[] =
600 };static const ANTLR3_INT32 dfa22_T15[] =
602 27, -1, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, -1, -1, -1, -1, -1, -1,
603 -1, -1, -1, -1, -1, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
604 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
606 };static const ANTLR3_INT32 dfa22_T16[] =
608 23, -1, -1, -1, -1, -1, -1, 22
609 };static const ANTLR3_INT32 dfa22_T17[] =
611 18, 18, 18, 18, 18, 18, 18, 18, 18, 18
614 /* Transition tables are a table of sub tables, with some tables
615 * reused for efficiency.
617 static const ANTLR3_INT32 * const dfa22_transitions[] =
619 dfa22_T9, dfa22_T16, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty,
620 dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty,
621 dfa22_T_empty, dfa22_T_empty, dfa22_T10, dfa22_T8, dfa22_T4, dfa22_T_empty,
622 dfa22_T17, dfa22_T15, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T13,
623 dfa22_T6, dfa22_T3, dfa22_T11, dfa22_T7, dfa22_T_empty, dfa22_T_empty,
624 dfa22_T14, dfa22_T5, dfa22_T2, dfa22_T12, dfa22_T0, dfa22_T0, dfa22_T0,
625 dfa22_T1, dfa22_T0, dfa22_T_empty, dfa22_T_empty, dfa22_T_empty, dfa22_T0,
626 dfa22_T_empty, dfa22_T_empty
630 /* Declare tracking structure for Cyclic DFA 22
633 ANTLR3_CYCLIC_DFA cdfa22
635 22, /* Decision number of this dfa */
636 /* Which decision this represents: */
637 (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 );",
638 (CDFA_SPECIAL_FUNC) antlr3dfaspecialStateTransition, /* Default special state transition function */
639 antlr3dfaspecialTransition, /* DFA specialTransition is currently just a default function in the runtime */
640 antlr3dfapredict, /* DFA simulator function is in the runtime */
641 dfa22_eot, /* EOT table */
642 dfa22_eof, /* EOF table */
643 dfa22_min, /* Minimum tokens for each state */
644 dfa22_max, /* Maximum tokens for each state */
645 dfa22_accept, /* Accept table */
646 dfa22_special, /* Special transition states */
647 dfa22_transitions /* Table of transition tables */
650 /* End of Cyclic DFA 22
651 * ---------------------
653 /* =========================================================================
654 * End of DFA tables for the lexer
657 /* =========================================================================
658 * Functions to match the lexer grammar defined tokens from the input stream
661 // Comes from: 7:7: ( 'type' )
662 /** \brief Lexer rule generated by ANTLR3
666 * Looks to match the characters the constitute the token T__34
667 * from the attached input stream.
671 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
674 void mT__34(pSimanticsDataLexer ctx)
681 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:7:7: ( 'type' )
682 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:7:9: 'type'
694 LEXSTATE->type = _type;
696 // This is where rules clean up and exit
698 goto ruleT__34Ex; /* Prevent compiler warnings */
704 // Comes from: 8:7: ( '=' )
705 /** \brief Lexer rule generated by ANTLR3
709 * Looks to match the characters the constitute the token T__35
710 * from the attached input stream.
714 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
717 void mT__35(pSimanticsDataLexer ctx)
724 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:8:7: ( '=' )
725 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:8:9: '='
736 LEXSTATE->type = _type;
738 // This is where rules clean up and exit
740 goto ruleT__35Ex; /* Prevent compiler warnings */
746 // Comes from: 9:7: ( '|' )
747 /** \brief Lexer rule generated by ANTLR3
751 * Looks to match the characters the constitute the token T__36
752 * from the attached input stream.
756 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
759 void mT__36(pSimanticsDataLexer ctx)
766 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:9:7: ( '|' )
767 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:9:9: '|'
778 LEXSTATE->type = _type;
780 // This is where rules clean up and exit
782 goto ruleT__36Ex; /* Prevent compiler warnings */
788 // Comes from: 10:7: ( '[' )
789 /** \brief Lexer rule generated by ANTLR3
793 * Looks to match the characters the constitute the token T__37
794 * from the attached input stream.
798 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
801 void mT__37(pSimanticsDataLexer ctx)
808 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:10:7: ( '[' )
809 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:10:9: '['
820 LEXSTATE->type = _type;
822 // This is where rules clean up and exit
824 goto ruleT__37Ex; /* Prevent compiler warnings */
830 // Comes from: 11:7: ( ']' )
831 /** \brief Lexer rule generated by ANTLR3
835 * Looks to match the characters the constitute the token T__38
836 * from the attached input stream.
840 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
843 void mT__38(pSimanticsDataLexer ctx)
850 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:11:7: ( ']' )
851 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:11:9: ']'
862 LEXSTATE->type = _type;
864 // This is where rules clean up and exit
866 goto ruleT__38Ex; /* Prevent compiler warnings */
872 // Comes from: 12:7: ( '..' )
873 /** \brief Lexer rule generated by ANTLR3
877 * Looks to match the characters the constitute the token T__39
878 * from the attached input stream.
882 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
885 void mT__39(pSimanticsDataLexer ctx)
892 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:12:7: ( '..' )
893 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:12:9: '..'
905 LEXSTATE->type = _type;
907 // This is where rules clean up and exit
909 goto ruleT__39Ex; /* Prevent compiler warnings */
915 // Comes from: 13:7: ( '(' )
916 /** \brief Lexer rule generated by ANTLR3
920 * Looks to match the characters the constitute the token T__40
921 * from the attached input stream.
925 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
928 void mT__40(pSimanticsDataLexer ctx)
935 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:13:7: ( '(' )
936 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:13:9: '('
947 LEXSTATE->type = _type;
949 // This is where rules clean up and exit
951 goto ruleT__40Ex; /* Prevent compiler warnings */
957 // Comes from: 14:7: ( ',' )
958 /** \brief Lexer rule generated by ANTLR3
962 * Looks to match the characters the constitute the token T__41
963 * from the attached input stream.
967 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
970 void mT__41(pSimanticsDataLexer ctx)
977 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:14:7: ( ',' )
978 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:14:9: ','
989 LEXSTATE->type = _type;
991 // This is where rules clean up and exit
993 goto ruleT__41Ex; /* Prevent compiler warnings */
999 // Comes from: 15:7: ( ')' )
1000 /** \brief Lexer rule generated by ANTLR3
1002 * $ANTLR start T__42
1004 * Looks to match the characters the constitute the token T__42
1005 * from the attached input stream.
1009 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1011 static ANTLR3_INLINE
1012 void mT__42(pSimanticsDataLexer ctx)
1014 ANTLR3_UINT32 _type;
1019 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:15:7: ( ')' )
1020 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:15:9: ')'
1031 LEXSTATE->type = _type;
1033 // This is where rules clean up and exit
1035 goto ruleT__42Ex; /* Prevent compiler warnings */
1041 // Comes from: 16:7: ( '{' )
1042 /** \brief Lexer rule generated by ANTLR3
1044 * $ANTLR start T__43
1046 * Looks to match the characters the constitute the token T__43
1047 * from the attached input stream.
1051 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1053 static ANTLR3_INLINE
1054 void mT__43(pSimanticsDataLexer ctx)
1056 ANTLR3_UINT32 _type;
1061 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:16:7: ( '{' )
1062 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:16:9: '{'
1073 LEXSTATE->type = _type;
1075 // This is where rules clean up and exit
1077 goto ruleT__43Ex; /* Prevent compiler warnings */
1083 // Comes from: 17:7: ( '}' )
1084 /** \brief Lexer rule generated by ANTLR3
1086 * $ANTLR start T__44
1088 * Looks to match the characters the constitute the token T__44
1089 * from the attached input stream.
1093 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1095 static ANTLR3_INLINE
1096 void mT__44(pSimanticsDataLexer ctx)
1098 ANTLR3_UINT32 _type;
1103 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:17:7: ( '}' )
1104 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:17:9: '}'
1115 LEXSTATE->type = _type;
1117 // This is where rules clean up and exit
1119 goto ruleT__44Ex; /* Prevent compiler warnings */
1125 // Comes from: 18:7: ( ':' )
1126 /** \brief Lexer rule generated by ANTLR3
1128 * $ANTLR start T__45
1130 * Looks to match the characters the constitute the token T__45
1131 * from the attached input stream.
1135 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1137 static ANTLR3_INLINE
1138 void mT__45(pSimanticsDataLexer ctx)
1140 ANTLR3_UINT32 _type;
1145 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:18:7: ( ':' )
1146 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:18:9: ':'
1157 LEXSTATE->type = _type;
1159 // This is where rules clean up and exit
1161 goto ruleT__45Ex; /* Prevent compiler warnings */
1167 // Comes from: 19:7: ( 'true' )
1168 /** \brief Lexer rule generated by ANTLR3
1170 * $ANTLR start T__46
1172 * Looks to match the characters the constitute the token T__46
1173 * from the attached input stream.
1177 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1179 static ANTLR3_INLINE
1180 void mT__46(pSimanticsDataLexer ctx)
1182 ANTLR3_UINT32 _type;
1187 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:19:7: ( 'true' )
1188 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:19:9: 'true'
1200 LEXSTATE->type = _type;
1202 // This is where rules clean up and exit
1204 goto ruleT__46Ex; /* Prevent compiler warnings */
1210 // Comes from: 20:7: ( 'false' )
1211 /** \brief Lexer rule generated by ANTLR3
1213 * $ANTLR start T__47
1215 * Looks to match the characters the constitute the token T__47
1216 * from the attached input stream.
1220 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1222 static ANTLR3_INLINE
1223 void mT__47(pSimanticsDataLexer ctx)
1225 ANTLR3_UINT32 _type;
1230 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:20:7: ( 'false' )
1231 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:20:9: 'false'
1243 LEXSTATE->type = _type;
1245 // This is where rules clean up and exit
1247 goto ruleT__47Ex; /* Prevent compiler warnings */
1253 // Comes from: 21:7: ( 'null' )
1254 /** \brief Lexer rule generated by ANTLR3
1256 * $ANTLR start T__48
1258 * Looks to match the characters the constitute the token T__48
1259 * from the attached input stream.
1263 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1265 static ANTLR3_INLINE
1266 void mT__48(pSimanticsDataLexer ctx)
1268 ANTLR3_UINT32 _type;
1273 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:21:7: ( 'null' )
1274 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:21:9: 'null'
1286 LEXSTATE->type = _type;
1288 // This is where rules clean up and exit
1290 goto ruleT__48Ex; /* Prevent compiler warnings */
1296 // Comes from: 22:7: ( 'map' )
1297 /** \brief Lexer rule generated by ANTLR3
1299 * $ANTLR start T__49
1301 * Looks to match the characters the constitute the token T__49
1302 * from the attached input stream.
1306 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1308 static ANTLR3_INLINE
1309 void mT__49(pSimanticsDataLexer ctx)
1311 ANTLR3_UINT32 _type;
1316 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:22:7: ( 'map' )
1317 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:22:9: 'map'
1329 LEXSTATE->type = _type;
1331 // This is where rules clean up and exit
1333 goto ruleT__49Ex; /* Prevent compiler warnings */
1339 // Comes from: 34:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )
1340 /** \brief Lexer rule generated by ANTLR3
1344 * Looks to match the characters the constitute the token ID
1345 * from the attached input stream.
1349 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1351 static ANTLR3_INLINE
1352 void mID(pSimanticsDataLexer ctx)
1354 ANTLR3_UINT32 _type;
1359 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:34:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )
1360 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:34:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
1362 if ( ((LA(1) >= 'A') && (LA(1) <= 'Z')) || LA(1) == '_' || ((LA(1) >= 'a') && (LA(1) <= 'z')) )
1370 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
1371 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
1373 LRECOVER(); goto ruleIDEx;
1377 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:34:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
1457 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:
1459 if ( ((LA(1) >= '0') && (LA(1) <= '9')) || ((LA(1) >= 'A') && (LA(1) <= 'Z')) || LA(1) == '_' || ((LA(1) >= 'a') && (LA(1) <= 'z')) )
1467 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
1468 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
1470 LRECOVER(); goto ruleIDEx;
1478 goto loop1; /* break out of the loop */
1482 loop1: ; /* Jump out to here if this rule does not match */
1487 LEXSTATE->type = _type;
1489 // This is where rules clean up and exit
1491 goto ruleIDEx; /* Prevent compiler warnings */
1497 // Comes from: 37:5: ( ( '-' )? ( '0' .. '9' )+ )
1498 /** \brief Lexer rule generated by ANTLR3
1502 * Looks to match the characters the constitute the token INT
1503 * from the attached input stream.
1507 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1509 static ANTLR3_INLINE
1510 void mINT(pSimanticsDataLexer ctx)
1512 ANTLR3_UINT32 _type;
1517 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:5: ( ( '-' )? ( '0' .. '9' )+ )
1518 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:7: ( '-' )? ( '0' .. '9' )+
1521 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:7: ( '-' )?
1536 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:7: '-'
1550 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:12: ( '0' .. '9' )+
1579 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:37:12: '0' .. '9'
1581 MATCHRANGE('0', '9');
1597 /* mismatchedSetEx()
1600 EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
1601 EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
1608 loop3: ; /* Jump to here if this rule does not match */
1613 LEXSTATE->type = _type;
1615 // This is where rules clean up and exit
1617 goto ruleINTEx; /* Prevent compiler warnings */
1623 // Comes from: 41:5: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '-' )? ( '0' .. '9' )+ EXPONENT )
1624 /** \brief Lexer rule generated by ANTLR3
1626 * $ANTLR start FLOAT
1628 * Looks to match the characters the constitute the token FLOAT
1629 * from the attached input stream.
1633 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1635 static ANTLR3_INLINE
1636 void mFLOAT(pSimanticsDataLexer ctx)
1638 ANTLR3_UINT32 _type;
1644 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:5: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '-' )? ( '0' .. '9' )+ EXPONENT )
1646 ANTLR3_UINT32 alt10;
1650 alt10 = cdfa10.predict(ctx, RECOGNIZER, ISTREAM, &cdfa10);
1659 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:9: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( EXPONENT )?
1662 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:9: ( '-' )?
1677 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:9: '-'
1691 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:14: ( '0' .. '9' )+
1720 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:15: '0' .. '9'
1722 MATCHRANGE('0', '9');
1738 /* mismatchedSetEx()
1741 EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
1742 EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
1749 loop5: ; /* Jump to here if this rule does not match */
1757 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:30: ( '0' .. '9' )+
1786 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:31: '0' .. '9'
1788 MATCHRANGE('0', '9');
1804 /* mismatchedSetEx()
1807 EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
1808 EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
1815 loop6: ; /* Jump to here if this rule does not match */
1818 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:42: ( EXPONENT )?
1834 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:41:42: EXPONENT
1836 /* 41:42: EXPONENT */
1853 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:9: ( '-' )? ( '0' .. '9' )+ EXPONENT
1856 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:9: ( '-' )?
1871 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:9: '-'
1885 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:14: ( '0' .. '9' )+
1914 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:43:15: '0' .. '9'
1916 MATCHRANGE('0', '9');
1932 /* mismatchedSetEx()
1935 EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
1936 EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
1943 loop9: ; /* Jump to here if this rule does not match */
1945 /* 43:9: ( '-' )? ( '0' .. '9' )+ EXPONENT */
1958 LEXSTATE->type = _type;
1960 // This is where rules clean up and exit
1962 goto ruleFLOATEx; /* Prevent compiler warnings */
1968 // Comes from: 47:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' | '/*' ( options {greedy=false; } : . )* '*/' )
1969 /** \brief Lexer rule generated by ANTLR3
1971 * $ANTLR start COMMENT
1973 * Looks to match the characters the constitute the token COMMENT
1974 * from the attached input stream.
1978 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
1980 static ANTLR3_INLINE
1981 void mCOMMENT(pSimanticsDataLexer ctx)
1983 ANTLR3_UINT32 _type;
1989 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' | '/*' ( options {greedy=false; } : . )* '*/' )
1991 ANTLR3_UINT32 alt14;
2014 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
2015 EXCEPTION->message = (void *)"";
2016 EXCEPTION->decisionNum = 14;
2017 EXCEPTION->state = 1;
2028 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
2029 EXCEPTION->message = (void *)"";
2030 EXCEPTION->decisionNum = 14;
2031 EXCEPTION->state = 0;
2040 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:9: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
2050 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:14: (~ ( '\\n' | '\\r' ) )*
2056 /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
2059 if ( (((LA11_0 >= 0x0000) && (LA11_0 <= '\t')) || ((LA11_0 >= 0x000B) && (LA11_0 <= '\f')) || ((LA11_0 >= 0x000E) && (LA11_0 <= 0xFFFF))) )
2068 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:14: ~ ( '\\n' | '\\r' )
2070 if ( ((LA(1) >= 0x0000) && (LA(1) <= '\t')) || ((LA(1) >= 0x000B) && (LA(1) <= '\f')) || ((LA(1) >= 0x000E) && (LA(1) <= 0xFFFF)) )
2078 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2079 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2081 LRECOVER(); goto ruleCOMMENTEx;
2089 goto loop11; /* break out of the loop */
2093 loop11: ; /* Jump out to here if this rule does not match */
2096 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:28: ( '\\r' )?
2111 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:47:28: '\\r'
2132 LEXSTATE->channel=HIDDEN;
2138 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:48:9: '/*' ( options {greedy=false; } : . )* '*/'
2148 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:48:14: ( options {greedy=false; } : . )*
2154 /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
2157 if ( (LA13_0 == '*') )
2160 /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
2163 if ( (LA13_1 == '/') )
2167 else if ( (((LA13_1 >= 0x0000) && (LA13_1 <= '.')) || ((LA13_1 >= '0') && (LA13_1 <= 0xFFFF))) )
2174 else if ( (((LA13_0 >= 0x0000) && (LA13_0 <= ')')) || ((LA13_0 >= '+') && (LA13_0 <= 0xFFFF))) )
2183 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:48:42: .
2196 goto loop13; /* break out of the loop */
2200 loop13: ; /* Jump out to here if this rule does not match */
2210 LEXSTATE->channel=HIDDEN;
2218 LEXSTATE->type = _type;
2220 // This is where rules clean up and exit
2222 goto ruleCOMMENTEx; /* Prevent compiler warnings */
2226 // $ANTLR end COMMENT
2228 // Comes from: 51:5: ( ( ' ' | '\\t' | '\\r' | '\\n' ) )
2229 /** \brief Lexer rule generated by ANTLR3
2233 * Looks to match the characters the constitute the token WS
2234 * from the attached input stream.
2238 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
2240 static ANTLR3_INLINE
2241 void mWS(pSimanticsDataLexer ctx)
2243 ANTLR3_UINT32 _type;
2248 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:51:5: ( ( ' ' | '\\t' | '\\r' | '\\n' ) )
2249 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:51:9: ( ' ' | '\\t' | '\\r' | '\\n' )
2251 if ( ((LA(1) >= '\t') && (LA(1) <= '\n')) || LA(1) == '\r' || LA(1) == ' ' )
2259 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2260 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2262 LRECOVER(); goto ruleWSEx;
2266 LEXSTATE->channel=HIDDEN;
2271 LEXSTATE->type = _type;
2273 // This is where rules clean up and exit
2275 goto ruleWSEx; /* Prevent compiler warnings */
2281 // Comes from: 59:5: ( '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"' | '\"\"\"' (~ ( '\"' ) | '\"' ~ ( '\"' ) | '\"\"' ~ ( '\"' ) )* '\"\"\"' )
2282 /** \brief Lexer rule generated by ANTLR3
2284 * $ANTLR start STRING
2286 * Looks to match the characters the constitute the token STRING
2287 * from the attached input stream.
2291 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
2293 static ANTLR3_INLINE
2294 void mSTRING(pSimanticsDataLexer ctx)
2296 ANTLR3_UINT32 _type;
2302 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:5: ( '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"' | '\"\"\"' (~ ( '\"' ) | '\"' ~ ( '\"' ) | '\"\"' ~ ( '\"' ) )* '\"\"\"' )
2304 ANTLR3_UINT32 alt17;
2315 if ( (LA17_1 == '"') )
2329 else if ( (((LA17_1 >= 0x0000) && (LA17_1 <= '!')) || ((LA17_1 >= '#') && (LA17_1 <= 0xFFFF))) )
2337 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
2338 EXCEPTION->message = (void *)"";
2339 EXCEPTION->decisionNum = 17;
2340 EXCEPTION->state = 1;
2351 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
2352 EXCEPTION->message = (void *)"";
2353 EXCEPTION->decisionNum = 17;
2354 EXCEPTION->state = 0;
2363 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:8: '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"'
2372 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:12: ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )*
2378 /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
2381 if ( (LA15_0 == '\\') )
2385 else if ( (((LA15_0 >= 0x0000) && (LA15_0 <= '!')) || ((LA15_0 >= '#') && (LA15_0 <= '[')) || ((LA15_0 >= ']') && (LA15_0 <= 0xFFFF))) )
2394 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:14: ESC_SEQ
2396 /* 59:14: ESC_SEQ */
2407 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:59:24: ~ ( '\\\\' | '\"' )
2409 if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= '[')) || ((LA(1) >= ']') && (LA(1) <= 0xFFFF)) )
2417 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2418 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2420 LRECOVER(); goto ruleSTRINGEx;
2428 goto loop15; /* break out of the loop */
2432 loop15: ; /* Jump out to here if this rule does not match */
2444 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:8: '\"\"\"' (~ ( '\"' ) | '\"' ~ ( '\"' ) | '\"\"' ~ ( '\"' ) )* '\"\"\"'
2454 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:14: (~ ( '\"' ) | '\"' ~ ( '\"' ) | '\"\"' ~ ( '\"' ) )*
2460 /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
2463 if ( (LA16_0 == '"') )
2466 /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
2469 if ( (LA16_1 == '"') )
2472 /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
2475 if ( (((LA16_3 >= 0x0000) && (LA16_3 <= '!')) || ((LA16_3 >= '#') && (LA16_3 <= 0xFFFF))) )
2482 else if ( (((LA16_1 >= 0x0000) && (LA16_1 <= '!')) || ((LA16_1 >= '#') && (LA16_1 <= 0xFFFF))) )
2489 else if ( (((LA16_0 >= 0x0000) && (LA16_0 <= '!')) || ((LA16_0 >= '#') && (LA16_0 <= 0xFFFF))) )
2498 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:16: ~ ( '\"' )
2500 if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= 0xFFFF)) )
2508 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2509 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2511 LRECOVER(); goto ruleSTRINGEx;
2518 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:25: '\"' ~ ( '\"' )
2526 if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= 0xFFFF)) )
2534 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2535 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2537 LRECOVER(); goto ruleSTRINGEx;
2544 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:60:38: '\"\"' ~ ( '\"' )
2553 if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= 0xFFFF)) )
2561 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2562 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2564 LRECOVER(); goto ruleSTRINGEx;
2572 goto loop16; /* break out of the loop */
2576 loop16: ; /* Jump out to here if this rule does not match */
2591 LEXSTATE->type = _type;
2593 // This is where rules clean up and exit
2595 goto ruleSTRINGEx; /* Prevent compiler warnings */
2599 // $ANTLR end STRING
2601 // Comes from: 64:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
2602 /** \brief Lexer rule generated by ANTLR3
2604 * $ANTLR start EXPONENT
2606 * Looks to match the characters the constitute the token EXPONENT
2607 * from the attached input stream.
2611 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
2613 static ANTLR3_INLINE
2614 void mEXPONENT(pSimanticsDataLexer ctx)
2616 ANTLR3_UINT32 _type;
2619 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
2620 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
2622 if ( LA(1) == 'E' || LA(1) == 'e' )
2630 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2631 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2633 LRECOVER(); goto ruleEXPONENTEx;
2637 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:22: ( '+' | '-' )?
2653 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:
2655 if ( LA(1) == '+' || LA(1) == '-' )
2663 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2664 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2666 LRECOVER(); goto ruleEXPONENTEx;
2675 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:33: ( '0' .. '9' )+
2704 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:64:34: '0' .. '9'
2706 MATCHRANGE('0', '9');
2709 goto ruleEXPONENTEx;
2722 /* mismatchedSetEx()
2725 EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
2726 EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
2729 goto ruleEXPONENTEx;
2733 loop19: ; /* Jump to here if this rule does not match */
2740 // This is where rules clean up and exit
2742 goto ruleEXPONENTEx; /* Prevent compiler warnings */
2746 // $ANTLR end EXPONENT
2748 // Comes from: 67:11: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
2749 /** \brief Lexer rule generated by ANTLR3
2751 * $ANTLR start HEX_DIGIT
2753 * Looks to match the characters the constitute the token HEX_DIGIT
2754 * from the attached input stream.
2758 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
2760 static ANTLR3_INLINE
2761 void mHEX_DIGIT(pSimanticsDataLexer ctx)
2763 ANTLR3_UINT32 _type;
2766 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:67:11: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
2767 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:67:13: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
2769 if ( ((LA(1) >= '0') && (LA(1) <= '9')) || ((LA(1) >= 'A') && (LA(1) <= 'F')) || ((LA(1) >= 'a') && (LA(1) <= 'f')) )
2777 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2778 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2780 LRECOVER(); goto ruleHEX_DIGITEx;
2788 // This is where rules clean up and exit
2790 goto ruleHEX_DIGITEx; /* Prevent compiler warnings */
2794 // $ANTLR end HEX_DIGIT
2796 // Comes from: 71:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )
2797 /** \brief Lexer rule generated by ANTLR3
2799 * $ANTLR start ESC_SEQ
2801 * Looks to match the characters the constitute the token ESC_SEQ
2802 * from the attached input stream.
2806 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
2808 static ANTLR3_INLINE
2809 void mESC_SEQ(pSimanticsDataLexer ctx)
2811 ANTLR3_UINT32 _type;
2815 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:71:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )
2817 ANTLR3_UINT32 alt20;
2859 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
2860 EXCEPTION->message = (void *)"";
2861 EXCEPTION->decisionNum = 20;
2862 EXCEPTION->state = 1;
2873 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
2874 EXCEPTION->message = (void *)"";
2875 EXCEPTION->decisionNum = 20;
2876 EXCEPTION->state = 0;
2885 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:71:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
2893 if ( LA(1) == '"' || LA(1) == '\'' || LA(1) == '\\' || LA(1) == 'b' || LA(1) == 'f' || LA(1) == 'n' || LA(1) == 'r' || LA(1) == 't' )
2901 EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
2902 EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
2904 LRECOVER(); goto ruleESC_SEQEx;
2911 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:72:9: UNICODE_ESC
2913 /* 72:9: UNICODE_ESC */
2924 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:73:9: OCTAL_ESC
2926 /* 73:9: OCTAL_ESC */
2941 // This is where rules clean up and exit
2943 goto ruleESC_SEQEx; /* Prevent compiler warnings */
2947 // $ANTLR end ESC_SEQ
2949 // Comes from: 78:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
2950 /** \brief Lexer rule generated by ANTLR3
2952 * $ANTLR start OCTAL_ESC
2954 * Looks to match the characters the constitute the token OCTAL_ESC
2955 * from the attached input stream.
2959 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
2961 static ANTLR3_INLINE
2962 void mOCTAL_ESC(pSimanticsDataLexer ctx)
2964 ANTLR3_UINT32 _type;
2968 // 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' ) )
2970 ANTLR3_UINT32 alt21;
3050 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
3051 EXCEPTION->message = (void *)"";
3052 EXCEPTION->decisionNum = 21;
3053 EXCEPTION->state = 1;
3056 goto ruleOCTAL_ESCEx;
3064 EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
3065 EXCEPTION->message = (void *)"";
3066 EXCEPTION->decisionNum = 21;
3067 EXCEPTION->state = 0;
3070 goto ruleOCTAL_ESCEx;
3076 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
3081 goto ruleOCTAL_ESCEx;
3084 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:14: ( '0' .. '3' )
3085 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:15: '0' .. '3'
3087 MATCHRANGE('0', '3');
3090 goto ruleOCTAL_ESCEx;
3096 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:25: ( '0' .. '7' )
3097 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:26: '0' .. '7'
3099 MATCHRANGE('0', '7');
3102 goto ruleOCTAL_ESCEx;
3108 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:36: ( '0' .. '7' )
3109 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:78:37: '0' .. '7'
3111 MATCHRANGE('0', '7');
3114 goto ruleOCTAL_ESCEx;
3124 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
3129 goto ruleOCTAL_ESCEx;
3132 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:14: ( '0' .. '7' )
3133 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:15: '0' .. '7'
3135 MATCHRANGE('0', '7');
3138 goto ruleOCTAL_ESCEx;
3144 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:25: ( '0' .. '7' )
3145 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:79:26: '0' .. '7'
3147 MATCHRANGE('0', '7');
3150 goto ruleOCTAL_ESCEx;
3160 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:80:9: '\\\\' ( '0' .. '7' )
3165 goto ruleOCTAL_ESCEx;
3168 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:80:14: ( '0' .. '7' )
3169 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:80:15: '0' .. '7'
3171 MATCHRANGE('0', '7');
3174 goto ruleOCTAL_ESCEx;
3188 // This is where rules clean up and exit
3190 goto ruleOCTAL_ESCEx; /* Prevent compiler warnings */
3194 // $ANTLR end OCTAL_ESC
3196 // Comes from: 85:5: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
3197 /** \brief Lexer rule generated by ANTLR3
3199 * $ANTLR start UNICODE_ESC
3201 * Looks to match the characters the constitute the token UNICODE_ESC
3202 * from the attached input stream.
3206 * - lexer->error == ANTLR3_TRUE if an exception was thrown.
3208 static ANTLR3_INLINE
3209 void mUNICODE_ESC(pSimanticsDataLexer ctx)
3211 ANTLR3_UINT32 _type;
3214 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:85:5: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
3215 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
3220 goto ruleUNICODE_ESCEx;
3226 goto ruleUNICODE_ESCEx;
3229 /* 85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT */
3233 goto ruleUNICODE_ESCEx;
3236 /* 85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT */
3240 goto ruleUNICODE_ESCEx;
3243 /* 85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT */
3247 goto ruleUNICODE_ESCEx;
3250 /* 85:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT */
3254 goto ruleUNICODE_ESCEx;
3262 // This is where rules clean up and exit
3264 goto ruleUNICODE_ESCEx; /* Prevent compiler warnings */
3265 ruleUNICODE_ESCEx: ;
3268 // $ANTLR end UNICODE_ESC
3270 /** This is the entry point in to the lexer from an object that
3271 * wants to generate the next token, such as a pCOMMON_TOKEN_STREAM
3274 mTokens(pSimanticsDataLexer ctx)
3277 // 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 )
3279 ANTLR3_UINT32 alt22;
3283 alt22 = cdfa22.predict(ctx, RECOGNIZER, ISTREAM, &cdfa22);
3292 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:10: T__34
3305 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:16: T__35
3318 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:22: T__36
3331 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:28: T__37
3344 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:34: T__38
3357 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:40: T__39
3370 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:46: T__40
3383 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:52: T__41
3396 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:58: T__42
3409 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:64: T__43
3422 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:70: T__44
3435 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:76: T__45
3448 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:82: T__46
3461 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:88: T__47
3474 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:94: T__48
3487 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:100: T__49
3500 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:106: ID
3513 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:109: INT
3526 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:113: FLOAT
3539 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:119: COMMENT
3541 /* 1:119: COMMENT */
3552 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:127: WS
3565 // C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g:1:130: STRING
3582 goto ruleTokensEx; /* Prevent compiler warnings */
3586 /* =========================================================================
3587 * Lexer matching rules end.
3588 * =========================================================================
3590 /* End of Lexer code
3591 * ================================================
3592 * ================================================
3597 * =============================================================================