add defvar
This commit is contained in:
		
							parent
							
								
									10e5546a53
								
							
						
					
					
						commit
						d6abb5c0ba
					
				
							
								
								
									
										10
									
								
								src/vm.c
								
								
								
								
							
							
						
						
									
										10
									
								
								src/vm.c
								
								
								
								
							| 
						 | 
				
			
			@ -9,6 +9,7 @@
 | 
			
		|||
#include "picrin/proc.h"
 | 
			
		||||
#include "picrin/irep.h"
 | 
			
		||||
#include "picrin/blob.h"
 | 
			
		||||
#include "picrin/var.h"
 | 
			
		||||
 | 
			
		||||
#define GET_OPERAND(pic,n) ((pic)->ci->fp[(n)])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -309,6 +310,15 @@ pic_defun(pic_state *pic, const char *name, pic_func_t cfunc)
 | 
			
		|||
  pic_define(pic, pic->lib, name, pic_obj_value(proc));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
pic_defvar(pic_state *pic, const char *name, pic_value init)
 | 
			
		||||
{
 | 
			
		||||
  struct pic_var *var;
 | 
			
		||||
 | 
			
		||||
  var = pic_var_new(pic, init, NULL);
 | 
			
		||||
  pic_define(pic, pic->lib, name, pic_obj_value(pic_wrap_var(pic, var)));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pic_value
 | 
			
		||||
pic_apply_argv(pic_state *pic, struct pic_proc *proc, size_t argc, ...)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue