struct dictionary;
struct file_handle;
struct fmt_spec;
+struct string_array;
struct substring;
/* Type of data read by a data parser. */
};
/* Creating and configuring any parser. */
-struct data_parser *data_parser_create (const struct dictionary *dict);
+struct data_parser *data_parser_create (void);
void data_parser_destroy (struct data_parser *);
enum data_parser_type data_parser_get_type (const struct data_parser *);
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);
const char *name,
int record, int first_column);
bool data_parser_any_fields (const struct data_parser *);
-bool data_parser_parse (struct data_parser *,
- struct dfm_reader *, struct ccase *);
+bool data_parser_parse (struct data_parser *, struct dfm_reader *,
+ struct dictionary *, struct ccase *);
+size_t data_parser_split (const struct data_parser *, struct substring line,
+ struct string_array *);
/* 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 */