KiCad PCB EDA Suite
template_fieldnames_lexer.h
Go to the documentation of this file.
1 
2 /* Do not modify this file it was automatically generated by the
3  * TokenList2DsnLexer CMake script.
4  */
5 
6 #ifndef TEMPLATE_FIELDNAMES_LEXER_H_
7 #define TEMPLATE_FIELDNAMES_LEXER_H_
8 
9 #include <dsnlexer.h>
10 
23 namespace TFIELD_T
24 {
26  enum T
27  {
28  // these first few are negative special ones for syntax, and are
29  // inherited from DSNLEXER.
37  T_RIGHT = DSN_RIGHT, // right bracket: ')'
38  T_LEFT = DSN_LEFT, // left bracket: '('
39  T_STRING = DSN_STRING, // a quoted string, stripped of the quotes
40  T_EOF = DSN_EOF, // special case for end of file
41 
42  T_field = 0,
47  };
48 } // namespace TFIELD_T
49 
50 
58 {
60  static const KEYWORD keywords[];
61  static const unsigned keyword_count;
62 
63 public:
70  TEMPLATE_FIELDNAMES_LEXER( const std::string& aSExpression, const wxString& aSource = wxEmptyString ) :
71  DSNLEXER( keywords, keyword_count, aSExpression, aSource )
72  {
73  }
74 
84  TEMPLATE_FIELDNAMES_LEXER( FILE* aFile, const wxString& aFilename ) :
85  DSNLEXER( keywords, keyword_count, aFile, aFilename )
86  {
87  }
88 
101  DSNLEXER( keywords, keyword_count, aLineReader )
102  {
103  }
104 
109  static const char* TokenName( TFIELD_T::T aTok );
110 
122  {
123  return (TFIELD_T::T) DSNLEXER::NextTok();
124  }
125 
135  {
137  }
138 
148  {
150  }
151 
157  {
158  return (TFIELD_T::T) DSNLEXER::CurTok();
159  }
160 
166  {
167  return (TFIELD_T::T) DSNLEXER::PrevTok();
168  }
169 };
170 
171 // example usage
172 
183 #endif // TEMPLATE_FIELDNAMES_LEXER_H_
Class LINE_READER is an abstract class from which implementation specific LINE_READERs may be derived...
Definition: richio.h:81
static const unsigned keyword_count
Class TEMPLATE_FIELDNAMES_LEXER is an automatically generated class using the TokenList2DnsLexer.cmake technology, based on keywords provided by file: /home/kicad/workspace/kicad-doxygen/eeschema/template_fieldnames.keywords.
int NeedSYMBOLorNUMBER()
Function NeedSYMBOLorNUMBER calls NextTok() and then verifies that the token read in satisfies bool I...
Definition: dsnlexer.cpp:419
TFIELD_T::T PrevTok()
Function PrevTok returns whatever NextTok() returned the 2nd to last time it was called.
int PrevTok()
Function PrevTok returns whatever NextTok() returned the 2nd to last time it was called.
Definition: dsnlexer.h:329
int NeedSYMBOL()
Function NeedSYMBOL calls NextTok() and then verifies that the token read in satisfies bool IsSymbol(...
Definition: dsnlexer.cpp:410
TFIELD_T::T NeedSYMBOLorNUMBER()
Function NeedSYMBOLorNUMBER calls NextTok() and then verifies that the token read in satisfies bool I...
T
enum T contains all this lexer's tokens.
int CurTok()
Function CurTok returns whatever NextTok() returned the last time it was called.
Definition: dsnlexer.h:320
TEMPLATE_FIELDNAMES_LEXER(LINE_READER *aLineReader)
Constructor ( LINE_READER* ) intializes a lexer and prepares to read from aLineReader which is assume...
TEMPLATE_FIELDNAMES_LEXER(const std::string &aSExpression, const wxString &aSource=wxEmptyString)
Constructor ( const std::string&, const wxString& )
C++ does not put enum values in separate namespaces unless the enum itself is in a separate namespace...
static const char * TokenName(TFIELD_T::T aTok)
Function TokenName returns the name of the token in ASCII form.
TFIELD_T::T NeedSYMBOL()
Function NeedSYMBOL calls NextTok() and then verifies that the token read in satisfies bool IsSymbol(...
int NextTok()
Function NextTok returns the next token found in the input file or DSN_EOF when reaching the end of f...
Definition: dsnlexer.cpp:541
static const KEYWORD keywords[]
Auto generated lexer keywords table and length:
TEMPLATE_FIELDNAMES_LEXER(FILE *aFile, const wxString &aFilename)
Constructor ( FILE* ) takes aFile already opened for reading and aFilename as parameters.
TFIELD_T::T NextTok()
Function NextTok returns the next token found in the input file or T_EOF when reaching the end of fil...
Struct KEYWORD holds a keyword string and its unique integer token.
Definition: dsnlexer.h:40
Struct IO_ERROR is a class used to hold an error message and may be used when throwing exceptions con...
Definition: ki_exception.h:47
Class DSNLEXER implements a lexical analyzer for the SPECCTRA DSN file format.
Definition: dsnlexer.h:79
TFIELD_T::T CurTok()
Function CurTok returns whatever NextTok() returned the last time it was called.