#ifndef _X_STACK_H #define _X_STACK_H typedef struct x_stack* XStack; XStack xstack_new(BitSet set); void xstack_print(XStack stack, FILE* out); int xstack_contains(XStack x, Symbol s); int xstack_size(XStack x); Symbol xstack_item(XStack x, int i); void xstack_remove(XStack x, int i); /** Returns an ArrayList of Symbols. First item is TOS */ ArrayList xstack_top(XStack x, int count); void xstack_ensureReachable(XStack x, BitSet variables, int delve); int compareVirtuals(Symbol s1, Symbol s2); #endif