work on reading spv files
authorBen Pfaff <blp@cs.stanford.edu>
Wed, 24 Sep 2025 15:56:09 +0000 (08:56 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 30 Nov 2025 18:29:46 +0000 (10:29 -0800)
commit376567e0c68e8a5fafb12376358da11e5a445b39
tree675f6e35c31afa46b835a2f9aa7390b138fe184c
parent7e73793a073faa515fc45662840ee9f85d964d6f
work on reading spv files
225 files changed:
rust/Cargo.lock
rust/doc/src/SUMMARY.md
rust/doc/src/commands/set.md
rust/doc/src/invoking/output.md [new file with mode: 0644]
rust/doc/src/invoking/pspp-convert.md
rust/doc/src/invoking/pspp-identify.md [new file with mode: 0644]
rust/doc/src/invoking/pspp-show-pc.md
rust/doc/src/invoking/pspp-show-por.md
rust/doc/src/invoking/pspp-show-spv.md [new file with mode: 0644]
rust/doc/src/invoking/pspp-show.md
rust/doc/src/spv/index.md
rust/doc/src/spv/legacy-detail-binary.md
rust/doc/src/spv/legacy-detail-xml.md
rust/doc/src/spv/light-detail.md
rust/doc/src/spv/structure.md
rust/doc/src/tablelook.md
rust/pspp/Cargo.toml
rust/pspp/src/calendar.rs
rust/pspp/src/cli.rs [new file with mode: 0644]
rust/pspp/src/cli/convert.rs [new file with mode: 0644]
rust/pspp/src/cli/decrypt.rs [new file with mode: 0644]
rust/pspp/src/cli/identify.rs [new file with mode: 0644]
rust/pspp/src/cli/show.rs [new file with mode: 0644]
rust/pspp/src/cli/show_pc.rs [new file with mode: 0644]
rust/pspp/src/cli/show_por.rs [new file with mode: 0644]
rust/pspp/src/cli/show_spv.rs [new file with mode: 0644]
rust/pspp/src/command.rs
rust/pspp/src/command/crosstabs.rs
rust/pspp/src/command/ctables.rs
rust/pspp/src/command/data_list.rs
rust/pspp/src/command/descriptives.rs
rust/pspp/src/convert.rs [deleted file]
rust/pspp/src/data.rs
rust/pspp/src/decrypt.rs [deleted file]
rust/pspp/src/file.rs
rust/pspp/src/format.rs
rust/pspp/src/format/display.rs
rust/pspp/src/lex/segment.rs
rust/pspp/src/main.rs
rust/pspp/src/message.rs
rust/pspp/src/output.rs
rust/pspp/src/output/cairo.rs [deleted file]
rust/pspp/src/output/cairo/driver.rs [deleted file]
rust/pspp/src/output/cairo/fsm.rs [deleted file]
rust/pspp/src/output/cairo/pager.rs [deleted file]
rust/pspp/src/output/csv.rs [deleted file]
rust/pspp/src/output/driver.rs [deleted file]
rust/pspp/src/output/drivers.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/cairo.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/cairo/driver.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/cairo/fsm.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/cairo/pager.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/csv.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/html.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/json.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/por.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/sav.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/spv.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/text.rs [new file with mode: 0644]
rust/pspp/src/output/drivers/text/text_line.rs [new file with mode: 0644]
rust/pspp/src/output/html.rs [deleted file]
rust/pspp/src/output/json.rs [deleted file]
rust/pspp/src/output/page.rs
rust/pspp/src/output/pivot.rs
rust/pspp/src/output/pivot/look_xml.rs
rust/pspp/src/output/pivot/output.rs
rust/pspp/src/output/pivot/testdata/caption.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/category_and_dimension_borders_1.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/category_and_dimension_borders_2.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/category_and_dimension_borders_3.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/category_borders_1.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/category_borders_2.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d1_c.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d1_r.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_cc.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_cc_with_dim_labels.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_cl-all_layers.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_cl-layer0.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_cl-layer1.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_cr.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_cr_with_corner_dim_labels.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_cr_with_nested_dim_labels.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rc.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rc_with_corner_dim_labels.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rc_with_nested_dim_labels.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rl-all_layers.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rl-layer0.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rl-layer1.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rr.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rr_with_corner_dim_labels.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2_rr_with_nested_dim_labels.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2m_cc.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2m_cr.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2m_rc.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d2m_rr.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d3-layer0_0.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d3-layer0_1.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/d3-layer1_2.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/dimension_borders_1.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/dimension_borders_2.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/empty_groups.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/footnote_alphabetic_subscript.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/footnote_alphabetic_superscript.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/footnote_hidden.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/footnote_numeric_subscript.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/footnote_numeric_superscript.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/metadata_entry.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/no_dimension.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/no_title_or_caption.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/one_empty_dimension.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/small_numbers.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/three_dimensions_two_empty.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/title_and_caption.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/testdata/two_empty_dimensions.expected [new file with mode: 0644]
rust/pspp/src/output/pivot/tests.rs
rust/pspp/src/output/pivot/tlo.rs
rust/pspp/src/output/render.rs
rust/pspp/src/output/spv.rs
rust/pspp/src/output/spv/css.rs [new file with mode: 0644]
rust/pspp/src/output/spv/html.rs [new file with mode: 0644]
rust/pspp/src/output/spv/legacy_bin.rs [new file with mode: 0644]
rust/pspp/src/output/spv/legacy_xml.rs [new file with mode: 0644]
rust/pspp/src/output/spv/light.rs [new file with mode: 0644]
rust/pspp/src/output/table.rs
rust/pspp/src/output/text.rs [deleted file]
rust/pspp/src/output/text_line.rs [deleted file]
rust/pspp/src/pc.rs
rust/pspp/src/pc/tests.rs
rust/pspp/src/por/read.rs
rust/pspp/src/settings.rs
rust/pspp/src/show.rs [deleted file]
rust/pspp/src/show_pc.rs [deleted file]
rust/pspp/src/show_por.rs [deleted file]
rust/pspp/src/sys/cooked.rs
rust/pspp/src/sys/raw/records.rs
rust/pspp/src/sys/testdata/attributes.expected
rust/pspp/src/sys/testdata/bad_machine_float_info_size.expected
rust/pspp/src/sys/testdata/bad_machine_integer_info_count.expected
rust/pspp/src/sys/testdata/bad_machine_integer_info_endianness.expected
rust/pspp/src/sys/testdata/bad_machine_integer_info_float_format.expected
rust/pspp/src/sys/testdata/bad_variable_name_in_long_string_value_label.expected
rust/pspp/src/sys/testdata/bad_variable_name_in_variable_value_pair.expected
rust/pspp/src/sys/testdata/bad_very_long_string_length.expected
rust/pspp/src/sys/testdata/bad_very_long_string_segment_width.expected
rust/pspp/src/sys/testdata/compressed_data.expected
rust/pspp/src/sys/testdata/compressed_data_other_bias.expected
rust/pspp/src/sys/testdata/compressed_data_zero_bias.expected
rust/pspp/src/sys/testdata/documents.expected
rust/pspp/src/sys/testdata/duplicate_attribute_name.expected
rust/pspp/src/sys/testdata/duplicate_long_variable_name.expected
rust/pspp/src/sys/testdata/duplicate_value_labels_type.expected
rust/pspp/src/sys/testdata/duplicate_variable_name.expected
rust/pspp/src/sys/testdata/empty_document_record.expected
rust/pspp/src/sys/testdata/extra_product_info.expected
rust/pspp/src/sys/testdata/fewer_data_records_than_indicated_by_file_header.expected
rust/pspp/src/sys/testdata/integer_overflows_in_long_string_missing_values.expected
rust/pspp/src/sys/testdata/invalid_long_string_missing_values.expected
rust/pspp/src/sys/testdata/invalid_variable_format.expected
rust/pspp/src/sys/testdata/invalid_variable_name.expected
rust/pspp/src/sys/testdata/long_variable_names.expected
rust/pspp/src/sys/testdata/missing_attribute_value.expected
rust/pspp/src/sys/testdata/missing_newline_after_variable_name_in_mrsets.expected
rust/pspp/src/sys/testdata/missing_string_continuation.expected
rust/pspp/src/sys/testdata/mixed_variable_types_in_mrsets.expected
rust/pspp/src/sys/testdata/more_data_records_than_indicated_by_file_header.expected
rust/pspp/src/sys/testdata/multiple_documents_records.expected
rust/pspp/src/sys/testdata/multiple_response_sets.expected
rust/pspp/src/sys/testdata/multiple_response_sets_bad_counted_string.expected
rust/pspp/src/sys/testdata/multiple_response_sets_bad_name.expected
rust/pspp/src/sys/testdata/multiple_response_sets_counted_string_bad_length.expected
rust/pspp/src/sys/testdata/multiple_response_sets_counted_string_missing_space.expected
rust/pspp/src/sys/testdata/multiple_response_sets_duplicate_variable_name.expected
rust/pspp/src/sys/testdata/multiple_response_sets_missing_label_source.expected
rust/pspp/src/sys/testdata/multiple_response_sets_missing_newline_after_variable_name.expected
rust/pspp/src/sys/testdata/multiple_response_sets_missing_space_after_c.expected
rust/pspp/src/sys/testdata/multiple_response_sets_missing_space_after_counted_string.expected
rust/pspp/src/sys/testdata/multiple_response_sets_missing_space_after_e.expected
rust/pspp/src/sys/testdata/multiple_response_sets_unexpected_label_source.expected
rust/pspp/src/sys/testdata/no_variables.expected
rust/pspp/src/sys/testdata/null_dereference_skipping_bad_extension_record_18.expected
rust/pspp/src/sys/testdata/partial_compressed_data_record.expected
rust/pspp/src/sys/testdata/partial_data_record_between_variables.expected
rust/pspp/src/sys/testdata/partial_data_record_within_long_string.expected
rust/pspp/src/sys/testdata/test-encrypted.expected
rust/pspp/src/sys/testdata/type_4_record_names_long_string_variable.expected
rust/pspp/src/sys/testdata/unknown_encoding.expected
rust/pspp/src/sys/testdata/unknown_extension_record.expected
rust/pspp/src/sys/testdata/unquoted_attribute_value.expected
rust/pspp/src/sys/testdata/unspecified_number_of_variable_positions.expected
rust/pspp/src/sys/testdata/value_label_variable_indexes_must_be_in_correct_range.expected
rust/pspp/src/sys/testdata/value_label_variable_indexes_must_not_be_long_string_continuation.expected
rust/pspp/src/sys/testdata/value_label_with_no_associated_variables.expected
rust/pspp/src/sys/testdata/value_labels.expected
rust/pspp/src/sys/testdata/variable_display_with_width.expected
rust/pspp/src/sys/testdata/variable_display_without_width.expected
rust/pspp/src/sys/testdata/variable_labels_and_missing_values.expected
rust/pspp/src/sys/testdata/variable_roles.expected
rust/pspp/src/sys/testdata/variable_sets.expected
rust/pspp/src/sys/testdata/variable_sets_unknown_variable.expected
rust/pspp/src/sys/testdata/variables_for_value_label_must_all_be_same_type.expected
rust/pspp/src/sys/testdata/very_long_strings.expected
rust/pspp/src/sys/testdata/weight_must_be_numeric.expected
rust/pspp/src/sys/testdata/weight_variable_bad_index.expected
rust/pspp/src/sys/testdata/weight_variable_continuation.expected
rust/pspp/src/sys/testdata/write-numeric-simple.expected
rust/pspp/src/sys/testdata/write-numeric-uncompressed.expected
rust/pspp/src/sys/testdata/write-numeric-zlib.expected
rust/pspp/src/sys/testdata/write-string-simple.expected
rust/pspp/src/sys/testdata/write-string-uncompressed.expected
rust/pspp/src/sys/testdata/write-string-zlib.expected
rust/pspp/src/sys/testdata/wrong_display_alignment.expected
rust/pspp/src/sys/testdata/wrong_display_measurement_level.expected
rust/pspp/src/sys/testdata/wrong_display_parameter_count.expected
rust/pspp/src/sys/testdata/wrong_display_parameter_size.expected
rust/pspp/src/sys/testdata/wrong_special_floats.expected
rust/pspp/src/sys/testdata/wrong_variable_positions.expected
rust/pspp/src/sys/testdata/wrong_variable_positions_but_v13.expected
rust/pspp/src/sys/testdata/zcompressed_data.expected
rust/pspp/src/sys/testdata/zcompressed_data_uncompressed_size_block_size.expected
rust/pspp/src/sys/testdata/zero_or_one_variable_in_mrset.expected
rust/pspp/src/sys/tests.rs
rust/pspp/src/sys/write.rs
rust/pspp/src/variable.rs
rust/rustfmt.toml [new file with mode: 0644]
src/output/spv/spv-legacy-data.h