From 0fa141762183890ebd139ccd9264f08db9011539 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 22 Nov 2006 04:24:02 +0000 Subject: [PATCH] Rewrite formatted data input routines to conform to SPSS data formats as closely as possible --- src/data/ChangeLog | 32 + src/data/data-in.c | 1919 ++++++++---------- src/data/data-in.h | 34 +- src/data/data-out.c | 33 +- src/data/format.c | 4 +- src/language/data-io/ChangeLog | 9 + src/language/data-io/data-list.c | 44 +- src/language/data-io/data-reader.c | 1 + src/language/data-io/matrix-data.c | 14 +- src/language/dictionary/missing-values.c | 2 +- src/language/expressions/evaluate.c | 2 - src/language/expressions/operations.def | 9 +- src/language/lexer/ChangeLog | 7 + src/language/lexer/range-parser.c | 37 +- src/language/lexer/range-parser.h | 5 +- src/language/utilities/ChangeLog | 9 + src/language/utilities/set.q | 21 + src/language/xforms/recode.c | 15 +- src/libpspp/ChangeLog | 7 + src/libpspp/str.c | 58 + src/libpspp/str.h | 4 + src/ui/gui/helper.c | 15 +- src/ui/gui/psppire-case-file.c | 9 +- src/ui/gui/psppire-case-file.h | 7 +- src/ui/gui/psppire-data-store.c | 18 +- tests/ChangeLog | 35 + tests/automake.mk | 8 + tests/command/no_case_size.sh | 10 +- tests/formats/bcd-in.expected.cmp.gz | Bin 0 -> 55466 bytes tests/formats/bcd-in.sh | 84 + tests/formats/date-in.sh | 2272 ++++++++++++++++++++++ tests/formats/ib-in.expected.cmp.gz | Bin 0 -> 334995 bytes tests/formats/ib-in.sh | 85 + tests/formats/legacy-in.expected.cmp.gz | Bin 0 -> 1945 bytes tests/formats/legacy-in.sh | 84 + tests/formats/month-in.sh | 162 ++ tests/formats/num-in.expected.gz | Bin 0 -> 9536 bytes tests/formats/num-in.sh | 185 ++ tests/formats/num-out.expected.cmp.gz | Bin 206727 -> 209506 bytes tests/formats/time-in.sh | 953 +++++++++ tests/formats/wkday-in.sh | 89 + 41 files changed, 5035 insertions(+), 1247 deletions(-) create mode 100644 tests/formats/bcd-in.expected.cmp.gz create mode 100755 tests/formats/bcd-in.sh create mode 100755 tests/formats/date-in.sh create mode 100644 tests/formats/ib-in.expected.cmp.gz create mode 100755 tests/formats/ib-in.sh create mode 100644 tests/formats/legacy-in.expected.cmp.gz create mode 100755 tests/formats/legacy-in.sh create mode 100755 tests/formats/month-in.sh create mode 100644 tests/formats/num-in.expected.gz create mode 100755 tests/formats/num-in.sh create mode 100755 tests/formats/time-in.sh create mode 100755 tests/formats/wkday-in.sh diff --git a/src/data/ChangeLog b/src/data/ChangeLog index c77770c4..9bd3d429 100644 --- a/src/data/ChangeLog +++ b/src/data/ChangeLog @@ -1,3 +1,35 @@ +Sat Nov 18 20:46:35 2006 Ben Pfaff + + * format.c: (fmt_date_template) Distinguish characters for which a + space is output and any date delimiter is allowed on input, from + those for which a space is output and only a space is allowed on + input. The former is represented by X, the latter by a space. + Also, drop distinction between h and H, changing the former to the + latter. + + * data-in.c: Completely rewrite internals to conform to SPSS input + formats as closely as possible. + (data_in) Changed external interface by replacing the structure + that was used as a single argument by a set of arguments. Updated + all callers. + (data_in_finite_line) Removed. Converted all callers to use plain + data_in. + (data_in_get_integer_format) New function. + (data_in_set_integer_format) New function. + (data_in_get_float_format) New function. + (data_in_set_float_format) New function. + + * data-in.h: (enums DI_IGNORE_ERROR, DI_IMPLIED_DECIMALS) Removed. + (struct data_in) Removed. + + * data-out.c: (output_date) Drop each component from the input as + it is output, to allow us to drop the distinction between h (a + count of hours) and H (the hour of day) template characters. + Also, handle new X template character. + (output_scientific) Follow more rational rule on when to drop + fraction introduced between SPSS 13 and 15. Updated test case to + match new behavior. + Sat Nov 11 11:41:26 2006 Ben Pfaff Fix buffer overflow reported by John Darrington. diff --git a/src/data/data-in.c b/src/data/data-in.c index 3cf53a28..7ecded2f 100644 --- a/src/data/data-in.c +++ b/src/data/data-in.c @@ -18,525 +18,577 @@ 02110-1301, USA. */ #include + #include "data-in.h" -#include -#include + #include +#include +#include #include #include +#include #include #include #include -#include + #include "calendar.h" -#include #include "identifier.h" +#include "settings.h" +#include "variable.h" + +#include +#include +#include #include +#include #include -#include "settings.h" #include -#include "variable.h" + +#include "c-ctype.h" +#include "minmax.h" +#include "size_max.h" +#include "xalloc.h" #include "gettext.h" #define _(msgid) gettext (msgid) -/* Specialized error routine. */ +/* Information about parsing one data field. */ +struct data_in + { + struct substring input; /* Source. */ + enum fmt_type format; /* Input format. */ + int implied_decimals; /* Number of implied decimal places. */ + + union value *output; /* Destination. */ + int width; /* Output width. */ + + int first_column; /* First column of field; 0 if inapplicable. */ + int last_column; /* Last column. */ + }; + +/* Integer format used for IB and PIB input. */ +static enum integer_format input_integer_format = INTEGER_NATIVE; + +/* Floating-point format used for RB and RBHEX input. */ +static enum float_format input_float_format = FLOAT_NATIVE_DOUBLE; + +typedef bool data_in_parser_func (struct data_in *); +#define FMT(NAME, METHOD, IMIN, OMIN, IO, CATEGORY) \ + static data_in_parser_func parse_##METHOD; +#include "format.def" -static void dls_error (const struct data_in *, const char *format, ...) +static void vdata_warning (const struct data_in *, const char *, va_list) + PRINTF_FORMAT (2, 0); +static void data_warning (const struct data_in *, const char *, ...) PRINTF_FORMAT (2, 3); -static void -vdls_error (const struct data_in *i, const char *format, va_list args) +static void apply_implied_decimals (struct data_in *); +static void default_result (struct data_in *); +static bool trim_spaces_and_check_missing (struct data_in *); + +static int hexit_value (int c); + +/* Parses the characters in INPUT according to FORMAT. Stores + the parsed representation in OUTPUT, which has the given WIDTH + (0 for a numeric field, otherwise the string width). + + If no decimal point is included in a numeric format, then + IMPLIED_DECIMALS decimal places are implied. Specify 0 if no + decimal places should be implied. + + If FIRST_COLUMN is nonzero, then it should be the 1-based + column number of the first character in INPUT, used in error + messages. */ +bool +data_in (struct substring input, + enum fmt_type format, int implied_decimals, + int first_column, union value *output, int width) { - struct msg m; - struct string text; - char format_string[FMT_STRING_LEN_MAX + 1]; + static data_in_parser_func *const handlers[FMT_NUMBER_OF_FORMATS] = + { +#define FMT(NAME, METHOD, IMIN, OMIN, IO, CATEGORY) parse_##METHOD, +#include "format.def" + }; - if (i->flags & DI_IGNORE_ERROR) - return; + struct data_in i; + bool ok; - ds_init_empty (&text); - if (i->f1 == i->f2) - ds_put_format (&text, _("(column %d"), i->f1); - else - ds_put_format (&text, _("(columns %d-%d"), i->f1, i->f2); - ds_put_format (&text, _(", field type %s) "), - fmt_to_string (&i->format, format_string)); - ds_put_vformat (&text, format, args); + assert ((width != 0) == fmt_is_string (format)); - m.category = MSG_DATA; - m.severity = MSG_ERROR; - m.text = ds_cstr (&text); + i.input = input; + i.format = format; + i.implied_decimals = implied_decimals; - msg_emit (&m); -} + i.output = output; + i.width = width; -static void -dls_error (const struct data_in *i, const char *format, ...) -{ - va_list args; + i.first_column = first_column; + i.last_column = first_column + ss_length (input) - 1; - va_start (args, format); - vdls_error (i, format, args); - va_end (args); + if (!ss_is_empty (i.input)) + { + ok = handlers[i.format] (&i); + if (!ok) + default_result (&i); + } + else + { + default_result (&i); + ok = true; + } + + return ok; } - -/* Parsing utility functions. */ -/* Excludes leading and trailing whitespace from I by adjusting - pointers. */ -static void -trim_whitespace (struct data_in *i) +/* Returns the integer format used for IB and PIB input. */ +enum integer_format +data_in_get_integer_format (void) { - while (i->s < i->e && isspace ((unsigned char) i->s[0])) - i->s++; + return input_integer_format; +} - while (i->s < i->e && isspace ((unsigned char) i->e[-1])) - i->e--; +/* Sets the integer format used for IB and PIB input to + FORMAT. */ +void +data_in_set_integer_format (enum integer_format format) +{ + input_integer_format = format; } -/* Returns true if we're not at the end of the string being - parsed. */ -static inline bool -have_char (struct data_in *i) +/* Returns the floating-point format used for RB and RBHEX + input. */ +enum float_format +data_in_get_float_format (void) { - return i->s < i->e; + return input_float_format; } -/* If implied decimal places are enabled, apply them to - I->v->f. */ -static void -apply_implied_decimals (struct data_in *i) +/* Sets the floating-point format used for RB and RBHEX input to + FORMAT. */ +void +data_in_set_float_format (enum float_format format) { - if ((i->flags & DI_IMPLIED_DECIMALS) && i->format.d > 0) - i->v->f /= pow (10., i->format.d); + input_float_format = format; } /* Format parsers. */ -static bool parse_int (struct data_in *i, long *result); - -/* This function is based on strtod() from the GNU C library. */ +/* Parses F, COMMA, DOT, DOLLAR, PCT, and E input formats. */ static bool -parse_numeric (struct data_in *i) +parse_number (struct data_in *i) { - int sign; /* +1 or -1. */ - double num; /* The number so far. */ + const struct fmt_number_style *style = fmt_get_style (i->format); - bool got_dot; /* Found a decimal point. */ - size_t digit_cnt; /* Count of digits. */ + struct string tmp; - int decimal; /* Decimal point character. */ - int grouping; /* Grouping character. */ + bool explicit_decimals = false; + int save_errno; + char *tail; - long int exponent; /* Number's exponent. */ - int type; /* Usually same as i->format.type. */ + assert (fmt_get_category (i->format) != FMT_CAT_CUSTOM); - trim_whitespace (i); + /* Trim spaces and check for missing value representation. */ + if (trim_spaces_and_check_missing (i)) + return true; - type = i->format.type; - if (type == FMT_DOLLAR && have_char (i) && *i->s == '$') + ds_init_empty (&tmp); + ds_extend (&tmp, 64); + + /* Prefix character may precede sign. */ + if (!ss_is_empty (style->prefix)) { - i->s++; - type = FMT_COMMA; + ss_match_char (&i->input, ss_first (style->prefix)); + ss_ltrim (&i->input, ss_cstr (CC_SPACES)); } - /* Get the sign. */ - if (have_char (i)) + /* Sign. */ + if (ss_match_char (&i->input, '-')) { - sign = *i->s == '-' ? -1 : 1; - if (*i->s == '-' || *i->s == '+') - i->s++; + ds_put_char (&tmp, '-'); + ss_ltrim (&i->input, ss_cstr (CC_SPACES)); + } + else + { + ss_match_char (&i->input, '+'); + ss_ltrim (&i->input, ss_cstr (CC_SPACES)); } - else - sign = 1; - decimal = fmt_decimal_char (type); - grouping = fmt_grouping_char (type); + /* Prefix character may follow sign. */ + if (!ss_is_empty (style->prefix)) + { + ss_match_char (&i->input, ss_first (style->prefix)); + ss_ltrim (&i->input, ss_cstr (CC_SPACES)); + } - i->v->f = SYSMIS; - num = 0.0; - got_dot = false; - digit_cnt = 0; - exponent = 0; - for (; have_char (i); i->s++) + /* Digits before decimal point. */ + while (c_isdigit (ss_first (i->input))) { - if (isdigit ((unsigned char) *i->s)) - { - digit_cnt++; - - /* Make sure that multiplication by 10 will not overflow. */ - if (num > DBL_MAX * 0.1) - /* The value of the digit doesn't matter, since we have already - gotten as many digits as can be represented in a `double'. - This doesn't necessarily mean the result will overflow. - The exponent may reduce it to within range. - - We just need to record that there was another - digit so that we can multiply by 10 later. */ - ++exponent; - else - num = (num * 10.0) + (*i->s - '0'); - - /* Keep track of the number of digits after the decimal point. - If we just divided by 10 here, we would lose precision. */ - if (got_dot) - --exponent; - } - else if (!got_dot && *i->s == decimal) - /* Record that we have found the decimal point. */ - got_dot = true; - else if ((type != FMT_COMMA && type != FMT_DOT) || *i->s != grouping) - /* Any other character terminates the number. */ - break; + ds_put_char (&tmp, ss_get_char (&i->input)); + if (style->grouping != 0) + ss_match_char (&i->input, style->grouping); } - if (!digit_cnt) + /* Decimal point and following digits. */ + if (ss_match_char (&i->input, style->decimal)) { - if (got_dot) - { - i->v->f = SYSMIS; - return true; - } - dls_error (i, _("Field does not form a valid floating-point constant.")); - i->v->f = SYSMIS; - return false; + explicit_decimals = true; + ds_put_char (&tmp, '.'); + while (c_isdigit (ss_first (i->input))) + ds_put_char (&tmp, ss_get_char (&i->input)); } - - if (have_char (i) && strchr ("eEdD-+", *i->s)) + + /* Exponent. */ + if (!ds_is_empty (&tmp) + && !ss_is_empty (i->input) + && strchr ("eEdD-+", ss_first (i->input))) { - /* Get the exponent specified after the `e' or `E'. */ - long exp; + explicit_decimals = true; + ds_put_char (&tmp, 'e'); - if (isalpha ((unsigned char) *i->s)) - i->s++; - if (!parse_int (i, &exp)) + if (strchr ("eEdD", ss_first (i->input))) { - i->v->f = SYSMIS; - return false; + ss_advance (&i->input, 1); + ss_match_char (&i->input, ' '); + } + + if (ss_first (i->input) == '-' || ss_first (i->input) == '+') + { + if (ss_get_char (&i->input) == '-') + ds_put_char (&tmp, '-'); + ss_match_char (&i->input, ' '); } - exponent += exp; + while (c_isdigit (ss_first (i->input))) + ds_put_char (&tmp, ss_get_char (&i->input)); } - else if (!got_dot && (i->flags & DI_IMPLIED_DECIMALS)) - exponent -= i->format.d; - if (type == FMT_PCT && have_char (i) && *i->s == '%') - i->s++; - if (i->s < i->e) + /* Suffix character. */ + if (!ss_is_empty (style->suffix)) + ss_match_char (&i->input, ss_first (style->suffix)); + + if (!ss_is_empty (i->input)) { - dls_error (i, _("Field contents followed by garbage.")); - i->v->f = SYSMIS; + if (ds_is_empty (&tmp)) + data_warning (i, _("Field contents are not numeric.")); + else + data_warning (i, _("Number followed by garbage.")); + ds_destroy (&tmp); return false; } - if (num == 0.0) + /* Let strtod() do the conversion. */ + save_errno = errno; + errno = 0; + i->output->f = strtod (ds_cstr (&tmp), &tail); + if (*tail != '\0') { - i->v->f = 0.0; - return true; + data_warning (i, _("Invalid numeric syntax.")); + errno = save_errno; + ds_destroy (&tmp); + return false; } - - /* Multiply NUM by 10 to the EXPONENT power, checking for overflow - and underflow. */ - if (exponent < 0) + else if (errno == ERANGE) { - if (-exponent + digit_cnt > -(DBL_MIN_10_EXP) + 5 - || num < DBL_MIN * pow (10.0, (double) -exponent)) + if (fabs (i->output->f) > 1) { - dls_error (i, _("Underflow in floating-point constant.")); - i->v->f = 0.0; - return false; + data_warning (i, _("Too-large number set to system-missing.")); + i->output->f = SYSMIS; } - - num *= pow (10.0, (double) exponent); - } - else if (exponent > 0) - { - if (num > DBL_MAX * pow (10.0, (double) -exponent)) + else { - dls_error (i, _("Overflow in floating-point constant.")); - i->v->f = SYSMIS; - return false; + data_warning (i, _("Too-small number set to zero.")); + i->output->f = 0.0; } - - num *= pow (10.0, (double) exponent); + } + else + { + errno = save_errno; + if (!explicit_decimals) + apply_implied_decimals (i); } - i->v->f = sign > 0 ? num : -num; + ds_destroy (&tmp); return true; } -/* Returns the integer value of hex digit C. */ -static inline int -hexit_value (int c) -{ - const char s[] = "0123456789abcdef"; - const char *cp = strchr (s, tolower ((unsigned char) c)); - - assert (cp != NULL); - return cp - s; -} - -static inline bool +/* Parses N format. */ +static bool parse_N (struct data_in *i) { - const char *cp; + int c; - i->v->f = 0; - for (cp = i->s; cp < i->e; cp++) + i->output->f = 0; + while ((c = ss_get_char (&i->input)) != EOF) { - if (!isdigit ((unsigned char) *cp)) - { - dls_error (i, _("All characters in field must be digits.")); - return false; - } - - i->v->f = i->v->f * 10.0 + (*cp - '0'); + if (!c_isdigit (c)) + { + data_warning (i, _("All characters in field must be digits.")); + return false; + } + i->output->f = i->output->f * 10.0 + (c - '0'); } apply_implied_decimals (i); return true; } -static inline bool +/* Parses PIBHEX format. */ +static bool parse_PIBHEX (struct data_in *i) { double n; - const char *cp; - - trim_whitespace (i); + int c; n = 0.0; - for (cp = i->s; cp < i->e; cp++) - { - if (!isxdigit ((unsigned char) *cp)) - { - dls_error (i, _("Unrecognized character in field.")); - return false; - } - n = n * 16.0 + hexit_value (*cp); + while ((c = ss_get_char (&i->input)) != EOF) + { + if (!c_isxdigit (c)) + { + data_warning (i, _("Unrecognized character in field.")); + return false; + } + n = n * 16.0 + hexit_value (c); } - i->v->f = n; + i->output->f = n; return true; } -static inline bool +/* Parses RBHEX format. */ +static bool parse_RBHEX (struct data_in *i) { - /* Validate input. */ - trim_whitespace (i); - if ((i->e - i->s) % 2) + double d; + size_t j; + + memset (&d, 0, sizeof d); + for (j = 0; !ss_is_empty (i->input) && j < sizeof d; j++) { - dls_error (i, _("Field must have even length.")); - return false; - } - - { - const char *cp; - - for (cp = i->s; cp < i->e; cp++) - if (!isxdigit ((unsigned char) *cp)) + int hi = ss_get_char (&i->input); + int lo = ss_get_char (&i->input); + if (lo == EOF) + { + data_warning (i, _("Field must have even length.")); + return false; + } + else if (!c_isxdigit (hi) || !c_isxdigit (lo)) { - dls_error (i, _("Field must contain only hex digits.")); + data_warning (i, _("Field must contain only hex digits.")); return false; } - } + ((unsigned char *) &d)[j] = 16 * hexit_value (hi) + hexit_value (lo); + } - /* Parse input. */ - { - union - { - double d; - unsigned char c[sizeof (double)]; - } - u; + i->output->f = d; + + return true; +} - int j; +/* Digits for Z format. */ +static const char z_digits[] = "0123456789{ABCDEFGHI}JKLMNOPQR"; - memset (u.c, 0, sizeof u.c); - for (j = 0; j < min ((i->e - i->s) / 2, sizeof u.d); j++) - u.c[j] = 16 * hexit_value (i->s[j * 2]) + hexit_value (i->s[j * 2 + 1]); +/* Returns true if C is a Z format digit, false otherwise. */ +static bool +is_z_digit (int c) +{ + return c > 0 && strchr (z_digits, c) != NULL; +} - i->v->f = u.d; - } - - return true; +/* Returns the (absolute value of the) value of C as a Z format + digit. */ +static int +z_digit_value (int c) +{ + assert (is_z_digit (c)); + return (strchr (z_digits, c) - z_digits) % 10; +} + +/* Returns true if Z format digit C represents a negative value, + false otherwise. */ +static bool +is_negative_z_digit (int c) +{ + assert (is_z_digit (c)); + return (strchr (z_digits, c) - z_digits) >= 20; } -static inline bool +/* Parses Z format. */ +static bool parse_Z (struct data_in *i) { - char buf[64]; - bool got_dot = false; + struct string tmp; - /* Warn user that we suck. */ - { - static bool warned; + int save_errno; - if (!warned) - { - msg (MW, - _("Quality of zoned decimal (Z) input format code is " - "suspect. Check your results three times. Report bugs " - "to %s."),PACKAGE_BUGREPORT); - warned = true; - } - } + bool got_dot = false; + bool got_final_digit = false; + + /* Trim spaces and check for missing value representation. */ + if (trim_spaces_and_check_missing (i)) + return true; - /* Validate input. */ - trim_whitespace (i); + ds_init_empty (&tmp); + ds_extend (&tmp, 64); - if (i->e - i->s < 2) + ds_put_char (&tmp, '+'); + while (!ss_is_empty (i->input)) { - dls_error (i, _("Zoned decimal field contains fewer than 2 " - "characters.")); - return false; + int c = ss_get_char (&i->input); + if (c_isdigit (c) && !got_final_digit) + ds_put_char (&tmp, c); + else if (is_z_digit (c) && !got_final_digit) + { + ds_put_char (&tmp, z_digit_value (c) + '0'); + if (is_negative_z_digit (c)) + ds_data (&tmp)[0] = '-'; + got_final_digit = true; + } + else if (c == '.' && !got_dot) + { + ds_put_char (&tmp, '.'); + got_dot = true; + } + else + { + ds_destroy (&tmp); + return false; + } } - /* Copy sign into buf[0]. */ - if ((i->e[-1] & 0xc0) != 0xc0) + if (!ss_is_empty (i->input)) { - dls_error (i, _("Bad sign byte in zoned decimal number.")); + if (ds_length (&tmp) == 1) + data_warning (i, _("Field contents are not numeric.")); + else + data_warning (i, _("Number followed by garbage.")); + ds_destroy (&tmp); return false; } - buf[0] = (i->e[-1] ^ (i->e[-1] >> 1)) & 0x10 ? '-' : '+'; - - /* Copy digits into buf[1 ... len - 1] and terminate string. */ - { - const char *sp; - char *dp; - for (sp = i->s, dp = buf + 1; sp < i->e - 1; sp++, dp++) - if (*sp == '.') + /* Let strtod() do the conversion. */ + save_errno = errno; + errno = 0; + i->output->f = strtod (ds_cstr (&tmp), NULL); + if (errno == ERANGE) + { + if (fabs (i->output->f) > 1) { - *dp = '.'; - got_dot = true; + data_warning (i, _("Too-large number set to system-missing.")); + i->output->f = SYSMIS; } - else if ((*sp & 0xf0) == 0xf0 && (*sp & 0xf) < 10) - *dp = (*sp & 0xf) + '0'; - else - { - dls_error (i, _("Format error in zoned decimal number.")); - return false; - } - - *dp = '\0'; - } - - /* Parse as number. */ - { - char *tail; - - i->v->f = strtod (buf, &tail); - if (tail != i->e) - { - dls_error (i, _("Error in syntax of zoned decimal number.")); - return false; - } - } - - if (!got_dot) - apply_implied_decimals (i); + else + { + data_warning (i, _("Too-small number set to zero.")); + i->output->f = 0.0; + } + } + else + { + errno = save_errno; + if (!got_dot) + apply_implied_decimals (i); + } + ds_destroy (&tmp); return true; } -static inline bool +/* Parses IB format. */ +static bool parse_IB (struct data_in *i) { -#ifndef WORDS_BIGENDIAN - char buf[64]; -#endif - const unsigned char *p; - - unsigned char xor; - - /* We want the data to be in big-endian format. If this is a - little-endian machine, reverse the byte order. */ -#ifdef WORDS_BIGENDIAN - p = (const unsigned char *) i->s; -#else - memcpy (buf, i->s, i->e - i->s); - buf_reverse (buf, i->e - i->s); - p = (const unsigned char *) buf; -#endif - - /* If the value is negative, we need to logical-NOT each value - before adding it. */ - if (p[0] & 0x80) - xor = 0xff; - else - xor = 0x00; - - { - int j; + size_t bytes; + uint64_t value; + uint64_t sign_bit; - i->v->f = 0.0; - for (j = 0; j < i->e - i->s; j++) - i->v->f = i->v->f * 256.0 + (p[j] ^ xor); - } + bytes = MIN (8, ss_length (i->input)); + value = integer_get (input_integer_format, ss_data (i->input), bytes); - /* If the value is negative, add 1 and set the sign, to complete a - two's-complement negation. */ - if (p[0] & 0x80) - i->v->f = -(i->v->f + 1.0); + sign_bit = UINT64_C(1) << (8 * bytes - 1); + if (!(value & sign_bit)) + i->output->f = value; + else + { + /* Sign-extend to full 64 bits. */ + value -= sign_bit << 1; + i->output->f = -(double) -value; + } apply_implied_decimals (i); return true; } -static inline bool +/* Parses PIB format. */ +static bool parse_PIB (struct data_in *i) { - int j; - - i->v->f = 0.0; -#if WORDS_BIGENDIAN - for (j = 0; j < i->e - i->s; j++) - i->v->f = i->v->f * 256.0 + (unsigned char) i->s[j]; -#else - for (j = i->e - i->s - 1; j >= 0; j--) - i->v->f = i->v->f * 256.0 + (unsigned char) i->s[j]; -#endif - + i->output->f = integer_get (input_integer_format, ss_data (i->input), + MIN (8, ss_length (i->input))); + apply_implied_decimals (i); return true; } -static inline bool +/* Consumes the first character of S. Stores its high 4 bits in + HIGH_NIBBLE and its low 4 bits in LOW_NIBBLE. */ +static void +get_nibbles (struct substring *s, int *high_nibble, int *low_nibble) +{ + int c = ss_get_char (s); + assert (c != EOF); + *high_nibble = (c >> 4) & 15; + *low_nibble = c & 15; +} + +/* Parses P format. */ +static bool parse_P (struct data_in *i) { - const char *cp; + int high_nibble, low_nibble; + + i->output->f = 0.0; - i->v->f = 0.0; - for (cp = i->s; cp < i->e - 1; cp++) + while (ss_length (i->input) > 1) { - i->v->f = i->v->f * 10 + ((*cp >> 4) & 15); - i->v->f = i->v->f * 10 + (*cp & 15); + get_nibbles (&i->input, &high_nibble, &low_nibble); + if (high_nibble > 9 || low_nibble > 9) + return false; + i->output->f = (100 * i->output->f) + (10 * high_nibble) + low_nibble; } - i->v->f = i->v->f * 10 + ((*cp >> 4) & 15); - if ((*cp ^ (*cp >> 1)) & 0x10) - i->v->f = -i->v->f; + + get_nibbles (&i->input, &high_nibble, &low_nibble); + if (high_nibble > 9) + return false; + i->output->f = (10 * i->output->f) + high_nibble; + if (low_nibble < 10) + i->output->f = (10 * i->output->f) + low_nibble; + else if (low_nibble == 0xb || low_nibble == 0xd) + i->output->f = -i->output->f; apply_implied_decimals (i); return true; } -static inline bool +/* Parses PK format. */ +static bool parse_PK (struct data_in *i) { - const char *cp; - - i->v->f = 0.0; - for (cp = i->s; cp < i->e; cp++) + i->output->f = 0.0; + while (!ss_is_empty (i->input)) { - i->v->f = i->v->f * 10 + ((*cp >> 4) & 15); - i->v->f = i->v->f * 10 + (*cp & 15); + int high_nibble, low_nibble; + + get_nibbles (&i->input, &high_nibble, &low_nibble); + if (high_nibble > 9 || low_nibble > 9) + { + i->output->f = SYSMIS; + return true; + } + i->output->f = (100 * i->output->f) + (10 * high_nibble) + low_nibble; } apply_implied_decimals (i); @@ -544,532 +596,412 @@ parse_PK (struct data_in *i) return true; } -static inline bool +/* Parses RB format. */ +static bool parse_RB (struct data_in *i) { - union - { - double d; - unsigned char c[sizeof (double)]; - } - u; - - memset (u.c, 0, sizeof u.c); - memcpy (u.c, i->s, min (sizeof u.c, (size_t) (i->e - i->s))); - i->v->f = u.d; + size_t size = float_get_size (input_float_format); + if (ss_length (i->input) >= size) + float_convert (input_float_format, ss_data (i->input), + FLOAT_NATIVE_DOUBLE, &i->output->f); + else + i->output->f = SYSMIS; return true; } - -static inline bool +/* Parses A format. */ +static bool parse_A (struct data_in *i) { - buf_copy_rpad (i->v->s, i->format.w, i->s, i->e - i->s); - + buf_copy_rpad (i->output->s, i->width, + ss_data (i->input), ss_length (i->input)); return true; } -static inline bool +/* Parses AHEX format. */ +static bool parse_AHEX (struct data_in *i) { - /* Validate input. */ - trim_whitespace (i); - if ((i->e - i->s) % 2) + size_t j; + + for (j = 0; ; j++) { - dls_error (i, _("Field must have even length.")); - return false; - } + int hi = ss_get_char (&i->input); + int lo = ss_get_char (&i->input); + if (hi == EOF) + break; + else if (lo == EOF) + { + data_warning (i, _("Field must have even length.")); + return false; + } - { - const char *cp; - - for (cp = i->s; cp < i->e; cp++) - if (!isxdigit ((unsigned char) *cp)) + if (!c_isxdigit (hi) || !c_isxdigit (lo)) { - dls_error (i, _("Field must contain only hex digits.")); + data_warning (i, _("Field must contain only hex digits.")); return false; } - } - - { - int j; - - /* Parse input. */ - for (j = 0; j < min (i->e - i->s, i->format.w); j += 2) - i->v->s[j / 2] = hexit_value (i->s[j]) * 16 + hexit_value (i->s[j + 1]); - memset (i->v->s + (i->e - i->s) / 2, ' ', (i->format.w - (i->e - i->s)) / 2); - } + + if (j < i->width) + i->output->s[j] = hexit_value (hi) * 16 + hexit_value (lo); + } + + memset (i->output->s + j, ' ', i->width - j); return true; } /* Date & time format components. */ -/* Advances *CP past any whitespace characters. */ -static inline void -skip_whitespace (struct data_in *i) -{ - while (isspace ((unsigned char) *i->s)) - i->s++; -} +/* Sign of a time value. */ +enum time_sign + { + SIGN_NO_TIME, /* No time yet encountered. */ + SIGN_POSITIVE, /* Positive time. */ + SIGN_NEGATIVE /* Negative time. */ + }; -static inline bool -parse_leader (struct data_in *i) +/* Parses a signed decimal integer from at most the first + MAX_DIGITS characters in I, storing the result into *RESULT. + Returns true if successful, false if no integer was + present. */ +static bool +parse_int (struct data_in *i, long *result, size_t max_digits) { - skip_whitespace (i); - return true; + struct substring head = ss_head (i->input, max_digits); + size_t n = ss_get_long (&head, result); + if (n) + { + ss_advance (&i->input, n); + return true; + } + else + { + data_warning (i, _("Syntax error in date field.")); + return false; + } } -static inline bool -force_have_char (struct data_in *i) +/* Parses a date integer between 1 and 31 from I, storing it into + *DAY. + Returns true if successful, false if no date was present. */ +static bool +parse_day (struct data_in *i, long *day) { - if (have_char (i)) + if (!parse_int (i, day, SIZE_MAX)) + return false; + if (*day >= 1 && *day <= 31) return true; - dls_error (i, _("Unexpected end of field.")); + data_warning (i, _("Day (%ld) must be between 1 and 31."), *day); return false; } +/* Parses an integer from the beginning of I. + Adds SECONDS_PER_UNIT times the absolute value of the integer + to *TIME. + If *TIME_SIGN is SIGN_NO_TIME, allows a sign to precede the + time and sets *TIME_SIGN. Otherwise, does not allow a sign. + Returns true if successful, false if no integer was present. */ static bool -parse_int (struct data_in *i, long *result) +parse_time_units (struct data_in *i, double seconds_per_unit, + enum time_sign *time_sign, double *time) + { - bool negative = false; - - if (!force_have_char (i)) - return false; + long units; - if (*i->s == '+') + if (*time_sign == SIGN_NO_TIME) { - i->s++; - force_have_char (i); + if (ss_match_char (&i->input, '-')) + *time_sign = SIGN_NEGATIVE; + else + { + ss_match_char (&i->input, '+'); + *time_sign = SIGN_POSITIVE; + } } - else if (*i->s == '-') + if (!parse_int (i, &units, SIZE_MAX)) + return false; + if (units < 0) { - negative = true; - i->s++; - force_have_char (i); + data_warning (i, _("Syntax error in date field.")); + return false; } - - if (!isdigit ((unsigned char) *i->s)) - { - dls_error (i, _("Digit expected in field.")); - return false; - } - - *result = 0; - for (;;) - { - *result = *result * 10 + (*i->s++ - '0'); - if (!have_char (i) || !isdigit ((unsigned char) *i->s)) - break; - } - - if (negative) - *result = -*result; + *time += units * seconds_per_unit; return true; } +/* Parses a data delimiter from the beginning of I. + Returns true if successful, false if no delimiter was + present. */ static bool -parse_day (struct data_in *i, long *day) +parse_date_delimiter (struct data_in *i) { - if (!parse_int (i, day)) - return false; - if (*day >= 1 && *day <= 31) + if (ss_ltrim (&i->input, ss_cstr ("-/.," CC_SPACES))) return true; - dls_error (i, _("Day (%ld) must be between 1 and 31."), *day); + data_warning (i, _("Delimiter expected between fields in date.")); return false; } -static bool -parse_day_count (struct data_in *i, long *day_count) +/* Parses spaces at the beginning of I. */ +static void +parse_spaces (struct data_in *i) { - return parse_int (i, day_count); + ss_ltrim (&i->input, ss_cstr (CC_SPACES)); } -static bool -parse_date_delimiter (struct data_in *i) +static struct substring +parse_name_token (struct data_in *i) { - bool delim = false; - - while (have_char (i) - && (*i->s == '-' || *i->s == '/' || isspace ((unsigned char) *i->s) - || *i->s == '.' || *i->s == ',')) - { - delim = true; - i->s++; - } - if (delim) - return true; - - dls_error (i, _("Delimiter expected between fields in date.")); - return false; + struct substring token; + ss_get_chars (&i->input, ss_span (i->input, ss_cstr (CC_LETTERS)), &token); + return token; } -/* Association between a name and a value. */ -struct enum_name - { - const char *name; /* Name. */ - bool can_abbreviate; /* True if name may be abbreviated. */ - int value; /* Value associated with name. */ - }; - /* Reads a name from I and sets *OUTPUT to the value associated - with that name. Returns true if successful, false otherwise. */ + with that name. If ALLOW_SUFFIXES is true, then names that + begin with one of the names are accepted; otherwise, only + exact matches (except for case) are allowed. + Returns true if successful, false otherwise. */ static bool -parse_enum (struct data_in *i, const char *what, - const struct enum_name *enum_names, - long *output) +match_name (struct substring token, const char **names, long *output) { - const char *name; - size_t length; - const struct enum_name *ep; - - /* Consume alphabetic characters. */ - name = i->s; - length = 0; - while (have_char (i) && isalpha ((unsigned char) *i->s)) - { - length++; - i->s++; - } - if (length == 0) - { - dls_error (i, _("Parse error at `%c' expecting %s."), *i->s, what); - return false; - } + int i; - for (ep = enum_names; ep->name != NULL; ep++) - if ((ep->can_abbreviate - && lex_id_match_len (ep->name, strlen (ep->name), name, length)) - || (!ep->can_abbreviate && length == strlen (ep->name) - && !buf_compare_case (name, ep->name, length))) + for (i = 1; *names != NULL; i++) + if (ss_equals_case (ss_cstr (*names++), token)) { - *output = ep->value; + *output = i; return true; } - - dls_error (i, _("Unknown %s `%.*s'."), what, (int) length, name); + return false; } +/* Parses a month name or number from the beginning of I, + storing the month (in range 1...12) into *MONTH. + Returns true if successful, false if no month was present. */ static bool parse_month (struct data_in *i, long *month) { - static const struct enum_name month_names[] = - { - {"january", true, 1}, - {"february", true, 2}, - {"march", true, 3}, - {"april", true, 4}, - {"may", true, 5}, - {"june", true, 6}, - {"july", true, 7}, - {"august", true, 8}, - {"september", true, 9}, - {"october", true, 10}, - {"november", true, 11}, - {"december", true, 12}, - - {"i", false, 1}, - {"ii", false, 2}, - {"iii", false, 3}, - {"iv", false, 4}, - {"iiii", false, 4}, - {"v", false, 5}, - {"vi", false, 6}, - {"vii", false, 7}, - {"viii", false, 8}, - {"ix", false, 9}, - {"viiii", false, 9}, - {"x", false, 10}, - {"xi", false, 11}, - {"xii", false, 12}, - - {NULL, false, 0}, - }; - - if (!force_have_char (i)) - return false; - - if (isdigit ((unsigned char) *i->s)) + if (c_isdigit (ss_first (i->input))) { - if (!parse_int (i, month)) + if (!parse_int (i, month, SIZE_MAX)) return false; if (*month >= 1 && *month <= 12) - return true; - - dls_error (i, _("Month (%ld) must be between 1 and 12."), *month); - return false; + return true; } else - return parse_enum (i, _("month"), month_names, month); + { + static const char *english_names[] = + { + "jan", "feb", "mar", "apr", "may", "jun", + "jul", "aug", "sep", "oct", "nov", "dec", + NULL, + }; + + static const char *roman_names[] = + { + "i", "ii", "iii", "iv", "v", "vi", + "vii", "viii", "ix", "x", "xi", "xii", + NULL, + }; + + struct substring token = parse_name_token (i); + if (match_name (ss_head (token, 3), english_names, month) + || match_name (ss_head (token, 4), roman_names, month)) + return true; + } + + data_warning (i, _("Unrecognized month format. Months may be specified " + "as Arabic or Roman numerals or as at least 3 letters " + "of their English names.")); + return false; } +/* Parses a year of at most MAX_DIGITS from the beginning of I, + storing a "4-digit" year into *YEAR. */ static bool -parse_year (struct data_in *i, long *year) +parse_year (struct data_in *i, long *year, size_t max_digits) { - if (!parse_int (i, year)) + if (!parse_int (i, year, max_digits)) return false; - if (*year >= 0 && *year <= 199) - *year += 1900; + if (*year >= 0 && *year <= 99) + { + int epoch = get_epoch (); + int epoch_century = ROUND_DOWN (epoch, 100); + int epoch_offset = epoch - epoch_century; + if (*year >= epoch_offset) + *year += epoch_century; + else + *year += epoch_century + 100; + } if (*year >= 1582 || *year <= 19999) return true; - dls_error (i, _("Year (%ld) must be between 1582 and 19999."), *year); + data_warning (i, _("Year (%ld) must be between 1582 and 19999."), *year); return false; } +/* Returns true if input in I has been exhausted, + false otherwise. */ static bool parse_trailer (struct data_in *i) { - skip_whitespace (i); - if (!have_char (i)) + if (ss_is_empty (i->input)) return true; - dls_error (i, _("Trailing garbage \"%.*s\" following date."), - (int) (i->e - i->s), i->s); + data_warning (i, _("Trailing garbage \"%.*s\" following date."), + (int) ss_length (i->input), ss_data (i->input)); return false; } +/* Parses a 3-digit Julian day-of-year value from I into *YDAY. + Returns true if successful, false on failure. */ static bool -parse_julian (struct data_in *i, long *julian) +parse_yday (struct data_in *i, long *yday) { - if (!parse_int (i, julian)) - return false; - - { - int day = *julian % 1000; + struct substring num_s; + long num; - if (day < 1 || day > 366) - { - dls_error (i, _("Julian day (%d) must be between 1 and 366."), day); - return false; - } - } - - { - int year = *julian / 1000; - - if (year >= 0 && year <= 199) - *julian += 1900000L; - else if (year < 1582 || year > 19999) - { - dls_error (i, _("Year (%d) must be between 1582 and 19999."), year); - return false; - } - } - - return true; -} - -static bool -parse_quarter (struct data_in *i, long *quarter) -{ - if (!parse_int (i, quarter)) - return false; - if (*quarter >= 1 && *quarter <= 4) - return true; - - dls_error (i, _("Quarter (%ld) must be between 1 and 4."), *quarter); - return false; -} - -static bool -parse_q_delimiter (struct data_in *i) -{ - skip_whitespace (i); - if (!have_char (i) || tolower ((unsigned char) *i->s) != 'q') + ss_get_chars (&i->input, 3, &num_s); + if (ss_span (num_s, ss_cstr (CC_DIGITS)) != 3) { - dls_error (i, _("`Q' expected between quarter and year.")); + data_warning (i, _("Julian day must have exactly three digits.")); return false; } - i->s++; - skip_whitespace (i); - return true; -} - -static bool -parse_week (struct data_in *i, long *week) -{ - if (!parse_int (i, week)) - return false; - if (*week >= 1 && *week <= 53) - return true; - - dls_error (i, _("Week (%ld) must be between 1 and 53."), *week); - return false; -} - -static bool -parse_wk_delimiter (struct data_in *i) -{ - skip_whitespace (i); - if (i->s + 1 >= i->e - || tolower ((unsigned char) i->s[0]) != 'w' - || tolower ((unsigned char) i->s[1]) != 'k') + else if (!ss_get_long (&num_s, &num) || num < 1 || num > 366) { - dls_error (i, _("`WK' expected between week and year.")); + data_warning (i, _("Julian day (%ld) must be between 1 and 366."), num); return false; } - i->s += 2; - skip_whitespace (i); + + *yday = num; return true; } +/* Parses a quarter-of-year integer between 1 and 4 from I. + Stores the corresponding month into *MONTH. + Returns true if successful, false if no quarter was present. */ static bool -parse_time_delimiter (struct data_in *i) +parse_quarter (struct data_in *i, long int *month) { - bool delim = false; - - while (have_char (i) && (*i->s == ':' || *i->s == '.' - || isspace ((unsigned char) *i->s))) + long quarter; + + if (!parse_int (i, &quarter, SIZE_MAX)) + return false; + if (quarter >= 1 && quarter <= 4) { - delim = true; - i->s++; + *month = (quarter - 1) * 3 + 1; + return true; } - if (delim) - return true; - - dls_error (i, _("Delimiter expected between fields in time.")); + data_warning (i, _("Quarter (%ld) must be between 1 and 4."), quarter); return false; } +/* Parses a week-of-year integer between 1 and 53 from I, + Stores the corresponding year-of-day into *YDAY. + Returns true if successful, false if no week was present. */ static bool -parse_hour (struct data_in *i, long *hour) +parse_week (struct data_in *i, long int *yday) { - if (!parse_int (i, hour)) - return false; - if (*hour >= 0) - return true; + long week; - dls_error (i, _("Hour (%ld) must be positive."), *hour); + if (!parse_int (i, &week, SIZE_MAX)) + return false; + if (week >= 1 && week <= 53) + { + *yday = (week - 1) * 7 + 1; + return true; + } + + data_warning (i, _("Week (%ld) must be between 1 and 53."), week); return false; } +/* Parses a time delimiter from the beginning of I. + Returns true if successful, false if no delimiter was + present. */ static bool -parse_minute (struct data_in *i, long *minute) +parse_time_delimiter (struct data_in *i) { - if (!parse_int (i, minute)) - return false; - if (*minute >= 0 && *minute <= 59) + if (ss_ltrim (&i->input, ss_cstr (":" CC_SPACES)) > 0) return true; - dls_error (i, _("Minute (%ld) must be between 0 and 59."), *minute); + data_warning (i, _("Delimiter expected between fields in time.")); return false; } +/* Parses minutes and optional seconds from the beginning of I. + The time is converted into seconds, which are added to + *TIME. + Returns true if successful, false if an error was found. */ static bool -parse_opt_second (struct data_in *i, double *second) +parse_minute_second (struct data_in *i, double *time) { - bool delim = false; - + long minute; char buf[64]; char *cp; - while (have_char (i) - && (*i->s == ':' || *i->s == '.' || isspace ((unsigned char) *i->s))) - { - delim = true; - i->s++; - } - - if (!delim || !isdigit ((unsigned char) *i->s)) + /* Parse minutes. */ + if (!parse_int (i, &minute, SIZE_MAX)) + return false; + if (minute < 0 || minute > 59) { - *second = 0.0; - return true; + data_warning (i, _("Minute (%ld) must be between 0 and 59."), minute); + return false; } + *time += 60. * minute; + /* Check for seconds. */ + if (ss_ltrim (&i->input, ss_cstr (":" CC_SPACES)) == 0 + || !c_isdigit (ss_first (i->input))) + return true; + + /* Parse seconds. */ cp = buf; - while (have_char (i) && isdigit ((unsigned char) *i->s)) - *cp++ = *i->s++; - if (have_char (i) && *i->s == '.') - *cp++ = *i->s++; - while (have_char (i) && isdigit ((unsigned char) *i->s)) - *cp++ = *i->s++; + while (c_isdigit (ss_first (i->input))) + *cp++ = ss_get_char (&i->input); + if (ss_match_char (&i->input, fmt_decimal_char (FMT_F))) + *cp++ = '.'; + while (c_isdigit (ss_first (i->input))) + *cp++ = ss_get_char (&i->input); *cp = '\0'; - *second = strtod (buf, NULL); + *time += strtod (buf, NULL); return true; } -static bool -parse_hour24 (struct data_in *i, long *hour24) -{ - if (!parse_int (i, hour24)) - return false; - if (*hour24 >= 0 && *hour24 <= 23) - return true; - - dls_error (i, _("Hour (%ld) must be between 0 and 23."), *hour24); - return false; -} - - +/* Parses a weekday name from the beginning of I, + storing a value of 1=Sunday...7=Saturday into *WEEKDAY. + Returns true if successful, false if an error was found. */ static bool parse_weekday (struct data_in *i, long *weekday) { - static const struct enum_name weekday_names[] = + static const char *weekday_names[] = { - {"sunday", true, 1}, - {"su", true, 1}, - {"monday", true, 2}, - {"mo", true, 2}, - {"tuesday", true, 3}, - {"tu", true, 3}, - {"wednesday", true, 4}, - {"we", true, 4}, - {"thursday", true, 5}, - {"th", true, 5}, - {"friday", true, 6}, - {"fr", true, 6}, - {"saturday", true, 7}, - {"sa", true, 7}, - - {NULL, false, 0}, + "su", "mo", "tu", "we", "th", "fr", "sa", + NULL, }; - return parse_enum (i, _("weekday"), weekday_names, weekday); -} - -static bool -parse_spaces (struct data_in *i) -{ - skip_whitespace (i); - return true; -} - -static bool -parse_sign (struct data_in *i, int *sign) -{ - if (!force_have_char (i)) - return false; - - switch (*i->s) - { - case '-': - i->s++; - *sign = -1; - break; - - case '+': - i->s++; - /* fall through */ - - default: - *sign = 1; - break; - } - - return true; + struct substring token = parse_name_token (i); + bool ok = match_name (ss_head (token, 2), weekday_names, weekday); + if (!ok) + data_warning (i, _("Unrecognized weekday name. At least the first two " + "letters of an English weekday name must be " + "specified.")); + return ok; } /* Date & time formats. */ +/* Helper function for passing to + calendar_gregorian_to_offset. */ static void calendar_error (void *i_, const char *format, ...) { @@ -1077,423 +1009,240 @@ calendar_error (void *i_, const char *format, ...) va_list args; va_start (args, format); - vdls_error (i, format, args); + vdata_warning (i, format, args); va_end (args); } +/* Parses WKDAY format. */ static bool -ymd_to_ofs (struct data_in *i, int year, int month, int day, double *ofs) +parse_WKDAY (struct data_in *i) { - *ofs = calendar_gregorian_to_offset (year, month, day, calendar_error, i); - return *ofs != SYSMIS; -} + long weekday; -static bool -ymd_to_date (struct data_in *i, int year, int month, int day, double *date) -{ - if (ymd_to_ofs (i, year, month, day, date)) - { - *date *= 60. * 60. * 24.; - return true; - } - else - return false; -} + if (trim_spaces_and_check_missing (i)) + return true; -static bool -parse_DATE (struct data_in *i) -{ - long day, month, year; - - return (parse_leader (i) - && parse_day (i, &day) - && parse_date_delimiter (i) - && parse_month (i, &month) - && parse_date_delimiter (i) - && parse_year (i, &year) - && parse_trailer (i) - && ymd_to_date (i, year, month, day, &i->v->f)); -} + if (!parse_weekday (i, &weekday) + || !parse_trailer (i)) + return false; -static bool -parse_ADATE (struct data_in *i) -{ - long month, day, year; - - return (parse_leader (i) - && parse_month (i, &month) - && parse_date_delimiter (i) - && parse_day (i, &day) - && parse_date_delimiter (i) - && parse_year (i, &year) - && parse_trailer (i) - && ymd_to_date (i, year, month, day, &i->v->f)); + i->output->f = weekday; + return true; } +/* Parses MONTH format. */ static bool -parse_EDATE (struct data_in *i) +parse_MONTH (struct data_in *i) { - long month, day, year; - - return (parse_leader (i) - && parse_day (i, &day) - && parse_date_delimiter (i) - && parse_month (i, &month) - && parse_date_delimiter (i) - && parse_year (i, &year) - && parse_trailer (i) - && ymd_to_date (i, year, month, day, &i->v->f)); -} + long month; -static bool -parse_SDATE (struct data_in *i) -{ - long month, day, year; - - return (parse_leader (i) - && parse_year (i, &year) - && parse_date_delimiter (i) - && parse_month (i, &month) - && parse_date_delimiter (i) - && parse_day (i, &day) - && parse_trailer (i) - && ymd_to_date (i, year, month, day, &i->v->f)); -} + if (trim_spaces_and_check_missing (i)) + return true; -static bool -parse_JDATE (struct data_in *i) -{ - long julian; - double ofs; - - if (!parse_leader (i) - || !parse_julian (i, &julian) - || !parse_trailer (i) - || !ymd_to_ofs (i, julian / 1000, 1, 1, &ofs)) + if (!parse_month (i, &month) + || !parse_trailer (i)) return false; - i->v->f = (ofs + julian % 1000 - 1) * 60. * 60. * 24.; + i->output->f = month; return true; } +/* Parses DATE, ADATE, EDATE, JDATE, SDATE, QYR, MOYR, KWYR, + DATETIME, TIME and DTIME formats. */ static bool -parse_QYR (struct data_in *i) +parse_date (struct data_in *i) { - long quarter, year; - - return (parse_leader (i) - && parse_quarter (i, &quarter) - && parse_q_delimiter (i) - && parse_year (i, &year) - && parse_trailer (i) - && ymd_to_date (i, year, (quarter - 1) * 3 + 1, 1, &i->v->f)); -} + long int year = INT_MIN; + long int month = 1; + long int day = 1; + long int yday = 1; + double time = 0, date = 0; + enum time_sign time_sign = SIGN_NO_TIME; -static bool -parse_MOYR (struct data_in *i) -{ - long month, year; - - return (parse_leader (i) - && parse_month (i, &month) - && parse_date_delimiter (i) - && parse_year (i, &year) - && parse_trailer (i) - && ymd_to_date (i, year, month, 1, &i->v->f)); -} + const char *template = fmt_date_template (i->format); + size_t template_width = strlen (template); -static bool -parse_WKYR (struct data_in *i) -{ - long week, year; - double ofs; - - if (!parse_leader (i) - || !parse_week (i, &week) - || !parse_wk_delimiter (i) - || !parse_year (i, &year) - || !parse_trailer (i)) - return false; + if (trim_spaces_and_check_missing (i)) + return true; - if (year != 1582) + while (*template != '\0') { - if (!ymd_to_ofs (i, year, 1, 1, &ofs)) + unsigned char ch = *template; + int count = 1; + bool ok; + + while (template[count] == ch) + count++; + template += count; + + ok = true; + switch (ch) + { + case 'd': + ok = count < 3 ? parse_day (i, &day) : parse_yday (i, &yday); + break; + case 'm': + ok = parse_month (i, &month); + break; + case 'y': + { + size_t max_digits; + if (!c_isalpha (*template)) + max_digits = SIZE_MAX; + else + { + if (ss_length (i->input) >= template_width + 2) + max_digits = 4; + else + max_digits = 2; + } + ok = parse_year (i, &year, max_digits); + } + break; + case 'q': + ok = parse_quarter (i, &month); + break; + case 'w': + ok = parse_week (i, &yday); + break; + case 'D': + ok = parse_time_units (i, 60. * 60. * 24., &time_sign, &time); + break; + case 'H': + ok = parse_time_units (i, 60. * 60., &time_sign, &time); + break; + case 'M': + ok = parse_minute_second (i, &time); + break; + case '-': + case '/': + case '.': + case 'X': + ok = parse_date_delimiter (i); + break; + case ':': + ok = parse_time_delimiter (i); + case ' ': + parse_spaces (i); + break; + default: + assert (count == 1); + if (!ss_match_char (&i->input, c_toupper (ch)) + && !ss_match_char (&i->input, c_tolower (ch))) + { + data_warning (i, _("`%c' expected in date field."), ch); + return false; + } + break; + } + if (!ok) return false; } - else + if (!parse_trailer (i)) + return false; + + if (year != INT_MIN) { - if (ymd_to_ofs (i, 1583, 1, 1, &ofs)) + double ofs = calendar_gregorian_to_offset (year, month, day, + calendar_error, i); + if (ofs == SYSMIS) return false; - ofs -= 365; + date = (yday - 1 + ofs) * 60. * 60. * 24.; } + else + date = 0.; + i->output->f = date + (time_sign == SIGN_NEGATIVE ? -time : time); - i->v->f = (ofs + (week - 1) * 7) * 60. * 60. * 24.; - return true; -} - -static bool -parse_TIME (struct data_in *i) -{ - int sign; - double second; - long hour, minute; - - if (!parse_leader (i) - || !parse_sign (i, &sign) - || !parse_spaces (i) - || !parse_hour (i, &hour) - || !parse_time_delimiter (i) - || !parse_minute (i, &minute) - || !parse_opt_second (i, &second)) - return false; - - i->v->f = (hour * 60. * 60. + minute * 60. + second) * sign; return true; } + +/* Utility functions. */ -static bool -parse_DTIME (struct data_in *i) +/* Outputs FORMAT with the given ARGS as a warning for input + I. */ +static void +vdata_warning (const struct data_in *i, const char *format, va_list args) { - int sign; - long day_count, hour; - double second; - long minute; - - if (!parse_leader (i) - || !parse_sign (i, &sign) - || !parse_spaces (i) - || !parse_day_count (i, &day_count) - || !parse_time_delimiter (i) - || !parse_hour (i, &hour) - || !parse_time_delimiter (i) - || !parse_minute (i, &minute) - || !parse_opt_second (i, &second)) - return false; - - i->v->f = (day_count * 60. * 60. * 24. - + hour * 60. * 60. - + minute * 60. - + second) * sign; - return true; -} + struct msg m; + struct string text; -static bool -parse_DATETIME (struct data_in *i) -{ - long day, month, year; - long hour24; - double second; - long minute; + ds_init_empty (&text); + ds_put_char (&text, '('); + if (i->first_column != 0) + { + if (i->first_column == i->last_column) + ds_put_format (&text, _("column %d"), i->first_column); + else + ds_put_format (&text, _("columns %d-%d"), + i->first_column, i->last_column); + ds_put_cstr (&text, ", "); + } + ds_put_format (&text, _("%s field) "), fmt_name (i->format)); + ds_put_vformat (&text, format, args); - if (!parse_leader (i) - || !parse_day (i, &day) - || !parse_date_delimiter (i) - || !parse_month (i, &month) - || !parse_date_delimiter (i) - || !parse_year (i, &year) - || !parse_time_delimiter (i) - || !parse_hour24 (i, &hour24) - || !parse_time_delimiter (i) - || !parse_minute (i, &minute) - || !parse_opt_second (i, &second) - || !ymd_to_date (i, year, month, day, &i->v->f)) - return false; + m.category = MSG_DATA; + m.severity = MSG_WARNING; + m.text = ds_cstr (&text); - i->v->f += hour24 * 60. * 60. + minute * 60. + second; - return true; + msg_emit (&m); } -static bool -parse_WKDAY (struct data_in *i) +/* Outputs FORMAT with the given ARGS as a warning for input + I. */ +static void +data_warning (const struct data_in *i, const char *format, ...) { - long weekday; - - if (!parse_leader (i) - || !parse_weekday (i, &weekday) - || !parse_trailer (i)) - return false; + va_list args; - i->v->f = weekday; - return true; + va_start (args, format); + vdata_warning (i, format, args); + va_end (args); } -static bool -parse_MONTH (struct data_in *i) +/* Apply implied decimal places to output. */ +static void +apply_implied_decimals (struct data_in *i) { - long month; - - if (!parse_leader (i) - || !parse_month (i, &month) - || !parse_trailer (i)) - return false; - - i->v->f = month; - return true; + if (i->implied_decimals > 0) + i->output->f /= pow (10., i->implied_decimals); } - -/* Main dispatcher. */ +/* Sets the default result for I. + For a numeric format, this is the value set on SET BLANKS + (typically system-missing); for a string format, it is all + spaces. */ static void default_result (struct data_in *i) { - /* Default to SYSMIS or blanks. */ - if (fmt_is_string (i->format.type)) - memset (i->v->s, ' ', i->format.w); + if (fmt_is_string (i->format)) + memset (i->output->s, ' ', i->width); else - i->v->f = get_blanks(); + i->output->f = get_blanks (); } -bool -data_in (struct data_in *i) +/* Trims leading and trailing spaces from I. + If the result is empty, or a single period character, then + sets the default result and returns true; otherwise, returns + false. */ +static bool +trim_spaces_and_check_missing (struct data_in *i) { - bool success; - - assert (fmt_check_input (&i->format)); - - /* Check that we've got a string to work with. */ - if (i->e == i->s || i->format.w <= 0) + ss_trim (&i->input, ss_cstr (" ")); + if (ss_is_empty (i->input) || ss_equals (i->input, ss_cstr ("."))) { default_result (i); return true; } - - i->f2 = i->f1 + (i->e - i->s) - 1; - - /* Make sure that the string isn't too long. */ - if (i->format.w > fmt_max_input_width (i->format.type)) - { - dls_error (i, _("Field too long (%d characters). Truncated after " - "character %d."), - i->format.w, fmt_max_input_width (i->format.type)); - i->format.w = fmt_max_input_width (i->format.type); - } - - if (!(fmt_get_category (i->format.type) - & (FMT_CAT_STRING | FMT_CAT_BINARY | FMT_CAT_HEXADECIMAL))) - { - const char *cp; - - cp = i->s; - for (;;) - { - if (!isspace ((unsigned char) *cp)) - break; - - if (++cp == i->e) - { - i->v->f = get_blanks(); - return true; - } - } - } - - - switch (i->format.type) - { - case FMT_F: - case FMT_COMMA: - case FMT_DOT: - case FMT_DOLLAR: - case FMT_PCT: - case FMT_E: - success = parse_numeric (i); - break; - case FMT_CCA: - case FMT_CCB: - case FMT_CCC: - case FMT_CCD: - case FMT_CCE: - NOT_REACHED (); - case FMT_N: - success = parse_N (i); - break; - case FMT_Z: - success = parse_Z (i); - break; - case FMT_P: - success = parse_P (i); - break; - case FMT_PK: - success = parse_PK (i); - break; - case FMT_IB: - success = parse_IB (i); - break; - case FMT_PIB: - success = parse_PIB (i); - break; - case FMT_PIBHEX: - success = parse_PIBHEX (i); - break; - case FMT_RB: - success = parse_RB (i); - break; - case FMT_RBHEX: - success = parse_RBHEX (i); - break; - case FMT_DATE: - success = parse_DATE (i); - break; - case FMT_ADATE: - success = parse_ADATE (i); - break; - case FMT_EDATE: - success = parse_EDATE (i); - break; - case FMT_JDATE: - success = parse_JDATE (i); - break; - case FMT_SDATE: - success = parse_SDATE (i); - break; - case FMT_QYR: - success = parse_QYR (i); - break; - case FMT_MOYR: - success = parse_MOYR (i); - break; - case FMT_WKYR: - success = parse_WKYR (i); - break; - case FMT_DATETIME: - success = parse_DATETIME (i); - break; - case FMT_TIME: - success = parse_TIME (i); - break; - case FMT_DTIME: - success = parse_DTIME (i); - break; - case FMT_WKDAY: - success = parse_WKDAY (i); - break; - case FMT_MONTH: - success = parse_MONTH (i); - break; - case FMT_A: - success = parse_A (i); - break; - case FMT_AHEX: - success = parse_AHEX (i); - break; - default: - NOT_REACHED (); - } - if (!success) - default_result (i); - - return success; + return false; } - -/* Utility function. */ -/* Sets DI->{s,e} appropriately given that LINE has length LEN and the - field starts at one-based column FC and ends at one-based column - LC, inclusive. */ -void -data_in_finite_line (struct data_in *di, const char *line, size_t len, - int fc, int lc) +/* Returns the integer value of hex digit C. */ +static int +hexit_value (int c) { - di->s = line + ((size_t) fc <= len ? fc - 1 : len); - di->e = line + ((size_t) lc <= len ? lc : len); + const char s[] = "0123456789abcdef"; + const char *cp = strchr (s, c_tolower ((unsigned char) c)); + + assert (cp != NULL); + return cp - s; } diff --git a/src/data/data-in.h b/src/data/data-in.h index 287b2fbe..6799a60d 100644 --- a/src/data/data-in.h +++ b/src/data/data-in.h @@ -1,5 +1,5 @@ /* PSPP - computes sample statistics. - Copyright (C) 1997-9, 2000 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc. Written by Ben Pfaff . This program is free software; you can redistribute it and/or @@ -22,31 +22,19 @@ #include #include +#include +#include +#include #include "format.h" -/* Flags. */ -enum - { - DI_IGNORE_ERROR = 01, /* Don't report errors to the user. */ - DI_IMPLIED_DECIMALS = 02 /* Insert decimals if no '.' in input. */ - }; +enum integer_format data_in_get_integer_format (void); +void data_in_set_integer_format (enum integer_format); -/* Information about parsing one data field. */ -struct data_in - { - const char *s; /* Source start. */ - const char *e; /* Source end. */ +enum float_format data_in_get_float_format (void); +void data_in_set_float_format (enum float_format); - union value *v; /* Destination. */ - - int flags; /* Zero or more of DI_*. */ - int f1, f2; /* Columns the field was taken from. */ - struct fmt_spec format; /* Format specification to use. */ - }; - -bool data_in (struct data_in *); - -void data_in_finite_line (struct data_in *di, const char *line, size_t len, - int fc, int lc); +bool data_in (struct substring input, + enum fmt_type, int implied_decimals, int first_column, + union value *output, int width); #endif /* data-in.h */ diff --git a/src/data/data-out.c b/src/data/data-out.c index 6622c7d4..8b94da03 100644 --- a/src/data/data-out.c +++ b/src/data/data-out.c @@ -314,7 +314,6 @@ output_date (const union value *input, const struct fmt_spec *format, char *output) { double number = input->f; - double magnitude = fabs (number); int year, month, day, yday; const char *template = fmt_date_template (format->type); @@ -334,6 +333,7 @@ output_date (const union value *input, const struct fmt_spec *format, goto missing; calendar_offset_to_gregorian (number / 60. / 60. / 24., &year, &month, &day, &yday); + number = fmod (number, 60. * 60. * 24.); } else year = month = day = yday = 0; @@ -392,33 +392,33 @@ output_date (const union value *input, const struct fmt_spec *format, p += sprintf (p, "%2d", (yday - 1) / 7 + 1); break; case 'D': - if (number < 0) + if (number < 0) *p++ = '-'; - p += sprintf (p, "%.0f", floor (magnitude / 60. / 60. / 24.)); + number = fabs (number); + p += sprintf (p, "%*.0f", count, floor (number / 60. / 60. / 24.)); + number = fmod (number, 60. * 60. * 24.); break; - case 'h': + case 'H': if (number < 0) *p++ = '-'; - p += sprintf (p, "%.0f", floor (magnitude / 60. / 60.)); - break; - case 'H': - p += sprintf (p, "%02d", - (int) fmod (floor (magnitude / 60. / 60.), 24.)); + number = fabs (number); + p += sprintf (p, "%0*.0f", count, floor (number / 60. / 60.)); + number = fmod (number, 60. * 60.); break; case 'M': - p += sprintf (p, "%02d", - (int) fmod (floor (magnitude / 60.), 60.)); + p += sprintf (p, "%02d", (int) floor (number / 60.)); + number = fmod (number, 60.); excess_width = format->w - (p - tmp); if (excess_width < 0) goto overflow; if (excess_width == 3 || excess_width == 4 || (excess_width >= 5 && format->d == 0)) - p += sprintf (p, ":%02d", (int) fmod (magnitude, 60.)); + p += sprintf (p, ":%02d", (int) number); else if (excess_width >= 5) { int d = MIN (format->d, excess_width - 4); int w = d + 3; - sprintf (p, ":%0*.*f", w, d, fmod (magnitude, 60.)); + sprintf (p, ":%0*.*f", w, d, number); if (fmt_decimal_char (FMT_F) != '.') { char *cp = strchr (p, '.'); @@ -428,6 +428,9 @@ output_date (const union value *input, const struct fmt_spec *format, p += strlen (p); } break; + case 'X': + *p++ = ' '; + break; default: assert (count == 1); *p++ = ch; @@ -658,9 +661,7 @@ output_scientific (double number, const struct fmt_spec *format, decimal point without any digits following; that's what the # flag does in the call to sprintf, below.) */ fraction_width = MIN (MIN (format->d + 1, format->w - width), 16); - if (format->type != FMT_E - && (fraction_width == 1 - || format->w - width + (style->grouping == 0 && number < 0) <= 2)) + if (format->type != FMT_E && fraction_width == 1) fraction_width = 0; width += fraction_width; diff --git a/src/data/format.c b/src/data/format.c index e236aa31..2a0092fc 100644 --- a/src/data/format.c +++ b/src/data/format.c @@ -565,13 +565,13 @@ fmt_date_template (enum fmt_type type) case FMT_QYR: return "q Q yy"; case FMT_MOYR: - return "mmm yy"; + return "mmmXyy"; case FMT_WKYR: return "ww WK yy"; case FMT_DATETIME: return "dd-mmm-yyyy HH:MM"; case FMT_TIME: - return "h:MM"; + return "H:MM"; case FMT_DTIME: return "D HH:MM"; default: diff --git a/src/language/data-io/ChangeLog b/src/language/data-io/ChangeLog index 099c4c5e..b5f8545f 100644 --- a/src/language/data-io/ChangeLog +++ b/src/language/data-io/ChangeLog @@ -1,3 +1,12 @@ +Sun Nov 19 09:17:45 2006 Ben Pfaff + + * data-list.c (parse_free): Follow documented (but odd) rule that + N format is treated as F format for free-field input. + + * data-reader.c (read_file_record): Drop new-line character from + input text lines. This is symmetrical with the recently changed + dfm_put_record semantics. + Thu Nov 2 20:56:03 2006 Ben Pfaff Implement SKIP keyword on DATA LIST. Fixes bug #17099. diff --git a/src/language/data-io/data-list.c b/src/language/data-io/data-list.c index 42837c15..1d55d8b2 100644 --- a/src/language/data-io/data-list.c +++ b/src/language/data-io/data-list.c @@ -469,6 +469,12 @@ parse_free (struct lexer *lexer, struct dictionary *dict, struct pool *tmp_pool, || !fmt_check_input (&input) || !lex_force_match (lexer, ')')) return NULL; + + /* As a special case, N format is treated as F format + for free-field input. */ + if (input.type == FMT_N) + input.type = FMT_F; + output = fmt_for_output_from_input (&input); } else @@ -672,19 +678,9 @@ read_from_data_list_fixed (const struct data_list_pgm *dls, struct ccase *c) line = dfm_get_record (dls->reader); ll_for_each_continue (spec, struct dls_var_spec, ll, &dls->specs) - { - struct data_in di; - - data_in_finite_line (&di, ss_data (line), ss_length (line), - spec->first_column, - spec->first_column + spec->input.w - 1); - di.v = case_data_rw (c, spec->fv); - di.flags = DI_IMPLIED_DECIMALS; - di.f1 = spec->first_column; - di.format = spec->input; - - data_in (&di); - } + data_in (ss_substr (line, spec->first_column - 1, spec->input.w), + spec->input.type, spec->input.d, spec->first_column, + case_data_rw (c, spec->fv), fmt_var_width (&spec->input)); dfm_forward_record (dls->reader); } @@ -703,7 +699,6 @@ read_from_data_list_free (const struct data_list_pgm *dls, struct ccase *c) ll_for_each (spec, struct dls_var_spec, ll, &dls->specs) { struct substring field; - struct data_in di; /* Cut out a field and read in a new record if necessary. */ while (!cut_field (dls, &field)) @@ -719,13 +714,9 @@ read_from_data_list_free (const struct data_list_pgm *dls, struct ccase *c) } } - di.s = ss_data (field); - di.e = ss_end (field); - di.v = case_data_rw (c, spec->fv); - di.flags = 0; - di.f1 = dfm_get_column (dls->reader, ss_data (field)); - di.format = spec->input; - data_in (&di); + data_in (field, spec->input.type, 0, + dfm_get_column (dls->reader, ss_data (field)), + case_data_rw (c, spec->fv), fmt_var_width (&spec->input)); } return true; } @@ -744,7 +735,6 @@ read_from_data_list_list (const struct data_list_pgm *dls, struct ccase *c) ll_for_each (spec, struct dls_var_spec, ll, &dls->specs) { struct substring field; - struct data_in di; if (!cut_field (dls, &field)) { @@ -764,13 +754,9 @@ read_from_data_list_list (const struct data_list_pgm *dls, struct ccase *c) break; } - di.s = ss_data (field); - di.e = ss_end (field); - di.v = case_data_rw (c, spec->fv); - di.flags = 0; - di.f1 = dfm_get_column (dls->reader, ss_data (field)); - di.format = spec->input; - data_in (&di); + data_in (field, spec->input.type, 0, + dfm_get_column (dls->reader, ss_data (field)), + case_data_rw (c, spec->fv), fmt_var_width (&spec->input)); } dfm_forward_record (dls->reader); diff --git a/src/language/data-io/data-reader.c b/src/language/data-io/data-reader.c index 0bff8696..cd065ddb 100644 --- a/src/language/data-io/data-reader.c +++ b/src/language/data-io/data-reader.c @@ -210,6 +210,7 @@ read_file_record (struct dfm_reader *r) fh_get_name (r->fh), strerror (errno)); return false; } + ds_chomp (&r->line, '\n'); } else if (fh_get_mode (r->fh) == FH_MODE_BINARY) { diff --git a/src/language/data-io/matrix-data.c b/src/language/data-io/matrix-data.c index a1e5d218..6283279c 100644 --- a/src/language/data-io/matrix-data.c +++ b/src/language/data-io/matrix-data.c @@ -865,17 +865,9 @@ static int s = ss_buffer (start, ss_data (p) - start); if (is_num) - { - struct data_in di; - - di.s = ss_data (s); - di.e = ss_end (s); - di.v = (union value *) &token->number; - di.f1 = dfm_get_column (reader, di.s); - di.format = fmt_for_output (FMT_F, token->length, 0); - - data_in (&di); - } + data_in (s, FMT_F, 0, + dfm_get_column (reader, ss_data (s)), + (union value *) &token->number, 0); else token->type = MSTR; } diff --git a/src/language/dictionary/missing-values.c b/src/language/dictionary/missing-values.c index f6836996..6735d0e5 100644 --- a/src/language/dictionary/missing-values.c +++ b/src/language/dictionary/missing-values.c @@ -84,7 +84,7 @@ cmd_missing_values (struct lexer *lexer, struct dataset *ds) double x, y; bool ok; - if (!parse_num_range (lexer, &x, &y, &v[0]->print)) + if (!parse_num_range (lexer, &x, &y, &v[0]->print.type)) goto done; ok = (x == y diff --git a/src/language/expressions/evaluate.c b/src/language/expressions/evaluate.c index b597fd4c..5395384a 100644 --- a/src/language/expressions/evaluate.c +++ b/src/language/expressions/evaluate.c @@ -90,8 +90,6 @@ expr_evaluate_num (struct expression *e, const struct ccase *c, int case_idx) return d; } - - void expr_evaluate_str (struct expression *e, const struct ccase *c, int case_idx, char *dst, size_t dst_size) diff --git a/src/language/expressions/operations.def b/src/language/expressions/operations.def index 6b4d5221..85e4d6c4 100644 --- a/src/language/expressions/operations.def +++ b/src/language/expressions/operations.def @@ -566,15 +566,8 @@ string function RTRIM (string s, string c) function NUMBER (string s, ni_format f) { - struct data_in di; union value out; - di.s = s.string; - di.v = &out; - di.flags = DI_IMPLIED_DECIMALS; - di.f1 = 1; - di.format = *f; - di.e = s.string + min (s.length, di.format.w); - data_in (&di); + data_in (ss_head (s, f->w), f->type, f->d, 0, &out, 0); return out.f; } diff --git a/src/language/lexer/ChangeLog b/src/language/lexer/ChangeLog index fd98ea9c..ebbf2544 100644 --- a/src/language/lexer/ChangeLog +++ b/src/language/lexer/ChangeLog @@ -1,3 +1,10 @@ +Sun Nov 19 09:20:42 2006 Ben Pfaff + + * range-parser.c (parse_num_range): Because data_in takes an enum + fmt_type now, not a struct fmt_spec, change the type of the + corresponding argument. Updated all callers. + (parse_number) Ditto. + Sun Nov 12 06:34:06 WST 2006 John Darrrington * format-parser.c format-parser.h lexer.c lexer.h q2c.c range-parser.c diff --git a/src/language/lexer/range-parser.c b/src/language/lexer/range-parser.c index ae25b631..d6d352b8 100644 --- a/src/language/lexer/range-parser.c +++ b/src/language/lexer/range-parser.c @@ -31,29 +31,30 @@ #define _(msgid) gettext (msgid) #define N_(msgid) msgid -static bool parse_number (struct lexer *, double *, const struct fmt_spec *); +static bool parse_number (struct lexer *, double *, const enum fmt_type *); /* Parses and stores a numeric value, or a range of the form "x THRU y". Open-ended ranges may be specified as "LO(WEST) THRU y" or "x THRU HI(GHEST)". Sets *X and *Y to the range or the value and returns success. - Numeric values are always accepted. If F is nonnull, then - string values are also accepted, and converted to numeric - values using the specified format. */ + Numeric values are always accepted. If FORMAT is nonnull, + then string values are also accepted, and converted to numeric + values using *FORMAT. */ bool -parse_num_range (struct lexer *lexer, double *x, double *y, const struct fmt_spec *f) +parse_num_range (struct lexer *lexer, + double *x, double *y, const enum fmt_type *format) { if (lex_match_id (lexer, "LO") || lex_match_id (lexer, "LOWEST")) *x = LOWEST; - else if (!parse_number (lexer, x, f)) + else if (!parse_number (lexer, x, format)) return false; if (lex_match_id (lexer, "THRU")) { if (lex_match_id (lexer, "HI") || lex_match_id (lexer, "HIGHEST")) *y = HIGHEST; - else if (!parse_number (lexer, y, f)) + else if (!parse_number (lexer, y, format)) return false; if (*y < *x) @@ -86,11 +87,11 @@ parse_num_range (struct lexer *lexer, double *x, double *y, const struct fmt_spe /* Parses a number and stores it in *X. Returns success. - Numeric values are always accepted. If F is nonnull, then - string values are also accepted, and converted to numeric - values using the specified format. */ + Numeric values are always accepted. If FORMAT is nonnull, + then string values are also accepted, and converted to numeric + values using *FORMAT. */ static bool -parse_number (struct lexer *lexer, double *x, const struct fmt_spec *f) +parse_number (struct lexer *lexer, double *x, const enum fmt_type *format) { if (lex_is_number (lexer)) { @@ -98,18 +99,10 @@ parse_number (struct lexer *lexer, double *x, const struct fmt_spec *f) lex_get (lexer); return true; } - else if (lex_token (lexer) == T_STRING && f != NULL) + else if (lex_token (lexer) == T_STRING && format != NULL) { - struct data_in di; union value v; - di.s = ds_data (lex_tokstr (lexer)); - di.e = ds_end (lex_tokstr (lexer)); - di.v = &v; - di.flags = 0; - di.f1 = 1; - di.f2 = ds_length (lex_tokstr (lexer)); - di.format = *f; - data_in (&di); + data_in (ds_ss (lex_tokstr (lexer)), *format, 0, 0, &v, 0); lex_get (lexer); *x = v.f; if (*x == SYSMIS) @@ -121,7 +114,7 @@ parse_number (struct lexer *lexer, double *x, const struct fmt_spec *f) } else { - if (f != NULL) + if (format != NULL) lex_error (lexer, _("expecting number or data string")); else lex_force_num (lexer); diff --git a/src/language/lexer/range-parser.h b/src/language/lexer/range-parser.h index 030a1927..986cd5f0 100644 --- a/src/language/lexer/range-parser.h +++ b/src/language/lexer/range-parser.h @@ -21,9 +21,10 @@ #define RANGE_PRS_H 1 #include +#include -struct fmt_spec; struct lexer; -bool parse_num_range (struct lexer *, double *, double *, const struct fmt_spec *fmt); +bool parse_num_range (struct lexer *, + double *x, double *y, const enum fmt_type *fmt); #endif /* range-prs.h */ diff --git a/src/language/utilities/ChangeLog b/src/language/utilities/ChangeLog index e05deb42..6e98f435 100644 --- a/src/language/utilities/ChangeLog +++ b/src/language/utilities/ChangeLog @@ -1,3 +1,12 @@ +Sun Nov 19 09:21:39 2006 Ben Pfaff + + * set.q: Add RIB, RRB settings to control binary formats used by + data_out. + (cmd_set) Implement SET RIB, RRB. + (show_rib) New function. + (show_rrb) New function. + (static var show_table[]) Add SHOW RIB, RRB. + Sat Nov 4 16:05:47 2006 Ben Pfaff * set.q: Add WIB, WRB settings to control binary formats used by diff --git a/src/language/utilities/set.q b/src/language/utilities/set.q index ed7bbbf7..8a79b194 100644 --- a/src/language/utilities/set.q +++ b/src/language/utilities/set.q @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -102,6 +103,8 @@ int tgetnum (const char *); printback=prtbck:on/off; prompt=string; results=res:on/off/terminal/listing/both/on/none/off; + rib=rib:msbfirst/lsbfirst/vax/native; + rrb=rrb:native/isl/isb/idl/idb/vf/vd/vg/zs/zl; safer=safe:on; scompression=scompress:on/off; scripttab=string "x==1" "one character long"; @@ -177,6 +180,10 @@ cmd_set (struct lexer *lexer, struct dataset *ds) set_mxwarns (cmd.n_mxwarns[0]); if (cmd.sbc_nulline) set_nulline (cmd.null == STC_ON); + if (cmd.sbc_rib) + data_in_set_integer_format (stc_to_integer_format (cmd.rib)); + if (cmd.sbc_rrb) + data_in_set_float_format (stc_to_float_format (cmd.rrb)); if (cmd.sbc_safer) set_safer_mode (); if (cmd.sbc_scompression) @@ -730,6 +737,18 @@ show_float_format (const char *setting, enum float_format float_format) float_format == FLOAT_NATIVE_DOUBLE ? "NATIVE" : "nonnative"); } +static void +show_rib (const struct dataset *ds UNUSED) +{ + show_integer_format ("RIB", data_in_get_integer_format ()); +} + +static void +show_rrb (const struct dataset *ds UNUSED) +{ + show_float_format ("RRB", data_in_get_float_format ()); +} + static void show_scompression (const struct dataset *ds UNUSED) { @@ -798,6 +817,8 @@ const struct show_sbc show_table[] = {"MXERRS", show_mxerrs}, {"MXLOOPS", show_mxloops}, {"MXWARNS", show_mxwarns}, + {"RIB", show_rib}, + {"RRB", show_rrb}, {"SCOMPRESSION", show_scompression}, {"UNDEFINED", show_undefined}, {"WEIGHT", show_weight}, diff --git a/src/language/xforms/recode.c b/src/language/xforms/recode.c index 7fc187a7..dfd8145e 100644 --- a/src/language/xforms/recode.c +++ b/src/language/xforms/recode.c @@ -598,17 +598,10 @@ find_src_string (struct recode_trns *trns, const char *value, int width) case MAP_CONVERT: { union value uv; - struct data_in di; - - di.s = value; - di.e = value + width; - di.v = &uv; - di.flags = DI_IGNORE_ERROR; - di.f1 = di.f2 = 0; - di.format.type = FMT_F; - di.format.w = width; - di.format.d = 0; - match = data_in (&di); + + msg_disable (); + match = data_in (ss_buffer (value, width), FMT_F, 0, 0, &uv, 0); + msg_enable (); out->value.f = uv.f; break; } diff --git a/src/libpspp/ChangeLog b/src/libpspp/ChangeLog index d3d1553c..e7801687 100644 --- a/src/libpspp/ChangeLog +++ b/src/libpspp/ChangeLog @@ -1,3 +1,10 @@ +Sun Nov 19 09:22:26 2006 Ben Pfaff + + * str.c (ss_get_long): New function. + (ss_compare_case) Ditto. + (ss_equals) Ditto. + (ss_equals_case) Ditto. + Tue Oct 31 19:28:19 2006 Ben Pfaff * str.h: [!HAVE_STRCHR] Drop compatibility code, because now we diff --git a/src/libpspp/str.c b/src/libpspp/str.c index 965e3b30..5a554b7b 100644 --- a/src/libpspp/str.c +++ b/src/libpspp/str.c @@ -529,6 +529,36 @@ ss_get_chars (struct substring *ss, size_t cnt, struct substring *out) return cnt; } +/* Parses and removes an optionally signed decimal integer from + the beginning of SS. Returns 0 if an error occurred, + otherwise the number of characters removed from SS. Stores + the integer's value into *VALUE. */ +size_t +ss_get_long (struct substring *ss, long *value) +{ + char tmp[64]; + size_t length; + + length = ss_span (*ss, ss_cstr ("+-")); + length += ss_span (ss_substr (*ss, length, SIZE_MAX), ss_cstr (CC_DIGITS)); + if (length > 0 && length < sizeof tmp) + { + char *tail; + + memcpy (tmp, ss_data (*ss), length); + tmp[length] = '\0'; + + *value = strtol (tmp, &tail, 10); + if (tail - tmp == length) + { + ss_advance (ss, length); + return length; + } + } + *value = 0; + return 0; +} + /* Returns true if SS is empty (contains no characters), false otherwise. */ bool @@ -627,6 +657,34 @@ ss_compare (struct substring a, struct substring b) return retval; } +/* Compares A and B case-insensitively and returns a + strcmp()-type comparison result. */ +int +ss_compare_case (struct substring a, struct substring b) +{ + int retval = memcasecmp (a.string, b.string, MIN (a.length, b.length)); + if (retval == 0) + retval = a.length < b.length ? -1 : a.length > b.length; + return retval; +} + +/* Compares A and B and returns true if their contents are + identical, false otherwise. */ +int +ss_equals (struct substring a, struct substring b) +{ + return a.length == b.length && !memcmp (a.string, b.string, a.length); +} + +/* Compares A and B and returns true if their contents are + identical except possibly for case differences, false + otherwise. */ +int +ss_equals_case (struct substring a, struct substring b) +{ + return a.length == b.length && !memcasecmp (a.string, b.string, a.length); +} + /* Returns the position in SS that the character at P occupies. P must point within SS or one past its end. */ size_t diff --git a/src/libpspp/str.h b/src/libpspp/str.h index eaf12c3b..81cda125 100644 --- a/src/libpspp/str.h +++ b/src/libpspp/str.h @@ -111,6 +111,7 @@ bool ss_match_char (struct substring *, char); int ss_get_char (struct substring *); size_t ss_get_chars (struct substring *, size_t cnt, struct substring *); bool ss_get_until (struct substring *, char delimiter, struct substring *); +size_t ss_get_long (struct substring *, long *); /* Inspectors. */ bool ss_is_empty (struct substring); @@ -124,6 +125,9 @@ size_t ss_span (struct substring, struct substring skip_set); size_t ss_cspan (struct substring, struct substring stop_set); size_t ss_find_char (struct substring, char); int ss_compare (struct substring, struct substring); +int ss_compare_case (struct substring, struct substring); +int ss_equals (struct substring, struct substring); +int ss_equals_case (struct substring, struct substring); size_t ss_pointer_to_position (struct substring, const char *); char *ss_xstrdup (struct substring); diff --git a/src/ui/gui/helper.c b/src/ui/gui/helper.c index dea14d54..2b3c637a 100644 --- a/src/ui/gui/helper.c +++ b/src/ui/gui/helper.c @@ -30,7 +30,7 @@ gboolean text_to_value(const gchar *text, union value *v, struct fmt_spec format) { - struct data_in di; + bool ok; if ( format.type != FMT_A) { @@ -49,15 +49,12 @@ text_to_value(const gchar *text, union value *v, } } - di.s = text; - di.e = text + strlen(text); - di.v = v; - di.flags = DI_IGNORE_ERROR; - di.f1 = di.f2 = 0; - di.format = format; - - return data_in(&di); + msg_disable (); + ok = data_in (ss_cstr (text), format.type, 0, 0, + v, fmt_var_width (&format)); + msg_enable (); + return ok; } diff --git a/src/ui/gui/psppire-case-file.c b/src/ui/gui/psppire-case-file.c index 6b0f2111..7e16087e 100644 --- a/src/ui/gui/psppire-case-file.c +++ b/src/ui/gui/psppire-case-file.c @@ -18,7 +18,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - +#include #include #include @@ -296,7 +296,7 @@ psppire_case_file_set_value(PsppireCaseFile *cf, gint casenum, gint idx, /* Set the IDXth value of case C using D_IN */ gboolean psppire_case_file_data_in(PsppireCaseFile *cf, gint casenum, gint idx, - struct data_in *d_in) + struct substring input, const struct fmt_spec *fmt) { struct ccase cc ; @@ -309,9 +309,8 @@ psppire_case_file_data_in(PsppireCaseFile *cf, gint casenum, gint idx, return FALSE; /* Cast away const in flagrant abuse of the casefile */ - d_in->v = (union value *) case_data(&cc, idx); - - if ( ! data_in(d_in) ) + if (!data_in (input, fmt->type, 0, 0, + (union value *) case_data(&cc, idx), fmt_var_width (fmt))) g_warning("Cant set value\n"); g_signal_emit(cf, signal[CASE_CHANGED], 0, casenum); diff --git a/src/ui/gui/psppire-case-file.h b/src/ui/gui/psppire-case-file.h index 7961b3cb..644bb0be 100644 --- a/src/ui/gui/psppire-case-file.h +++ b/src/ui/gui/psppire-case-file.h @@ -26,6 +26,8 @@ #include #include +#include + G_BEGIN_DECLS @@ -79,10 +81,11 @@ gint psppire_case_file_get_case_count(const PsppireCaseFile *cf); const union value * psppire_case_file_get_value(const PsppireCaseFile *cf, gint c, gint idx); -struct data_in; +struct fmt_spec; gboolean psppire_case_file_data_in(PsppireCaseFile *cf, gint c, gint idx, - struct data_in *d_in); + struct substring input, + const struct fmt_spec *); gboolean psppire_case_file_set_value(PsppireCaseFile *cf, gint casenum, gint idx, union value *v, gint width); diff --git a/src/ui/gui/psppire-data-store.c b/src/ui/gui/psppire-data-store.c index 0cb8ef91..0466a97b 100644 --- a/src/ui/gui/psppire-data-store.c +++ b/src/ui/gui/psppire-data-store.c @@ -569,20 +569,10 @@ psppire_data_store_set_string(GSheetModel *model, } #endif - { - const gint index = psppire_variable_get_fv(pv); - - struct data_in d_in; - d_in.s = text; - d_in.e = text + strlen(text); - d_in.v = 0; - d_in.f1 = d_in.f2 = 0; - d_in.format = * psppire_variable_get_write_spec(pv); - d_in.flags = 0; - - psppire_case_file_data_in(store->case_file, row, index, &d_in) ; - } - + psppire_case_file_data_in (store->case_file, row, + psppire_variable_get_fv (pv), ss_cstr (text), + psppire_variable_get_write_spec (pv)); + return TRUE; } diff --git a/tests/ChangeLog b/tests/ChangeLog index 071cd012..41d15f5a 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,38 @@ +Sun Nov 19 09:23:34 2006 Ben Pfaff + + * automake.mk: Add the new tests listed below. + + * tests/formats/bcd-in.sh: New test. + + * tests/formats/bcd-in.expected.cmp.gz: New support file for + bcd-in.sh. + + * tests/formats/date-in.sh: New test. + + * tests/formats/ib-in.sh: New test. + + * tests/formats/ib-in.expected.cmp.gz: New test. + + * tests/formats/legacy-in.sh: New test. + + * tests/formats/legacy-in.expected.cmp.gz: New support file for + legacy-in.sh. + + * tests/formats/month-in.sh: New test. + + * tests/formats/num-in.sh: New test. + + * tests/formats/num-in.expected.gz: New support file for num-in.sh. + + * tests/formats/time-in.sh: New test. + + * tests/formats/wkday-in.sh: New test. + + * tests/commands/no_case_size.sh: Update output to conform with + update scientific notation code. + + * tests/formats/num-out.expected.cmp.gz: Ditto. + Thu Nov 2 20:58:12 2006 Ben Pfaff * command/data-list.sh: Test newly implement SKIP keyword on DATA diff --git a/tests/automake.mk b/tests/automake.mk index ce528a24..9225053d 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -57,12 +57,20 @@ TESTS = \ tests/command/use.sh \ tests/command/very-long-strings.sh \ tests/command/weight.sh \ + tests/formats/bcd-in.sh \ tests/formats/binhex-out.sh \ + tests/formats/date-in.sh \ tests/formats/date-out.sh \ tests/formats/float-format.sh \ + tests/formats/ib-in.sh \ + tests/formats/legacy-in.sh \ + tests/formats/month-in.sh \ tests/formats/month-out.sh \ + tests/formats/num-in.sh \ tests/formats/num-out.sh \ + tests/formats/time-in.sh \ tests/formats/time-out.sh \ + tests/formats/wkday-in.sh \ tests/formats/wkday-out.sh \ tests/bugs/agg_crash.sh \ tests/bugs/agg-crash-2.sh \ diff --git a/tests/command/no_case_size.sh b/tests/command/no_case_size.sh index 3d6f2867..d9016eb9 100755 --- a/tests/command/no_case_size.sh +++ b/tests/command/no_case_size.sh @@ -92,12 +92,12 @@ diff -b -w pspp.list - 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 deeHb_@I~OK7Xdr_7#nz7(Yde2jhis;{{i bcd-in.data + +activity="write pspp syntax" +cat > bcd-in.pspp <<'EOF' +SET ERRORS=NONE. +SET MXWARNS=10000000. +SET MXERRS=10000000. +FILE HANDLE data/NAME='bcd-in.data'/MODE=IMAGE/LRECL=2. +DATA LIST FILE=data/p 1-2 (P) pk 1-2 (PK). +COMPUTE x=$CASENUM - 1. +PRINT OUTFILE='bcd-in.out'/x (PIBHEX4) ' ' P PK. +EXECUTE. +EOF +if [ $? -ne 0 ] ; then no_result ; fi + +activity="run program" +$SUPERVISOR $PSPP --testing-mode bcd-in.pspp +if [ $? -ne 0 ] ; then no_result ; fi + +activity="gunzip expected results" +gzip -cd < $top_srcdir/tests/formats/bcd-in.expected.cmp.gz > bcd-in.expected.cmp +if [ $? -ne 0 ] ; then no_result ; fi + +activity="decompress expected results" +$PERL -pe "printf ' %04X ', $.-1" < bcd-in.expected.cmp > bcd-in.expected +if [ $? -ne 0 ] ; then no_result ; fi + +activity="compare output" +diff -u bcd-in.expected bcd-in.out +if [ $? -ne 0 ] ; then fail ; fi + +pass diff --git a/tests/formats/date-in.sh b/tests/formats/date-in.sh new file mode 100755 index 00000000..e5314a39 --- /dev/null +++ b/tests/formats/date-in.sh @@ -0,0 +1,2272 @@ +#! /bin/sh + +TEMPDIR=/tmp/pspp-tst-$$ +mkdir -p $TEMPDIR +trap 'cd /; rm -rf $TEMPDIR' 0 + +# ensure that top_builddir are absolute +if [ -z "$top_builddir" ] ; then top_builddir=. ; fi +if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi +top_builddir=`cd $top_builddir; pwd` +PSPP=$top_builddir/src/ui/terminal/pspp + +# ensure that top_srcdir is absolute +top_srcdir=`cd $top_srcdir; pwd` + +STAT_CONFIG_PATH=$top_srcdir/config +export STAT_CONFIG_PATH + +fail() +{ + echo $activity + echo FAILED + exit 1; +} + + +no_result() +{ + echo $activity + echo NO RESULT; + exit 2; +} + +pass() +{ + exit 0; +} + +cd $TEMPDIR + +activity="write program to generate PSPP syntax and data" +cat > date-in.pl <<'EOF' +#! /usr/bin/perl + +use strict; +use warnings; + +our $next = 1; + +my @formats = (['date', 'd-m-y'], + ['adate', 'm-d-y'], + ['edate', 'd-m-y'], + ['jdate', 'j'], + ['sdate', 'y-m-d'], + ['qyr', 'qQy'], + ['moyr', 'm-y'], + ['wkyr', 'wWy'], + ['datetime', 'd-m-y +H:M', 'd-m-y +H:M:S']); + +my @dates = (#yyyy mm dd jjj HH MM SS + [1648, 6, 10, 162, 0, 0, 0], + [1680, 6, 30, 182, 4, 50, 38], + [1716, 7, 24, 206, 12, 31, 35], + [1768, 6, 19, 171, 12, 47, 53], + [1819, 8, 2, 214, 1, 26, 0], + [1839, 3, 27, 86, 20, 58, 11], + [1903, 4, 19, 109, 7, 36, 5], + [1929, 8, 25, 237, 15, 43, 49], + [1941, 9, 29, 272, 4, 25, 9], + [1943, 4, 19, 109, 6, 49, 27], + [1943, 10, 7, 280, 2, 57, 52], + [1992, 3, 17, 77, 16, 45, 44], + [1996, 2, 25, 56, 21, 30, 57], + [1941, 9, 29, 272, 4, 25, 9], + [1943, 4, 19, 109, 6, 49, 27], + [1943, 10, 7, 280, 2, 57, 52], + [1992, 3, 17, 77, 16, 45, 44], + [1996, 2, 25, 56, 21, 30, 57], + [2038, 11, 10, 314, 22, 30, 4], + [2094, 7, 18, 199, 1, 56, 51]); + +open (SYNTAX, '>', 'date-in.pspp') or die "date-in.pspp: create: $!\n"; +print SYNTAX "SET EPOCH 1930.\n"; +for my $format (@formats) { + my ($name) = @$format; + print SYNTAX "DATA LIST file='$name.data'/$name 1-40 ($name).\n"; + print SYNTAX "PRINT OUTFILE='$name.out'/$name (F16.2).\n"; + print SYNTAX "EXECUTE.\n"; +} +close (SYNTAX); + +for my $format (@formats) { + my ($fmt_name, @templates) = @$format; + my ($fn) = "$fmt_name.data"; + open (DATA, '>', $fn) or die "$fn: create: $!\n"; + select DATA; + for my $template (@templates) { + for my $date (@dates) { + print_date_with_template ($date, $template) for 1...10; + } + } + close (DATA); +} + +sub print_date_with_template { + my ($date, $template) = @_; + my ($year, $month, $day, $julian, $hour, $minute, $second) = @$date; + my ($quarter) = int (($month - 1) / 3) + 1; + my ($week) = int (($julian - 1) / 7) + 1; + my (@year_types) = ('full'); + push (@year_types, '2digit') if $year >= 1930 && $year < 2030; + for my $c (split ('', $template)) { + if ($c eq 'd') { + printf (+pick ('%d', '%02d'), $day); + } elsif ($c eq 'm') { + my ($type) = pick ('arabic', 'roman', 'abbrev', 'full'); + if ($type eq 'arabic') { + printf (+pick ('%d', '%02d'), $month); + } elsif ($type eq 'roman') { + my ($mmm) = ('i', 'ii', 'iii', + 'iv', 'v', 'vi', + 'vii', 'viii', 'ix', + 'x', 'xi', 'xii')[$month - 1]; + print_rand_case ($mmm); + } elsif ($type eq 'abbrev') { + my ($mmm) = qw (jan feb mar apr may jun + jul aug sep oct nov dec)[$month - 1]; + print_rand_case ($mmm); + } elsif ($type eq 'full') { + my ($mmm) = qw (january february march + april may june + july august september + october november december)[$month - 1]; + print_rand_case ($mmm); + } else { + die; + } + } elsif ($c eq 'y') { + my ($type) = pick (@year_types); + if ($type eq '2digit') { + printf (+pick ('%d', '%02d'), $year % 100); + } elsif ($type eq 'full') { + print $year; + } else { + die; + } + } elsif ($c eq 'j') { + my ($type) = pick (@year_types); + if ($type eq '2digit') { + printf ("%02d%03d", $year % 100, $julian); + } elsif ($type eq 'full') { + printf ("%04d%03d", $year, $julian); + } else { + die; + } + } elsif ($c eq 'q') { + print $quarter; + } elsif ($c eq 'w') { + print $week; + } elsif ($c eq 'H') { + printf (+pick ('%d', '%02d'), $hour); + } elsif ($c eq 'M') { + printf (+pick ('%d', '%02d'), $minute); + } elsif ($c eq 'S') { + printf (+pick ('%d', '%02d'), $second); + } elsif ($c eq '-') { + print +pick (' ', '-', '.', ',', '/'); + } elsif ($c eq ':') { + print +pick (' ', ':'); + } elsif ($c eq ' ') { + print ' '; + } elsif ($c eq 'Q') { + maybe_print_space (); + print_rand_case ('q'); + maybe_print_space (); + } elsif ($c eq 'W') { + maybe_print_space (); + print_rand_case ('wk'); + maybe_print_space (); + } elsif ($c eq '+') { + print +pick ('', '-', '+'); + } else { + die; + } + } + print "\n"; +} + +sub print_rand_case { + my ($s) = @_; + my ($case) = pick (qw (uc lc tc)); + if ($case eq 'uc') { + print uc ($s); + } elsif ($case eq 'lc') { + print lc ($s); + } elsif ($case eq 'tc') { + print ucfirst ($s); + } else { + die; + } +} + +sub maybe_print_space { + print +pick ('', ' '); +} + +sub pick { + return $_[int (my_rand ($#_ + 1))]; +} + +sub my_rand { + my ($modulo) = @_; + $next = ($next * 1103515245 + 12345) % (2**32); + return int ($next / 65536) % $modulo; +} +EOF +if [ $? -ne 0 ] ; then no_result ; fi + +activity="generate PSPP syntax and data" +$PERL date-in.pl +if [ $? -ne 0 ] ; then no_result ; fi + +activity="run program" +$SUPERVISOR $PSPP --testing-mode date-in.pspp +if [ $? -ne 0 ] ; then no_result ; fi + +activity="compare adate.out output" +diff -u adate.out - <9%Lhm5(geb4hu=*O+(-ft$_`3IhRz8^a~ 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 a@~@s<$GAh6?=DI+ezD@k;ReHvhW`bP|4Uy0 literal 0 HcmV?d00001 diff --git a/tests/formats/ib-in.sh b/tests/formats/ib-in.sh new file mode 100755 index 00000000..e52bf7d1 --- /dev/null +++ b/tests/formats/ib-in.sh @@ -0,0 +1,85 @@ +#! /bin/sh + +TEMPDIR=/tmp/pspp-tst-$$ + +# ensure that top_builddir are absolute +if [ -z "$top_builddir" ] ; then top_builddir=. ; fi +if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi +top_builddir=`cd $top_builddir; pwd` +PSPP=$top_builddir/src/ui/terminal/pspp + +# ensure that top_srcdir is absolute +top_srcdir=`cd $top_srcdir; pwd` + +STAT_CONFIG_PATH=$top_srcdir/config +export STAT_CONFIG_PATH + + +cleanup() +{ + cd / + rm -rf $TEMPDIR +} + + +fail() +{ + echo $activity + echo FAILED + cleanup; + exit 1; +} + + +no_result() +{ + echo $activity + echo NO RESULT; + cleanup; + exit 2; +} + +pass() +{ + cleanup; + exit 0; +} + +mkdir -p $TEMPDIR + +cd $TEMPDIR + +activity="generate data input file" +$PERL -e 'print pack "n", $_ foreach 0...65535' > ib-in.data + +activity="write pspp syntax" +cat > ib-in.pspp <<'EOF' +SET RIB=MSBFIRST. +SET ERRORS=NONE. +SET MXWARNS=10000000. +SET MXERRS=10000000. +FILE HANDLE data/NAME='ib-in.data'/MODE=IMAGE/LRECL=2. +DATA LIST FILE=data/ib 1-2 (IB) pib 1-2 (PIB) pibhex 1-2 (PIBHEX). +COMPUTE x=$CASENUM - 1. +PRINT OUTFILE='ib-in.out'/x (PIBHEX4) ' ' ib pib pibhex. +EXECUTE. +EOF +if [ $? -ne 0 ] ; then no_result ; fi + +activity="run program" +$SUPERVISOR $PSPP --testing-mode ib-in.pspp +if [ $? -ne 0 ] ; then no_result ; fi + +activity="gunzip expected results" +gzip -cd < $top_srcdir/tests/formats/ib-in.expected.cmp.gz > ib-in.expected.cmp +if [ $? -ne 0 ] ; then no_result ; fi + +activity="decompress expected results" +$PERL -pe "printf ' %04X ', $.-1" < ib-in.expected.cmp > ib-in.expected +if [ $? -ne 0 ] ; then no_result ; fi + +activity="compare output" +diff -u ib-in.expected ib-in.out +if [ $? -ne 0 ] ; then fail ; fi + +pass diff --git a/tests/formats/legacy-in.expected.cmp.gz b/tests/formats/legacy-in.expected.cmp.gz new file mode 100644 index 0000000000000000000000000000000000000000..952f9b58e12b94e2e26507b52b6570a3334cdc81 GIT binary patch literal 1945 zcmds1T}V@57?!&6&aMjj(ZE3vOfRI12wg#uBgncbNK3-jDr;FQoo?=2L>D#f(1Jor z51|xg(=2k?X&#~?#N29P)481!PMdZ-J2>a2o9BBw&RGoyrwhG__dE|ghnMet9$vmL z%aoqJ`}6$XHEYkS)F;cTtBs^BL}zEO*ig@ z8v~lj?O&Ro?|GrhI^t75wBO2JXLxYeD1=#8J7cUbl_|}u`32R2E$6DG*vlSv)C`aX zrSqGa5Sp|nmtp?6fn^3D*6^=hzygmsyacsi1OC~UJiN05Qhd)E=idWli;;S$klxA6 z(Y#PS5%KS6yJRZ%_%dtY;wK$(-Otck6 zMP}?;uft|-fvyf|^ll)#LRvW&c4~6}qDqGFHYAq`VW!?;+OZFmK?^Gmcq9&x1}hHe zgmMMrM(rH@CT#hDR&fAJqV{N!`J&etu*n5Sy)>Ba!9I(?xWPhb%fTAP5)@muG*1YM zJ@gFLkC_cD((>E{rkRukppTjW2Q=bEa*$Tg$EXEjBI>HsN%f-*m=V+lB)T(Nj1zjk z5VSsN;JKC4X8;dFoW}hHZfF)1Zs=B!dC8R_zQ-eHub(Gj74b0eaUme3b zVTr=i1P4PXA`CSqSM^V@>bhBY0B#0|Sh zRJyQX8y2wb5;rUjiW=-A1!@?QC>9GX55S56C|0~{VgSFN){EwK((s$8PyI;2K{BNX zfQtbfBvOb0QeFHY5eSa(w`DzeTQ15}n&-#Ei!zXqQ;V`GA!imPosiRUnPDG$#fVP= z5z^IikwWw6wtV_TEZ;1fQ{oYq5tk{APM legacy-in.data + +activity="write pspp syntax" +cat > legacy-in.pspp <<'EOF' +SET ERRORS=NONE. +SET MXWARNS=10000000. +SET MXERRS=10000000. +FILE HANDLE data/NAME='legacy-in.data'/MODE=IMAGE/LRECL=2. +DATA LIST FILE=data/n 1-2 (N) z 1-2 (z). +COMPUTE x=$CASENUM - 1. +PRINT OUTFILE='legacy-in.out'/x (PIBHEX4) ' ' N Z. +EXECUTE. +EOF +if [ $? -ne 0 ] ; then no_result ; fi + +activity="run program" +$SUPERVISOR $PSPP --testing-mode legacy-in.pspp +if [ $? -ne 0 ] ; then no_result ; fi + +activity="gunzip expected results" +gzip -cd < $top_srcdir/tests/formats/legacy-in.expected.cmp.gz > legacy-in.expected.cmp +if [ $? -ne 0 ] ; then no_result ; fi + +activity="decompress expected results" +$PERL -pe "printf ' %04X ', $.-1" < legacy-in.expected.cmp > legacy-in.expected +if [ $? -ne 0 ] ; then no_result ; fi + +activity="compare output" +diff -u legacy-in.expected legacy-in.out +if [ $? -ne 0 ] ; then fail ; fi + +pass diff --git a/tests/formats/month-in.sh b/tests/formats/month-in.sh new file mode 100755 index 00000000..2d32a594 --- /dev/null +++ b/tests/formats/month-in.sh @@ -0,0 +1,162 @@ +#! /bin/sh + +TEMPDIR=/tmp/pspp-tst-$$ +mkdir -p $TEMPDIR +trap 'cd /; rm -rf $TEMPDIR' 0 + +# ensure that top_builddir are absolute +if [ -z "$top_builddir" ] ; then top_builddir=. ; fi +if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi +top_builddir=`cd $top_builddir; pwd` +PSPP=$top_builddir/src/ui/terminal/pspp + +# ensure that top_srcdir is absolute +top_srcdir=`cd $top_srcdir; pwd` + +STAT_CONFIG_PATH=$top_srcdir/config +export STAT_CONFIG_PATH + +fail() +{ + echo $activity + echo FAILED + exit 1; +} + + +no_result() +{ + echo $activity + echo NO RESULT; + exit 2; +} + +pass() +{ + exit 0; +} + +cd $TEMPDIR + +activity="write pspp syntax" +cat > month-in.pspp <(wTNtW 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 N(wlSH+JAoZ{{YJd$CUs8 literal 0 HcmV?d00001 diff --git a/tests/formats/num-in.sh b/tests/formats/num-in.sh new file mode 100755 index 00000000..49ba6b53 --- /dev/null +++ b/tests/formats/num-in.sh @@ -0,0 +1,185 @@ +#! /bin/sh + +TEMPDIR=/tmp/pspp-tst-$$ +mkdir -p $TEMPDIR +trap 'cd /; rm -rf $TEMPDIR' 0 + +# ensure that top_builddir are absolute +if [ -z "$top_builddir" ] ; then top_builddir=. ; fi +if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi +top_builddir=`cd $top_builddir; pwd` +PSPP=$top_builddir/src/ui/terminal/pspp + +# ensure that top_srcdir is absolute +top_srcdir=`cd $top_srcdir; pwd` + +STAT_CONFIG_PATH=$top_srcdir/config +export STAT_CONFIG_PATH + +fail() +{ + echo $activity + echo FAILED + exit 1; +} + + +no_result() +{ + echo $activity + echo NO RESULT; + exit 2; +} + +pass() +{ + exit 0; +} + +cd $TEMPDIR + +activity="write Perl program" +cat > num-in.pl <<'EOF' +#! /usr/bin/perl + +use POSIX; +use strict; +use warnings; + +our $next = 0; + +for my $number (0, 1, .5, .015625, 123) { + my ($base_exp) = floor ($number ? log10 ($number) : 0); + for my $offset (-3...3) { + my ($exponent) = $base_exp + $offset; + my ($fraction) = $number / 10**$offset; + + permute_zeros ($fraction, $exponent); + } +} + +sub permute_zeros { + my ($fraction, $exponent) = @_; + + my ($frac_rep) = sprintf ("%f", $fraction); + my ($leading_zeros) = length (($frac_rep =~ /^(0*)/)[0]); + my ($trailing_zeros) = length (($frac_rep =~ /(\.?0*)$/)[0]); + for my $i (0...$leading_zeros) { + for my $j (0...$trailing_zeros) { + my ($trimmed) = substr ($frac_rep, $i, + length ($frac_rep) - $i - $j); + next if $trimmed eq '.' || $trimmed eq ''; + + permute_commas ($trimmed, $exponent); + } + } +} + +sub permute_commas { + my ($frac_rep, $exponent) = @_; + permute_dot_comma ($frac_rep, $exponent); + my ($pos) = int (my_rand (length ($frac_rep) + 1)); + $frac_rep = substr ($frac_rep, 0, $pos) . "," . substr ($frac_rep, $pos); + permute_dot_comma ($frac_rep, $exponent); +} + +sub permute_dot_comma { + my ($frac_rep, $exponent) = @_; + permute_exponent_syntax ($frac_rep, $exponent); + if ($frac_rep =~ /[,.]/) { + $frac_rep =~ tr/.,/,./; + permute_exponent_syntax ($frac_rep, $exponent); + } +} + +sub permute_exponent_syntax { + my ($frac_rep, $exponent) = @_; + my (@exp_reps); + if ($exponent == 0) { + @exp_reps = pick ('', 'e0', 'e-0', 'e+0', '-0', '+0'); + } elsif ($exponent > 0) { + @exp_reps = pick ("e$exponent", "e+$exponent", "+$exponent"); + } else { + my ($abs_exp) = -$exponent; + @exp_reps = pick ("e-$abs_exp", , "e-$abs_exp", "-$abs_exp"); + } + permute_sign_and_affix ($frac_rep, $_) foreach @exp_reps; +} + +sub permute_sign_and_affix { + my ($frac_rep, $exp_rep) = @_; + for my $prefix (pick ('', '$'), + pick ('-', '-$', '$-', '$-$'), + pick ('+', '+$', '$+', '$+$')) { + for my $suffix ('', '%') { + permute_spaces ("$prefix$frac_rep$exp_rep$suffix"); + } + } +} + +sub permute_spaces { + my ($s) = @_; + $s =~ s/([-+\$e%])/ $1 /g; + my (@fields) = split (' ', $s); + print join ('', @fields), "\n"; + + if ($#fields > 0) { + my ($pos) = int (my_rand ($#fields)) + 1; + print join ('', @fields[0...$pos - 1]); + print " "; + print join ('', @fields[$pos...$#fields]); + print "\n"; + } +} + +sub pick { + return $_[int (my_rand ($#_ + 1))]; +} + +sub my_rand { + my ($modulo) = @_; + $next = ($next * 1103515245 + 12345) % (2**32); + return int ($next / 65536) % $modulo; +} +EOF + +activity="generate data" +$PERL num-in.pl > num-in.data +if [ $? -ne 0 ] ; then no_result ; fi +echo -n . + +activity="generate pspp syntax" +cat > num-in.pspp < num-in.expected +if [ $? -ne 0 ] ; then no_result ; fi +echo -n . + +activity="compare output" +diff -u num-in.expected num-in.out +if [ $? -ne 0 ] ; then fail ; fi + +echo . + +pass diff --git a/tests/formats/num-out.expected.cmp.gz b/tests/formats/num-out.expected.cmp.gz index f1f55b1591e63f12af95b445cd9035da2511a7d9..21caf25a49022323af7dbd134891fca6b32df40f 100644 GIT binary patch delta 191849 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%0A!M?o)1kc_xp7utBBPv~z6&V1vm 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 z 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 XA4@dJb%U{Uz??jDvoYk>QP95tB$=)E delta 188505 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

Eu5C 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 diff --git a/tests/formats/time-in.sh b/tests/formats/time-in.sh new file mode 100755 index 00000000..da64ff85 --- /dev/null +++ b/tests/formats/time-in.sh @@ -0,0 +1,953 @@ +#! /bin/sh + +TEMPDIR=/tmp/pspp-tst-$$ +mkdir -p $TEMPDIR +trap 'cd /; rm -rf $TEMPDIR' 0 + +# ensure that top_builddir are absolute +if [ -z "$top_builddir" ] ; then top_builddir=. ; fi +if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi +top_builddir=`cd $top_builddir; pwd` +PSPP=$top_builddir/src/ui/terminal/pspp + +# ensure that top_srcdir is absolute +top_srcdir=`cd $top_srcdir; pwd` + +STAT_CONFIG_PATH=$top_srcdir/config +export STAT_CONFIG_PATH + +fail() +{ + echo $activity + echo FAILED + exit 1; +} + + +no_result() +{ + echo $activity + echo NO RESULT; + exit 2; +} + +pass() +{ + exit 0; +} + +cd $TEMPDIR + +activity="write program to generate PSPP syntax and data" +cat > time-in.pl <<'EOF' +#! /usr/bin/perl + +use strict; +use warnings; + +our $next = 1; + +my @formats = (["time", "+H:M", "+H:M:S"], + ["dtime", "+D H:M", "+D H:M:S"]); + +my @times = (# D HH MM SS + [ 0, 0, 0, 0.00], + [ 1, 4, 50, 38.68], + [ 5, 12, 31, 35.82], + [ 0, 12, 47, 53.41], + [ 3, 1, 26, 0.69], + [ 1, 20, 58, 11.19], + [ 12, 7, 36, 5.98], + [ 52, 15, 43, 49.27], + [ 7, 4, 25, 9.24], + [ 0, 6, 49, 27.89], + [ 20, 2, 57, 52.56], + [555, 16, 45, 44.12], + [120, 21, 30, 57.27], + [ 0, 4, 25, 9.98], + [ 3, 6, 49, 27.24], + [ 5, 2, 57, 52.13], + [ 0, 16, 45, 44.35], + [ 1, 21, 30, 57.32], + [ 10, 22, 30, 4.27], + [ 22, 1, 56, 51.18]); + +open (SYNTAX, '>', 'time-in.pspp') or die "time-in.pspp: create: $!\n"; +for my $format (@formats) { + my ($name) = @$format; + print SYNTAX "DATA LIST file='$name.data'/$name 1-40 ($name).\n"; + print SYNTAX "PRINT OUTFILE='$name.out'/$name (F16.2).\n"; + print SYNTAX "EXECUTE.\n"; +} +close (SYNTAX); + +for my $format (@formats) { + my ($fmt_name, @templates) = @$format; + my ($fn) = "$fmt_name.data"; + open (DATA, '>', $fn) or die "$fn: create: $!\n"; + select DATA; + for my $template (@templates) { + for my $time (@times) { + print_time_with_template ($time, $template) for 1...10; + } + } + close (DATA); +} + +sub print_time_with_template { + my ($time, $template) = @_; + my ($day, $hour, $minute, $second) = @$time; + for my $c (split ('', $template)) { + if ($c eq '+') { + print +pick ('', '-', '+'); + } elsif ($c eq 'D') { + printf (+pick ('%d', '%02d'), $day); + $day = 0; + } elsif ($c eq 'H') { + printf (+pick ('%d', '%02d'), $hour + 24 * $day); + } elsif ($c eq 'M') { + printf (+pick ('%d', '%02d'), $minute); + } elsif ($c eq 'S') { + printf (+pick ('%.0f', '%02.0f', '%.1f', '%.2f'), $second); + } elsif ($c eq ':') { + print +pick (' ', ':'); + } elsif ($c eq ' ') { + print ' '; + } else { + die; + } + } + print "\n"; +} + +sub pick { + return $_[int (my_rand ($#_ + 1))]; +} + +sub my_rand { + my ($modulo) = @_; + $next = ($next * 1103515245 + 12345) % (2**32); + return int ($next / 65536) % $modulo; +} +EOF +if [ $? -ne 0 ] ; then no_result ; fi + +activity="generate PSPP syntax and data" +$PERL time-in.pl +if [ $? -ne 0 ] ; then no_result ; fi + +activity="run program" +$SUPERVISOR $PSPP --testing-mode time-in.pspp +if [ $? -ne 0 ] ; then no_result ; fi + +activity="compare time.out output" +diff -u time.out - < wkday-in.pspp <