Tokenizer Class Reference

Ratpac-two: RAT::Tokenizer Class Reference
Ratpac-two

#include <DBTextLoader.hh>

Public Types

enum  Type {
  TYPE_IDENTIFIER , TYPE_INTEGER , TYPE_DOUBLE , TYPE_STRING ,
  TYPE_SYMBOL , TYPE_EOF , TYPE_ERROR , TYPE_EOF_ERROR
}
 

Public Member Functions

 Tokenizer (std::string doc, std::string _filename="")
 
Tokenizer::Type Next ()
 
std::string Token ()
 
int AsInt ()
 
double AsDouble ()
 
void RaiseError (std::string message)
 
void RaiseProbablyJSONError (std::string message)
 
std::string GetFilename () const
 
bool Eof ()
 

Static Public Member Functions

static bool IsValType (Tokenizer::Type type)
 

Protected Types

enum  State {
  STATE_START , STATE_COMMENT , STATE_COMMENT_LONG , STATE_COMMENT_LINE ,
  STATE_IDENTIFIER , STATE_NUMBER , STATE_HEX_NUMBER , STATE_STRING ,
  STATE_STRING_ESC
}
 

Protected Attributes

bool eof
 
std::string doc
 
std::string filename
 
int pos
 
int len
 
std::string token
 
int intval
 
double doubleval
 
int linenum
 
int linestart
 

Static Protected Attributes

static const std::string number_char = "0123456789+-.ed"
 
static const std::string symbol_char = "{}[],:#"
 
static const std::string quote_char = "\"'"
 
static const std::string hex_char = "0123456789abcdefABCDEF"
 

Detailed Description

Tokenizer for RATDB text format.


The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/db/include/RAT/DBTextLoader.hh
  • /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/db/src/DBTextLoader.cc