exip
Alpha 0.5.4
|
Definitions and utility functions for EXI Proto-Grammars. More...
#include "procTypes.h"
Go to the source code of this file.
Data Structures | |
struct | ProtoRuleEntry |
Productions in a rule with the same number of parts in their event codes. More... | |
struct | ProtoGrammar |
struct | ProtoGrammarArray |
Typedefs | |
typedef struct ProtoRuleEntry | ProtoRuleEntry |
typedef struct ProtoGrammar | ProtoGrammar |
typedef struct ProtoGrammarArray | ProtoGrammarArray |
Functions | |
errorCode | createProtoGrammar (Index rulesDim, ProtoGrammar *pg) |
Creates and allocates memory for new proto grammar. More... | |
void | destroyProtoGrammar (ProtoGrammar *pg) |
Frees the allocated memory for a proto grammar. More... | |
errorCode | addProtoRule (ProtoGrammar *pg, Index prodDim, ProtoRuleEntry **ruleEntry) |
Add an empty rule to a proto grammar. More... | |
errorCode | addProduction (ProtoRuleEntry *ruleEntry, EventType eventType, Index typeId, QNameID qnameID, SmallIndex nonTermID) |
Add a production to a particular proto rule. More... | |
errorCode | convertProtoGrammar (AllocList *memlist, ProtoGrammar *pg, EXIGrammar *exiGrammar) |
Create a new EXI grammar from existing proto grammar. More... | |
errorCode | cloneProtoGrammar (ProtoGrammar *src, ProtoGrammar *dest) |
Clones a proto grammar instance. More... | |
errorCode | printProtoGrammarRule (SmallIndex nonTermID, ProtoRuleEntry *rule) |
errorCode | printProtoGrammar (ProtoGrammar *pgr) |
typedef struct ProtoGrammar ProtoGrammar |
Definition at line 49 of file protoGrammars.h.
typedef struct ProtoGrammarArray ProtoGrammarArray |
Definition at line 60 of file protoGrammars.h.
typedef struct ProtoRuleEntry ProtoRuleEntry |
Definition at line 34 of file protoGrammars.h.
errorCode addProduction | ( | ProtoRuleEntry * | ruleEntry, |
EventType | eventType, | ||
Index | typeId, | ||
QNameID | qnameID, | ||
SmallIndex | nonTermID | ||
) |
[in,out] | ruleEntry | the rule to which the production is added |
[in] | eventType | event type of the production |
[in] | typeId | index of the type of the production in the simple type table |
[in] | qnameID | qnameId of the production |
[in] | nonTermID | of the production |
Definition at line 42 of file protoGrammars.c.
errorCode addProtoRule | ( | ProtoGrammar * | pg, |
Index | prodDim, | ||
ProtoRuleEntry ** | ruleEntry | ||
) |
[in,out] | pg | the proto grammar |
[in] | prodDim | initial number of productions in the rule |
[in] | ruleEntry | pointer to the rule entry |
Definition at line 32 of file protoGrammars.c.
errorCode cloneProtoGrammar | ( | ProtoGrammar * | src, |
ProtoGrammar * | dest | ||
) |
[in] | src | the source proto-grammar |
[out] | dest | a pointer to the newly created proto grammar |
Definition at line 103 of file protoGrammars.c.
errorCode convertProtoGrammar | ( | AllocList * | memlist, |
ProtoGrammar * | pg, | ||
EXIGrammar * | exiGrammar | ||
) |
[in,out] | memlist | A list storing the memory allocations for the new EXI grammar |
[in] | pg | the source proto-grammar |
[out] | exiGrammar | a pointer to the newly created EXI grammar |
Definition at line 58 of file protoGrammars.c.
errorCode createProtoGrammar | ( | Index | rulesDim, |
ProtoGrammar * | pg | ||
) |
[in] | rulesDim | initial number of the rules in the protogrammar |
[out] | pg | an empty proto-grammar |
Definition at line 25 of file protoGrammars.c.
void destroyProtoGrammar | ( | ProtoGrammar * | pg) |
[out] | pg | the proto-grammar to be removed |
Definition at line 127 of file protoGrammars.c.
errorCode printProtoGrammar | ( | ProtoGrammar * | pgr) |
Definition at line 220 of file protoGrammars.c.
errorCode printProtoGrammarRule | ( | SmallIndex | nonTermID, |
ProtoRuleEntry * | rule | ||
) |
Definition at line 139 of file protoGrammars.c.