diff --git a/examples/glue.c b/examples/glue.c index 49bda56..de5f1e7 100644 --- a/examples/glue.c +++ b/examples/glue.c @@ -114,6 +114,13 @@ HParsedToken *h_carray_index(const HCountedArray *a, size_t i) return a->elements[i]; } +size_t h_seq_len(const HParsedToken *p) +{ + assert(p != NULL); + assert(p->token_type == TT_SEQUENCE); + return p->seq->used; +} + HParsedToken *h_seq_index(const HParsedToken *p, size_t i) { assert(p != NULL); diff --git a/examples/glue.h b/examples/glue.h index 5fdabc3..4f69f51 100644 --- a/examples/glue.h +++ b/examples/glue.h @@ -74,6 +74,9 @@ uint64_t h_cast_uint (const HParsedToken *p); // Sequence access... +// Return the length of a sequence. +size_t h_seq_len(const HParsedToken *p); + // Access a sequence element by index. HParsedToken * h_seq_index(const HParsedToken *p, size_t i);