head->next = decls;
head->ident = strdup(ident);
head->value = value;
- printf("Declared %s as ", ident);
- lambda_print(value, NULL);
decls = head;
}
return make_ident(ident);
}
+void decls_print()
+{
+ struct decllist *c = decls;
+ unsigned int maxlen = 0, len;
+ while(c != NULL){
+ len = strlen(c->ident);
+ maxlen = maxlen < len ? len : maxlen;
+ c = c->next;
+ }
+
+ c = decls;
+ while(c != NULL){
+ printf("% -*s = ", maxlen, c->ident);
+ lambda_print(c->value, NULL);
+ c = c->next;
+ }
+}
+
void decls_free()
{
struct decllist *t;