Add support for reading and writing SPV files.
[pspp] / src / output / spv / old-binary.grammar
1 LegacyBinary =>
2     00 byte[version] int16[n-sources] int32[member-size]
3     Metadata*[n-sources][metadata]
4     #Data*[n-sources][data]
5     #Strings?
6
7 Metadata =>
8     int32[n-values] int32[n-variables] int32[data-offset]
9     byte*28[source-name]
10     vB0(byte*36[ext-source-name] int32[x])
11
12 #Data => Variable*[n-variables]
13 #Variable => byte*288[variable-name] double*[n-values]
14
15 Strings => SourceMaps[maps] Labels
16
17 SourceMaps => int32[n-maps] SourceMap*[n-maps]
18 SourceMap => string[source-name] int32[n-variables] VariableMap*[n-variables]
19 VariableMap => string[variable-name] int32[n-data] DatumMap*[n-data]
20 DatumMap => int32[value-idx] int32[label-idx]
21
22 Labels => int32[n-labels] Label*[n-labels]
23 Label => int32[frequency] string[label]