#include <non_terminal.h>
Inheritance diagram for grammar_to_parser::basic_non_terminal< E, A >:
Public Types | |
typedef basic_parser< E >::parser_list | parser_list |
typedef basic_parser< E >::parser_list_iterator | parser_list_iterator |
Public Member Functions | |
basic_non_terminal () | |
Default constructor. | |
basic_non_terminal (const A &obj) | |
Constructor taking compound object. | |
basic_non_terminal (const basic_non_terminal &rhs) | |
Copy constructor. | |
~basic_non_terminal () | |
The destructor. | |
virtual unsigned long | parse (const E *buf, const unsigned long buf_length) |
virtual unsigned long | parse (const E *buf, const unsigned long buf_length, basic_parser_strategy< E > &strategy) |
virtual std::basic_istream< E > & | parse (std::basic_istream< E > &is) |
virtual std::basic_ostream< E > & | format (std::basic_ostream< E > &os) |
void | invalidate () |
Protected Member Functions | |
virtual void | prepare_symbols () |
Obtains the list of symbols embedded in parsed object. | |
void | prepare_for_parsing () |
Obtains symbols from parsed object. | |
void | prepare_for_formatting () |
Obtains symbols from formatted object. | |
Protected Attributes | |
parser_list | m_symbols |
bool | m_symbols_valid |
|
Method formats all previously parsed or assigned data back into output stream. This is common format method for any composed parsers - is_formatted returns true if all valid composed objects were formatted succesfully Implements grammar_to_parser::basic_parser< E >. |
|
Method removes all referenced symbols, as after deleting the parsed object all symbols become invalid Reimplemented from grammar_to_parser::basic_object_parser< E, A >. |
|
|
|
|
The list of symbols defining the non terminal - symbols and their order is defined by parsed object manipulated by
|
|
Flag identifying whether embedded symbols were read from parsed object |