Synopsis/Lexer.hh

source code

Includes from this file:

include Synopsis/Token.hh

Declarations in this file:

Classes in Synopsis

Buffer

Buffer holds the memory on top of which a parse tree / syntax tree is constructed.


Lexer

a Lexer reads tokens from a stream.

Classes in Synopsis::Lexer

Queue

a Queue is used to read in tokens from a stream without consuming them

Data members in Synopsis::Lexer::Queue

my_container

Data members in Synopsis::Lexer

my_buffer

my_comments

my_keywords

my_token

my_tokens

Enums in Synopsis::Lexer

TokenSet

Define sets of token that are to be recognized as special keywords (as opposed to identifiers).

Functions in Synopsis

is_blank(char)

Member functions in Synopsis::Lexer::InvalidChar

InvalidChar(const std::string&)

Member functions in Synopsis::Lexer

Lexer(Buffer*,int)

Construct a Lexer on the given Buffer using the given token set.

Member functions in Synopsis::Lexer::Queue

at(size_type)const

push(const Token&)

Member functions in Synopsis::Lexer

get_token(Token&)

look_ahead(size_t)

look_ahead(size_t,Token&)

origin(const char*,std::string&)const

Return the origin of the given pointer (filename and line number)


read_char_const(unsigned long)

read_number(char,unsigned long)

read_token(const char*&,size_t&)

restore(const char*)

save()

screen(const char*,size_t)

single_char_op(unsigned char)

Parameters in Synopsis::Lexer::InvalidChar::`InvalidChar(const std::string&)

msg

Parameters in Synopsis::Lexer::Queue::`at(size_type)const

i

Parameters in Synopsis::Lexer::Queue::`push(const Token&)

t

Parameters in Synopsis::`is_blank(char)

c

Parameters in Synopsis::`is_digit(char)

c

Parameters in Synopsis::`is_eletter(char)

c

Parameters in Synopsis::`is_float_suffix(char)

c

Parameters in Synopsis::`is_hexdigit(char)

c

Parameters in Synopsis::`is_int_suffix(char)

c

Parameters in Synopsis::`is_letter(char)

c

Parameters in Synopsis::`is_xletter(char)

c

Structs in Synopsis::Lexer

InvalidChar

Thises in Synopsis::Lexer::InvalidChar::`InvalidChar(const std::string&)

this

Thises in Synopsis::Lexer::Queue::`at(size_type)const

this

Thises in Synopsis::Lexer::Queue::`back()const

this

Thises in Synopsis::Lexer::Queue::`clear()

this

Thises in Synopsis::Lexer::Queue::`empty()const

this

Thises in Synopsis::Lexer::Queue::`front()const

this

Thises in Synopsis::Lexer::Queue::`pop()

this

Thises in Synopsis::Lexer::Queue::`push(const Token&)

this

Thises in Synopsis::Lexer::Queue::`size()const

this

Typedefs in Synopsis::Lexer

Comments

Dictionary

Typedefs in Synopsis::Lexer::Queue

Container

size_type