remove proc.h
This commit is contained in:
parent
8979b65b0c
commit
18b873f723
|
@ -277,7 +277,7 @@ pic_callcc_callcc(pic_state *pic)
|
|||
}
|
||||
|
||||
#define pic_redefun(pic, lib, name, func) \
|
||||
pic_set(pic, lib, name, pic_obj_value(pic_make_proc(pic, func, 0, NULL)))
|
||||
pic_set(pic, lib, name, pic_obj_value(pic_lambda(pic, func, 0)))
|
||||
|
||||
void
|
||||
pic_init_callcc(pic_state *pic)
|
||||
|
|
|
@ -392,7 +392,7 @@ pic_init_srfi_106(pic_state *pic)
|
|||
{
|
||||
pic_deflibrary(pic, "srfi.106");
|
||||
|
||||
#define pic_defun_(pic, name, f) pic_define(pic, "srfi.106", name, pic_obj_value(pic_make_proc(pic, f, 0, NULL)))
|
||||
#define pic_defun_(pic, name, f) pic_define(pic, "srfi.106", name, pic_obj_value(pic_lambda(pic, f, 0)))
|
||||
#define pic_define_(pic, name, v) pic_define(pic, "srfi.106", name, v)
|
||||
|
||||
pic_defun_(pic, "socket?", pic_socket_socket_p);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
*/
|
||||
|
||||
#include "picrin.h"
|
||||
#include "picrin/object.h"
|
||||
|
||||
struct pic_string *
|
||||
pic_get_backtrace(pic_state *pic)
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
*/
|
||||
|
||||
#include "picrin.h"
|
||||
#include "picrin/object.h"
|
||||
|
||||
void
|
||||
pic_panic(pic_state PIC_UNUSED(*pic), const char *msg)
|
||||
|
|
|
@ -264,7 +264,6 @@ int pic_str_hash(pic_state *, struct pic_string *);
|
|||
#include "picrin/macro.h"
|
||||
#include "picrin/pair.h"
|
||||
#include "picrin/port.h"
|
||||
#include "picrin/proc.h"
|
||||
#include "picrin/record.h"
|
||||
#include "picrin/symbol.h"
|
||||
|
||||
|
|
|
@ -80,6 +80,48 @@ struct pic_data {
|
|||
#define pic_data_ptr(o) ((struct pic_data *)pic_obj_ptr(o))
|
||||
|
||||
|
||||
/* context */
|
||||
|
||||
struct pic_context {
|
||||
PIC_OBJECT_HEADER
|
||||
pic_value *regs;
|
||||
int regc;
|
||||
struct pic_context *up;
|
||||
pic_value storage[1];
|
||||
};
|
||||
|
||||
#define pic_context_ptr(o) ((struct pic_context *)pic_obj_ptr(o))
|
||||
|
||||
|
||||
/* procedure */
|
||||
|
||||
struct pic_proc {
|
||||
PIC_OBJECT_HEADER
|
||||
enum {
|
||||
PIC_PROC_TAG_IREP,
|
||||
PIC_PROC_TAG_FUNC
|
||||
} tag;
|
||||
union {
|
||||
struct {
|
||||
pic_func_t func;
|
||||
int localc;
|
||||
} f;
|
||||
struct {
|
||||
struct pic_irep *irep;
|
||||
struct pic_context *cxt;
|
||||
} i;
|
||||
} u;
|
||||
pic_value locals[1];
|
||||
};
|
||||
|
||||
#define pic_proc_ptr(o) ((struct pic_proc *)pic_obj_ptr(o))
|
||||
|
||||
#define pic_proc_func_p(proc) ((proc)->tag == PIC_PROC_TAG_FUNC)
|
||||
#define pic_proc_irep_p(proc) ((proc)->tag == PIC_PROC_TAG_IREP)
|
||||
|
||||
struct pic_proc *pic_make_proc(pic_state *, pic_func_t, int, pic_value *);
|
||||
struct pic_proc *pic_make_proc_irep(pic_state *, struct pic_irep *, struct pic_context *);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
/**
|
||||
* See Copyright Notice in picrin.h
|
||||
*/
|
||||
|
||||
#ifndef PICRIN_PROC_H
|
||||
#define PICRIN_PROC_H
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct pic_context {
|
||||
PIC_OBJECT_HEADER
|
||||
pic_value *regs;
|
||||
int regc;
|
||||
struct pic_context *up;
|
||||
pic_value storage[1];
|
||||
};
|
||||
|
||||
struct pic_proc {
|
||||
PIC_OBJECT_HEADER
|
||||
enum {
|
||||
PIC_PROC_TAG_IREP,
|
||||
PIC_PROC_TAG_FUNC
|
||||
} tag;
|
||||
union {
|
||||
struct {
|
||||
pic_func_t func;
|
||||
int localc;
|
||||
} f;
|
||||
struct {
|
||||
struct pic_irep *irep;
|
||||
struct pic_context *cxt;
|
||||
} i;
|
||||
} u;
|
||||
pic_value locals[1];
|
||||
};
|
||||
|
||||
#define pic_proc_func_p(proc) ((proc)->tag == PIC_PROC_TAG_FUNC)
|
||||
#define pic_proc_irep_p(proc) ((proc)->tag == PIC_PROC_TAG_IREP)
|
||||
|
||||
#define pic_proc_ptr(o) ((struct pic_proc *)pic_obj_ptr(o))
|
||||
|
||||
#define pic_context_p(o) (pic_type(pic, o) == PIC_TYPE_CXT)
|
||||
#define pic_context_ptr(o) ((struct pic_context *)pic_obj_ptr(o))
|
||||
|
||||
struct pic_proc *pic_make_proc(pic_state *, pic_func_t, int, pic_value *);
|
||||
struct pic_proc *pic_make_proc_irep(pic_state *, struct pic_irep *, struct pic_context *);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -3,6 +3,7 @@
|
|||
*/
|
||||
|
||||
#include "picrin.h"
|
||||
#include "picrin/object.h"
|
||||
|
||||
KHASH_DEFINE(env, pic_id *, pic_sym *, kh_ptr_hash_func, kh_ptr_hash_equal)
|
||||
|
||||
|
|
Loading…
Reference in New Issue