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

grammar_to_parser::basic_object_parser< E, A > Class Template Reference

#include <object_parser.h>

Inheritance diagram for grammar_to_parser::basic_object_parser< E, A >:

grammar_to_parser::basic_parser< E > grammar_to_parser::basic_default_type_parser< E, A > grammar_to_parser::basic_default_type_parser< char, A > grammar_to_parser::basic_default_type_parser< char, A > grammar_to_parser::basic_default_type_parser< char, std::basic_string< char > > grammar_to_parser::basic_default_type_parser< E, std::basic_string< E > > grammar_to_parser::basic_default_type_parser< E, std::basic_string< E > > grammar_to_parser::basic_default_type_parser< wchar_t, A > grammar_to_parser::basic_default_type_parser< wchar_t, std::basic_string< wchar_t > > grammar_to_parser::basic_except_terminal< char, except_choice > grammar_to_parser::basic_except_terminal< wchar_t, except_choice > grammar_to_parser::basic_non_terminal< E, A > grammar_to_parser::basic_non_terminal< char, A > grammar_to_parser::basic_non_terminal< wchar_t, A > grammar_to_parser::basic_non_terminal< wchar_t, A > grammar_to_parser::basic_non_terminal< wchar_t, address > List of all members.

Public Types

typedef std::auto_ptr< A > std_auto_ptr
typedef basic_parser< E
>::symbol_type 
symbol_type

Public Member Functions

 basic_object_parser (const char *name, symbol_type type=terminal_type)
 Default constructor.
 basic_object_parser (const char *name, const A &rhs, symbol_type type=terminal_type)
 The constructor making the copy of.
 basic_object_parser (const basic_object_parser &rhs)
 The copy constructor, auto_ptr ownership will be transferred in this case.
virtual bool is_valid () const
 Used for owned objects manipulation, redefined in basic_object_parser.
virtual A & get_valid ()
virtual void invalidate ()
 Using this, the parser can be reused.

Protected Member Functions

virtual void prepare_for_parsing ()
 The method additionally validates the instance of A.
virtual void prepare_for_formatting ()
 The method additionally validates the instance of A.

Detailed Description

template<typename E, typename A>
class grammar_to_parser::basic_object_parser< E, A >

The object parser, parsed data are saved in objects manipulated by std::auto_ptr<A>, for terminal the parsed object is usually one item, for non terminal the pointed object is instance of class which implements method push_parsers(), where it defines another embedded parsers in specific order.


Member Function Documentation

template<typename E, typename A>
virtual A& grammar_to_parser::basic_object_parser< E, A >::get_valid  )  [inline, virtual]
 

The same as auto_ptr<>::get(), additionally creates a new instance of allocated object, if NULL pointer.

Reimplemented in grammar_to_parser::basic_terminal< E, value >, grammar_to_parser::basic_terminal< E,'<'> m_3;grammar_to_parser::basic_terminal< E,'\\'> m_4;grammar_to_parser::basic_pattern_parser< E > m_tag_name_end;grammar_to_parser::basic_terminal< E,'>'>, grammar_to_parser::basic_terminal< E,'$'>, grammar_to_parser::basic_terminal< E, '?'>, grammar_to_parser::basic_terminal< E, '['>, grammar_to_parser::basic_terminal< E,'<'> m_1;grammar_to_parser::basic_pattern_parser< E > m_tag_name_begin;grammar_to_parser::basic_terminal< E,'>'>, grammar_to_parser::basic_terminal< wchar_t,'\"'>, grammar_to_parser::basic_terminal< E,'}'>, grammar_to_parser::basic_terminal< E,'\"'>, grammar_to_parser::basic_terminal< E,'|'>, grammar_to_parser::basic_terminal< E,')'>, grammar_to_parser::basic_terminal< E, '*'>, grammar_to_parser::basic_terminal< E,'{'>, grammar_to_parser::basic_terminal< E,'\\'>, grammar_to_parser::basic_terminal< E,'('>, grammar_to_parser::basic_terminal< E, '='>, grammar_to_parser::basic_terminal< E,']'>, grammar_to_parser::basic_terminal< E,'['>, grammar_to_parser::basic_terminal< E,'-'>, grammar_to_parser::basic_terminal< E,','>, grammar_to_parser::basic_terminal< E,':'>, grammar_to_parser::basic_terminal< E,'+'>, grammar_to_parser::basic_terminal< E, '^'>, grammar_to_parser::basic_terminal< E,'*'>, grammar_to_parser::basic_terminal< E,'^'>, grammar_to_parser::basic_terminal< E,'?'>, grammar_to_parser::basic_terminal< char, value >, grammar_to_parser::basic_terminal< E,'.'>, grammar_to_parser::basic_terminal< E, '.'>, grammar_to_parser::basic_terminal< E, ']'>, and grammar_to_parser::basic_terminal< wchar_t, value >.

template<typename E, typename A>
virtual void grammar_to_parser::basic_object_parser< E, A >::prepare_for_parsing  )  [inline, protected, virtual]
 

The method additionally validates the instance of A.

Used for trace and/or debug

Reimplemented from grammar_to_parser::basic_parser< E >.

Reimplemented in grammar_to_parser::basic_non_terminal< E, A >, grammar_to_parser::basic_regexp_parser< E >, grammar_to_parser::basic_non_terminal< E, range_expression< E > >, grammar_to_parser::basic_non_terminal< char, c_N >, grammar_to_parser::basic_non_terminal< wchar_t, simple_string_element >, grammar_to_parser::basic_non_terminal< char, add >, grammar_to_parser::basic_non_terminal< wchar_t, A >, grammar_to_parser::basic_non_terminal< E, subexpression >, grammar_to_parser::basic_non_terminal< E, ere_expression_no_dup >, grammar_to_parser::basic_non_terminal< E, single_expression< E > >, grammar_to_parser::basic_non_terminal< E, hyphen_hyphen_end_range >, grammar_to_parser::basic_non_terminal< char, age >, grammar_to_parser::basic_non_terminal< E, opendot_coll_elem_multi_dotclose >, grammar_to_parser::basic_non_terminal< char, exp_class< Type > >, grammar_to_parser::basic_non_terminal< E, lazy_plus >, grammar_to_parser::basic_non_terminal< char, expression< Type > >, grammar_to_parser::basic_non_terminal< E, left_bracket_nonmatching_list_right_bracket >, grammar_to_parser::basic_non_terminal< E, matching_list< E > >, grammar_to_parser::basic_non_terminal< char, number< hex_digit, 'x' > >, grammar_to_parser::basic_non_terminal< E, openequal_coll_elem_single_equalclose >, grammar_to_parser::basic_non_terminal< char, floor_class< Type > >, grammar_to_parser::basic_non_terminal< E, extended_regular_expression::ere< E > >, grammar_to_parser::basic_non_terminal< E, ere_expression_ere_branch >, grammar_to_parser::basic_non_terminal< E, dup_and_dup_branch >, grammar_to_parser::basic_non_terminal< E, hyphen_hyphen_endrange_follow_list >, grammar_to_parser::basic_non_terminal< E, hyphen_and_follow_list >, grammar_to_parser::basic_non_terminal< E, class_name< E > >, grammar_to_parser::basic_non_terminal< E, collating_symbol< E > >, grammar_to_parser::basic_non_terminal< E, extended_reg_exp< E > >, grammar_to_parser::basic_non_terminal< char, tanh_class< Type > >, grammar_to_parser::basic_non_terminal< char, tan_class< Type > >, grammar_to_parser::basic_non_terminal< char, log_class< Type > >, grammar_to_parser::basic_non_terminal< char, parentheses >, grammar_to_parser::basic_non_terminal< E, left_bracket_matching_list_rigth_bracket >, grammar_to_parser::basic_non_terminal< char, divide >, grammar_to_parser::basic_non_terminal< E, dup_count >, grammar_to_parser::basic_non_terminal< E, equivalence_class< E > >, grammar_to_parser::basic_non_terminal< char, company >, grammar_to_parser::basic_non_terminal< char, pow_class< Type > >, grammar_to_parser::basic_non_terminal< E, character_class< E > >, grammar_to_parser::basic_non_terminal< E, ere_dups< E > >, grammar_to_parser::basic_non_terminal< char, sqrt_class< Type > >, grammar_to_parser::basic_non_terminal< char, cosh_class< Type > >, grammar_to_parser::basic_non_terminal< char, acos_class< Type > >, grammar_to_parser::basic_non_terminal< char, values< Type > >, grammar_to_parser::basic_non_terminal< E, start_range_and_end_range >, grammar_to_parser::basic_non_terminal< E, bracket_list< E > >, grammar_to_parser::basic_non_terminal< E, opendot_metachar_dotclose >, grammar_to_parser::basic_non_terminal< E, nonmatching_list< E > >, grammar_to_parser::basic_non_terminal< E, follow_list< E > >, grammar_to_parser::basic_non_terminal< char, asin_class< Type > >, grammar_to_parser::basic_non_terminal< E, meta_char_choice< E > >, grammar_to_parser::basic_non_terminal< E, quoted_char >, grammar_to_parser::basic_non_terminal< char, collating_choice >, grammar_to_parser::basic_non_terminal< E, collating_choice< E > >, grammar_to_parser::basic_non_terminal< char, digit_choice >, grammar_to_parser::basic_non_terminal< char, cos_class< Type > >, grammar_to_parser::basic_non_terminal< char, ceil_class< Type > >, grammar_to_parser::basic_non_terminal< char, A >, grammar_to_parser::basic_non_terminal< char, multiply >, grammar_to_parser::basic_non_terminal< char, sin_class< Type > >, grammar_to_parser::basic_non_terminal< E, ere_dupl_symbol< E > >, grammar_to_parser::basic_non_terminal< char, sinh_class< Type > >, grammar_to_parser::basic_non_terminal< char, fabs_class< Type > >, grammar_to_parser::basic_non_terminal< char, functions< Type > >, grammar_to_parser::basic_non_terminal< E, openequal_coll_elem_multi_equalclose >, grammar_to_parser::basic_non_terminal< E, ere_expression< E > >, grammar_to_parser::basic_non_terminal< char, ldexp_class< Type > >, grammar_to_parser::basic_non_terminal< E, dup_count_unbound >, grammar_to_parser::basic_non_terminal< E, bracket_expr_type >, grammar_to_parser::basic_non_terminal< E, start_range_and_hyphen >, grammar_to_parser::basic_non_terminal< wchar_t, simple_int_element >, grammar_to_parser::basic_non_terminal< E, follow_list_and_expression_term >, grammar_to_parser::basic_non_terminal< E, ere_expression_and_dupl >, grammar_to_parser::basic_non_terminal< E, one_char_or_coll_elem_ere< E > >, grammar_to_parser::basic_non_terminal< char, c_1N >, grammar_to_parser::basic_non_terminal< E, special_chars< E > >, grammar_to_parser::basic_non_terminal< char, digit_and_digits >, grammar_to_parser::basic_non_terminal< char, fmod_class< Type > >, grammar_to_parser::basic_non_terminal< E, dup_count_max >, grammar_to_parser::basic_non_terminal< E, lazy_star >, grammar_to_parser::basic_non_terminal< char, subexpression >, grammar_to_parser::basic_non_terminal< wchar_t, A >, grammar_to_parser::basic_non_terminal< char, digits >, grammar_to_parser::basic_non_terminal< char, c_0N >, grammar_to_parser::basic_non_terminal< E, follow_list_and_hyphen >, grammar_to_parser::basic_non_terminal< char, name >, grammar_to_parser::basic_non_terminal< E, start_range< E > >, grammar_to_parser::basic_non_terminal< char, substract >, grammar_to_parser::basic_non_terminal< char, atan_class< Type > >, grammar_to_parser::basic_non_terminal< wchar_t, address >, grammar_to_parser::basic_non_terminal< E, ere_branch_or_extended_reg_exp >, grammar_to_parser::basic_non_terminal< E, expression_term< E > >, grammar_to_parser::basic_non_terminal< char, number< bin_digit, 'b' > >, grammar_to_parser::basic_non_terminal< E, ere_branch< E > >, and grammar_to_parser::basic_non_terminal< E, opendot_coll_elem_single_dotclose >.


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