parser Class Reference

#include <parser.hh>

List of all members.

Public Member Functions

 parser (bool preprocess=false)
void erase ()
void remove_empty_nodes ()

Public Attributes

exptree tree

Private Types

enum  mode_t {
  m_skipwhite, m_name, m_findchildren, m_singlecharname,
  m_backslashname, m_childgroup, m_initialgroup, m_verbatim,
  m_property
}

Private Member Functions

void advance (unsigned int &i)
unsigned char get_token (unsigned int i)
bool string2tree (const std::string &inp)
bool is_number (const std::string &str) const
str_node::bracket_t is_closing_bracket (const unsigned char &br) const
str_node::bracket_t is_opening_bracket (const unsigned char &br) const
str_node::parent_rel_t is_link (const unsigned char &ln) const

Private Attributes

bool preprocess_
exptree::iterator parts
std::string str
std::vector< mode_tcurrent_mode
std::vector< str_node::bracket_tcurrent_bracket
std::vector< str_node::parent_rel_tcurrent_parent_rel

Friends

std::istream & operator>> (std::istream &, parser &)
std::ostream & operator<< (std::ostream &, parser &)


Detailed Description

Parser module, which takes the string output of the preprocessor.hh module and turns it into a tree. The output of preprocessor.hh is assumed to be valid and consistent, so the code here is rather simple.


Member Enumeration Documentation

enum parser::mode_t [private]
 

Enumerator:
m_skipwhite 
m_name 
m_findchildren 
m_singlecharname 
m_backslashname 
m_childgroup 
m_initialgroup 
m_verbatim 
m_property 


Constructor & Destructor Documentation

parser::parser bool  preprocess = false  ) 
 


Member Function Documentation

void parser::advance unsigned int &  i  )  [private]
 

void parser::erase  ) 
 

unsigned char parser::get_token unsigned int  i  )  [private]
 

str_node::bracket_t parser::is_closing_bracket const unsigned char &  br  )  const [private]
 

str_node::parent_rel_t parser::is_link const unsigned char &  ln  )  const [private]
 

bool parser::is_number const std::string &  str  )  const [private]
 

str_node::bracket_t parser::is_opening_bracket const unsigned char &  br  )  const [private]
 

void parser::remove_empty_nodes  ) 
 

bool parser::string2tree const std::string &  inp  )  [private]
 


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &  ,
parser
[friend]
 

std::istream& operator>> std::istream &  ,
parser
[friend]
 


Member Data Documentation

std::vector<str_node::bracket_t> parser::current_bracket [private]
 

std::vector<mode_t> parser::current_mode [private]
 

std::vector<str_node::parent_rel_t> parser::current_parent_rel [private]
 

exptree::iterator parser::parts [private]
 

bool parser::preprocess_ [private]
 

std::string parser::str [private]
 

exptree parser::tree
 


The documentation for this class was generated from the following files:
Generated on Sat Jul 18 23:03:16 2009 for cadabra by  doxygen 1.4.6