Commit Graph

33 Commits

Author SHA1 Message Date
Nathan McRae
78574d1872 Add basic implementation of physical units
Serde still isn't working, need to store the exact format of the unit as specified in the attribute
2024-03-15 18:58:07 -07:00
Nathan McRae
0807f0ffc2 Add iso8601 parsing 2024-03-10 22:43:21 -07:00
Nathan McRae
71af3653c4 Change column type management
The column types were tracked just as a Type. This changes them to be an instance
so they can track additional information (such as the specific units of a physical
units type). Becuase of this, the column type attributes need the type to be passed as strings.
(see CS0181).
2024-03-10 22:35:30 -07:00
Nathan McRae
8e3332b484 Remove unused SaneTsv fields 2024-03-10 12:55:21 -07:00
Nathan McRae
32393e704d Clarify terminology of 'header'/'column'
The header is just the region containing the column name / types.
2024-03-09 13:13:41 -08:00
Nathan McRae
aff4b353bb Update some comments 2024-03-09 09:58:09 -08:00
Nathan McRae
203458fdf7 Fix some end-of-file simple TSV parsing 2024-03-09 09:57:56 -08:00
Nathan McRae
4148475031 Fix some minor line/column numbering issues 2024-03-09 09:57:27 -08:00
Nathan McRae
e38baa9167 Fix column attribute bug 2024-03-09 09:57:00 -08:00
Nathan McRae
a66f6a1368 Make parallel implementations the default 2024-03-08 12:31:40 -08:00
Nathan McRae
96af5ae82c Complete parallel parsing implementation 2024-03-08 11:43:06 -08:00
Nathan McRae
11c7daec8e Start parallel versions of general TSV serialization/parsing
They mostly work, but are not actually parallelized yet and likely have some edge cases.
Also, the soon-to-be parallel version of parsing is very slow compared to the original.
2024-02-25 22:35:56 -08:00
Nathan McRae
a7e6f1c0e9 Add parallel parsing/serialization for Simple TSV
Doesn't give as much of a performance bonus as hoped
2024-02-25 11:24:30 -08:00
Nathan McRae
0b213c98c2 Add freeform ParseSimpleTsv
No column spec, just parse whatever you get
2024-02-22 23:16:35 -08:00
Nathan McRae
695ad1f110 Get commented typing working 2024-02-22 22:33:08 -08:00
Nathan McRae
c8202b4f9a Implement static typing column-spec
By creating a class inheriting from SaneTsvRecord with properties
decorated with SaneTsvColumn attributes
2024-02-20 14:30:01 -08:00
Nathan McRae
0b7a920096 Only keep column names in SaneTsvRecord
We don't need to reference the parent
2024-02-19 21:03:48 -08:00
Nathan McRae
aee67e457e Fix Typed TSV serialization
And add inf serializing/parsing to floats
2024-02-17 20:44:07 -08:00
Nathan McRae
457ef1df01 Add Typed TSV serialization 2024-02-17 12:54:32 -08:00
Nathan McRae
8795a2873a Add parsing for binary floats 2024-02-16 21:26:35 -08:00
Nathan McRae
067172c1a1 Add binary floating-point types 2024-02-16 17:20:11 -08:00
Nathan McRae
d4eefe4202 Make comments not end with \n 2024-02-15 20:24:44 -08:00
Nathan McRae
b56665f5f4 Document that ParseCurrentRecord modifies parsed 2024-02-15 20:24:31 -08:00
Nathan McRae
832cce033c Add Line field to SaneTsvRecord
So extending formats can have line information
2024-02-15 20:24:01 -08:00
Nathan McRae
2dd6b1e25b Change column type implementation
Use types instead of an enum so it's more easily extended.
2024-02-15 20:22:43 -08:00
Nathan McRae
ddbda890cf Remove Columns from SaneTsv
To simplify object manipulation for now. Note that this got rid of uniqueness checking
for the current implementation.
2024-02-15 14:22:04 -08:00
Nathan McRae
acf083ac6c 'Sane' -> 'Simple' for first format
Change the naming so the overall family of formats is Sane TSV, while the simplest
format is Simple TSV.
2024-02-15 12:52:27 -08:00
Nathan McRae
34c69c1c69 Add basic serialization 2024-02-15 11:57:45 -08:00
Nathan McRae
8673e6a7df Add comment parsing 2024-02-14 18:31:58 -08:00
Nathan McRae
de5eb2018c Add different types of parsing 2024-02-14 16:16:23 -08:00
Nathan McRae
d034bac857 Add default namespaces 2024-02-14 15:34:06 -08:00
Nathan McRae
d199984364 Add type parsing 2024-02-14 14:30:36 -08:00
Nathan McRae
695f98b67c Move .NET implementation to SaneTsv 2024-02-13 19:15:07 -08:00