Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-12-02 | [WIP] Move SerdEnv mutation from writer to reader | David Robillard | 1 | -0/+3 | |
Writing having side-effects seems questionable in general, and this prepares things for expanding URIs in the reader. | |||||
2023-12-02 | Leave statement caret at the start of literals | David Robillard | 1 | -4/+13 | |
This allows a precise location to be reported for errors within literals, by adding the offset of the error in the literal to the caret. This will be used to report nice errors for things like regular expressions and supported XSD datatypes. | |||||
2023-12-02 | [WIP] Add extensible logging API | David Robillard | 1 | -2/+5 | |
2023-12-02 | [WIP] Add support for reading and writing variables | David Robillard | 1 | -0/+1 | |
[WIP] Command line option, move later? This adds a reader flag and serdi option for extending a syntax with support for SPARQL-like variables, for storing things like patterns or simple queries. | |||||
2023-12-02 | Simplify input stream API | David Robillard | 1 | -64/+41 | |
2023-12-02 | Separate Turtle and TriG reading code | David Robillard | 1 | -5/+30 | |
2023-12-02 | Factor out NQuads reader | David Robillard | 1 | -2/+4 | |
2023-12-02 | Factor out NTriples reader | David Robillard | 1 | -3/+39 | |
2023-12-02 | Make r_err take a single line without trailing newline | David Robillard | 1 | -2/+2 | |
Towards having an actual logging (rather than printing) mechanism. | |||||
2023-12-02 | Add assertions for all non-null pointers in the public API | David Robillard | 1 | -0/+14 | |
2023-12-02 | Be precise about the meaning of node "length" and "size" | David Robillard | 1 | -7/+9 | |
2023-12-02 | Align nodes on the reader stack | David Robillard | 1 | -2/+2 | |
2023-12-02 | Replace serd_reader_set_strict() with SerdReaderFlags | David Robillard | 1 | -7/+2 | |
2023-12-02 | Handle read errors more precisely | David Robillard | 1 | -1/+16 | |
2023-12-02 | Split up serd_internal.h | David Robillard | 1 | -1/+1 | |
2023-12-02 | Add a set of limits to the world | David Robillard | 1 | -2/+2 | |
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 | Simplify statement flags | David Robillard | 1 | -1/+1 | |
2023-12-02 | Add SerdStatement | David Robillard | 1 | -2/+6 | |
2023-12-02 | Add SerdCaret | David Robillard | 1 | -13/+18 | |
2023-12-02 | Remove serd_reader_set_default_graph() | David Robillard | 1 | -22/+7 | |
2023-12-02 | Move fopen wrapper to world | David Robillard | 1 | -1/+1 | |
2023-12-02 | Move error handling to world | David Robillard | 1 | -1/+2 | |
2023-12-02 | Add SerdWorld for shared library state | David Robillard | 1 | -11/+4 | |
2023-12-02 | Improve reader error handling | David Robillard | 1 | -0/+4 | |
2023-12-02 | Zero node padding before passing to reader sinks | David Robillard | 1 | -0/+4 | |
2023-12-02 | Simplify stack management by popping in bulk at higher levels | David Robillard | 1 | -27/+7 | |
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 | 1 | -35/+49 | |
2023-12-02 | Simplify reader interface | David Robillard | 1 | -117/+49 | |
2023-12-02 | Add SerdSink interface and hide implementations | David Robillard | 1 | -36/+15 | |
2023-12-02 | Bring read/write interface closer to the C standard | David Robillard | 1 | -4/+4 | |
2023-12-02 | Merge datatype/language into node | David Robillard | 1 | -8/+2 | |
This moves closer to the sord API, and is more convenient in most cases. | |||||
2023-12-02 | Simplify URI API and implementation | David Robillard | 1 | -1/+1 | |
2023-12-02 | Make nodes opaque | David Robillard | 1 | -22/+20 | |
2023-12-02 | Use more human-readable status codes | David Robillard | 1 | -4/+4 | |
2023-12-02 | Split up public API header | David Robillard | 1 | -0/+4 | |
2023-12-02 | Remove "get" from accessor names | David Robillard | 1 | -1/+1 | |
2023-12-02 | Rename function types for consistency | David Robillard | 1 | -13/+13 | |
2023-12-02 | Rename SerdType to SerdNodeType | David Robillard | 1 | -9/+9 | |
The old name will be even more ambiguous with the increased scope. | |||||
2023-12-02 | Use char* for strings in public API | David Robillard | 1 | -23/+22 | |
The constant casting just makes user code a mess, for no benefit. | |||||
2023-12-02 | Remove useless character counting | David Robillard | 1 | -5/+5 | |
2023-05-03 | Make serd_reader_read_chunk() work with NQuads | David Robillard | 1 | -1/+3 | |
2023-05-03 | Remove redundant wrapper function | David Robillard | 1 | -7/+1 | |
2023-02-04 | Fix clang and clang-tidy warnings on Windows | David Robillard | 1 | -1/+1 | |
2022-11-25 | Always handle the return value of eat_byte_safe() | David Robillard | 1 | -3/+3 | |
2022-08-31 | Adopt REUSE machine-readable licensing standard | David Robillard | 1 | -15/+2 | |
2021-05-31 | Make most function parameters const | David Robillard | 1 | -56/+68 | |
More const never hurts in general, but in particular this allows the compiler to make better nullability deductions, which reduces the amount of manual nullability casting required. | |||||
2021-05-31 | Fix include order | David Robillard | 1 | -1/+2 | |
2021-01-10 | Add missing includes | David Robillard | 1 | -0/+2 | |
2021-01-02 | Use email address instead of website for attribution | David Robillard | 1 | -1/+1 | |
2020-12-31 | Format all code with clang-format | David Robillard | 1 | -213/+216 | |