KiCad PCB EDA Suite
specctra_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 SPECCTRA_LEXER_H_
7 #define SPECCTRA_LEXER_H_
8 
9 #include <dsnlexer.h>
10 
23 namespace DSN
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 
430  };
431 } // namespace DSN
432 
433 
440 class SPECCTRA_LEXER : public DSNLEXER
441 {
443  static const KEYWORD keywords[];
444  static const unsigned keyword_count;
445 
446 public:
453  SPECCTRA_LEXER( const std::string& aSExpression, const wxString& aSource = wxEmptyString ) :
454  DSNLEXER( keywords, keyword_count, aSExpression, aSource )
455  {
456  }
457 
467  SPECCTRA_LEXER( FILE* aFile, const wxString& aFilename ) :
468  DSNLEXER( keywords, keyword_count, aFile, aFilename )
469  {
470  }
471 
483  SPECCTRA_LEXER( LINE_READER* aLineReader ) :
484  DSNLEXER( keywords, keyword_count, aLineReader )
485  {
486  }
487 
492  static const char* TokenName( DSN::T aTok );
493 
505  {
506  return (DSN::T) DSNLEXER::NextTok();
507  }
508 
518  {
519  return (DSN::T) DSNLEXER::NeedSYMBOL();
520  }
521 
531  {
533  }
534 
540  {
541  return (DSN::T) DSNLEXER::CurTok();
542  }
543 
549  {
550  return (DSN::T) DSNLEXER::PrevTok();
551  }
552 };
553 
554 // example usage
555 
566 #endif // SPECCTRA_LEXER_H_
Class LINE_READER is an abstract class from which implementation specific LINE_READERs may be derived...
Definition: richio.h:81
Class SPECCTRA_LEXER is an automatically generated class using the TokenList2DnsLexer.cmake technology, based on keywords provided by file: /home/kicad/workspace/kicad-doxygen/pcbnew/specctra.keywords.
SPECCTRA_LEXER(const std::string &aSExpression, const wxString &aSource=wxEmptyString)
Constructor ( const std::string&, const wxString& )
This source file implements export and import capabilities to the specctra dsn file format...
Definition: specctra.cpp:62
DSN::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
SPECCTRA_LEXER(FILE *aFile, const wxString &aFilename)
Constructor ( FILE* ) takes aFile already opened for reading and aFilename as parameters.
T
enum T contains all this lexer's tokens.
int PrevTok()
Function PrevTok returns whatever NextTok() returned the 2nd to last time it was called.
Definition: dsnlexer.h:329
DSN::T NeedSYMBOLorNUMBER()
Function NeedSYMBOLorNUMBER calls NextTok() and then verifies that the token read in satisfies bool I...
int NeedSYMBOL()
Function NeedSYMBOL calls NextTok() and then verifies that the token read in satisfies bool IsSymbol(...
Definition: dsnlexer.cpp:409
static const KEYWORD keywords[]
Auto generated lexer keywords table and length:
int CurTok()
Function CurTok returns whatever NextTok() returned the last time it was called.
Definition: dsnlexer.h:320
DSN::T CurTok()
Function CurTok returns whatever NextTok() returned the last time it was called.
static const unsigned keyword_count
DSN::T NextTok()
Function NextTok returns the next token found in the input file or T_EOF when reaching the end of fil...
static const char * TokenName(DSN::T aTok)
Function TokenName returns the name of the token in ASCII form.
SPECCTRA_LEXER(LINE_READER *aLineReader)
Constructor ( LINE_READER* ) intializes a lexer and prepares to read from aLineReader which is assume...
DSN::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:540
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