Flat: Use consistent variable names for Rules
Rules used to be called Definitions, and a lot of variabels in Grammar.c
reflected that. Use 'rule' instead of 'def' when referring to Rule
objects, for consistency.
diff --git a/experiments/flat/src/Grammar.c b/experiments/flat/src/Grammar.c
index 5cba326..89eb638 100644
--- a/experiments/flat/src/Grammar.c
+++ b/experiments/flat/src/Grammar.c
@@ -31,54 +31,54 @@
};
struct Grammar {
- Rule **nextDef;
- Rule *defList;
+ Rule **nextRule;
+ Rule *ruleList;
};
Rule *RuleNew(const char *name, Expression *expr)
{
- Rule *def = (Rule *)calloc(1,sizeof(Rule));
- def->name = strdup(name);
- def->expr = expr;
- return def;
+ Rule *rule = (Rule *)calloc(1,sizeof(Rule));
+ rule->name = strdup(name);
+ rule->expr = expr;
+ return rule;
}
-void RuleFree(Rule *def)
+void RuleFree(Rule *rule)
{
- free(def->name);
- ExpressionFree(def->expr);
- free(def);
+ free(rule->name);
+ ExpressionFree(rule->expr);
+ free(rule);
}
Grammar *GrammarNew(void)
{
Grammar *gram = (Grammar *)calloc(1,sizeof(Grammar));
- gram->nextDef = &gram->defList;
+ gram->nextRule = &gram->ruleList;
return gram;
}
void GrammarFree(Grammar *gram)
{
Rule *next;
- for (Rule *def = gram->defList; def != NULL; def = next) {
- next = def->next;
- RuleFree(def);
+ for (Rule *rule = gram->ruleList; rule != NULL; rule = next) {
+ next = rule->next;
+ RuleFree(rule);
}
free(gram);
}
void GrammarDefine(Grammar *gram, const char *name, Expression *expr)
{
- Rule *def = RuleNew(name,expr);
- *gram->nextDef = def;
- gram->nextDef = &def->next;
+ Rule *rule = RuleNew(name,expr);
+ *gram->nextRule = rule;
+ gram->nextRule = &rule->next;
}
Expression *GrammarLookup(Grammar *gram, const char *name)
{
- for (Rule *def = gram->defList; def != NULL; def = def->next) {
- if (!strcmp(def->name,name))
- return def->expr;
+ for (Rule *rule = gram->ruleList; rule != NULL; rule = rule->next) {
+ if (!strcmp(rule->name,name))
+ return rule->expr;
}
return NULL;
}
@@ -102,15 +102,15 @@
void GrammarResolve(Grammar *gram)
{
- for (Rule *def = gram->defList; def != NULL; def = def->next)
- GrammarResolveRecursive(gram,def->expr,def->name);
+ for (Rule *rule = gram->ruleList; rule != NULL; rule = rule->next)
+ GrammarResolveRecursive(gram,rule->expr,rule->name);
}
void GrammarPrint(Grammar *gram, int exprAsTree)
{
int maxNameLen = 0;
- for (Rule *def = gram->defList; def != NULL; def = def->next) {
- int nameLen = strlen(def->name);
+ for (Rule *rule = gram->ruleList; rule != NULL; rule = rule->next) {
+ int nameLen = strlen(rule->name);
if (maxNameLen < nameLen)
maxNameLen = nameLen;
}
@@ -119,7 +119,7 @@
memset(prefix,' ',maxNameLen+1);
prefix[maxNameLen+1] = '\0';
- for (Rule *def = gram->defList; def != NULL; def = def->next) {
+ for (Rule *def = gram->ruleList; def != NULL; def = def->next) {
int nameLen = strlen(def->name);
printf("%s",def->name);
if (exprAsTree) {
@@ -145,8 +145,8 @@
const char *GrammarFirstRuleName(Grammar *gram)
{
- if (gram->defList == NULL)
+ if (gram->ruleList == NULL)
return NULL;
else
- return gram->defList->name;
+ return gram->ruleList->name;
}