Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-01-13 | Use a manual type-safe stack in writer | David Robillard | 2 | -40/+28 | |
This fixes alignment issues on ARM. Since this stack is just for WriteContext which has a fixed size, using SerdStack here just made things more confusing anyway. | |||||
2022-01-13 | Replace SERD_WRITE_STRICT flag with SERD_WRITE_LAX | David Robillard | 5 | -12/+12 | |
The unset value for flags should represent the best default, which in this case is strict parsing. Lax parsing is the riskier opt-in option. | |||||
2022-01-13 | Improve writer error handling | David Robillard | 7 | -200/+391 | |
2022-01-13 | Add support for writing terse collections | David Robillard | 11 | -15/+210 | |
2022-01-13 | Tolerate popping writer contexts with no predicate | David Robillard | 1 | -1/+2 | |
2022-01-13 | Reset writer to empty when finished to avoid spurious blank lines | David Robillard | 1 | -0/+1 | |
2022-01-13 | Pass context flags to write_sep() | David Robillard | 1 | -20/+22 | |
2022-01-13 | Add initial flags to write context | David Robillard | 1 | -21/+24 | |
2022-01-13 | Simplify internal writer context API | David Robillard | 1 | -32/+30 | |
2022-01-13 | Strengthen writer statement preconditions | David Robillard | 1 | -1/+3 | |
2022-01-13 | Add option for writing terse output without newlines | David Robillard | 5 | -27/+34 | |
2022-01-13 | Factor out writing top level separator | David Robillard | 1 | -7/+10 | |
2022-01-13 | Simplify streaming API and improve pretty printing | David Robillard | 10 | -191/+371 | |
This removes the obligation from the caller to correctly maintain flags to describe the current anonymous context, instead making the writer handle this itself as much as possible. Flags remain for the cases the writer can not infer from context: the start of anonymous subject and object nodes. | |||||
2022-01-13 | Simplify SerdEnv API | David Robillard | 5 | -71/+105 | |
2022-01-13 | Separate ByteSink from writer | David Robillard | 4 | -19/+28 | |
2022-01-13 | Expose SerdByteSink in public API | David Robillard | 5 | -5/+150 | |
2022-01-13 | Simplify writer style options | David Robillard | 8 | -55/+35 | |
2022-01-13 | Replace multiple stream callbacks with SerdEvent | David Robillard | 11 | -138/+228 | |
This makes plumbing easier since everything goes through the same "stream" and only one callback is required to handling everything. It's also more easily extensible in case more event types need to be added in the future. | |||||
2022-01-13 | Use SerdNodes to simplify some tests | David Robillard | 6 | -99/+89 | |
2022-01-13 | Cache commonly used nodes in the world | David Robillard | 5 | -13/+69 | |
2022-01-13 | Add SerdNodes for storing a cache of interned nodes | David Robillard | 8 | -2/+590 | |
2022-01-13 | Add zix data structures | David Robillard | 8 | -3/+1905 | |
2022-01-13 | Add SerdStatement | David Robillard | 12 | -63/+441 | |
2022-01-13 | Add SerdCaret | David Robillard | 16 | -56/+305 | |
2022-01-13 | Add SerdField to public API | David Robillard | 2 | -47/+55 | |
A statement field enum was previously only used by the writer internally, but will be used in the public API (without a sentinel value) in following commits. | |||||
2022-01-13 | Add serd_world_get_blank() | David Robillard | 5 | -2/+86 | |
2022-01-13 | Remove serd_reader_set_default_graph() | David Robillard | 4 | -72/+30 | |
2022-01-13 | Use thread-safe strerror_r() if available | David Robillard | 4 | -6/+37 | |
2022-01-13 | Move fopen wrapper to world | David Robillard | 5 | -26/+35 | |
2022-01-13 | Move error handling to world | David Robillard | 5 | -51/+57 | |
2022-01-13 | Add SerdWorld for shared library state | David Robillard | 18 | -105/+225 | |
2022-01-13 | Clean up base64 node construction and access API | David Robillard | 6 | -122/+132 | |
2022-01-13 | Clean up numeric node construction and access API | David Robillard | 7 | -91/+451 | |
2022-01-13 | Add serd_new_boolean() | David Robillard | 4 | -0/+35 | |
2022-01-13 | Use exess for reading and writing numeric and binary literals | David Robillard | 13 | -368/+221 | |
2022-01-13 | Clean up nodes in reader/writer tests | David Robillard | 1 | -12/+20 | |
2022-01-13 | Simplify literal construction API | David Robillard | 5 | -68/+122 | |
2022-01-13 | Move syntax name/extension utilities to public API | David Robillard | 4 | -59/+117 | |
2022-01-13 | Improve reader error handling | David Robillard | 5 | -131/+350 | |
2022-01-13 | Set flags directly when reading literal nodes | David Robillard | 1 | -61/+43 | |
2022-01-13 | Add debug checks for node padding | David Robillard | 3 | -14/+37 | |
2022-01-13 | Zero node padding before passing to reader sinks | David Robillard | 5 | -2/+41 | |
2022-01-13 | Remove datatype and language from reader context | David Robillard | 2 | -38/+31 | |
2022-01-13 | Simplify stack management by popping in bulk at higher levels | David Robillard | 4 | -126/+49 | |
Since all memory used by the reader is POD in the stack, there is no benefit to forcing code to explicitly pop everything pushed to the stack, since any function can record an offset and pop back down to it regardless of what its callers pushed if it knows that it does not need those items. | |||||
2022-01-13 | Handle writer stack overflows gracefully | David Robillard | 2 | -7/+74 | |
2022-01-13 | Use a fixed-size reader stack | David Robillard | 15 | -212/+292 | |
2022-01-13 | Simplify reader interface | David Robillard | 9 | -284/+190 | |
2022-01-13 | Add SerdSink interface and hide implementations | David Robillard | 15 | -163/+500 | |
2022-01-13 | Bring read/write interface closer to C standard | David Robillard | 11 | -92/+99 | |
2022-01-13 | Set datatypes on integer, decimal, and base64 nodes | David Robillard | 4 | -38/+132 | |