KiCad PCB EDA Suite
cmp_library_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 CMP_LIBRARY_LEXER_H_
7 #define CMP_LIBRARY_LEXER_H_
8 
9 #include <dsnlexer.h>
10 
23 namespace TLIB_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_arc = 0,
75  };
76 } // namespace TLIB_T
77 
78 
86 {
88  static const KEYWORD keywords[];
89  static const unsigned keyword_count;
90 
91 public:
98  CMP_LIBRARY_LEXER( const std::string& aSExpression, const wxString& aSource = wxEmptyString ) :
99  DSNLEXER( keywords, keyword_count, aSExpression, aSource )
100  {
101  }
102 
112  CMP_LIBRARY_LEXER( FILE* aFile, const wxString& aFilename ) :
113  DSNLEXER( keywords, keyword_count, aFile, aFilename )
114  {
115  }
116 
128  CMP_LIBRARY_LEXER( LINE_READER* aLineReader ) :
129  DSNLEXER( keywords, keyword_count, aLineReader )
130  {
131  }
132 
137  static const char* TokenName( TLIB_T::T aTok );
138 
150  {
151  return (TLIB_T::T) DSNLEXER::NextTok();
152  }
153 
163  {
164  return (TLIB_T::T) DSNLEXER::NeedSYMBOL();
165  }
166 
176  {
178  }
179 
185  {
186  return (TLIB_T::T) DSNLEXER::CurTok();
187  }
188 
194  {
195  return (TLIB_T::T) DSNLEXER::PrevTok();
196  }
197 };
198 
199 // example usage
200 
211 #endif // CMP_LIBRARY_LEXER_H_
Class LINE_READER is an abstract class from which implementation specific LINE_READERs may be derived...
Definition: richio.h:81
CMP_LIBRARY_LEXER(const std::string &aSExpression, const wxString &aSource=wxEmptyString)
Constructor ( const std::string&, const wxString& )
static const unsigned keyword_count
int NeedSYMBOLorNUMBER()
Function NeedSYMBOLorNUMBER calls NextTok() and then verifies that the token read in satisfies bool I...
Definition: dsnlexer.cpp:419
TLIB_T::T NeedSYMBOLorNUMBER()
Function NeedSYMBOLorNUMBER calls NextTok() and then verifies that the token read in satisfies bool I...
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
C++ does not put enum values in separate namespaces unless the enum itself is in a separate namespace...
int NeedSYMBOL()
Function NeedSYMBOL calls NextTok() and then verifies that the token read in satisfies bool IsSymbol(...
Definition: dsnlexer.cpp:410
TLIB_T::T NextTok()
Function NextTok returns the next token found in the input file or T_EOF when reaching the end of fil...
CMP_LIBRARY_LEXER(LINE_READER *aLineReader)
Constructor ( LINE_READER* ) intializes a lexer and prepares to read from aLineReader which is assume...
int CurTok()
Function CurTok returns whatever NextTok() returned the last time it was called.
Definition: dsnlexer.h:320
TLIB_T::T PrevTok()
Function PrevTok returns whatever NextTok() returned the 2nd to last time it was called.
static const char * TokenName(TLIB_T::T aTok)
Function TokenName returns the name of the token in ASCII form.
CMP_LIBRARY_LEXER(FILE *aFile, const wxString &aFilename)
Constructor ( FILE* ) takes aFile already opened for reading and aFilename as parameters.
Class CMP_LIBRARY_LEXER is an automatically generated class using the TokenList2DnsLexer.cmake technology, based on keywords provided by file: /home/kicad/workspace/kicad-doxygen/eeschema/cmp_library.keywords.
TLIB_T::T NeedSYMBOL()
Function NeedSYMBOL calls NextTok() and then verifies that the token read in satisfies bool IsSymbol(...
T
enum T contains all this lexer's tokens.
TLIB_T::T CurTok()
Function CurTok returns whatever NextTok() returned the last time it was called.
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
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