torc::generic::Scanner Class Reference

#include <Scanner.hpp>

List of all members.

Public Member Functions

 Scanner (std::istream *arg_yyin=0, std::ostream *arg_yyout=0)
virtual ~Scanner ()
virtual Parser::token_type lex (Parser::semantic_type *yylval, Parser::location_type *yylloc)
void set_debug (bool b)
bool getIsIdContext () const throw ()
void setIsIdContext (bool inIsIdContext) throw ()
void skipThisRule (char *yytext)
bool getAppendToBuffer () throw ()
void setAppendToBuffer (bool inAppendToBuffer) throw ()
void resetBuffer () throw ()
void addToBuffer (const char *str) throw ()
std::string getBuffer () throw ()
bool getAppendToUserDataBuffer () throw ()
void setAppendToUserDataBuffer (bool inAppendToBuffer) throw ()
void addToUserDataBuffer (const char *str) throw ()
void resetUserDataBuffer () throw ()
std::string getUserDataBuffer () throw ()

Private Attributes

bool mIsIdContext
bool mAppendToBuffer
bool mAppendToUserDataBuffer
std::string mBuffer
std::string mUserDataBuffer
bool mIsIdAlreadyAdded


Detailed Description

Scanner is a derived class to add some extra function to the scanner class. Flex itself creates a class named FlexLexer, which is renamed using macros to EdifFlexLexer. However we change the context of the generated yylex() function to be contained within the Scanner class. This is required because the yylex() defined in EdifFlexLexer has no parameters.

Definition at line 55 of file Scanner.hpp.


Constructor & Destructor Documentation

torc::generic::Scanner::Scanner ( std::istream *  arg_yyin = 0,
std::ostream *  arg_yyout = 0 
)

Create a new scanner object. The streams arg_yyin and arg_yyout default to cin and cout, but that assignment is only made when initializing in yylex().

Definition at line 7041 of file Scanner.cc.

torc::generic::Scanner::~Scanner (  )  [virtual]

Required for virtual functions

Definition at line 7053 of file Scanner.cc.


Member Function Documentation

virtual Parser::token_type torc::generic::Scanner::lex ( Parser::semantic_type yylval,
Parser::location_type yylloc 
) [virtual]

This is the main lexing function. It is generated by flex according to the macro declaration YY_DECL above. The generated bison parser then calls this virtual function to fetch new tokens.

void torc::generic::Scanner::set_debug ( bool  b  ) 

Enable debug output (via arg_yyout) if compiled into the scanner.

Definition at line 7126 of file Scanner.cc.


The documentation for this class was generated from the following files:

Generated on Thu Oct 13 16:50:42 2011 for TORC by  doxygen 1.5.6