Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-12-02 | Make serd_uri_string_length() precise and add it to public API | David Robillard | 3 | -22/+58 | |
2023-12-02 | Test lax NTriples parsing separately | David Robillard | 14 | -25/+89 | |
2023-12-02 | Support reading lone lists in lax mode | David Robillard | 4 | -1/+11 | |
This allows parsing documents like "(42) ." | |||||
2023-12-02 | Simplify ByteSource implementation | David Robillard | 2 | -29/+20 | |
2023-12-02 | Be precise about the meaning of node "length" and "size" | David Robillard | 4 | -39/+36 | |
2023-12-02 | Align nodes on the reader stack | David Robillard | 3 | -14/+13 | |
2023-12-02 | Replace serd_reader_set_strict() with SerdReaderFlags | David Robillard | 6 | -33/+26 | |
2023-12-02 | Handle read errors more precisely | David Robillard | 3 | -20/+39 | |
2023-12-02 | Simplify reader stack pushing code | David Robillard | 1 | -6/+6 | |
2023-12-02 | Split out simple reader unit tests | David Robillard | 3 | -317/+404 | |
2023-12-02 | Split up serd_internal.h | David Robillard | 9 | -15/+19 | |
2023-12-02 | Reduce complexity of blank node reading functions | David Robillard | 1 | -18/+28 | |
2023-12-02 | Reduce complexity of string writing functions | David Robillard | 1 | -77/+97 | |
2023-12-02 | Reduce complexity of URI node writing functions | David Robillard | 1 | -21/+38 | |
2023-12-02 | Reduce complexity of statement writing functions | David Robillard | 2 | -79/+175 | |
2023-12-02 | Add empty syntax type for suppressing output | David Robillard | 8 | -21/+107 | |
2023-12-02 | Factor out test runner script argument parsing | David Robillard | 4 | -46/+41 | |
2023-12-02 | Use a simple type-safe stack in writer | David Robillard | 7 | -51/+94 | |
2023-12-02 | Add a set of limits to the world | David Robillard | 8 | -15/+74 | |
The idea here is to remove the burden of passing things around like stack sizes (where most users don't care and will be happy with a reasonably large default) and keeping the call sites to things like serd_reader_new() clean. The cost is a bit more state, so it's both more powerful and more potentially flaky, since changing the limits has action at a distance that isn't clear from the call site. I think it's worth it for the cleaner API in the common case, and the much better forward compatibility. | |||||
2023-12-02 | Replace SERD_WRITE_STRICT flag with SERD_WRITE_LAX | David Robillard | 5 | -17/+16 | |
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. | |||||
2023-12-02 | Add support for writing terse output with minimal newlines | David Robillard | 17 | -17/+225 | |
2023-12-02 | Pass context flags to write_sep() | David Robillard | 1 | -17/+20 | |
2023-12-02 | Add initial flags to write context | David Robillard | 1 | -12/+17 | |
2023-12-02 | Simplify statement flags | David Robillard | 6 | -49/+47 | |
2023-12-02 | Replace multiple stream callbacks with SerdEvent | David Robillard | 17 | -233/+353 | |
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. | |||||
2023-12-02 | Simplify writer style options and write UTF-8 by default | David Robillard | 9 | -75/+40 | |
2023-12-02 | Add SerdStatement | David Robillard | 14 | -54/+463 | |
2023-12-02 | Add SerdCaret | David Robillard | 18 | -64/+310 | |
2023-12-02 | Add SerdField to public API | David Robillard | 2 | -41/+41 | |
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. | |||||
2023-12-02 | Add serd_world_get_blank() | David Robillard | 5 | -2/+86 | |
2023-12-02 | Remove serd_reader_set_default_graph() | David Robillard | 4 | -49/+14 | |
2023-12-02 | Use thread-safe strerror_r() if available | David Robillard | 6 | -7/+45 | |
2023-12-02 | Move fopen wrapper to world | David Robillard | 5 | -27/+34 | |
2023-12-02 | Move error handling to world | David Robillard | 5 | -30/+69 | |
2023-12-02 | Add SerdWorld for shared library state | David Robillard | 21 | -112/+219 | |
2023-12-02 | Add serd_node_compare() | David Robillard | 4 | -0/+106 | |
2023-12-02 | Clean up base64 node construction and access API | David Robillard | 6 | -20/+162 | |
2023-12-02 | Clean up numeric node construction and access API | David Robillard | 9 | -93/+450 | |
2023-12-02 | [WIP] Use exess for reading and writing numeric and binary literals | David Robillard | 14 | -359/+219 | |
2023-12-02 | Clean up nodes in reader/writer tests | David Robillard | 1 | -12/+20 | |
2023-12-02 | Move syntax name/extension utilities to public API | David Robillard | 6 | -55/+158 | |
2023-12-02 | Improve reader error handling | David Robillard | 5 | -137/+320 | |
2023-12-02 | Set flags directly when reading literal nodes | David Robillard | 1 | -64/+43 | |
2023-12-02 | Add debug checks for node padding | David Robillard | 2 | -13/+37 | |
2023-12-02 | Zero node padding before passing to reader sinks | David Robillard | 5 | -2/+41 | |
2023-12-02 | Remove datatype and language from reader context | David Robillard | 2 | -40/+32 | |
2023-12-02 | Simplify stack management by popping in bulk at higher levels | David Robillard | 4 | -139/+55 | |
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. This is slightly more efficient (due to avoiding many pop calls), but also more resilient since "leaks" at deeper levels of recursion get nuked by some caller regardless of what was pushed. This should help prevent future regressions like f6437f606 (Fix memory consumption when reading documents). | |||||
2023-12-02 | Use a fixed-size reader stack | David Robillard | 13 | -208/+301 | |
2023-12-02 | Simplify reader interface | David Robillard | 7 | -266/+179 | |
2023-12-02 | Add SerdSink interface and hide implementations | David Robillard | 17 | -196/+480 | |