mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-26 01:15:27 +00:00
| .. | ||
| file_reader_mmap.c | ||
| file_reader_mmap.h | ||
| lrec_reader_mmap.h | ||
| lrec_reader_mmap_csv.c | ||
| lrec_reader_mmap_dkvp.c | ||
| lrec_reader_mmap_nidx.c | ||
| lrec_reader_mmap_xtab.c | ||
| lrec_reader_stdio.h | ||
| lrec_reader_stdio_csv.c | ||
| lrec_reader_stdio_dkvp.c | ||
| lrec_reader_stdio_nidx.c | ||
| lrec_reader_stdio_xtab.c | ||
| lrec_readers.h | ||
| README.md | ||
Miller file/record input
These are readers for Miller file formats, stdio and mmap versions. The stdio and mmap record parsers are similar but not identical, due to inversion of processing order: getting an entire mallocked line and then splitting it by separators in the former case, versus spltting while discovering end of line in the latter case. The code duplication could be largely removed by having the mmap readers find end-of-lines, then split up the lines -- however that requires two passes through input strings and for performance I want just a single pass.
While there are separate record-writers for CSV and pretty-print, there is just a common record-reader: pretty-print is CSV with field separator being a space, and allow_repeat_ifs set to true.