projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lexer: New type enum token_type.
[pspp-builds.git]
/
src
/
language
/
data-io
/
print.c
diff --git
a/src/language/data-io/print.c
b/src/language/data-io/print.c
index 9c8f56e84289196182fc10bb8599e26a35c8f3b3..cfbe04396191e5b1f7098f0b7df40ce6fac29edf 100644
(file)
--- a/
src/language/data-io/print.c
+++ b/
src/language/data-io/print.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009
, 2010
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
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
@@
-38,8
+38,8
@@
#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/pool.h>
#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/pool.h>
-#include <output/
manager
.h>
-#include <output/tab
le
.h>
+#include <output/
text-item
.h>
+#include <output/tab.h>
#include "xalloc.h"
#include "xalloc.h"
@@
-150,11
+150,11
@@
internal_cmd_print (struct lexer *lexer, struct dataset *ds,
tmp_pool = pool_create_subpool (trns->pool);
/* Parse the command options. */
tmp_pool = pool_create_subpool (trns->pool);
/* Parse the command options. */
- while (lex_token (lexer) !=
'/' && lex_token (lexer) != '.'
)
+ while (lex_token (lexer) !=
T_SLASH && lex_token (lexer) != T_ENDCMD
)
{
if (lex_match_id (lexer, "OUTFILE"))
{
{
if (lex_match_id (lexer, "OUTFILE"))
{
- lex_match (lexer,
'='
);
+ lex_match (lexer,
T_EQUALS
);
fh = fh_parse (lexer, FH_REF_FILE);
if (fh == NULL)
fh = fh_parse (lexer, FH_REF_FILE);
if (fh == NULL)
@@
-162,13
+162,13
@@
internal_cmd_print (struct lexer *lexer, struct dataset *ds,
}
else if (lex_match_id (lexer, "RECORDS"))
{
}
else if (lex_match_id (lexer, "RECORDS"))
{
- lex_match (lexer,
'='
);
- lex_match (lexer,
'('
);
+ lex_match (lexer,
T_EQUALS
);
+ lex_match (lexer,
T_LPAREN
);
if (!lex_force_int (lexer))
goto error;
trns->record_cnt = lex_integer (lexer);
lex_get (lexer);
if (!lex_force_int (lexer))
goto error;
trns->record_cnt = lex_integer (lexer);
lex_get (lexer);
- lex_match (lexer,
')'
);
+ lex_match (lexer,
T_RPAREN
);
}
else if (lex_match_id (lexer, "TABLE"))
print_table = true;
}
else if (lex_match_id (lexer, "TABLE"))
print_table = true;
@@
-239,20
+239,20
@@
parse_specs (struct lexer *lexer, struct pool *tmp_pool, struct print_trns *trns
int record = 0;
int column = 1;
int record = 0;
int column = 1;
- if (lex_token (lexer) ==
'.'
)
+ if (lex_token (lexer) ==
T_ENDCMD
)
{
trns->record_cnt = 1;
return true;
}
{
trns->record_cnt = 1;
return true;
}
- while (lex_token (lexer) !=
'.'
)
+ while (lex_token (lexer) !=
T_ENDCMD
)
{
bool ok;
if (!parse_record_placement (lexer, &record, &column))
return false;
{
bool ok;
if (!parse_record_placement (lexer, &record, &column))
return false;
- if (lex_
token (lexer) == T_STRING
)
+ if (lex_
is_string (lexer)
)
ok = parse_string_argument (lexer, trns, record, &column);
else
ok = parse_variable_argument (lexer, dict, trns, tmp_pool, &record, &column,
ok = parse_string_argument (lexer, trns, record, &column);
else
ok = parse_variable_argument (lexer, dict, trns, tmp_pool, &record, &column,
@@
-260,7
+260,7
@@
parse_specs (struct lexer *lexer, struct pool *tmp_pool, struct print_trns *trns
if (!ok)
return 0;
if (!ok)
return 0;
- lex_match (lexer,
','
);
+ lex_match (lexer,
T_COMMA
);
}
if (trns->record_cnt != 0 && trns->record_cnt != record)
}
if (trns->record_cnt != 0 && trns->record_cnt != record)
@@
-323,7
+323,7
@@
parse_variable_argument (struct lexer *lexer, const struct dictionary *dict,
&vars, &var_cnt, PV_DUPLICATE))
return false;
&vars, &var_cnt, PV_DUPLICATE))
return false;
- if (lex_is_number (lexer) || lex_token (lexer) ==
'('
)
+ if (lex_is_number (lexer) || lex_token (lexer) ==
T_LPAREN
)
{
if (!parse_var_placements (lexer, tmp_pool, var_cnt, false,
&formats, &format_cnt))
{
if (!parse_var_placements (lexer, tmp_pool, var_cnt, false,
&formats, &format_cnt))
@@
-334,7
+334,7
@@
parse_variable_argument (struct lexer *lexer, const struct dictionary *dict,
{
size_t i;
{
size_t i;
- lex_match (lexer,
'*'
);
+ lex_match (lexer,
T_ASTERISK
);
formats = pool_nmalloc (tmp_pool, var_cnt, sizeof *formats);
format_cnt = var_cnt;
formats = pool_nmalloc (tmp_pool, var_cnt, sizeof *formats);
format_cnt = var_cnt;
@@
-397,7
+397,6
@@
dump_table (struct print_trns *trns, const struct file_handle *fh)
spec_cnt = ll_count (&trns->specs);
t = tab_create (4, spec_cnt + 1);
spec_cnt = ll_count (&trns->specs);
t = tab_create (4, spec_cnt + 1);
- tab_columns (t, TAB_COL_DOWN);
tab_box (t, TAL_1, TAL_1, TAL_0, TAL_1, 0, 0, 3, spec_cnt);
tab_hline (t, TAL_2, 0, 3, 1);
tab_headers (t, 0, 0, 1, 0);
tab_box (t, TAL_1, TAL_1, TAL_0, TAL_1, 0, 0, 3, spec_cnt);
tab_hline (t, TAL_2, 0, 3, 1);
tab_headers (t, 0, 0, 1, 0);
@@
-405,7
+404,6
@@
dump_table (struct print_trns *trns, const struct file_handle *fh)
tab_text (t, 1, 0, TAB_CENTER | TAT_TITLE, _("Record"));
tab_text (t, 2, 0, TAB_CENTER | TAT_TITLE, _("Columns"));
tab_text (t, 3, 0, TAB_CENTER | TAT_TITLE, _("Format"));
tab_text (t, 1, 0, TAB_CENTER | TAT_TITLE, _("Record"));
tab_text (t, 2, 0, TAB_CENTER | TAT_TITLE, _("Columns"));
tab_text (t, 3, 0, TAB_CENTER | TAT_TITLE, _("Format"));
- tab_dim (t, tab_natural_dimensions, NULL, NULL);
row = 1;
ll_for_each (spec, struct prt_out_spec, ll, &trns->specs)
{
row = 1;
ll_for_each (spec, struct prt_out_spec, ll, &trns->specs)
{
@@
-414,7
+412,7
@@
dump_table (struct print_trns *trns, const struct file_handle *fh)
switch (spec->type)
{
case PRT_LITERAL:
switch (spec->type)
{
case PRT_LITERAL:
- tab_text_format (t, 0, row, TAB_LEFT | TAB_FIX, "
\"%.*s\"
",
+ tab_text_format (t, 0, row, TAB_LEFT | TAB_FIX, "
`%.*s'
",
(int) ds_length (&spec->string),
ds_data (&spec->string));
width = ds_length (&spec->string);
(int) ds_length (&spec->string),
ds_data (&spec->string));
width = ds_length (&spec->string);
@@
-461,7
+459,7
@@
print_trns_proc (void *trns_, struct ccase **c, casenumber case_num UNUSED)
struct prt_out_spec *spec;
ds_clear (&trns->line);
struct prt_out_spec *spec;
ds_clear (&trns->line);
- ds_put_
char
(&trns->line, ' ');
+ ds_put_
byte
(&trns->line, ' ');
ll_for_each (spec, struct prt_out_spec, ll, &trns->specs)
{
flush_records (trns, spec->record, &eject, &record);
ll_for_each (spec, struct prt_out_spec, ll, &trns->specs)
{
flush_records (trns, spec->record, &eject, &record);
@@
-476,7
+474,7
@@
print_trns_proc (void *trns_, struct ccase **c, casenumber case_num UNUSED)
else
memset (output, encoded_space, spec->format.w);
if (spec->add_space)
else
memset (output, encoded_space, spec->format.w);
if (spec->add_space)
- ds_put_
char
(&trns->line, encoded_space);
+ ds_put_
byte
(&trns->line, encoded_space);
}
else
{
}
else
{
@@
-516,14
+514,14
@@
flush_records (struct print_trns *trns, int target_record,
{
*eject = false;
if (trns->writer == NULL)
{
*eject = false;
if (trns->writer == NULL)
-
som_eject_page (
);
+
text_item_submit (text_item_create (TEXT_ITEM_EJECT_PAGE, "")
);
else
leader = '1';
}
line[0] = legacy_from_native (trns->encoding, leader);
if (trns->writer == NULL)
else
leader = '1';
}
line[0] = legacy_from_native (trns->encoding, leader);
if (trns->writer == NULL)
- tab_output_text (TAB_FIX
| TAT_NOWRAP
, &line[1]);
+ tab_output_text (TAB_FIX, &line[1]);
else
{
if (!trns->include_prefix)
else
{
if (!trns->include_prefix)