Main Page | Class Hierarchy | Class List | Directories | File List | Class Members

grammar_to_parser::basic_parser_strategy< E > Class Template Reference

#include <parser_strategy.h>

List of all members.

Public Types

typedef grammar_to_parser::basic_parser<
E > 
parser
typedef std::list< parser * > parser_list

Public Member Functions

 basic_parser_strategy ()
 Default constructor.
 ~basic_parser_strategy ()
 Destructor.
virtual bool parse_all (typename parser_list::iterator first, typename parser_list::iterator last, const E *buf, const unsigned long buf_length, unsigned long &parsed_size)=0
virtual bool parse_choice (typename parser_list::iterator first, typename parser_list::iterator last, const E *buf, const unsigned long buf_length, unsigned long &parsed_size)=0


Detailed Description

template<typename E>
class grammar_to_parser::basic_parser_strategy< E >

Base class for strategy, which is applied only for basic_non_terminal and basic_choice, if it is used the parse() method where it is specified the strategy for parsing. Inherit from this class to define own algorithms for parsing the non_terminals (overwrite parse_all) and choices (overwrite parse_choice).


Member Function Documentation

template<typename E>
virtual bool grammar_to_parser::basic_parser_strategy< E >::parse_all typename parser_list::iterator  first,
typename parser_list::iterator  last,
const E *  buf,
const unsigned long  buf_length,
unsigned long &  parsed_size
[pure virtual]
 

The method to be used if grammar strategy is specified in parse() method of basic_non_terminal.

template<typename E>
virtual bool grammar_to_parser::basic_parser_strategy< E >::parse_choice typename parser_list::iterator  first,
typename parser_list::iterator  last,
const E *  buf,
const unsigned long  buf_length,
unsigned long &  parsed_size
[pure virtual]
 

The method to be used if grammar strategy is specified in parse() method of basic_choice.


The documentation for this class was generated from the following file:
Generated on Sun Jul 2 18:39:47 2006 for grammar2parser.kdevelop by  doxygen 1.4.1