MySQL++ SSQLS v2 Translator
3.2.5
|
Parses SSQLS v2 documents and holds the parse result. More...
#include <parsev2.h>
Classes | |
class | AccessorStyleOption |
'option accessor_style' directive line More... | |
class | ExceptionOnSchemaMismatchOption |
'option exception_on_schema_mismatch' directive line More... | |
class | Field |
'field' directive line More... | |
class | File |
Holds information about an SSQLS v2 file we're parsing. More... | |
class | FileException |
Exception object thrown to indicate a file I/O error. More... | |
class | HeaderExtensionOption |
'option header_extension' directive line More... | |
class | ImplementationExtensionOption |
'option implementation_extension' directive line More... | |
class | Include |
'include' directive line More... | |
class | Line |
Base class for parsed SSQLS v2 declaration lines. More... | |
class | Option |
Base class for known SSQLS v2 'option' directives. More... | |
class | ParseException |
Exception object thrown by File::error() to report an SSQLS v2 parsing error. More... | |
class | Table |
'table' directive line More... | |
Public Types | |
typedef std::vector< std::string > | StringList |
List of tokens as returned by boost::algorithm::split. | |
typedef StringList::const_iterator | StringListIt |
Iterator into a StringList. More... | |
typedef std::vector< Line * > | LineList |
A list of pointers to Line objects. More... | |
typedef LineList::const_iterator | LineListIt |
Iterator into a LineList. More... | |
Public Member Functions | |
ParseV2 (const char *file_name) | |
Constructor. More... | |
~ParseV2 () | |
Destructor. | |
LineListIt | begin () const |
Get an iterator pointing to the start of our LineList. | |
void | clear () |
Dump our line list. More... | |
LineListIt | end () const |
Get an iterator pointing just past the end of our LineList. | |
Parses SSQLS v2 documents and holds the parse result.
Construct an object of this type from a file name, and you will get either a parse result or a thrown exception.
typedef std::vector<Line*> ParseV2::LineList |
A list of pointers to Line objects.
These are used for holding the results of the file parsing step
typedef LineList::const_iterator ParseV2::LineListIt |
Iterator into a LineList.
It's const because once the parse is completed, we switch into LineList traversal mode, which doesn't modify the list.
typedef StringList::const_iterator ParseV2::StringListIt |
Iterator into a StringList.
This is const because StringLists are never modified once created
ParseV2::ParseV2 | ( | const char * | file_name | ) |
Constructor.
Given the name of an SSQLS v2 file, load it up and try to parse it, throwing one of our inner exception types if that fails.
file_name | path to an SSQLS v2 file to parse; may be in a different directory, given a relative or absolute path to the file |
FileException | |
ParseException |
References ParseV2::Include::begin(), ParseV2::Include::end(), ParseV2::Line::parse(), and ParseV2::File::read_line().
|
inline |
Dump our line list.
Doesn't delete the line objects. This is used by Include, because its creator will take over ownership of those objects.
Referenced by ParseV2::Include::~Include().