add macroexpand_quote
This commit is contained in:
		
							parent
							
								
									aba1f5139b
								
							
						
					
					
						commit
						880c8c2b03
					
				|  | @ -499,6 +499,12 @@ macroexpand_lambda(pic_state *pic, pic_value expr, struct pic_senv *senv, pic_va | ||||||
|                            macroexpand_list(pic, pic_cddr(pic, expr), in, assoc_box))); |                            macroexpand_list(pic, pic_cddr(pic, expr), in, assoc_box))); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | static pic_value | ||||||
|  | macroexpand_quote(pic_state *pic, pic_value expr) | ||||||
|  | { | ||||||
|  |   return pic_cons(pic, pic_sym_value(pic->sQUOTE), pic_cdr(pic, expr)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| static pic_value | static pic_value | ||||||
| macroexpand_macro(pic_state *pic, struct pic_macro *mac, pic_value expr, struct pic_senv *senv, pic_value assoc_box) | macroexpand_macro(pic_state *pic, struct pic_macro *mac, pic_value expr, struct pic_senv *senv, pic_value assoc_box) | ||||||
| { | { | ||||||
|  | @ -582,7 +588,7 @@ macroexpand_node(pic_state *pic, pic_value expr, struct pic_senv *senv, pic_valu | ||||||
|         return macroexpand_define(pic, expr, senv, assoc_box); |         return macroexpand_define(pic, expr, senv, assoc_box); | ||||||
|       } |       } | ||||||
|       else if (tag == pic->sQUOTE) { |       else if (tag == pic->sQUOTE) { | ||||||
| 	return pic_cons(pic, car, pic_cdr(pic, expr)); |         return macroexpand_quote(pic, expr); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if ((mac = find_macro(pic, tag)) != NULL) { |       if ((mac = find_macro(pic, tag)) != NULL) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Yuichi Nishiwaki
						Yuichi Nishiwaki