inline senv_new
This commit is contained in:
		
							parent
							
								
									0d0d4e6482
								
							
						
					
					
						commit
						9d2ac6b994
					
				
							
								
								
									
										16
									
								
								src/macro.c
								
								
								
								
							
							
						
						
									
										16
									
								
								src/macro.c
								
								
								
								
							|  | @ -48,24 +48,18 @@ pic_find_rename(pic_state *pic, struct pic_senv *senv, pic_sym sym, pic_sym *ren | |||
| static pic_value macroexpand(pic_state *, pic_value, struct pic_senv *, pic_value); | ||||
| static pic_value macroexpand_list(pic_state *, pic_value, struct pic_senv *, pic_value); | ||||
| 
 | ||||
| static struct pic_senv * | ||||
| senv_new(pic_state *pic, struct pic_senv *up) | ||||
| struct pic_senv * | ||||
| pic_null_syntactic_env(pic_state *pic) | ||||
| { | ||||
|   struct pic_senv *senv; | ||||
| 
 | ||||
|   senv = (struct pic_senv *)pic_obj_alloc(pic, sizeof(struct pic_senv), PIC_TT_SENV); | ||||
|   senv->up = up; | ||||
|   senv->up = NULL; | ||||
|   xh_init_int(&senv->renames, sizeof(pic_sym)); | ||||
| 
 | ||||
|   return senv; | ||||
| } | ||||
| 
 | ||||
| struct pic_senv * | ||||
| pic_null_syntactic_env(pic_state *pic) | ||||
| { | ||||
|   return senv_new(pic, NULL); | ||||
| } | ||||
| 
 | ||||
| struct pic_senv * | ||||
| pic_minimal_syntactic_env(pic_state *pic) | ||||
| { | ||||
|  | @ -100,7 +94,9 @@ push_scope(pic_state *pic, pic_value formals, struct pic_senv *up, pic_value ass | |||
|   struct pic_senv *senv; | ||||
|   pic_value a; | ||||
| 
 | ||||
|   senv = senv_new(pic, up); | ||||
|   senv = (struct pic_senv *)pic_obj_alloc(pic, sizeof(struct pic_senv), PIC_TT_SENV); | ||||
|   senv->up = up; | ||||
|   xh_init_int(&senv->renames, sizeof(pic_sym)); | ||||
| 
 | ||||
|   for (a = formals; pic_pair_p(a); a = pic_cdr(pic, a)) { | ||||
|     pic_value v = pic_car(pic, a); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Yuichi Nishiwaki
						Yuichi Nishiwaki