DDLParser Class Reference

Public class that respresents a DDL parser. More...

#include <DDLParserBase.h>

Inherits DDLScanner.

Inheritance diagram for DDLParser:

Inheritance graph
[legend]
Collaboration diagram for DDLParser:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DDLParser (DdlFile *ddlFileP, bool verbose=false)
void Parse (const string &fileName, string &diagnostics)
virtual ~DDLParser ()
void Clear ()
void Error (const char *)
void Reset ()
void ProcessLoopDeclaration (void)
void ProcessItemNameList (void)
void ProcessValueList (void)
void ProcessItemValuePair (void)
void ProcessLoopDeclarationSave (void)
void ProcessItemNameListSave (void)
void ProcessValueListSave (void)
void ProcessItemValuePairSave (void)
void ProcessAssignments (void)
void ProcessOneAssignment (void)
void ProcessItemNameListLoop (void)
void ProcessItemNameListName (void)
void ProcessValueListItem (void)
void ProcessItemName (void)
void ProcessLoop (void)
void ProcessItemValue (void)
void ProcessLsItemValue (void)
void ProcessUnknownValue (void)
void ProcessMissingValue (void)
void ProcessSaveBegin (void)
void ProcessSaveEnd (void)
void ProcessDataBlockName (void)

Private Attributes

DdlFile * _fobj
ISTable * _tbl
int _afterLoop
DdlFile * _saveobj
ISTable * _savetbl
ISTable * format
int _nTablesInBlock
int _curItemNo
int _curValueNo
int _numDataBlocks
int _fieldListAlloc
int _curRow
vector< string > _fieldList
string _pBufValue
string _tBufKeyword
string _curCategoryName
string _curDataBlockName
string _prevDataBlockName
int _nTablesInBlockSave
int _curItemNoSave
int _curValueNoSave
int _numDataBlocksSave
int _fieldListAllocSave
int _curRowSave
vector< string > _fieldListSave
string _curCategoryNameSave
string _curDataBlockNameSave
string _prevDataBlockNameSave
string errorLog

Detailed Description

Public class that respresents a DDL parser.

This class represents a DDL parser. This class utilizes flex/bison for syntax/semantic processing and stores the parsed data (DDL blocks and tables) in a DdlFile object.


Constructor & Destructor Documentation

DDLParser::DDLParser ( DdlFile *  ddlFileP,
bool  verbose = false 
)

Constructs a DDL parser.

Parameters:
[in] ddlFileP - pointer to the DdlFile object that the DDL parser is to use to store the parsed data
[in] verbose - optional parameter that indicates whether parsing logging should be turned on (if true) or off (if false). If verbose is not specified, logging is turned off.
Returns:
Not applicable
Precondition:
ddlFileP must not be NULL
Postcondition:
None
Exceptions:
EmptyValueException - if ddlFileP is NULL

DDLParser::~DDLParser (  )  [virtual]

Destructs a DDL parser by releasing all the used resources.

Parameters:
 Not applicable
Returns:
Not applicable
Precondition:
None
Postcondition:
None
Exceptions:
 None


Member Function Documentation

void DDLParser::Parse ( const string &  fileName,
string &  diagnostics 
)

Parses the DDL file.

Parameters:
[in] fileName - relative or absolute name of the DDL file that is to be parsed.
[out] diagnostics - parsing result. If empty, parsing completed with no warnings or errors. If non-empty, there were parsing warnings and/or parsing errors.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void DDLParser::Clear (  ) 

Method, not currently part of users public API, and will soon be re-examined.

Reimplemented from DDLScanner.

void DDLParser::Error ( const char *   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::Reset (  ) 

Method, not currently part of users public API, and will soon be re-examined.

Reimplemented from DDLScanner.

void DDLParser::ProcessLoopDeclaration ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessItemNameList ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessValueList ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessItemValuePair ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessLoopDeclarationSave ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessItemNameListSave ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessValueListSave ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessItemValuePairSave ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessAssignments ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessOneAssignment ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessItemNameListLoop ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessItemNameListName ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessValueListItem ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessItemName ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessLoop ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessItemValue ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessLsItemValue ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessUnknownValue ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessMissingValue ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessSaveBegin ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessSaveEnd ( void   ) 

Utility method, not part of users public API, and will soon be removed.

void DDLParser::ProcessDataBlockName ( void   ) 

Utility method, not part of users public API, and will soon be removed.


Member Data Documentation

DdlFile* DDLParser::_fobj [private]

ISTable* DDLParser::_tbl [private]

int DDLParser::_afterLoop [private]

DdlFile* DDLParser::_saveobj [private]

ISTable* DDLParser::_savetbl [private]

ISTable* DDLParser::format [private]

int DDLParser::_nTablesInBlock [private]

int DDLParser::_curItemNo [private]

int DDLParser::_curValueNo [private]

int DDLParser::_numDataBlocks [private]

int DDLParser::_fieldListAlloc [private]

int DDLParser::_curRow [private]

vector<string> DDLParser::_fieldList [private]

string DDLParser::_pBufValue [private]

string DDLParser::_tBufKeyword [private]

string DDLParser::_curCategoryName [private]

string DDLParser::_curDataBlockName [private]

string DDLParser::_prevDataBlockName [private]

int DDLParser::_nTablesInBlockSave [private]

int DDLParser::_curItemNoSave [private]

int DDLParser::_curValueNoSave [private]

int DDLParser::_numDataBlocksSave [private]

int DDLParser::_fieldListAllocSave [private]

int DDLParser::_curRowSave [private]

vector<string> DDLParser::_fieldListSave [private]

string DDLParser::_curCategoryNameSave [private]

string DDLParser::_curDataBlockNameSave [private]

string DDLParser::_prevDataBlockNameSave [private]

string DDLParser::errorLog [private]


The documentation for this class was generated from the following files:
Generated on Wed Feb 6 07:44:07 2008 for cifparse-obj-v7.0 by  doxygen 1.5.1