comma::Lexer Class Reference

#include <Lexer.h>

Collaboration diagram for comma::Lexer:
Collaboration graph
[legend]

List of all members.

Classes

class  Token

Public Types

enum  Code { UNUSED_ID }

Public Member Functions

 Lexer (TextProvider &txtProvider, Diagnostic &diag)
void scan (Lexer::Token &tkn)
void peek (Lexer::Token &tkn, unsigned n)
void beginExcursion ()
void endExcursion ()
void forgetExcursion ()
bool lexSuccessful () const
unsigned getErrorCount () const
void abortScanning ()

Static Public Member Functions

static bool isFunctionGlyph (const Lexer::Token &tkn)
static const char * tokenString (Code code)
static std::string tokenString (const Token &tkn)

Detailed Description

Definition at line 19 of file Lexer.h.


Member Enumeration Documentation

Enumerator:
UNUSED_ID 

Definition at line 30 of file Lexer.h.


Constructor & Destructor Documentation

Lexer::Lexer ( TextProvider txtProvider,
Diagnostic diag 
)

Definition at line 14 of file Lexer.cpp.


Member Function Documentation

void comma::Lexer::abortScanning (  )  [inline]

Calling this function prematurely aborts scanning. All further calls to Lexer::scan will result in a TKN_EOT token thereby ending the lexical analysis.

Definition at line 112 of file Lexer.h.

void Lexer::beginExcursion (  ) 

Definition at line 680 of file Lexer.cpp.

void Lexer::endExcursion (  ) 

Definition at line 685 of file Lexer.cpp.

void Lexer::forgetExcursion (  ) 

Definition at line 691 of file Lexer.cpp.

unsigned comma::Lexer::getErrorCount (  )  const [inline]

Definition at line 107 of file Lexer.h.

static bool comma::Lexer::isFunctionGlyph ( const Lexer::Token tkn  )  [inline, static]

Definition at line 116 of file Lexer.h.

bool comma::Lexer::lexSuccessful (  )  const [inline]

Definition at line 104 of file Lexer.h.

void Lexer::peek ( Lexer::Token tkn,
unsigned  n 
)

Definition at line 703 of file Lexer.cpp.

void Lexer::scan ( Lexer::Token tkn  ) 

Definition at line 721 of file Lexer.cpp.

std::string Lexer::tokenString ( const Token tkn  )  [static]

Definition at line 47 of file Lexer.cpp.

const char * Lexer::tokenString ( Code  code  )  [static]

Definition at line 28 of file Lexer.cpp.


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

Generated on 1 Feb 2010 for Comma by  doxygen 1.6.1