X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdictionary%2Fattributes.c;h=c992ff806817156fa20f2fe27ab3fc6e14da382f;hb=48e0129f54424a6fd5fb1bc7651e48dedc5293c2;hp=9e9b8085f90dad7c0b834ef3914a31951c06e084;hpb=bd17d2af982332ee1791998361b1ac6731fe14fa;p=pspp-builds.git diff --git a/src/language/dictionary/attributes.c b/src/language/dictionary/attributes.c index 9e9b8085..c992ff80 100644 --- a/src/language/dictionary/attributes.c +++ b/src/language/dictionary/attributes.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008, 2010 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 @@ -55,7 +55,7 @@ cmd_variable_attribute (struct lexer *lexer, struct dataset *ds) bool ok; if (!lex_force_match_id (lexer, "VARIABLES") - || !lex_force_match (lexer, '=') + || !lex_force_match (lexer, T_EQUALS) || !parse_variables (lexer, dataset_dict (ds), &vars, &n_vars, PV_NONE)) return CMD_FAILURE; @@ -70,7 +70,7 @@ cmd_variable_attribute (struct lexer *lexer, struct dataset *ds) if (!ok) return CMD_FAILURE; } - while (lex_match (lexer, '/')); + while (lex_match (lexer, T_SLASH)); return lex_end_of_command (lexer); } @@ -79,8 +79,8 @@ static bool match_subcommand (struct lexer *lexer, const char *keyword) { if (lex_token (lexer) == T_ID - && lex_id_match (ss_cstr (lex_tokid (lexer)), ss_cstr (keyword)) - && lex_look_ahead (lexer) == '=') + && lex_id_match (lex_tokss (lexer), ss_cstr (keyword)) + && lex_look_ahead (lexer) == T_EQUALS) { lex_get (lexer); /* Skip keyword. */ lex_get (lexer); /* Skip '='. */ @@ -96,10 +96,10 @@ parse_attribute_name (struct lexer *lexer, char name[VAR_NAME_LEN + 1], { if (!lex_force_id (lexer)) return false; - strcpy (name, lex_tokid (lexer)); + strcpy (name, lex_tokcstr (lexer)); lex_get (lexer); - if (lex_match (lexer, '[')) + if (lex_match (lexer, T_LBRACK)) { if (!lex_force_int (lexer)) return false; @@ -110,7 +110,7 @@ parse_attribute_name (struct lexer *lexer, char name[VAR_NAME_LEN + 1], } *index = lex_integer (lexer); lex_get (lexer); - if (!lex_force_match (lexer, ']')) + if (!lex_force_match (lexer, T_RBRACK)) return false; } else @@ -122,14 +122,14 @@ static bool add_attribute (struct lexer *lexer, struct attrset **sets, size_t n) { char name[VAR_NAME_LEN + 1]; + const char *value; size_t index, i; - char *value; if (!parse_attribute_name (lexer, name, &index) - || !lex_force_match (lexer, '(') + || !lex_force_match (lexer, T_LPAREN) || !lex_force_string (lexer)) return false; - value = ds_cstr (lex_tokstr (lexer)); + value = lex_tokcstr (lexer); for (i = 0; i < n; i++) { @@ -143,7 +143,7 @@ add_attribute (struct lexer *lexer, struct attrset **sets, size_t n) } lex_get (lexer); - return lex_force_match (lexer, ')'); + return lex_force_match (lexer, T_RPAREN); } static bool @@ -186,7 +186,7 @@ parse_attributes (struct lexer *lexer, struct attrset **sets, size_t n) command = DELETE; else if (command == UNKNOWN) { - lex_error (lexer, _("expecting ATTRIBUTE= or DELETE=")); + lex_error (lexer, _("expecting %s or %s"), "ATTRIBUTE=", "DELETE="); return CMD_FAILURE; } @@ -195,6 +195,6 @@ parse_attributes (struct lexer *lexer, struct attrset **sets, size_t n) : delete_attribute (lexer, sets, n))) return CMD_FAILURE; } - while (lex_token (lexer) != '/' && lex_token (lexer) != '.'); + while (lex_token (lexer) != T_SLASH && lex_token (lexer) != T_ENDCMD); return CMD_SUCCESS; }