{
struct lambda *r = make_lambda();
r->which = lambda_ident;
- r->data.identifier = strdup(i);
+ r->data.identifier.ident = strdup(i);
+ r->data.identifier.revision = 0;
return r;
}
{ result = $$; }
decl
: FUNC ASSIGN term SEMICOLON
- { decls_prepend($1->data.identifier, $3); }
+ { decls_prepend($1->data.identifier.ident, $3); }
term
: term appterm
{ $$ = make_application($1, $2); }
appterm
: FUNC
{
- $$ = decls_lookup($1->data.identifier);
+ $$ = decls_lookup($1->data.identifier.ident);
lambda_free($1);
}
| IDENT
{
- $$ = make_ident($1->data.identifier);
+ $$ = make_ident($1->data.identifier.ident);
lambda_free($1);
}
| LAMBDA abstraction
abstraction
: IDENT abstraction
{
- $$ = make_abstraction($1->data.identifier, $2);
+ $$ = make_abstraction($1->data.identifier.ident, $2);
lambda_free($1);
}
| DOT term