/* PSPP - a program for statistical analysis.
- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011, 2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
SEG_TYPE(DO_REPEAT_COMMAND) \
SEG_TYPE(INLINE_DATA) \
\
+ SEG_TYPE(MACRO_ID) \
+ SEG_TYPE(MACRO_BODY) \
+ \
SEG_TYPE(START_DOCUMENT) \
SEG_TYPE(DOCUMENT) \
\
#define SEG_TYPE(NAME) SEG_##NAME,
SEG_TYPES
#undef SEG_TYPE
- SEG_N_TYPES
};
+/* Number of segment types. */
+#define SEG_TYPE(NAME) + 1
+enum { SEG_N_TYPES = SEG_TYPES };
+#undef SEG_TYPE
+
const char *segment_type_to_string (enum segment_type);
/* A segmenter. Opaque. */
{
unsigned char state;
unsigned char substate;
+ unsigned char nest;
unsigned char mode;
};
enum segmenter_mode segmenter_get_mode (const struct segmenter *);
-int segmenter_push (struct segmenter *, const char *input, size_t n,
+int segmenter_push (struct segmenter *, const char *input, size_t n, bool eof,
enum segment_type *);
enum prompt_style segmenter_get_prompt (const struct segmenter *);