2 * This C header 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:27
6 * - for the parser : SimanticsDataParserParser *
7 * Editing it, at least manually, is not wise.
9 * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
12 * The parser SimanticsDataParser has the callable functions (rules) shown below,
13 * which will invoke the code for the associated rule in the source grammar
14 * assuming that the input stream is pointing to a token/text stream that could begin
17 * For instance if you call the first (topmost) rule in a parser grammar, you will
18 * get the results of a full parse, but calling a rule half way through the grammar will
19 * allow you to pass part of a full token stream to the parser, such as for syntax checking
20 * in editors and so on.
22 * The parser entry points are called indirectly (by function pointer to function) via
23 * a parser context typedef pSimanticsDataParser, which is returned from a call to SimanticsDataParserNew().
25 * The methods in pSimanticsDataParser are as follows:
27 * - SimanticsDataParser_typeDefinitions_return pSimanticsDataParser->typeDefinitions(pSimanticsDataParser)
28 * - SimanticsDataParser_typeDefinition_return pSimanticsDataParser->typeDefinition(pSimanticsDataParser)
29 * - SimanticsDataParser_unionType_return pSimanticsDataParser->unionType(pSimanticsDataParser)
30 * - SimanticsDataParser_unionComponent_return pSimanticsDataParser->unionComponent(pSimanticsDataParser)
31 * - SimanticsDataParser_type_return pSimanticsDataParser->type(pSimanticsDataParser)
32 * - SimanticsDataParser_arrayLength_return pSimanticsDataParser->arrayLength(pSimanticsDataParser)
33 * - SimanticsDataParser_basicType_return pSimanticsDataParser->basicType(pSimanticsDataParser)
34 * - SimanticsDataParser_tupleType_return pSimanticsDataParser->tupleType(pSimanticsDataParser)
35 * - SimanticsDataParser_recordType_return pSimanticsDataParser->recordType(pSimanticsDataParser)
36 * - SimanticsDataParser_component_return pSimanticsDataParser->component(pSimanticsDataParser)
37 * - SimanticsDataParser_typeReference_return pSimanticsDataParser->typeReference(pSimanticsDataParser)
38 * - SimanticsDataParser_parameter_return pSimanticsDataParser->parameter(pSimanticsDataParser)
39 * - SimanticsDataParser_parameterValue_return pSimanticsDataParser->parameterValue(pSimanticsDataParser)
40 * - SimanticsDataParser_range_return pSimanticsDataParser->range(pSimanticsDataParser)
41 * - SimanticsDataParser_number_return pSimanticsDataParser->number(pSimanticsDataParser)
42 * - SimanticsDataParser_string_return pSimanticsDataParser->string(pSimanticsDataParser)
43 * - SimanticsDataParser_boolean_return pSimanticsDataParser->boolean(pSimanticsDataParser)
44 * - SimanticsDataParser_valueDefinitions_return pSimanticsDataParser->valueDefinitions(pSimanticsDataParser)
45 * - SimanticsDataParser_valueDefinition_return pSimanticsDataParser->valueDefinition(pSimanticsDataParser)
46 * - SimanticsDataParser_value_return pSimanticsDataParser->value(pSimanticsDataParser)
47 * - SimanticsDataParser_basicValue_return pSimanticsDataParser->basicValue(pSimanticsDataParser)
48 * - SimanticsDataParser_array_return pSimanticsDataParser->array(pSimanticsDataParser)
49 * - SimanticsDataParser_tuple_return pSimanticsDataParser->tuple(pSimanticsDataParser)
50 * - SimanticsDataParser_taggedValue_return pSimanticsDataParser->taggedValue(pSimanticsDataParser)
51 * - SimanticsDataParser_record_return pSimanticsDataParser->record(pSimanticsDataParser)
52 * - SimanticsDataParser_recordAssignment_return pSimanticsDataParser->recordAssignment(pSimanticsDataParser)
53 * - SimanticsDataParser_map_return pSimanticsDataParser->map(pSimanticsDataParser)
54 * - SimanticsDataParser_mapAssignment_return pSimanticsDataParser->mapAssignment(pSimanticsDataParser)
56 * The return type for any particular rule is of course determined by the source
59 // [The "BSD licence"]
60 // Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
61 // http://www.temporal-wave.com
62 // http://www.linkedin.com/in/jimidle
64 // All rights reserved.
66 // Redistribution and use in source and binary forms, with or without
67 // modification, are permitted provided that the following conditions
69 // 1. Redistributions of source code must retain the above copyright
70 // notice, this list of conditions and the following disclaimer.
71 // 2. Redistributions in binary form must reproduce the above copyright
72 // notice, this list of conditions and the following disclaimer in the
73 // documentation and/or other materials provided with the distribution.
74 // 3. The name of the author may not be used to endorse or promote products
75 // derived from this software without specific prior written permission.
77 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
78 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
79 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
80 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
81 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
82 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
83 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
84 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
85 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
86 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
88 #ifndef _SimanticsDataParser_H
89 #define _SimanticsDataParser_H
90 /* =============================================================================
91 * Standard antlr3 C runtime definitions
95 /* End of standard antlr 3 runtime definitions
96 * =============================================================================
103 // Forward declare the context typedef so that we can use it before it is
104 // properly defined. Delegators and delegates (from import statements) are
105 // interdependent and their context structures contain pointers to each other
106 // C only allows such things to be declared if you pre-declare the typedef.
108 typedef struct SimanticsDataParser_Ctx_struct SimanticsDataParser, * pSimanticsDataParser;
112 #ifdef ANTLR3_WINDOWS
113 // Disable: Unreferenced parameter, - Rules with parameters that are not used
114 // constant conditional, - ANTLR realizes that a prediction is always true (synpred usually)
115 // initialized but unused variable - tree rewrite variables declared but not needed
116 // Unreferenced local variable - lexer rule declares but does not always use _type
117 // potentially unitialized variable used - retval always returned from a rule
118 // unreferenced local function has been removed - susually getTokenNames or freeScope, they can go without warnigns
120 // These are only really displayed at warning level /W4 but that is the code ideal I am aiming at
121 // and the codegen must generate some of these warnings by necessity, apart from 4100, which is
122 // usually generated when a parser rule is given a parameter that it does not use. Mostly though
123 // this is a matter of orthogonality hence I disable that one.
125 #pragma warning( disable : 4100 )
126 #pragma warning( disable : 4101 )
127 #pragma warning( disable : 4127 )
128 #pragma warning( disable : 4189 )
129 #pragma warning( disable : 4505 )
130 #pragma warning( disable : 4701 )
132 typedef struct SimanticsDataParser_typeDefinitions_return_struct
134 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
136 pANTLR3_COMMON_TOKEN start;
137 pANTLR3_COMMON_TOKEN stop;
138 pANTLR3_BASE_TREE tree;
141 SimanticsDataParser_typeDefinitions_return;
143 typedef struct SimanticsDataParser_typeDefinition_return_struct
145 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
147 pANTLR3_COMMON_TOKEN start;
148 pANTLR3_COMMON_TOKEN stop;
149 pANTLR3_BASE_TREE tree;
152 SimanticsDataParser_typeDefinition_return;
154 typedef struct SimanticsDataParser_unionType_return_struct
156 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
158 pANTLR3_COMMON_TOKEN start;
159 pANTLR3_COMMON_TOKEN stop;
160 pANTLR3_BASE_TREE tree;
163 SimanticsDataParser_unionType_return;
165 typedef struct SimanticsDataParser_unionComponent_return_struct
167 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
169 pANTLR3_COMMON_TOKEN start;
170 pANTLR3_COMMON_TOKEN stop;
171 pANTLR3_BASE_TREE tree;
174 SimanticsDataParser_unionComponent_return;
176 typedef struct SimanticsDataParser_type_return_struct
178 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
180 pANTLR3_COMMON_TOKEN start;
181 pANTLR3_COMMON_TOKEN stop;
182 pANTLR3_BASE_TREE tree;
185 SimanticsDataParser_type_return;
187 typedef struct SimanticsDataParser_arrayLength_return_struct
189 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
191 pANTLR3_COMMON_TOKEN start;
192 pANTLR3_COMMON_TOKEN stop;
193 pANTLR3_BASE_TREE tree;
196 SimanticsDataParser_arrayLength_return;
198 typedef struct SimanticsDataParser_basicType_return_struct
200 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
202 pANTLR3_COMMON_TOKEN start;
203 pANTLR3_COMMON_TOKEN stop;
204 pANTLR3_BASE_TREE tree;
207 SimanticsDataParser_basicType_return;
209 typedef struct SimanticsDataParser_tupleType_return_struct
211 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
213 pANTLR3_COMMON_TOKEN start;
214 pANTLR3_COMMON_TOKEN stop;
215 pANTLR3_BASE_TREE tree;
218 SimanticsDataParser_tupleType_return;
220 typedef struct SimanticsDataParser_recordType_return_struct
222 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
224 pANTLR3_COMMON_TOKEN start;
225 pANTLR3_COMMON_TOKEN stop;
226 pANTLR3_BASE_TREE tree;
229 SimanticsDataParser_recordType_return;
231 typedef struct SimanticsDataParser_component_return_struct
233 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
235 pANTLR3_COMMON_TOKEN start;
236 pANTLR3_COMMON_TOKEN stop;
237 pANTLR3_BASE_TREE tree;
240 SimanticsDataParser_component_return;
242 typedef struct SimanticsDataParser_typeReference_return_struct
244 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
246 pANTLR3_COMMON_TOKEN start;
247 pANTLR3_COMMON_TOKEN stop;
248 pANTLR3_BASE_TREE tree;
251 SimanticsDataParser_typeReference_return;
253 typedef struct SimanticsDataParser_parameter_return_struct
255 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
257 pANTLR3_COMMON_TOKEN start;
258 pANTLR3_COMMON_TOKEN stop;
259 pANTLR3_BASE_TREE tree;
262 SimanticsDataParser_parameter_return;
264 typedef struct SimanticsDataParser_parameterValue_return_struct
266 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
268 pANTLR3_COMMON_TOKEN start;
269 pANTLR3_COMMON_TOKEN stop;
270 pANTLR3_BASE_TREE tree;
273 SimanticsDataParser_parameterValue_return;
275 typedef struct SimanticsDataParser_range_return_struct
277 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
279 pANTLR3_COMMON_TOKEN start;
280 pANTLR3_COMMON_TOKEN stop;
281 pANTLR3_BASE_TREE tree;
284 SimanticsDataParser_range_return;
286 typedef struct SimanticsDataParser_number_return_struct
288 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
290 pANTLR3_COMMON_TOKEN start;
291 pANTLR3_COMMON_TOKEN stop;
292 pANTLR3_BASE_TREE tree;
295 SimanticsDataParser_number_return;
297 typedef struct SimanticsDataParser_string_return_struct
299 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
301 pANTLR3_COMMON_TOKEN start;
302 pANTLR3_COMMON_TOKEN stop;
303 pANTLR3_BASE_TREE tree;
306 SimanticsDataParser_string_return;
308 typedef struct SimanticsDataParser_boolean_return_struct
310 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
312 pANTLR3_COMMON_TOKEN start;
313 pANTLR3_COMMON_TOKEN stop;
314 pANTLR3_BASE_TREE tree;
317 SimanticsDataParser_boolean_return;
319 typedef struct SimanticsDataParser_valueDefinitions_return_struct
321 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
323 pANTLR3_COMMON_TOKEN start;
324 pANTLR3_COMMON_TOKEN stop;
325 pANTLR3_BASE_TREE tree;
328 SimanticsDataParser_valueDefinitions_return;
330 typedef struct SimanticsDataParser_valueDefinition_return_struct
332 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
334 pANTLR3_COMMON_TOKEN start;
335 pANTLR3_COMMON_TOKEN stop;
336 pANTLR3_BASE_TREE tree;
339 SimanticsDataParser_valueDefinition_return;
341 typedef struct SimanticsDataParser_value_return_struct
343 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
345 pANTLR3_COMMON_TOKEN start;
346 pANTLR3_COMMON_TOKEN stop;
347 pANTLR3_BASE_TREE tree;
350 SimanticsDataParser_value_return;
352 typedef struct SimanticsDataParser_basicValue_return_struct
354 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
356 pANTLR3_COMMON_TOKEN start;
357 pANTLR3_COMMON_TOKEN stop;
358 pANTLR3_BASE_TREE tree;
361 SimanticsDataParser_basicValue_return;
363 typedef struct SimanticsDataParser_array_return_struct
365 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
367 pANTLR3_COMMON_TOKEN start;
368 pANTLR3_COMMON_TOKEN stop;
369 pANTLR3_BASE_TREE tree;
372 SimanticsDataParser_array_return;
374 typedef struct SimanticsDataParser_tuple_return_struct
376 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
378 pANTLR3_COMMON_TOKEN start;
379 pANTLR3_COMMON_TOKEN stop;
380 pANTLR3_BASE_TREE tree;
383 SimanticsDataParser_tuple_return;
385 typedef struct SimanticsDataParser_taggedValue_return_struct
387 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
389 pANTLR3_COMMON_TOKEN start;
390 pANTLR3_COMMON_TOKEN stop;
391 pANTLR3_BASE_TREE tree;
394 SimanticsDataParser_taggedValue_return;
396 typedef struct SimanticsDataParser_record_return_struct
398 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
400 pANTLR3_COMMON_TOKEN start;
401 pANTLR3_COMMON_TOKEN stop;
402 pANTLR3_BASE_TREE tree;
405 SimanticsDataParser_record_return;
407 typedef struct SimanticsDataParser_recordAssignment_return_struct
409 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
411 pANTLR3_COMMON_TOKEN start;
412 pANTLR3_COMMON_TOKEN stop;
413 pANTLR3_BASE_TREE tree;
416 SimanticsDataParser_recordAssignment_return;
418 typedef struct SimanticsDataParser_map_return_struct
420 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
422 pANTLR3_COMMON_TOKEN start;
423 pANTLR3_COMMON_TOKEN stop;
424 pANTLR3_BASE_TREE tree;
427 SimanticsDataParser_map_return;
429 typedef struct SimanticsDataParser_mapAssignment_return_struct
431 /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
433 pANTLR3_COMMON_TOKEN start;
434 pANTLR3_COMMON_TOKEN stop;
435 pANTLR3_BASE_TREE tree;
438 SimanticsDataParser_mapAssignment_return;
442 /** Context tracking structure for SimanticsDataParser
444 struct SimanticsDataParser_Ctx_struct
446 /** Built in ANTLR3 context tracker contains all the generic elements
447 * required for context tracking.
449 pANTLR3_PARSER pParser;
452 SimanticsDataParser_typeDefinitions_return (*typeDefinitions) (struct SimanticsDataParser_Ctx_struct * ctx);
453 SimanticsDataParser_typeDefinition_return (*typeDefinition) (struct SimanticsDataParser_Ctx_struct * ctx);
454 SimanticsDataParser_unionType_return (*unionType) (struct SimanticsDataParser_Ctx_struct * ctx);
455 SimanticsDataParser_unionComponent_return (*unionComponent) (struct SimanticsDataParser_Ctx_struct * ctx);
456 SimanticsDataParser_type_return (*type) (struct SimanticsDataParser_Ctx_struct * ctx);
457 SimanticsDataParser_arrayLength_return (*arrayLength) (struct SimanticsDataParser_Ctx_struct * ctx);
458 SimanticsDataParser_basicType_return (*basicType) (struct SimanticsDataParser_Ctx_struct * ctx);
459 SimanticsDataParser_tupleType_return (*tupleType) (struct SimanticsDataParser_Ctx_struct * ctx);
460 SimanticsDataParser_recordType_return (*recordType) (struct SimanticsDataParser_Ctx_struct * ctx);
461 SimanticsDataParser_component_return (*component) (struct SimanticsDataParser_Ctx_struct * ctx);
462 SimanticsDataParser_typeReference_return (*typeReference) (struct SimanticsDataParser_Ctx_struct * ctx);
463 SimanticsDataParser_parameter_return (*parameter) (struct SimanticsDataParser_Ctx_struct * ctx);
464 SimanticsDataParser_parameterValue_return (*parameterValue) (struct SimanticsDataParser_Ctx_struct * ctx);
465 SimanticsDataParser_range_return (*range) (struct SimanticsDataParser_Ctx_struct * ctx);
466 SimanticsDataParser_number_return (*number) (struct SimanticsDataParser_Ctx_struct * ctx);
467 SimanticsDataParser_string_return (*string) (struct SimanticsDataParser_Ctx_struct * ctx);
468 SimanticsDataParser_boolean_return (*boolean) (struct SimanticsDataParser_Ctx_struct * ctx);
469 SimanticsDataParser_valueDefinitions_return (*valueDefinitions) (struct SimanticsDataParser_Ctx_struct * ctx);
470 SimanticsDataParser_valueDefinition_return (*valueDefinition) (struct SimanticsDataParser_Ctx_struct * ctx);
471 SimanticsDataParser_value_return (*value) (struct SimanticsDataParser_Ctx_struct * ctx);
472 SimanticsDataParser_basicValue_return (*basicValue) (struct SimanticsDataParser_Ctx_struct * ctx);
473 SimanticsDataParser_array_return (*array) (struct SimanticsDataParser_Ctx_struct * ctx);
474 SimanticsDataParser_tuple_return (*tuple) (struct SimanticsDataParser_Ctx_struct * ctx);
475 SimanticsDataParser_taggedValue_return (*taggedValue) (struct SimanticsDataParser_Ctx_struct * ctx);
476 SimanticsDataParser_record_return (*record) (struct SimanticsDataParser_Ctx_struct * ctx);
477 SimanticsDataParser_recordAssignment_return (*recordAssignment) (struct SimanticsDataParser_Ctx_struct * ctx);
478 SimanticsDataParser_map_return (*map) (struct SimanticsDataParser_Ctx_struct * ctx);
479 SimanticsDataParser_mapAssignment_return (*mapAssignment) (struct SimanticsDataParser_Ctx_struct * ctx);
481 const char * (*getGrammarFileName)();
482 void (*free) (struct SimanticsDataParser_Ctx_struct * ctx);
483 /* @headerFile.members() */
484 pANTLR3_BASE_TREE_ADAPTOR adaptor;
485 pANTLR3_VECTOR_FACTORY vectors;
486 /* End @headerFile.members() */
489 // Function protoypes for the constructor functions that external translation units
490 // such as delegators and delegates may wish to call.
492 ANTLR3_API pSimanticsDataParser SimanticsDataParserNew (pANTLR3_COMMON_TOKEN_STREAM instream);
493 ANTLR3_API pSimanticsDataParser SimanticsDataParserNewSSD (pANTLR3_COMMON_TOKEN_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state);
495 /** Symbolic definitions of all the tokens that the parser will work with.
498 * Antlr will define EOF, but we can't use that as it it is too common in
499 * in C header files and that would be confusing. There is no way to filter this out at the moment
500 * so we just undef it here for now. That isn't the value we get back from C recognizers
501 * anyway. We are looking for ANTLR3_TOKEN_EOF.
509 #define RECORD_TYPE 7
512 #define VALUE_DEFINITION 14
521 #define TYPE_REFERENCE 10
522 #define TYPE_COMPONENT 12
524 #define TYPE_ANNOTATION 11
535 #define TAGGED_VALUE 19
538 #define VALUE_DEFINITIONS 13
539 #define UNICODE_ESC 32
545 #define TYPE_DEFINITIONS 4
552 #define TYPE_DEFINITION 5
553 #define ASSIGNMENT 22
558 #define EOF ANTLR3_TOKEN_EOF
562 #define TOKENSOURCE(lxr) lxr->pLexer->rec->state->tokSource
565 /* End of token definitions for SimanticsDataParser
566 * =============================================================================
576 /* END - Note:Keep extra line feed to satisfy UNIX systems */