-%type let_stmt {let_stmt*}
-%destructor let_stmt {free_let_stmt($$);}
-let_stmt(let) ::= LET decl_var(var) EOS. {
- let = init_let_stmt(var, NULL);
-}
-let_stmt(let) ::= LET decl_var(var) EQUALS let_value(val) EOS. {
- let = init_let_stmt(var, val);
-}
-
-%type let_value {let_value*}
-%destructor let_value {free_let_value($$);}
-let_value(val) ::= CALLOC(F) LPAREN let_calloc(alloc) RPAREN. {
- val = init_let_value(init_let_func(F->type, F->text, alloc), NULL, 0);
- free(F);
-}
-
-%type let_calloc {let_calloc*}
-%destructor let_calloc {free_let_calloc($$);}
-let_calloc(alloc) ::= num_exp(nmemb) COMMA num_exp(size). {
- alloc = init_let_calloc(nmemb, size);
-}
-