Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ippCommandParser.cpp File Reference

Go to the source code of this file.

Defines

#define PARSER_ERROR_ENUMERATION
#define ENUM(a, b)   case a: errorString=b; break;
#define ENUM(value, function)   case ipp::value: return IPP_CONCAT(make,value)();
#define ENUM(a, b)   _map.insert(_Pair(b,a));
#define ENUM(a, b)   _map.insert(_Pair(b,a));

Functions

bool IsInteger (double value)
bool IsBoolean (double value)
bool AsBoolean (double value)
int AsInteger (double value)
ippOtherKeyType getFromString (const std::string &keyword)
bool UnSpaceInputArray (char *_inputArray, int start)

Variables

ippCommandHashTable g_command_hash
ippKeyWordHashTable g_keyword_hash


Define Documentation

#define ENUM a,
 )     _map.insert(_Pair(b,a));
 

#define ENUM a,
 )     _map.insert(_Pair(b,a));
 

#define ENUM value,
function   )     case ipp::value: return IPP_CONCAT(make,value)();
 

#define ENUM a,
 )     case a: errorString=b; break;
 

#define PARSER_ERROR_ENUMERATION
 

Definition at line 154 of file ippCommandParser.cpp.

Referenced by ippCommandParser::getErrorMessageString().


Function Documentation

bool AsBoolean double  value  ) 
 

Definition at line 50 of file ippCommandParser.cpp.

References IPP_ASSERT, and IsBoolean().

int AsInteger double  value  ) 
 

Definition at line 55 of file ippCommandParser.cpp.

References IPP_ASSERT, and IsInteger().

ippOtherKeyType getFromString const std::string &  keyword  ) 
 

Definition at line 3761 of file ippCommandParser.cpp.

References ippKeyWordHashTable::find(), and g_keyword_hash.

bool IsBoolean double  value  ) 
 

Definition at line 46 of file ippCommandParser.cpp.

Referenced by AsBoolean().

bool IsInteger double  value  ) 
 

Definition at line 42 of file ippCommandParser.cpp.

Referenced by AsInteger().

bool UnSpaceInputArray char *  _inputArray,
int  start
 

! ippCommandParser::unSpaceInputArray

Value: None.

By: ippCommandParser::parseCommand

Rules: 1. Starting with the seventh position of a command string, space must not appear anywhere except a. before or after a left or right parenthesis b. before or after a comma c. inside a string ILLEGAL_SPACE

Reference pages: (33 - 34)

The reference pages are currently not consistent regarding optional space after a right parenthesis. The text says it is not allowed, but the EBNF for SRightParen says it is allowed. This affects only the closing right parentheses of a command, since every other right parenthesis is followed either by a comma or a right parenthesis, both of which may have space before them. The I++ response to this issue said that space should be allowed after a right parenthesis, so that is what this function does.

Notes:

Starting at the seventh position (index 6), this removes from the _inputArray all spaces outside of strings. It does this by moving characters from right to left as necessary to fill in any spaces.

The n-1 in the termination condition of the "for" loop allows the NULL to be copied also.

Definition at line 4214 of file ippCommandParser.cpp.


Variable Documentation

class ippCommandHashTable g_command_hash
 

class ippKeyWordHashTable g_keyword_hash
 

Referenced by getFromString().


Generated on Wed Nov 8 00:20:29 2006 for IPPDME by  doxygen 1.4.1