// Copyright {Jagger Software Limited} 2003 #if !defined GRAMMAR_TOOLS_SOURCE_PARSER_VISITOR_INCLUDED || \ defined GRAMMAR_TOOLS_SOURCE_PARSER_VISITOR_TEMPLATE_INCLUDED #error "grammar_tools/source_parser_visitor-template.hpp" #included directly #endif #define GRAMMAR_TOOLS_SOURCE_PARSER_VISITOR_TEMPLATE_INCLUDED #include "grammar_tools/parseable_source.hpp" namespace grammar_tools // parser_visitor - 'tor { template source_parser_visitor::source_parser_visitor(parseable_source & to_parse) : source(to_parse) { } template source_parser_visitor::~source_parser_visitor() { } } namespace grammar_tools // source_parser_visitor - visiting non-terminals { template bool source_parser_visitor::visit(const ::grammar::non_terminal_symbol_definition & to_parse) { return source.parse(to_parse, *this); } template bool source_parser_visitor::visit(const ::grammar::production_symbol_definition & to_parse) { return source.parse(to_parse, *this); } template bool source_parser_visitor::visit(const ::grammar::qualified_symbol_definition & to_parse) { return source.parse(to_parse, *this); } }