Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

Scanner Class Reference

#include <scanner.h>

Class diagram for Scanner:

StackObj NoExplicitAllocationObj StringScanner InteractiveScanner FileScanner

List of all members.

Public Members

void push_char (fint c)
virtual char* fileName () = 0
virtual void start_line (char* prompt)
virtual void reset ()
int get_line_number ()
int get_column ()
virtual bool is_interactive ()
virtual bool is_string_scanner ()
virtual bool is_file_scanner ()
void SuppressErrors (bool b)
bool is_done ()
Scanner* close ()
Tokenget_token ()
void push_token (Token* t)
char* sourceAddr ()
char* lastWhiteSpaceBefore (char* start)
virtual void discardInput ()
virtual void ErrorMessage (char* msg, fint l, fint c)
void resetTokenList ()
void start_allowing_comments ()
void stop_allowing_comments ()
TokenListcommentList

Protected Members

 Scanner ()
 Scanner (long fsz)
 Scanner (FILE* source_file)
void initialize ()
virtual fint read_next_char () = 0
virtual bool is_buffer_filled ()
fint get_char ()
Tokenread_numeric_escape (fint base, fint howMany, char& ch)
Tokenread_char (char*& buf, bool& cannot_be_a_delimeter)
Tokenread_escaped_char (char*& buf, bool& cannot_be_a_delimeter)
Tokenskip_comment ()
Tokenread_name (fint c)
Tokenread_op (fint c)
Tokenread_number (fint c)
Tokenread_string ()
Tokenread_general_string (char delimiter, Token::TokenType t)
Tokenread_dot ()
void initSourcePos ()
TokenTokenizingError (char* msg)
SourceBuffersourceBuf
fint line
fint column
fint depth
TokenPushbacktokens
CharPushbackchars
bool suppress

Detailed Description


Member Function Documentation

void Scanner::push_char (fint c)

virtual char* Scanner::fileName () [pure virtual]

Reimplemented in FileScanner, InteractiveScanner, and StringScanner.

virtual void Scanner::start_line (char * prompt) [inline, virtual]

Reimplemented in InteractiveScanner.

virtual void Scanner::reset () [inline, virtual]

Reimplemented in InteractiveScanner.

int Scanner::get_line_number () [inline]

int Scanner::get_column () [inline]

virtual bool Scanner::is_interactive () [inline, virtual]

Reimplemented in InteractiveScanner.

virtual bool Scanner::is_string_scanner () [inline, virtual]

Reimplemented in StringScanner.

virtual bool Scanner::is_file_scanner () [inline, virtual]

Reimplemented in FileScanner.

void Scanner::SuppressErrors (bool b)

bool Scanner::is_done ()

Scanner* Scanner::close ()

Token * Scanner::get_token ()

void Scanner::push_token (Token * t) [inline]

char * Scanner::sourceAddr () [inline]

char * Scanner::lastWhiteSpaceBefore (char * start) [inline]

virtual void Scanner::discardInput () [inline, virtual]

Reimplemented in InteractiveScanner.

void Scanner::ErrorMessage (char * msg, fint l, fint c) [virtual]

Reimplemented in InteractiveScanner.

void Scanner::resetTokenList ()

void Scanner::start_allowing_comments () [inline]

void Scanner::stop_allowing_comments () [inline]

Scanner::Scanner () [protected]

Scanner::Scanner (long fsz) [protected]

Scanner::Scanner (FILE * source_file) [protected]

void Scanner::initialize () [protected]

virtual fint Scanner::read_next_char () [protected, pure virtual]

Reimplemented in FileScanner, InteractiveScanner, and StringScanner.

virtual bool Scanner::is_buffer_filled () [inline, protected, virtual]

Reimplemented in FileScanner, InteractiveScanner, and StringScanner.

fint Scanner::get_char () [protected]

Token * Scanner::read_numeric_escape (fint base, fint howmany, char & ch) [protected]

Token * Scanner::read_char (char *& buf, bool & cannot_be_a_delimeter) [protected]

Token * Scanner::read_escaped_char (char *& buf, bool & cannot_be_a_delimeter) [protected]

Token * Scanner::skip_comment () [protected]

Token * Scanner::read_name (fint c) [protected]

Token * Scanner::read_op (fint c) [protected]

Token * Scanner::read_number (fint c) [protected]

Token * Scanner::read_string () [protected]

Token * Scanner::read_general_string (char delimiter, Token::TokenType tokenType) [protected]

Token * Scanner::read_dot () [protected]

void Scanner::initSourcePos () [protected]

Token * Scanner::TokenizingError (char * msg) [protected]


Member Data Documentation

TokenList* Scanner::commentList

SourceBuffer* Scanner::sourceBuf [protected]

fint Scanner::line [protected]

fint Scanner::column [protected]

fint Scanner::depth [protected]

TokenPushback* Scanner::tokens [protected]

CharPushback* Scanner::chars [protected]

bool Scanner::suppress [protected]


The documentation for this class was generated from the following files:
Generated at Tue Jun 27 12:09:41 2000 for SelfVM by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999