X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Flexer%2Flexer.c;h=87fecaa6a92a8281b17df37ada52f7c9addb33fa;hb=c8e5d526ba80aaf842336f47ff5c00f8703a3022;hp=3dda38a6a0b8ab4f39d87d3e8a05c36ba4761488;hpb=751d7694b0904b580fad3903205341c85c04d421;p=pspp diff --git a/src/language/lexer/lexer.c b/src/language/lexer/lexer.c index 3dda38a6a0..87fecaa6a9 100644 --- a/src/language/lexer/lexer.c +++ b/src/language/lexer/lexer.c @@ -40,11 +40,6 @@ #define _(msgid) gettext (msgid) #define N_(msgid) msgid - -#define DUMP_TOKENS 0 - - - struct lexer { struct string line_buffer; @@ -83,10 +78,6 @@ enum string_type }; static int parse_string (struct lexer *, enum string_type); - -#if DUMP_TOKENS -static void dump_token (struct lexer *); -#endif /* Initialization. */ @@ -180,9 +171,6 @@ lex_get (struct lexer *lexer) if (lexer->put_token) { restore_token (lexer); -#if DUMP_TOKENS - dump_token (lexer); -#endif return; } @@ -199,27 +187,18 @@ lex_get (struct lexer *lexer) { lexer->dot = 0; lexer->token = '.'; -#if DUMP_TOKENS - dump_token (lexer); -#endif return; } else if (!lex_get_line (lexer)) { lexer->prog = NULL; lexer->token = T_STOP; -#if DUMP_TOKENS - dump_token (lexer); -#endif return; } if (lexer->put_token) { restore_token (lexer); -#if DUMP_TOKENS - dump_token (lexer); -#endif return; } } @@ -394,10 +373,6 @@ lex_get (struct lexer *lexer) } break; } - -#if DUMP_TOKENS - dump_token (lexer); -#endif } /* Parses an identifier at the current position into tokid and @@ -628,7 +603,7 @@ lex_force_match (struct lexer *lexer, int t) bool lex_force_string (struct lexer *lexer) { - if (lexer->token == T_STRING) + if (lex_is_string (lexer)) return true; else { @@ -887,6 +862,8 @@ lex_get_line_raw (struct lexer *lexer) const char *line = ds_cstr (&lexer->line_buffer); text_item_submit (text_item_create (TEXT_ITEM_SYNTAX, line)); } + else + lexer->prog = NULL; return ok; } @@ -899,10 +876,7 @@ lex_get_line (struct lexer *lexer) bool line_starts_command; if (!lex_get_line_raw (lexer)) - { - lexer->prog = NULL; - return false; - } + return false; lex_preprocess_line (&lexer->line_buffer, lex_current_syntax_mode (lexer), @@ -1224,60 +1198,6 @@ finish: return T_STRING; } -#if DUMP_TOKENS -/* Reads one token from the lexer and writes a textual representation - on stdout for debugging purposes. */ -static void -dump_token (struct lexer *lexer) -{ - { - const char *curfn; - int curln; - - curln = getl_source_location (lexer->ss); - curfn = getl_source_name (lexer->ss); - if (curfn) - fprintf (stderr, "%s:%d\t", curfn, curln); - } - - switch (lexer->token) - { - case T_ID: - fprintf (stderr, "ID\t%s\n", lexer->tokid); - break; - - case T_POS_NUM: - case T_NEG_NUM: - fprintf (stderr, "NUM\t%f\n", lexer->tokval); - break; - - case T_STRING: - fprintf (stderr, "STRING\t`%s'\n", ds_cstr (&lexer->tokstr)); - break; - - case T_STOP: - fprintf (stderr, "STOP\n"); - break; - - case T_EXP: - fprintf (stderr, "MISC\tEXP\""); - break; - - case 0: - fprintf (stderr, "MISC\tEOF\n"); - break; - - default: - if (lex_is_keyword (lexer->token)) - fprintf (stderr, "KEYWORD\t%s\n", lex_token_name (lexer->token)); - else - fprintf (stderr, "PUNCT\t%c\n", lexer->token); - break; - } -} -#endif /* DUMP_TOKENS */ - - /* Token Accessor Functions */ int