exip
Alpha 0.5.4
|
EXI Proto-Grammars implementation. More...
Go to the source code of this file.
Macros | |
#define | RULE_EXTENSION_FACTOR 20 |
#define | PRODUTION_EXTENSION_FACTOR 20 |
Functions | |
errorCode | createProtoGrammar (Index rulesDim, ProtoGrammar *pg) |
Creates and allocates memory for new 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... | |
void | destroyProtoGrammar (ProtoGrammar *pg) |
Frees the allocated memory for a proto grammar. More... | |
errorCode | printProtoGrammarRule (SmallIndex nonTermID, ProtoRuleEntry *rule) |
errorCode | printProtoGrammar (ProtoGrammar *pgr) |
#define PRODUTION_EXTENSION_FACTOR 20 |
Definition at line 18 of file protoGrammars.c.
#define RULE_EXTENSION_FACTOR 20 |
Definition at line 17 of file protoGrammars.c.
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.