|
void | clear () |
| Clears all parser data, including buffer and active context. More...
|
|
bool | exportContext (Context *ctx, const std::string &filename) |
|
const char * | getBuffer () const |
| Returns the buffer pointer. More...
|
|
size_t | getBufferSize () const |
| Returns the size of the buffer. More...
|
|
Context * | getContext () const |
| Returns the parser context, only available in case of a succeeded parsing. More...
|
|
logCallback | getLogCallback () const |
| Getter for the log callback. More...
|
|
DDLNode * | getRoot () const |
| Returns the root node. More...
|
|
| OpenDDLParser () |
| The default class constructor. More...
|
|
| OpenDDLParser (const char *buffer, size_t len) |
| The class constructor. More...
|
|
bool | parse () |
| Starts the parsing of the OpenDDL-file. More...
|
|
char * | parseHeader (char *in, char *end) |
|
char * | parseNextNode (char *current, char *end) |
|
char * | parseStructure (char *in, char *end) |
|
char * | parseStructureBody (char *in, char *end, bool &error) |
|
DDLNode * | popNode () |
|
void | pushNode (DDLNode *node) |
|
void | setBuffer (const char *buffer, size_t len) |
| Assigns a new buffer to parse. More...
|
|
void | setBuffer (const std::vector< char > &buffer) |
| Assigns a new buffer to parse. More...
|
|
void | setLogCallback (logCallback callback) |
| Setter for an own log callback function. More...
|
|
DDLNode * | top () |
|
| ~OpenDDLParser () |
| The class destructor. More...
|
|
|
static const char * | getVersion () |
|
static void | normalizeBuffer (std::vector< char > &buffer) |
|
static char * | parseBooleanLiteral (char *in, char *end, Value **boolean) |
|
static char * | parseDataArrayList (char *in, char *end, Value::ValueType type, DataArrayList **dataList) |
|
static char * | parseDataList (char *in, char *end, Value::ValueType type, Value **data, size_t &numValues, Reference **refs, size_t &numRefs) |
|
static char * | parseFloatingLiteral (char *in, char *end, Value **floating, Value::ValueType floatType=Value::ddl_float) |
|
static char * | parseHexaLiteral (char *in, char *end, Value **data) |
|
static char * | parseIdentifier (char *in, char *end, Text **id) |
|
static char * | parseIntegerLiteral (char *in, char *end, Value **integer, Value::ValueType integerType=Value::ddl_int32) |
|
static char * | parseName (char *in, char *end, Name **name) |
|
static char * | parsePrimitiveDataType (char *in, char *end, Value::ValueType &type, size_t &len) |
|
static char * | parseProperty (char *in, char *end, Property **prop) |
|
static char * | parseReference (char *in, char *end, std::vector< Name *> &names) |
|
static char * | parseStringLiteral (char *in, char *end, Value **stringData) |
|
This is the main API for the OpenDDL-parser.
Use instances of this class to manage the parsing and handling of your parser contexts.