00001 #pragma once
00002 #ifndef _SEXP_MANIP_H
00003 #define _SEXP_MANIP_H
00004
00005 #include "public/sexp-manip.h"
00006
00007 #define SEXP_LSTACK_INIT_SIZE 32
00008 #define SEXP_LSTACK_GROWFAST_TRESH 512
00009 #define SEXP_LSTACK_GROWSLOW_DIFF 32
00010
00011 typedef struct {
00012 size_t l_size;
00013 size_t l_real;
00014 SEXP_t **l_sref;
00015 } SEXP_lstack_t;
00016
00017 SEXP_lstack_t *SEXP_lstack_new (void);
00018 SEXP_t *SEXP_lstack_push (SEXP_lstack_t *stack, SEXP_t *ref);
00019 SEXP_t *SEXP_lstack_pop (SEXP_lstack_t *stack);
00020 SEXP_t *SEXP_lstack_top (SEXP_lstack_t *stack);
00021
00022 struct SEXP_it {
00023 SEXP_t *s_ref;
00024
00025 };
00026
00027 #endif