/** \file * This C header file was generated by $ANTLR version 3.2 Sep 23, 2009 12:02:23 * * - From the grammar source file : C:\\Simantics\\workspace\\org.simantics.databoard\\cpp\\DataBoardTest\\DataBoard\\SimanticsData.g * - On : 2010-03-26 13:33:28 * - for the lexer : SimanticsDataLexerLexer * * Editing it, at least manually, is not wise. * * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws. * * * The lexer SimanticsDataLexer has the callable functions (rules) shown below, * which will invoke the code for the associated rule in the source grammar * assuming that the input stream is pointing to a token/text stream that could begin * this rule. * * For instance if you call the first (topmost) rule in a parser grammar, you will * get the results of a full parse, but calling a rule half way through the grammar will * allow you to pass part of a full token stream to the parser, such as for syntax checking * in editors and so on. * * The parser entry points are called indirectly (by function pointer to function) via * a parser context typedef pSimanticsDataLexer, which is returned from a call to SimanticsDataLexerNew(). * * As this is a generated lexer, it is unlikely you will call it 'manually'. However * the methods are provided anyway. * * The methods in pSimanticsDataLexer are as follows: * * - void pSimanticsDataLexer->T__34(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__35(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__36(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__37(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__38(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__39(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__40(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__41(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__42(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__43(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__44(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__45(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__46(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__47(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__48(pSimanticsDataLexer) * - void pSimanticsDataLexer->T__49(pSimanticsDataLexer) * - void pSimanticsDataLexer->ID(pSimanticsDataLexer) * - void pSimanticsDataLexer->INT(pSimanticsDataLexer) * - void pSimanticsDataLexer->FLOAT(pSimanticsDataLexer) * - void pSimanticsDataLexer->COMMENT(pSimanticsDataLexer) * - void pSimanticsDataLexer->WS(pSimanticsDataLexer) * - void pSimanticsDataLexer->STRING(pSimanticsDataLexer) * - void pSimanticsDataLexer->EXPONENT(pSimanticsDataLexer) * - void pSimanticsDataLexer->HEX_DIGIT(pSimanticsDataLexer) * - void pSimanticsDataLexer->ESC_SEQ(pSimanticsDataLexer) * - void pSimanticsDataLexer->OCTAL_ESC(pSimanticsDataLexer) * - void pSimanticsDataLexer->UNICODE_ESC(pSimanticsDataLexer) * - void pSimanticsDataLexer->Tokens(pSimanticsDataLexer) * * The return type for any particular rule is of course determined by the source * grammar file. */ // [The "BSD licence"] // Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC // http://www.temporal-wave.com // http://www.linkedin.com/in/jimidle // // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // 1. Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // 2. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // 3. The name of the author may not be used to endorse or promote products // derived from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef _SimanticsDataLexer_H #define _SimanticsDataLexer_H /* ============================================================================= * Standard antlr3 C runtime definitions */ #include /* End of standard antlr 3 runtime definitions * ============================================================================= */ #ifdef __cplusplus extern "C" { #endif // Forward declare the context typedef so that we can use it before it is // properly defined. Delegators and delegates (from import statements) are // interdependent and their context structures contain pointers to each other // C only allows such things to be declared if you pre-declare the typedef. // typedef struct SimanticsDataLexer_Ctx_struct SimanticsDataLexer, * pSimanticsDataLexer; #ifdef ANTLR3_WINDOWS // Disable: Unreferenced parameter, - Rules with parameters that are not used // constant conditional, - ANTLR realizes that a prediction is always true (synpred usually) // initialized but unused variable - tree rewrite variables declared but not needed // Unreferenced local variable - lexer rule declares but does not always use _type // potentially unitialized variable used - retval always returned from a rule // unreferenced local function has been removed - susually getTokenNames or freeScope, they can go without warnigns // // These are only really displayed at warning level /W4 but that is the code ideal I am aiming at // and the codegen must generate some of these warnings by necessity, apart from 4100, which is // usually generated when a parser rule is given a parameter that it does not use. Mostly though // this is a matter of orthogonality hence I disable that one. // #pragma warning( disable : 4100 ) #pragma warning( disable : 4101 ) #pragma warning( disable : 4127 ) #pragma warning( disable : 4189 ) #pragma warning( disable : 4505 ) #pragma warning( disable : 4701 ) #endif /** Context tracking structure for SimanticsDataLexer */ struct SimanticsDataLexer_Ctx_struct { /** Built in ANTLR3 context tracker contains all the generic elements * required for context tracking. */ pANTLR3_LEXER pLexer; void (*mT__34) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__35) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__36) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__37) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__38) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__39) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__40) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__41) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__42) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__43) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__44) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__45) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__46) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__47) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__48) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mT__49) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mID) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mINT) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mFLOAT) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mCOMMENT) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mWS) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mSTRING) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mEXPONENT) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mHEX_DIGIT) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mESC_SEQ) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mOCTAL_ESC) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mUNICODE_ESC) (struct SimanticsDataLexer_Ctx_struct * ctx); void (*mTokens) (struct SimanticsDataLexer_Ctx_struct * ctx); const char * (*getGrammarFileName)(); void (*free) (struct SimanticsDataLexer_Ctx_struct * ctx); }; // Function protoypes for the constructor functions that external translation units // such as delegators and delegates may wish to call. // ANTLR3_API pSimanticsDataLexer SimanticsDataLexerNew (pANTLR3_INPUT_STREAM instream); ANTLR3_API pSimanticsDataLexer SimanticsDataLexerNewSSD (pANTLR3_INPUT_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state); /** Symbolic definitions of all the tokens that the lexer will work with. * \{ * * Antlr will define EOF, but we can't use that as it it is too common in * in C header files and that would be confusing. There is no way to filter this out at the moment * so we just undef it here for now. That isn't the value we get back from C recognizers * anyway. We are looking for ANTLR3_TOKEN_EOF. */ #ifdef EOF #undef EOF #endif #ifdef Tokens #undef Tokens #endif #define RECORD_TYPE 7 #define EXPONENT 25 #define TUPLE_TYPE 8 #define VALUE_DEFINITION 14 #define OCTAL_ESC 33 #define ARRAY_TYPE 9 #define FLOAT 26 #define ID 23 #define EOF -1 #define TUPLE 18 #define ESC_SEQ 29 #define UNION_TYPE 6 #define TYPE_REFERENCE 10 #define TYPE_COMPONENT 12 #define COMMENT 27 #define TYPE_ANNOTATION 11 #define ARRAY 17 #define T__42 42 #define T__43 43 #define T__40 40 #define T__41 41 #define RECORD 20 #define T__46 46 #define T__47 47 #define T__44 44 #define T__45 45 #define TAGGED_VALUE 19 #define T__48 48 #define T__49 49 #define VALUE_DEFINITIONS 13 #define UNICODE_ESC 32 #define HEX_DIGIT 31 #define INT 24 #define VARIANT 16 #define WS 28 #define T__34 34 #define TYPE_DEFINITIONS 4 #define T__35 35 #define T__36 36 #define T__37 37 #define T__38 38 #define T__39 39 #define MAP 21 #define TYPE_DEFINITION 5 #define ASSIGNMENT 22 #define NO_VALUE 15 #define STRING 30 #ifdef EOF #undef EOF #define EOF ANTLR3_TOKEN_EOF #endif #ifndef TOKENSOURCE #define TOKENSOURCE(lxr) lxr->pLexer->rec->state->tokSource #endif /* End of token definitions for SimanticsDataLexer * ============================================================================= */ /** \} */ #ifdef __cplusplus } #endif #endif /* END - Note:Keep extra line feed to satisfy UNIX systems */