diff options
Diffstat (limited to 'pc.y')
| -rw-r--r-- | pc.y | 12 | 
1 files changed, 11 insertions, 1 deletions
| @@ -167,8 +167,18 @@ sub_prog_declaration  sub_prog_head  	:FUNC ID arguments ':' standard_type ';'  	{ +		node *tmp; +		int i = -1; +  		check_id(cur_scope->prev, $2); -		scope_insert(cur_scope->prev, $2); +		tmp = scope_insert(cur_scope->prev, $2); + +		assert(tmp->func_info = malloc(sizeof struct fi)); +		/*TODO add count of parameters*/ +		tmp->func_info->argc = i; +		assert(tmp->func_info->argv = malloc(i * sizeof int)); + +		tmp->var_type = $5  		cur_scope->ret_var = scope_insert(cur_scope, $2);  		cur_scope->ret_var->var_type = $5; | 
