diff options
Diffstat (limited to 'hieroglyph/hgstack.h')
-rw-r--r-- | hieroglyph/hgstack.h | 48 |
1 files changed, 22 insertions, 26 deletions
diff --git a/hieroglyph/hgstack.h b/hieroglyph/hgstack.h index 89ca889..ef09b18 100644 --- a/hieroglyph/hgstack.h +++ b/hieroglyph/hgstack.h @@ -1,10 +1,10 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * hgstack.h - * Copyright (C) 2005-2006 Akira TAGOH + * Copyright (C) 2005-2007 Akira TAGOH * * Authors: - * Akira TAGOH <at@gclab.org> + * Akira TAGOH <akira@tagoh.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,35 +21,31 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ -#ifndef __HG_STACK_H__ -#define __HG_STACK_H__ +#ifndef __HIEROGLYPH_HGSTACK_H__ +#define __HIEROGLYPH_HGSTACK_H__ #include <hieroglyph/hgtypes.h> -G_BEGIN_DECLS - -HgStack *hg_stack_new (HgMemPool *pool, - guint max_depth); -guint hg_stack_depth(HgStack *stack); -gboolean hg_stack_push (HgStack *stack, - HgValueNode *node); -HgValueNode *hg_stack_pop (HgStack *stack); -void hg_stack_clear(HgStack *stack); -HgValueNode *hg_stack_index(HgStack *stack, - guint index_from_top); -void hg_stack_roll (HgStack *stack, - guint n_block, - gint32 n_times); -void hg_stack_dump (HgStack *stack, - HgFileObject *file); +G_BEGIN_DECLS -/* internal use */ -void _hg_stack_use_stack_validator(HgStack *stack, - gboolean flag); -gboolean _hg_stack_push (HgStack *stack, - HgValueNode *node); +hg_stack_t *hg_stack_new (hg_vm_t *vm, + gsize depth) G_GNUC_WARN_UNUSED_RESULT; +void hg_stack_free (hg_vm_t *vm, + hg_stack_t *stack); +gboolean hg_stack_push (hg_stack_t *stack, + hg_object_t *object); +hg_object_t *hg_stack_pop (hg_stack_t *stack); +void hg_stack_clear (hg_stack_t *stack); +gsize hg_stack_length(hg_stack_t *stack); +hg_object_t *hg_stack_index (hg_stack_t *stack, + gsize index); +gboolean hg_stack_roll (hg_stack_t *stack, + gsize n_block, + gssize n_times); +void hg_stack_dump (hg_vm_t *vm, + hg_stack_t *stack); G_END_DECLS -#endif /* __HG_STACK_H__ */ +#endif /* __HIEROGLYPH_HGSTACK_H__ */ |