projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Work on DEFINE command.
[pspp]
/
src
/
language
/
lexer
/
segment.c
diff --git
a/src/language/lexer/segment.c
b/src/language/lexer/segment.c
index a4fea0b213118559d474b94a2bc4efa4008ff0d0..ac88117ff5270e1a8b43cdf38172af5aaf431f16 100644
(file)
--- a/
src/language/lexer/segment.c
+++ b/
src/language/lexer/segment.c
@@
-28,6
+28,7
@@
#include "gl/c-ctype.h"
#include "gl/c-strcase.h"
#include "gl/c-ctype.h"
#include "gl/c-strcase.h"
+#include "gl/verify.h"
enum segmenter_state
{
enum segmenter_state
{
@@
-54,6
+55,9
@@
enum segmenter_state
S_TITLE_2
};
S_TITLE_2
};
+/* S_SHBANG is the start state that SEGMENTER_INIT refers to as just 0. */
+verify (S_SHBANG == 0);
+
#define SS_START_OF_LINE (1u << 0)
#define SS_START_OF_COMMAND (1u << 1)
#define SS_START_OF_LINE (1u << 0)
#define SS_START_OF_COMMAND (1u << 1)
@@
-1806,9
+1810,7
@@
segment_type_to_string (enum segment_type type)
void
segmenter_init (struct segmenter *s, enum segmenter_mode mode)
{
void
segmenter_init (struct segmenter *s, enum segmenter_mode mode)
{
- s->state = S_SHBANG;
- s->substate = 0;
- s->mode = mode;
+ *s = (struct segmenter) SEGMENTER_INIT (mode);
}
/* Returns the mode passed to segmenter_init() for S. */
}
/* Returns the mode passed to segmenter_init() for S. */