X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Fdata-parser.h;h=339783106dafe5e94c026a2fdee99ae6ae9b8e97;hb=f518002b6673e3bcc030c903378d5d75f64697ea;hp=b250e91bb53d2d7cf7b628fd6f41cb8113f7f30b;hpb=c3ac5a8af9c449072c7e872ca70a78c1755ae309;p=pspp diff --git a/src/language/data-io/data-parser.h b/src/language/data-io/data-parser.h index b250e91bb5..339783106d 100644 --- a/src/language/data-io/data-parser.h +++ b/src/language/data-io/data-parser.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007, 2011, 2016 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,8 +20,8 @@ /* Abstraction of a DATA LIST or GET DATA TYPE=TXT data parser. */ #include -#include -#include +#include "data/case.h" +#include "libpspp/str.h" struct dataset; struct dfm_reader; @@ -38,15 +38,13 @@ enum data_parser_type }; /* Creating and configuring any parser. */ -struct data_parser *data_parser_create (void); +struct data_parser *data_parser_create (const struct dictionary *dict); void data_parser_destroy (struct data_parser *); enum data_parser_type data_parser_get_type (const struct data_parser *); void data_parser_set_type (struct data_parser *, enum data_parser_type); void data_parser_set_skip (struct data_parser *, int initial_records_to_skip); -void data_parser_set_case_limit (struct data_parser *, casenumber max_cases); -void data_parser_set_case_percent (struct data_parser *, int case_percent); /* For configuring delimited parsers only. */ bool data_parser_get_span (const struct data_parser *); @@ -54,6 +52,9 @@ void data_parser_set_span (struct data_parser *, bool may_cases_span_records); void data_parser_set_empty_line_has_field (struct data_parser *, bool empty_line_has_field); +void data_parser_set_warn_missing_fields (struct data_parser *parser, + bool warn_missing_fields); + void data_parser_set_quotes (struct data_parser *, struct substring); void data_parser_set_quote_escape (struct data_parser *, bool escape); void data_parser_set_soft_delimiters (struct data_parser *, struct substring); @@ -78,7 +79,13 @@ bool data_parser_parse (struct data_parser *, /* Uses for a configured parser. */ void data_parser_output_description (struct data_parser *, const struct file_handle *); +struct casereader; void data_parser_make_active_file (struct data_parser *, struct dataset *, - struct dfm_reader *, struct dictionary *); + struct dfm_reader *, struct dictionary *, + struct casereader* (*func)(struct casereader *, + const struct dictionary *, + void *), + void *ud); + #endif /* language/data-io/data-parser.h */