X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Flexer%2Fq2c.c;h=f53ccfc33c181ad48cba48705f35e23d5cb2d552;hb=9ade26c8349b4434008c46cf09bc7473ec743972;hp=cf5a04ee132c6df3449cccc4da8d86c1239a07e1;hpb=55e6e7ba37a30570f5a31e2d78c22dfa7b61a36f;p=pspp-builds.git diff --git a/src/language/lexer/q2c.c b/src/language/lexer/q2c.c index cf5a04ee..f53ccfc3 100644 --- a/src/language/lexer/q2c.c +++ b/src/language/lexer/q2c.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2008, 2010, 2011 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 @@ -1422,12 +1422,14 @@ make_match (const char *t) "|| lex_match_id (lexer, \"FALSE\"))"); else if (isdigit ((unsigned char) t[0])) sprintf (s, "lex_match_int (lexer, %s)", t); - else + else if (strchr (t, hyphen_proxy)) { char *c = unmunge (t); - sprintf (s, "lex_match_hyphenated_word (lexer, \"%s\")", c); + sprintf (s, "lex_match_phrase (lexer, \"%s\")", c); free (c); } + else + sprintf (s, "lex_match_id (lexer, \"%s\")", t); return s; } @@ -1496,7 +1498,7 @@ dump_specifier_parse (const specifier *spec, const subcommand *sbc) } else { - dump (1, "if (!lex_match (lexer, T_RPAREN))"); + dump (1, "if (!lex_match (lexer, T_LPAREN))"); dump (1, "{"); dump (0, "msg (SE, _(\"`(' expected after %s " "specifier of %s subcommand.\"));", @@ -1834,12 +1836,12 @@ dump_parser (int persistent) if (def->type == SBC_VARLIST) dump (1, "if (lex_token (lexer) == T_ID " "&& dict_lookup_var (dataset_dict (ds), lex_tokcstr (lexer)) != NULL " - "&& lex_look_ahead (lexer) != '=')"); + "&& lex_next_token (lexer, 1) != T_EQUALS)"); else { dump (0, "if ((lex_token (lexer) == T_ID " "&& dict_lookup_var (dataset_dict (ds), lex_tokcstr (lexer)) " - "&& lex_look_ahead () != '=')"); + "&& lex_next_token (lexer, 1) != T_EQUALS)"); dump (1, " || token == T_ALL)"); } dump (1, "{"); @@ -2126,17 +2128,19 @@ main (int argc, char *argv[]) indent = 0; dump (0, "#include "); - dump (0, "#include "); - dump (0, "#include "); - dump (0, "#include "); - dump (0, "#include "); - dump (0, "#include "); - dump (0, "#include "); - dump (0, "#include "); - dump (0, "#include "); + dump_blank_line (0); + + dump (0, "#include \"data/settings.h\""); + dump (0, "#include \"data/variable.h\""); + dump (0, "#include \"language/lexer/lexer.h\""); + dump (0, "#include \"language/lexer/subcommand-list.h\""); + dump (0, "#include \"language/lexer/variable-parser.h\""); + dump (0, "#include \"libpspp/assertion.h\""); + dump (0, "#include \"libpspp/message.h\""); + dump (0, "#include \"libpspp/str.h\""); dump_blank_line (0); - dump (0, "#include \"xalloc.h\""); + dump (0, "#include \"gl/xalloc.h\""); dump_blank_line (0); dump (0, "#include \"gettext.h\"");