KiCad PCB EDA Suite
lib_table_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 LIB_TABLE_LEXER_H_
7 #define LIB_TABLE_LEXER_H_
8 
9 #include <dsnlexer.h>
10 
23 namespace LIB_TABLE_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_descr = 0,
50  };
51 } // namespace LIB_TABLE_T
52 
53 
60 class LIB_TABLE_LEXER : public DSNLEXER
61 {
63  static const KEYWORD keywords[];
64  static const unsigned keyword_count;
65 
66 public:
73  LIB_TABLE_LEXER( const std::string& aSExpression, const wxString& aSource = wxEmptyString ) :
74  DSNLEXER( keywords, keyword_count, aSExpression, aSource )
75  {
76  }
77 
87  LIB_TABLE_LEXER( FILE* aFile, const wxString& aFilename ) :
88  DSNLEXER( keywords, keyword_count, aFile, aFilename )
89  {
90  }
91 
103  LIB_TABLE_LEXER( LINE_READER* aLineReader ) :
104  DSNLEXER( keywords, keyword_count, aLineReader )
105  {
106  }
107 
112  static const char* TokenName( LIB_TABLE_T::T aTok );
113 
125  {
127  }
128 
138  {
140  }
141 
151  {
153  }
154 
160  {
161  return (LIB_TABLE_T::T) DSNLEXER::CurTok();
162  }
163 
169  {
171  }
172 };
173 
174 // example usage
175 
186 #endif // LIB_TABLE_LEXER_H_
Class LINE_READER is an abstract class from which implementation specific LINE_READERs may be derived...
Definition: richio.h:81
LIB_TABLE_T::T CurTok()
Function CurTok returns whatever NextTok() returned the last time it was called.
LIB_TABLE_T::T PrevTok()
Function PrevTok returns whatever NextTok() returned the 2nd to last time it was called.
int NeedSYMBOLorNUMBER()
Function NeedSYMBOLorNUMBER calls NextTok() and then verifies that the token read in satisfies bool I...
Definition: dsnlexer.cpp:418
T
enum T contains all this lexer's tokens.
static const KEYWORD keywords[]
Auto generated lexer keywords table and length:
int PrevTok()
Function PrevTok returns whatever NextTok() returned the 2nd to last time it was called.
Definition: dsnlexer.h:329
static const char * TokenName(LIB_TABLE_T::T aTok)
Function TokenName returns the name of the token in ASCII form.
LIB_TABLE_T::T NeedSYMBOL()
Function NeedSYMBOL calls NextTok() and then verifies that the token read in satisfies bool IsSymbol(...
LIB_TABLE_LEXER(FILE *aFile, const wxString &aFilename)
Constructor ( FILE* ) takes aFile already opened for reading and aFilename as parameters.
int NeedSYMBOL()
Function NeedSYMBOL calls NextTok() and then verifies that the token read in satisfies bool IsSymbol(...
Definition: dsnlexer.cpp:409
int CurTok()
Function CurTok returns whatever NextTok() returned the last time it was called.
Definition: dsnlexer.h:320
LIB_TABLE_T::T NeedSYMBOLorNUMBER()
Function NeedSYMBOLorNUMBER calls NextTok() and then verifies that the token read in satisfies bool I...
LIB_TABLE_LEXER(LINE_READER *aLineReader)
Constructor ( LINE_READER* ) intializes a lexer and prepares to read from aLineReader which is assume...
LIB_TABLE_T::T NextTok()
Function NextTok returns the next token found in the input file or T_EOF when reaching the end of fil...
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:540
Class LIB_TABLE_LEXER is an automatically generated class using the TokenList2DnsLexer.cmake technology, based on keywords provided by file: /home/kicad/workspace/kicad-doxygen/common/lib_table.keywords.
LIB_TABLE_LEXER(const std::string &aSExpression, const wxString &aSource=wxEmptyString)
Constructor ( const std::string&, const wxString& )
Struct KEYWORD holds a keyword string and its unique integer token.
Definition: dsnlexer.h:40
Class DSNLEXER implements a lexical analyzer for the SPECCTRA DSN file format.
Definition: dsnlexer.h:79
static const unsigned keyword_count
C++ does not put enum values in separate namespaces unless the enum itself is in a separate namespace...