Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Precompiler Class Reference

the precompiler class. More...

#include <precompiler.h>

List of all members.

Public Types

typedef std::list< Lineline_list
typedef line_list::iterator line_list_it

Public Methods

 Precompiler (std::string infile, std::string outfile, bool use_tmp, bool no_erase)
 Precompiler (std::string infile, std::string outfile, macro_list predef_soft_macros, macro_list predef_hard_macros, Strings::string_list locale, bool use_tmp, bool no_erase)
 ~Precompiler ()
void compile ()
std::string get_tmp_file ()

Static Public Methods

void warning (std::string message)
void warning (Line line, std::string message)

Static Public Attributes

bool emacs_warning = false
 emacs parseable warnings. More...

bool init_info = false

Private Types

typedef struct Macros
 structure handling the macros. More...

typedef std::list< Where_linkwhere_link_list
typedef where_link_list::iterator where_link_list_it
typedef std::list< Wherewhere_list
typedef std::list< Where
>::iterator 
where_list_it
typedef std::list< InitTableEntryinit_list
typedef init_list::iterator init_list_it
typedef std::list< Init_Scaninit_scan_list
typedef init_scan_list::iterator init_scan_list_it

Private Methods

Line read_line (File &in)
 reads a line from a lex file. More...

void write_line (const Line &line, File &out)
 writes a line to a lex file. More...

void lex_file (File in, File out)
 lexes an html file. More...

void include_scan (File in, File out, std::string last_cur_dir="")
 includes included files. More...

Macros read_macros (File in, Init::Range range)
 reads the macros. More...

void rebuilt_file (File in, File out)
 creates an html file from an lex file. More...

void substitude_soft_macros (Macros &macros, File in, File out, Init::Range range)
void substitude_hard_macros (Macros &macros, File in, File out, Init::Range range)
bool built_menu (File in, File out)
 creates the menu. More...

bool locale_support (File in, File out)
 locale switcher. More...

line_list_it find_locale_start (line_list &ll, line_list_it start)
 finds a new locale start. More...

line_list_it find_locale_end (line_list &ll, line_list_it start)
 finds the end of a locale. More...

void script_support (File in)
void image_scan (File in, File out, Init::Range range)
void filelink_scan (File in, File out)
void filelist_scan (File in, File out)
init_scan_list init_scan (File in, File out)
 scans for an init table and sets the init_table list. More...

bool script_function_scan (File in, File out)
 scans for script functions. More...

void compile (File in, File out)
 compile with the rules from the init table. More...

void include_at_line (Line line, File out)
 includes only at this line, if there is an include tag. More...

void char_set_scan (File in, File out)
 recode support. More...

void set (Init::Type type)
 marks a specific scan type as "found". More...

void auto_init_check (std::string &tag_type)
 try's to guess which scans are required. More...

bool delete_scan (File in, File out, Init::Range range)
 executes the delete tags. More...

void define_scan (File in)
 scans for user defined tags. More...

bool user_scan (File in, File out, std::string init_name)
 executes the user defined tags. More...

std::string get_path (std::string file)
 gets the real path to a file. More...

init_list get_default_init_table ()
void init_check (File in, File out)
 do not call init_scan directly use this function. More...


Static Private Methods

std::string simplify_path (std::string path)
 removes the exec_path from a given path. More...


Private Attributes

bool eof_reached
File in
File out
Tmptemp
init_list init_table
InterpreterHandler ip_handler
UserHandler::def_list defines
Strings::string_list user_scans
 all defined user scans. More...

std::string current_path
bool use_default_init_table
macro_list predef_soft_macros
 predefined soft macros. More...

macro_list predef_hard_macros
 predefined hard macros. More...

Strings::string_list locale_list
bool use_tmp
bool auto_init_detection

Friends

bool operator== (const Line &l1, const Line &l2)


Detailed Description

the precompiler class.


Member Typedef Documentation

typedef struct Precompiler::Macros [private]
 

structure handling the macros.

defined in macros.h

typedef std::list<InitTableEntry> Precompiler::init_list [private]
 

typedef init_list::iterator Precompiler::init_list_it [private]
 

typedef std::list<Init_Scan> Precompiler::init_scan_list [private]
 

typedef init_scan_list::iterator Precompiler::init_scan_list_it [private]
 

typedef std::list<Line> Precompiler::line_list
 

typedef line_list::iterator Precompiler::line_list_it
 

typedef std::list<Where_link> Precompiler::where_link_list [private]
 

typedef where_link_list::iterator Precompiler::where_link_list_it [private]
 

typedef std::list<Where> Precompiler::where_list [private]
 

typedef std::list<Where>::iterator Precompiler::where_list_it [private]
 


Constructor & Destructor Documentation

Precompiler::Precompiler std::string    infile,
std::string    outfile,
bool    use_tmp,
bool    no_erase
 

Precompiler::Precompiler std::string    infile,
std::string    outfile,
macro_list    predef_soft_macros,
macro_list    predef_hard_macros,
Strings::string_list    locale,
bool    use_tmp,
bool    no_erase
 

if the locale string is empty no language will be used

Parameters:
predef_soft_macros  predifined soft macros
predef_hard_macros  predefined hard macros
locale  the list of languages for locale support
use_tmp  use temporary files?
no_erase  don't delete the temp files

Precompiler::~Precompiler  
 


Member Function Documentation

void Precompiler::auto_init_check std::string &    tag_type [inline, private]
 

try's to guess which scans are required.

bool Precompiler::built_menu File    in,
File    out
[private]
 

creates the menu.

void Precompiler::char_set_scan File    in,
File    out
[private]
 

recode support.

void Precompiler::compile File    in,
File    out
[private]
 

compile with the rules from the init table.

void Precompiler::compile  
 

void Precompiler::define_scan File    in [private]
 

scans for user defined tags.

bool Precompiler::delete_scan File    in,
File    out,
Init::Range    range
[private]
 

executes the delete tags.

void Precompiler::filelink_scan File    in,
File    out
[private]
 

void Precompiler::filelist_scan File    in,
File    out
[private]
 

Precompiler::line_list_it Precompiler::find_locale_end line_list   ll,
line_list_it    start
[private]
 

finds the end of a locale.

Precompiler::line_list_it Precompiler::find_locale_start line_list   ll,
line_list_it    start
[private]
 

finds a new locale start.

Precompiler::init_list Precompiler::get_default_init_table   [private]
 

std::string Precompiler::get_path std::string    file [private]
 

gets the real path to a file.

std::string Precompiler::get_tmp_file  
 

void Precompiler::image_scan File    in,
File    out,
Init::Range    range
[private]
 

void Precompiler::include_at_line Line    line,
File    out
[private]
 

includes only at this line, if there is an include tag.

void Precompiler::include_scan File    in,
File    out,
std::string    last_cur_dir = ""
[private]
 

includes included files.

void Precompiler::init_check File    in,
File    out
[private]
 

do not call init_scan directly use this function.

Precompiler::init_scan_list Precompiler::init_scan File    in,
File    out
[private]
 

scans for an init table and sets the init_table list.

void Precompiler::lex_file File    in,
File    out
[private]
 

lexes an html file.

bool Precompiler::locale_support File    in,
File    out
[private]
 

locale switcher.

Line Precompiler::read_line File   in [private]
 

reads a line from a lex file.

Precompiler::Macros Precompiler::read_macros File    in,
Init::Range    range
[private]
 

reads the macros.

void Precompiler::rebuilt_file File    in,
File    out
[private]
 

creates an html file from an lex file.

bool Precompiler::script_function_scan File    in,
File    out
[private]
 

scans for script functions.

void Precompiler::script_support File    in [private]
 

void Precompiler::set Init::Type    type [inline, private]
 

marks a specific scan type as "found".

std::string Precompiler::simplify_path std::string    path [static, private]
 

removes the exec_path from a given path.

void Precompiler::substitude_hard_macros Macros   macros,
File    in,
File    out,
Init::Range    range
[private]
 

void Precompiler::substitude_soft_macros Macros   macros,
File    in,
File    out,
Init::Range    range
[private]
 

bool Precompiler::user_scan File    in,
File    out,
std::string    init_name
[private]
 

executes the user defined tags.

void Precompiler::warning Line    line,
std::string    message
[static]
 

void Precompiler::warning std::string    message [static]
 

void Precompiler::write_line const Line   line,
File   out
[inline, private]
 

writes a line to a lex file.


Friends And Related Function Documentation

bool operator== const Line   l1,
const Line   l2
[friend]
 


Member Data Documentation

bool Precompiler::auto_init_detection [private]
 

std::string Precompiler::current_path [private]
 

UserHandler::def_list Precompiler::defines [private]
 

bool Precompiler::emacs_warning = false [static]
 

emacs parseable warnings.

bool Precompiler::eof_reached [private]
 

File Precompiler::in [private]
 

bool Precompiler::init_info = false [static]
 

init_list Precompiler::init_table [private]
 

InterpreterHandler Precompiler::ip_handler [private]
 

Strings::string_list Precompiler::locale_list [private]
 

File Precompiler::out [private]
 

macro_list Precompiler::predef_hard_macros [private]
 

predefined hard macros.

macro_list Precompiler::predef_soft_macros [private]
 

predefined soft macros.

Tmp* Precompiler::temp [private]
 

bool Precompiler::use_default_init_table [private]
 

bool Precompiler::use_tmp [private]
 

Strings::string_list Precompiler::user_scans [private]
 

all defined user scans.


The documentation for this class was generated from the following files:
Generated on Tue Nov 20 02:19:54 2001 for Leo<HTML> by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001