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;
 }