Add flag for logging dot graphs of the stack while parsing

This commit is contained in:
Max Brunsfeld 2016-02-23 09:45:27 -08:00
parent 867e1094c3
commit b36143d7a7
4 changed files with 64 additions and 41 deletions

View file

@ -43,13 +43,9 @@ extern "C" {
array_grow((self), (self)->capacity * 2)) && \
((self)->contents[(self)->size++] = (element), true))
#define array_splice(self, index, old_count, new_count, new_elements) \
array__splice((VoidArray *)(self), \
array__elem_size(self), \
index, \
old_count, \
new_count, \
new_elements) \
#define array_splice(self, index, old_count, new_count, new_elements) \
array__splice((VoidArray *)(self), array__elem_size(self), index, old_count, \
new_count, new_elements)
#define array_pop(self) ((self)->contents[--(self)->size])
@ -118,11 +114,11 @@ static inline bool array__splice(VoidArray *self, size_t element_size,
char *contents = (char *)self->contents;
if (self->size > old_end)
memmove(contents + new_end * element_size,
contents + old_end * element_size,
memmove(contents + new_end * element_size, contents + old_end * element_size,
(self->size - old_end) * element_size);
if (new_count > 0)
memcpy((contents + index * element_size), elements, new_count * element_size);
memcpy((contents + index * element_size), elements,
new_count * element_size);
self->size += new_count - old_count;
return true;
}