DICParser Class Reference

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

#include <DICParserBase.h>

Inherits DICScanner.

Inheritance diagram for DICParser:

Inheritance graph
[legend]
Collaboration diagram for DICParser:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DICParser (DicFile *dicFileP, DdlFile *ddlFileP, bool verbose=false)
void Parse (const string &fileName, string &diagnostics)
virtual ~DICParser ()
void Error (const char *)
void Clear ()
void Reset ()
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 Member Functions

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 CheckDDL (void)

Private Attributes

DicFile * _fobj
ISTable * _tbl
int _afterLoop
DicFile * _saveobj
ISTable * _savetbl
ISTable * _prevtbl
ISTable * format
ISTable * cattbl
ISTable * itemtbl
DdlFile * ddl
int itemColIndex
int catColIndex
int colIndex2
vector< string > listcat
vector< string > listitem
vector< string > listitem2
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 _tmpDataBlockNameSave
string _tmpDataBlockNameSaveL
string errorLog

Detailed Description

Public class that respresents a dictionary parser.

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


Constructor & Destructor Documentation

DICParser::DICParser ( DicFile *  dicFileP,
DdlFile *  ddlFileP,
bool  verbose = false 
)

Constructs a dictionary parser.

Parameters:
[in] dicFileP - pointer to the DicFile object that the dictionary parser is to use to store the parsed data
[in] ddlFileP - pointer to the DdlFile object that holds the DDL for the dictionary
[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:
dicFileP must not be NULL

ddlFileP must not be NULL

Postcondition:
None
Exceptions:
EmptyValueException - if dicFileP is NULL
EmptyValueException - if ddlFileP is NULL

DICParser::~DICParser (  )  [virtual]

Destructs a dictionary parser by releasing all the used resources.

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


Member Function Documentation

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

Parses a dictionary file.

Parameters:
[in] fileName - relative or absolute name of the dictionary 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 DICParser::Error ( const char *   ) 

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

void DICParser::Clear (  ) 

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

Reimplemented from DICScanner.

void DICParser::Reset (  ) 

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

Reimplemented from DICScanner.

void DICParser::ProcessAssignments ( void   ) 

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

void DICParser::ProcessOneAssignment ( void   ) 

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

void DICParser::ProcessItemNameListLoop ( void   ) 

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

void DICParser::ProcessItemNameListName ( void   ) 

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

void DICParser::ProcessValueListItem ( void   ) 

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

void DICParser::ProcessItemName ( void   ) 

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

void DICParser::ProcessLoop ( void   ) 

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

void DICParser::ProcessItemValue ( void   ) 

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

void DICParser::ProcessLsItemValue ( void   ) 

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

void DICParser::ProcessUnknownValue ( void   ) 

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

void DICParser::ProcessMissingValue ( void   ) 

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

void DICParser::ProcessSaveBegin ( void   ) 

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

void DICParser::ProcessSaveEnd ( void   ) 

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

void DICParser::ProcessDataBlockName ( void   ) 

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

void DICParser::ProcessLoopDeclaration ( void   )  [private]

void DICParser::ProcessItemNameList ( void   )  [private]

void DICParser::ProcessValueList ( void   )  [private]

void DICParser::ProcessItemValuePair ( void   )  [private]

void DICParser::ProcessLoopDeclarationSave ( void   )  [private]

void DICParser::ProcessItemNameListSave ( void   )  [private]

void DICParser::ProcessValueListSave ( void   )  [private]

void DICParser::ProcessItemValuePairSave ( void   )  [private]

void DICParser::CheckDDL ( void   )  [private]


Member Data Documentation

DicFile* DICParser::_fobj [private]

ISTable* DICParser::_tbl [private]

int DICParser::_afterLoop [private]

DicFile* DICParser::_saveobj [private]

ISTable* DICParser::_savetbl [private]

ISTable* DICParser::_prevtbl [private]

ISTable* DICParser::format [private]

ISTable* DICParser::cattbl [private]

ISTable* DICParser::itemtbl [private]

DdlFile* DICParser::ddl [private]

int DICParser::itemColIndex [private]

int DICParser::catColIndex [private]

int DICParser::colIndex2 [private]

vector<string> DICParser::listcat [private]

vector<string> DICParser::listitem [private]

vector<string> DICParser::listitem2 [private]

int DICParser::_nTablesInBlock [private]

int DICParser::_curItemNo [private]

int DICParser::_curValueNo [private]

int DICParser::_numDataBlocks [private]

int DICParser::_fieldListAlloc [private]

int DICParser::_curRow [private]

vector<string> DICParser::_fieldList [private]

string DICParser::_pBufValue [private]

string DICParser::_tBufKeyword [private]

string DICParser::_curCategoryName [private]

string DICParser::_curDataBlockName [private]

string DICParser::_prevDataBlockName [private]

int DICParser::_nTablesInBlockSave [private]

int DICParser::_curItemNoSave [private]

int DICParser::_curValueNoSave [private]

int DICParser::_numDataBlocksSave [private]

int DICParser::_fieldListAllocSave [private]

int DICParser::_curRowSave [private]

vector<string> DICParser::_fieldListSave [private]

string DICParser::_curCategoryNameSave [private]

string DICParser::_curDataBlockNameSave [private]

string DICParser::_prevDataBlockNameSave [private]

string DICParser::_tmpDataBlockNameSave [private]

string DICParser::_tmpDataBlockNameSaveL [private]

string DICParser::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