Stanse  -1
Classes | Typedefs | Functions
GNUCaLexer.h File Reference
#include <antlr3.h>
Include dependency graph for GNUCaLexer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GNUCaLexer_Ctx_struct
 

Macros

#define OctalConstant   71
 
#define BinaryExponentPart   77
 
#define T__159   159
 
#define T__158   158
 
#define POINTER   36
 
#define NonDigit   58
 
#define T__160   160
 
#define COMPLEX   6
 
#define BRACKET_DESIGNATOR   4
 
#define E2   8
 
#define E1   7
 
#define E3   9
 
#define T__167   167
 
#define T__168   168
 
#define EOF   -1
 
#define T__165   165
 
#define T__166   166
 
#define T__163   163
 
#define T__164   164
 
#define T__161   161
 
#define T__162   162
 
#define T__93   93
 
#define T__94   94
 
#define T__91   91
 
#define T__92   92
 
#define T__148   148
 
#define STRING_LITERAL   56
 
#define T__147   147
 
#define T__90   90
 
#define T__149   149
 
#define Sign   63
 
#define T__154   154
 
#define T__155   155
 
#define T__156   156
 
#define T__157   157
 
#define T__99   99
 
#define T__150   150
 
#define T__98   98
 
#define FUNCTION_DEFINITION   39
 
#define T__97   97
 
#define T__151   151
 
#define T__96   96
 
#define T__152   152
 
#define T__95   95
 
#define T__153   153
 
#define T__139   139
 
#define T__138   138
 
#define T__137   137
 
#define T__136   136
 
#define T__82   82
 
#define XU   16
 
#define T__83   83
 
#define ASM   11
 
#define T__85   85
 
#define T__141   141
 
#define T__84   84
 
#define T__142   142
 
#define T__87   87
 
#define T__86   86
 
#define T__140   140
 
#define T__89   89
 
#define T__145   145
 
#define T__88   88
 
#define T__146   146
 
#define COMPOUND_LITERAL   30
 
#define T__143   143
 
#define T__144   144
 
#define T__126   126
 
#define T__125   125
 
#define T__128   128
 
#define DESIGNATOR   27
 
#define T__127   127
 
#define WS   78
 
#define T__129   129
 
#define TYPEOF   21
 
#define COMPOUND_STATEMENT   51
 
#define IntegerSuffix   70
 
#define EXPRESSION_STATEMENT   10
 
#define FUNCTION_CALL   53
 
#define T__130   130
 
#define T__131   131
 
#define T__132   132
 
#define T__133   133
 
#define T__134   134
 
#define T__135   135
 
#define CAST_EXPRESSION   48
 
#define T__118   118
 
#define T__119   119
 
#define T__116   116
 
#define T__117   117
 
#define T__114   114
 
#define T__115   115
 
#define T__124   124
 
#define T__123   123
 
#define T__122   122
 
#define T__121   121
 
#define T__120   120
 
#define DECLARATION   44
 
#define HexDigit   62
 
#define ASSIGNMENT_EXPRESSION   22
 
#define XTYPE_SPECIFIER   41
 
#define AU   17
 
#define T__107   107
 
#define T__108   108
 
#define T__109   109
 
#define T__103   103
 
#define T__104   104
 
#define T__105   105
 
#define T__106   106
 
#define T__111   111
 
#define T__110   110
 
#define PU   14
 
#define ENUMERATOR   28
 
#define T__113   113
 
#define T__112   112
 
#define PP   12
 
#define XTYPE_QUALIFIER   42
 
#define XSTORAGE_CLASS   43
 
#define T__102   102
 
#define T__101   101
 
#define T__100   100
 
#define TRANSLATION_UNIT   29
 
#define FloatingSuffix   76
 
#define XID   40
 
#define EXTENSION   57
 
#define OctalEscape   64
 
#define SIGNED   5
 
#define UniversalCharacterName   66
 
#define DecimalConstant   69
 
#define DecimalFloatingConstant   73
 
#define MU   15
 
#define TYPEDEF_NAME   20
 
#define HexadecimalFloatingConstant   74
 
#define MM   13
 
#define PARAMETER   32
 
#define ExponentPart   75
 
#define COMMENT   79
 
#define LINE_COMMENT   80
 
#define FUNCTION_DECLARATOR   24
 
#define HexadecimalEscape   65
 
#define DECLARATOR   35
 
#define ICONSTANT   67
 
#define RCONSTANT   68
 
#define STR_LITERAL   54
 
#define LINE_COMMAND   81
 
#define INIT_DECLARATOR   45
 
#define BASETYPE   47
 
#define EscapeSequence   60
 
#define ABSTRACT_DECLARATOR   34
 
#define VARARGS   33
 
#define CharacterLiteral   61
 
#define ALIGNOF   52
 
#define INITIALIZER   26
 
#define STRUCT_DECLARATOR   37
 
#define T__194   194
 
#define T__193   193
 
#define T__192   192
 
#define T__191   191
 
#define CONDITIONAL_EXPRESSION   49
 
#define T__190   190
 
#define IDENTIFIER   55
 
#define TYPE_NAME   23
 
#define T__184   184
 
#define T__183   183
 
#define T__186   186
 
#define T__185   185
 
#define T__188   188
 
#define T__187   187
 
#define T__189   189
 
#define T__180   180
 
#define HexadecimalConstant   72
 
#define T__182   182
 
#define T__181   181
 
#define ARRAY_ACCESS   31
 
#define Digit   59
 
#define T__175   175
 
#define ARRAY_DECLARATOR   25
 
#define T__174   174
 
#define T__173   173
 
#define T__172   172
 
#define T__179   179
 
#define T__178   178
 
#define T__177   177
 
#define BUILTIN_OFFSETOF   19
 
#define T__176   176
 
#define LABEL   50
 
#define STRUCT_DECLARATION   38
 
#define LABREF   18
 
#define T__171   171
 
#define T__170   170
 
#define DECLARATION_SPECIFIERS   46
 
#define T__169   169
 
#define EOF   ANTLR3_TOKEN_EOF
 
#define TOKENSOURCE(lxr)   lxr->pLexer->rec->state->tokSource
 

Typedefs

typedef struct
GNUCaLexer_Ctx_struct 
GNUCaLexer
 
typedef struct
GNUCaLexer_Ctx_struct
pGNUCaLexer
 

Functions

ANTLR3_API pGNUCaLexer GNUCaLexerNew (pANTLR3_INPUT_STREAM instream)
 Create a new lexer called GNUCaLexer. More...
 
ANTLR3_API pGNUCaLexer GNUCaLexerNewSSD (pANTLR3_INPUT_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
 Create a new lexer called GNUCaLexer. More...
 

Detailed Description

This C header file was generated by $ANTLR version 3.2 Sep 23, 2009 12:02:23

C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.

The lexer GNUCaLexer 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 pGNUCaLexer, which is returned from a call to GNUCaLexerNew().

As this is a generated lexer, it is unlikely you will call it 'manually'. However the methods are provided anyway.

The return type for any particular rule is of course determined by the source grammar file.

Macro Definition Documentation

#define ABSTRACT_DECLARATOR   34
#define ALIGNOF   52
#define ARRAY_ACCESS   31
#define ARRAY_DECLARATOR   25
#define ASM   11
#define ASSIGNMENT_EXPRESSION   22
#define AU   17
#define BASETYPE   47
#define BinaryExponentPart   77
#define BRACKET_DESIGNATOR   4
#define BUILTIN_OFFSETOF   19
#define CAST_EXPRESSION   48
#define CharacterLiteral   61
#define COMMENT   79
#define COMPLEX   6
#define COMPOUND_LITERAL   30
#define COMPOUND_STATEMENT   51
#define CONDITIONAL_EXPRESSION   49
#define DecimalConstant   69
#define DecimalFloatingConstant   73
#define DECLARATION   44
#define DECLARATION_SPECIFIERS   46
#define DECLARATOR   35
#define DESIGNATOR   27
#define Digit   59
#define E1   7
#define E2   8
#define E3   9
#define ENUMERATOR   28
#define EOF   -1
#define EOF   ANTLR3_TOKEN_EOF
#define EscapeSequence   60
#define ExponentPart   75
#define EXPRESSION_STATEMENT   10
#define EXTENSION   57
#define FloatingSuffix   76
#define FUNCTION_CALL   53
#define FUNCTION_DECLARATOR   24
#define FUNCTION_DEFINITION   39
#define HexadecimalConstant   72
#define HexadecimalEscape   65
#define HexadecimalFloatingConstant   74
#define HexDigit   62
#define ICONSTANT   67
#define IDENTIFIER   55
#define INIT_DECLARATOR   45
#define INITIALIZER   26
#define IntegerSuffix   70
#define LABEL   50
#define LABREF   18
#define LINE_COMMAND   81
#define LINE_COMMENT   80
#define MM   13
#define MU   15
#define NonDigit   58
#define OctalConstant   71

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.

#define OctalEscape   64
#define PARAMETER   32
#define POINTER   36
#define PP   12
#define PU   14
#define RCONSTANT   68
#define Sign   63
#define SIGNED   5
#define STR_LITERAL   54
#define STRING_LITERAL   56
#define STRUCT_DECLARATION   38
#define STRUCT_DECLARATOR   37
#define T__100   100
#define T__101   101
#define T__102   102
#define T__103   103
#define T__104   104
#define T__105   105
#define T__106   106
#define T__107   107
#define T__108   108
#define T__109   109
#define T__110   110
#define T__111   111
#define T__112   112
#define T__113   113
#define T__114   114
#define T__115   115
#define T__116   116
#define T__117   117
#define T__118   118
#define T__119   119
#define T__120   120
#define T__121   121
#define T__122   122
#define T__123   123
#define T__124   124
#define T__125   125
#define T__126   126
#define T__127   127
#define T__128   128
#define T__129   129
#define T__130   130
#define T__131   131
#define T__132   132
#define T__133   133
#define T__134   134
#define T__135   135
#define T__136   136
#define T__137   137
#define T__138   138
#define T__139   139
#define T__140   140
#define T__141   141
#define T__142   142
#define T__143   143
#define T__144   144
#define T__145   145
#define T__146   146
#define T__147   147
#define T__148   148
#define T__149   149
#define T__150   150
#define T__151   151
#define T__152   152
#define T__153   153
#define T__154   154
#define T__155   155
#define T__156   156
#define T__157   157
#define T__158   158
#define T__159   159
#define T__160   160
#define T__161   161
#define T__162   162
#define T__163   163
#define T__164   164
#define T__165   165
#define T__166   166
#define T__167   167
#define T__168   168
#define T__169   169
#define T__170   170
#define T__171   171
#define T__172   172
#define T__173   173
#define T__174   174
#define T__175   175
#define T__176   176
#define T__177   177
#define T__178   178
#define T__179   179
#define T__180   180
#define T__181   181
#define T__182   182
#define T__183   183
#define T__184   184
#define T__185   185
#define T__186   186
#define T__187   187
#define T__188   188
#define T__189   189
#define T__190   190
#define T__191   191
#define T__192   192
#define T__193   193
#define T__194   194
#define T__82   82
#define T__83   83
#define T__84   84
#define T__85   85
#define T__86   86
#define T__87   87
#define T__88   88
#define T__89   89
#define T__90   90
#define T__91   91
#define T__92   92
#define T__93   93
#define T__94   94
#define T__95   95
#define T__96   96
#define T__97   97
#define T__98   98
#define T__99   99
#define TOKENSOURCE (   lxr)    lxr->pLexer->rec->state->tokSource
#define TRANSLATION_UNIT   29
#define TYPE_NAME   23
#define TYPEDEF_NAME   20
#define TYPEOF   21
#define UniversalCharacterName   66
#define VARARGS   33
#define WS   78
#define XID   40
#define XSTORAGE_CLASS   43
#define XTYPE_QUALIFIER   42
#define XTYPE_SPECIFIER   41
#define XU   16

Typedef Documentation

Function Documentation

ANTLR3_API pGNUCaLexer GNUCaLexerNew ( pANTLR3_INPUT_STREAM  instream)

Create a new lexer called GNUCaLexer.

Parameters
[in]instreamPointer to an initialized input stream
Returns
  • Success pGNUCaLexer initialized for the lex start
  • Fail NULL
ANTLR3_API pGNUCaLexer GNUCaLexerNewSSD ( pANTLR3_INPUT_STREAM  instream,
pANTLR3_RECOGNIZER_SHARED_STATE  state 
)

Create a new lexer called GNUCaLexer.

Parameters
[in]instreamPointer to an initialized input stream
state]state Previously created shared recognizer stat
Returns
  • Success pGNUCaLexer initialized for the lex start
  • Fail NULL

When the nextToken() call is made to this lexer's pANTLR3_TOKEN_SOURCE it will call mTokens() in this generated code, and will pass it the ctx pointer of this lexer, not the context of the base lexer, so store that now.

Install the token matching function