atlas  0.6
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
atlas::interpreter::Lexical_analyser Class Reference

#include <lexer.h>

Collaboration diagram for atlas::interpreter::Lexical_analyser:
Collaboration graph
[legend]

Public Member Functions

 Lexical_analyser (BufferedInput &, Hash_table &, const char **, const char **type_names)
 
int get_token (YYSTYPE *valp, YYLTYPE *locp)
 
bool reset ()
 
void set_comment_delims (char c, char d)
 
const char * scanned_file_name () const
 
id_type first_identifier () const
 
bool is_initial () const
 

Private Types

enum  states { initial, normal, ended }
 

Private Member Functions

void skip_space () const
 
bool becomes_follows ()
 
std::string scan_quoted_string () const
 

Private Attributes

BufferedInputinput
 
Hash_tableid_table
 
id_type keyword_limit
 
id_type type_limit
 
int nesting
 
char prevent_termination
 
int comment_start
 
int comment_end
 
states state
 
std::string file_name
 

Member Enumeration Documentation

Enumerator
initial 
normal 
ended 

Constructor & Destructor Documentation

atlas::interpreter::Lexical_analyser::Lexical_analyser ( BufferedInput source,
Hash_table hash,
const char **  keywords,
const char **  type_names 
)

Member Function Documentation

bool atlas::interpreter::Lexical_analyser::becomes_follows ( )
private
id_type atlas::interpreter::Lexical_analyser::first_identifier ( ) const
inline
int atlas::interpreter::Lexical_analyser::get_token ( YYSTYPE valp,
YYLTYPE locp 
)
bool atlas::interpreter::Lexical_analyser::is_initial ( ) const
inline
bool atlas::interpreter::Lexical_analyser::reset ( )
std::string atlas::interpreter::Lexical_analyser::scan_quoted_string ( ) const
private
const char* atlas::interpreter::Lexical_analyser::scanned_file_name ( ) const
inline
void atlas::interpreter::Lexical_analyser::set_comment_delims ( char  c,
char  d 
)
inline
void atlas::interpreter::Lexical_analyser::skip_space ( ) const
private

Member Data Documentation

int atlas::interpreter::Lexical_analyser::comment_end
private
int atlas::interpreter::Lexical_analyser::comment_start
private
std::string atlas::interpreter::Lexical_analyser::file_name
private
Hash_table& atlas::interpreter::Lexical_analyser::id_table
private
BufferedInput& atlas::interpreter::Lexical_analyser::input
private
id_type atlas::interpreter::Lexical_analyser::keyword_limit
private
int atlas::interpreter::Lexical_analyser::nesting
private
char atlas::interpreter::Lexical_analyser::prevent_termination
private
states atlas::interpreter::Lexical_analyser::state
private
id_type atlas::interpreter::Lexical_analyser::type_limit
private

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