]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/SimanticsDataLexer.h
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / cpp / DataBoardTest / DataBoard / SimanticsDataLexer.h
diff --git a/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/SimanticsDataLexer.h b/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/SimanticsDataLexer.h
new file mode 100644 (file)
index 0000000..1a4ba39
--- /dev/null
@@ -0,0 +1,264 @@
+/** \file\r
+ *  This C header 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
+ * The lexer SimanticsDataLexer has the callable functions (rules) shown below,\r
+ * which will invoke the code for the associated rule in the source grammar\r
+ * assuming that the input stream is pointing to a token/text stream that could begin\r
+ * this rule.\r
+ * \r
+ * For instance if you call the first (topmost) rule in a parser grammar, you will\r
+ * get the results of a full parse, but calling a rule half way through the grammar will\r
+ * allow you to pass part of a full token stream to the parser, such as for syntax checking\r
+ * in editors and so on.\r
+ *\r
+ * The parser entry points are called indirectly (by function pointer to function) via\r
+ * a parser context typedef pSimanticsDataLexer, which is returned from a call to SimanticsDataLexerNew().\r
+ *\r
+ * As this is a generated lexer, it is unlikely you will call it 'manually'. However\r
+ * the methods are provided anyway.\r
+ * * The methods in pSimanticsDataLexer are  as follows:\r
+ *\r
+ *  -  void      pSimanticsDataLexer->T__34(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__35(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__36(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__37(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__38(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__39(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__40(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__41(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__42(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__43(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__44(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__45(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__46(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__47(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__48(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->T__49(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->ID(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->INT(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->FLOAT(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->COMMENT(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->WS(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->STRING(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->EXPONENT(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->HEX_DIGIT(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->ESC_SEQ(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->OCTAL_ESC(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->UNICODE_ESC(pSimanticsDataLexer)\r
+ *  -  void      pSimanticsDataLexer->Tokens(pSimanticsDataLexer)\r
+ *\r
+ * The return type for any particular rule is of course determined by the source\r
+ * grammar file.\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
+#ifndef        _SimanticsDataLexer_H\r
+#define _SimanticsDataLexer_H\r
+/* =============================================================================\r
+ * Standard antlr3 C runtime definitions\r
+ */\r
+#include    <antlr3.h>\r
+\r
+/* End of standard antlr 3 runtime definitions\r
+ * =============================================================================\r
+ */\r
\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+// Forward declare the context typedef so that we can use it before it is\r
+// properly defined. Delegators and delegates (from import statements) are\r
+// interdependent and their context structures contain pointers to each other\r
+// C only allows such things to be declared if you pre-declare the typedef.\r
+//\r
+typedef struct SimanticsDataLexer_Ctx_struct SimanticsDataLexer, * pSimanticsDataLexer;\r
+\r
+\r
+\r
+#ifdef ANTLR3_WINDOWS\r
+// Disable: Unreferenced parameter,                                                    - Rules with parameters that are not used\r
+//          constant conditional,                                                      - ANTLR realizes that a prediction is always true (synpred usually)\r
+//          initialized but unused variable                                    - tree rewrite variables declared but not needed\r
+//          Unreferenced local variable                                                - lexer rule declares but does not always use _type\r
+//          potentially unitialized variable used                      - retval always returned from a rule \r
+//                     unreferenced local function has been removed    - susually getTokenNames or freeScope, they can go without warnigns\r
+//\r
+// These are only really displayed at warning level /W4 but that is the code ideal I am aiming at\r
+// and the codegen must generate some of these warnings by necessity, apart from 4100, which is\r
+// usually generated when a parser rule is given a parameter that it does not use. Mostly though\r
+// this is a matter of orthogonality hence I disable that one.\r
+//\r
+#pragma warning( disable : 4100 )\r
+#pragma warning( disable : 4101 )\r
+#pragma warning( disable : 4127 )\r
+#pragma warning( disable : 4189 )\r
+#pragma warning( disable : 4505 )\r
+#pragma warning( disable : 4701 )\r
+#endif\r
+\r
+/** Context tracking structure for SimanticsDataLexer\r
+ */\r
+struct SimanticsDataLexer_Ctx_struct\r
+{\r
+    /** Built in ANTLR3 context tracker contains all the generic elements\r
+     *  required for context tracking.\r
+     */\r
+    pANTLR3_LEXER    pLexer;\r
+\r
+\r
+     void (*mT__34)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__35)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__36)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__37)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__38)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__39)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__40)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__41)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__42)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__43)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__44)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__45)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__46)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__47)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__48)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mT__49)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mID)       (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mINT)      (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mFLOAT)    (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mCOMMENT)  (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mWS)       (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mSTRING)   (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mEXPONENT) (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mHEX_DIGIT)        (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mESC_SEQ)  (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mOCTAL_ESC)        (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mUNICODE_ESC)      (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+     void (*mTokens)   (struct SimanticsDataLexer_Ctx_struct * ctx);    const char * (*getGrammarFileName)();\r
+    void           (*free)   (struct SimanticsDataLexer_Ctx_struct * ctx);\r
+        \r
+};\r
+\r
+// Function protoypes for the constructor functions that external translation units\r
+// such as delegators and delegates may wish to call.\r
+//\r
+ANTLR3_API pSimanticsDataLexer SimanticsDataLexerNew         (pANTLR3_INPUT_STREAM instream);\r
+ANTLR3_API pSimanticsDataLexer SimanticsDataLexerNewSSD      (pANTLR3_INPUT_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state);\r
+\r
+/** Symbolic definitions of all the tokens that the lexer will work with.\r
+ * \{\r
+ *\r
+ * Antlr will define EOF, but we can't use that as it it is too common in\r
+ * in C header files and that would be confusing. There is no way to filter this out at the moment\r
+ * so we just undef it here for now. That isn't the value we get back from C recognizers\r
+ * anyway. We are looking for ANTLR3_TOKEN_EOF.\r
+ */\r
+#ifdef EOF\r
+#undef EOF\r
+#endif\r
+#ifdef Tokens\r
+#undef Tokens\r
+#endif \r
+#define RECORD_TYPE      7\r
+#define EXPONENT      25\r
+#define TUPLE_TYPE      8\r
+#define VALUE_DEFINITION      14\r
+#define OCTAL_ESC      33\r
+#define ARRAY_TYPE      9\r
+#define FLOAT      26\r
+#define ID      23\r
+#define EOF      -1\r
+#define TUPLE      18\r
+#define ESC_SEQ      29\r
+#define UNION_TYPE      6\r
+#define TYPE_REFERENCE      10\r
+#define TYPE_COMPONENT      12\r
+#define COMMENT      27\r
+#define TYPE_ANNOTATION      11\r
+#define ARRAY      17\r
+#define T__42      42\r
+#define T__43      43\r
+#define T__40      40\r
+#define T__41      41\r
+#define RECORD      20\r
+#define T__46      46\r
+#define T__47      47\r
+#define T__44      44\r
+#define T__45      45\r
+#define TAGGED_VALUE      19\r
+#define T__48      48\r
+#define T__49      49\r
+#define VALUE_DEFINITIONS      13\r
+#define UNICODE_ESC      32\r
+#define HEX_DIGIT      31\r
+#define INT      24\r
+#define VARIANT      16\r
+#define WS      28\r
+#define T__34      34\r
+#define TYPE_DEFINITIONS      4\r
+#define T__35      35\r
+#define T__36      36\r
+#define T__37      37\r
+#define T__38      38\r
+#define T__39      39\r
+#define MAP      21\r
+#define TYPE_DEFINITION      5\r
+#define ASSIGNMENT      22\r
+#define NO_VALUE      15\r
+#define STRING      30\r
+#ifdef EOF\r
+#undef EOF\r
+#define        EOF     ANTLR3_TOKEN_EOF\r
+#endif\r
+\r
+#ifndef TOKENSOURCE\r
+#define TOKENSOURCE(lxr) lxr->pLexer->rec->state->tokSource\r
+#endif\r
+\r
+/* End of token definitions for SimanticsDataLexer\r
+ * =============================================================================\r
+ */\r
+/** \} */\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/* END - Note:Keep extra line feed to satisfy UNIX systems */\r