OKlibrary  0.2.1.6
OKlib::Refactoring::IncludeParsingGrammar Class Reference

Defines grammar of a C++ program as far as necessary for parsing include directives in a file. More...

#include <IncludeHandling.hpp>

Inheritance diagram for OKlib::Refactoring::IncludeParsingGrammar:
grammar

List of all members.

Classes

struct  action_blanks_hash
struct  action_blanks_include
struct  action_context
struct  action_header_file
struct  action_include_form
struct  action_other
struct  action_push_back
struct  definition

Public Types

typedef
ProgramRepresentationIncludes 
program_representation_type
typedef
program_representation_type::string_type 
string_type
typedef IncludeDirective
< string_type
include_directive_type

Public Member Functions

 IncludeParsingGrammar (program_representation_type &pr)

Public Attributes

program_representation_typepr
include_directive_type id
string_type s
action_blanks_hash blanks_hash
action_blanks_include blanks_include
action_header_file header_file
action_include_form include_form_system
action_include_form include_form_source
action_other other
action_context context
action_push_back push_back

Detailed Description

Defines grammar of a C++ program as far as necessary for parsing include directives in a file.

Todo:

Extended explanation.

Yet we use a fixed ProgramRepresentationIncludes form (with fixed character type), ignoring the scanner type (the template parameter of the nested class definition). A more perfect solution would create a new parse-function which then instantiates the IncludeParsingGrammar and ProgramRepresentationIncludes accordingly to the character type actually used.

A concept is needed.

Definition at line 234 of file IncludeHandling.hpp.


Member Typedef Documentation

typedef program_representation_type::string_type OKlib::Refactoring::IncludeParsingGrammar::string_type

Definition at line 239 of file IncludeHandling.hpp.


Constructor & Destructor Documentation


Member Data Documentation


The documentation for this class was generated from the following file: