X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fq2c.c;h=3bba239035f7120ed1ac264ce42f3f156c1db809;hb=48dd2c7e82ecd7629109484ed873bcb67ec8c655;hp=37ec08f033093d74f203c9560767df9032105175;hpb=3a66b403c8856da07a1de12c96e163971909e29a;p=pspp diff --git a/src/q2c.c b/src/q2c.c index 37ec08f033..3bba239035 100644 --- a/src/q2c.c +++ b/src/q2c.c @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #include #include @@ -284,7 +284,7 @@ add_symbol (const char *name, int unique, int value) symbol *iter, *sym; int x; - sym = xmalloc (sizeof (symbol)); + sym = xmalloc (sizeof *sym); sym->name = xstrdup (name); sym->unique = unique; sym->value = value; @@ -342,14 +342,11 @@ find_symbol (int x) #if DEBUGGING /* Writes a printable representation of the current token to stdout. */ -void +static void dump_token (void) { switch (token) { - case T_TSTRING: - printf ("TR_STRING\t\"%s\"\n", tokstr); - break; case T_STRING: printf ("STRING\t\"%s\"\n", tokstr); break; @@ -727,7 +724,7 @@ parse_specifier (specifier *spec, subcommand *sbc) for (;;) { - *s = xmalloc (sizeof (setting)); + *s = xmalloc (sizeof **s); parse_setting (*s, spec); if (token == ',' || token == ';' || token == '.') break; @@ -752,7 +749,7 @@ parse_specifiers (subcommand *sbc) for (;;) { - *spec = xmalloc (sizeof (specifier)); + *spec = xmalloc (sizeof **spec); parse_specifier (*spec, sbc); if (token == ';' || token == '.') break; @@ -896,7 +893,7 @@ parse_subcommands (void) for (;;) { - *sbc = xmalloc (sizeof (subcommand)); + *sbc = xmalloc (sizeof **sbc); (*sbc)->next = NULL; parse_subcommand (*sbc); @@ -1146,7 +1143,7 @@ dump_declarations (void) break; case SBC_VARLIST: - dump (0, "int %sn_%s;", st_lower (sbc->prefix), + dump (0, "size_t %sn_%s;", st_lower (sbc->prefix), st_lower (sbc->name)); dump (0, "struct variable **%sv_%s;", st_lower (sbc->prefix), st_lower (sbc->name)); @@ -1461,7 +1458,7 @@ dump_specifier_parse (const specifier *spec, const subcommand *sbc) if (s->value == VAL_INT) { - dump (1, "if (!lex_integer_p ())"); + dump (1, "if (!lex_is_integer ())"); dump (1, "{"); dump (0, "msg (SE, _(\"%s specifier of %s subcommand " "requires an integer argument.\"));", @@ -1473,7 +1470,7 @@ dump_specifier_parse (const specifier *spec, const subcommand *sbc) } else { - dump (1, "if (token != T_NUM)"); + dump (1, "if (!lex_is_number ())"); dump (1, "{"); dump (0, "msg (SE, _(\"Number expected after %s " "specifier of %s subcommand.\"));", @@ -1661,7 +1658,7 @@ dump_subcommand (const subcommand *sbc) { dump (1, "if (!lex_force_num ())"); dump (0, "goto lossage;"); - dump (-1, "p->n_%s[p->sbc_%s - 1] = lex_double ();", + dump (-1, "p->n_%s[p->sbc_%s - 1] = lex_number ();", st_lower (sbc->name), st_lower (sbc->name) ); dump (0, "lex_get();"); } @@ -1713,7 +1710,7 @@ dump_subcommand (const subcommand *sbc) dump (0, "goto lossage;"); dump (-1,"}"); - dump (0, "subc_list_double_push(&p->dl_%s[p->sbc_%s-1],lex_double ());", + dump (0, "subc_list_double_push(&p->dl_%s[p->sbc_%s-1],lex_number ());", st_lower (sbc->name),st_lower (sbc->name) ); @@ -2209,7 +2206,10 @@ main (int argc, char *argv[]) dump (0, "#include \"str.h\""); dump (0, "#include \"subclist.h\""); dump (0, "#include \"var.h\""); + dump (0, nullstr); + dump (0, "#include \"gettext.h\""); + dump (0, "#define _(msgid) gettext (msgid)"); dump (0, nullstr); } else if (!strcmp (directive, "declarations")) @@ -2251,7 +2251,7 @@ aux_parse (void) for (;;) { - sbc = xmalloc(sizeof(aux_subcommand)); + sbc = xmalloc (sizeof *sbc); sbc->next = prevsbc; sbc->name = xstrdup (tokstr); lex_get();