Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Lex Class Reference

#include <token.h>

Inheritance diagram for Lex:

Inheritance graph
[legend]
Collaboration diagram for Lex:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Lex (Program *)
int GetToken (Token &)
int LookAhead (int)
int LookAhead (int, Token &)
char * Save ()
void Restore (char *)
void GetOnlyClosingBracket (Token &)
Ptree * GetComments ()
Ptree * GetComments2 ()
uint LineNumber (char *, char *&, int &)

Static Public Member Functions

bool RecordKeyword (char *, int)
bool Reify (Ptree *, unsigned int &)
bool Reify (Ptree *t, char *&)

Private Member Functions

uint Tokenp ()
int TokenLen ()
char * TokenPosition ()
char Ref (uint i)
void Rewind (char *)
int ReadToken (char *&, int &)
void SkipAttributeToken ()
int SkipExtensionToken (char *&, int &)
char GetNextNonWhiteChar ()
int ReadLine ()
bool ReadCharConst (uint top)
bool ReadStrConst (uint top)
int ReadNumber (char c, uint top)
int ReadFloat (uint top)
bool ReadLineDirective ()
int ReadIdentifier (uint top)
int Screening (char *identifier, int len)
int ReadSeparator (char c, uint top)
int SingleCharOp (unsigned char c)
int ReadComment (char c, uint top)

Private Attributes

Program * file
TokenFifo fifo
uint tokenp
int token_len
int last_token

Static Private Attributes

HashTable * user_keywords = nil
Ptree * comments = nil

Constructor & Destructor Documentation

Lex::Lex (  Program *   ) 
 


Member Function Documentation

int Lex::GetToken (  Token &   ) 
 

int Lex::LookAhead (  int   ) 
 

int Lex::LookAhead (  int  ,
Token & 
) 
 

char * Lex::Save (   ) 
 

void Lex::Restore (  char *   ) 
 

void Lex::GetOnlyClosingBracket (  Token &   ) 
 

Ptree * Lex::GetComments (   ) 
 

Ptree * Lex::GetComments2 (   ) 
 

uint Lex::LineNumber (  char *  ,
char *&  ,
int & 
) 
 

bool Lex::RecordKeyword (  char *  ,
int 
)  [static]
 

bool Lex::Reify (  Ptree *  ,
unsigned int & 
)  [static]
 

bool Lex::Reify (  Ptree *  t,
char *& 
)  [static]
 

uint Lex::Tokenp (   )  [inline, private]
 

int Lex::TokenLen (   )  [inline, private]
 

char * Lex::TokenPosition (   )  [private]
 

char Lex::Ref (  uint  i  )  [private]
 

void Lex::Rewind (  char *   )  [private]
 

int Lex::ReadToken (  char *&  ,
int & 
)  [private]
 

void Lex::SkipAttributeToken (   )  [private]
 

int Lex::SkipExtensionToken (  char *&  ,
int & 
)  [private]
 

char Lex::GetNextNonWhiteChar (   )  [private]
 

int Lex::ReadLine (   )  [private]
 

bool Lex::ReadCharConst (  uint  top  )  [private]
 

bool Lex::ReadStrConst (  uint  top  )  [private]
 

int Lex::ReadNumber (  char  c,
uint  top
)  [private]
 

int Lex::ReadFloat (  uint  top  )  [private]
 

bool Lex::ReadLineDirective (   )  [private]
 

int Lex::ReadIdentifier (  uint  top  )  [private]
 

int Lex::Screening (  char *  identifier,
int  len
)  [private]
 

int Lex::ReadSeparator (  char  c,
uint  top
)  [private]
 

int Lex::SingleCharOp (  unsigned char  c  )  [private]
 

int Lex::ReadComment (  char  c,
uint  top
)  [private]
 


Member Data Documentation

Program* Lex::file [private]
 

TokenFifo Lex::fifo [private]
 

uint Lex::tokenp [private]
 

int Lex::token_len [private]
 

int Lex::last_token [private]
 

HashTable * Lex::user_keywords = nil [static, private]
 

Ptree * Lex::comments = nil [static, private]
 


The documentation for this class was generated from the following files:
Generated on Wed Aug 11 22:35:44 2004 for IOPC by Doxygen 1.3.6