Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-01-28 | Use more human-readable status codes | David Robillard | 1 | -44/+41 | |
2022-01-28 | Fix pretty-printing nested empty lists and add test suite | David Robillard | 1 | -3/+3 | |
The earlier "test" was just hitting the code without actually checking the output. This new suite is a set of pretty-printed documents which serd must reproduce from a model exactly to pass. This should make it easy to add cases in the future, since each case is just a document, as it should look. | |||||
2022-01-28 | Split SERD_READ_VERBATIM into two more precise flags | David Robillard | 1 | -1/+1 | |
Although the "verbatim" idea is nice and simple, more fine-grained control is necessary since these features (relative URI preservation and blank node label clash avoidance) are useful in different situations. | |||||
2022-01-28 | Preserve anonymous graph syntax in TriG | David Robillard | 1 | -0/+1 | |
2022-01-28 | Simplify reader and writer flags | David Robillard | 1 | -1/+1 | |
2022-01-28 | Support writing all escapes in Turtle and TriG prefixed names | David Robillard | 1 | -20/+22 | |
2022-01-28 | Factor out and expose prefixed name predicates | David Robillard | 1 | -27/+6 | |
Towards using these in the writer to escape names more precisely. | |||||
2022-01-14 | Expose low-level node construction API | David Robillard | 1 | -2/+3 | |
2022-01-14 | Preserve long or short quoting from input documents | David Robillard | 1 | -1/+4 | |
2022-01-14 | Leave statement caret at the start of literals | David Robillard | 1 | -1/+4 | |
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. | |||||
2022-01-14 | Reduce complexity of Turtle and TriG block reading functions | David Robillard | 1 | -89/+109 | |
2022-01-14 | Reduce complexity of Turtle object reading function | David Robillard | 1 | -56/+73 | |
2022-01-14 | Factor out NQuads reader | David Robillard | 1 | -99/+1 | |
2022-01-14 | Factor out NTriples reader | David Robillard | 1 | -538/+25 | |
2022-01-14 | Factor out UTF-8 reading utilities | David Robillard | 1 | -86/+6 | |
2022-01-14 | Reduce complexity of blank node reading functions | David Robillard | 1 | -17/+33 | |
2022-01-14 | Remove SERD_CURIE node datatype entirely | David Robillard | 1 | -6/+7 | |
2022-01-14 | Expand URIs in reader | David Robillard | 1 | -13/+110 | |
This expands relative and prefixed URIs in the reader on the stack, rather than passing them to the caller to be dealt with. This pushes these context-full forms to the edge of the system as much as possible to minimise the headaches they can cause. Towards having stricter guarantees about nodes and eliminating the CURIE node type altogether. | |||||
2022-01-14 | Move SerdEnv mutation from writer to reader | David Robillard | 1 | -0/+6 | |
Writing having side-effects seems questionable in general, and this prepares things for expanding URIs in the reader. | |||||
2022-01-14 | Add extensible logging API | David Robillard | 1 | -58/+55 | |
2022-01-13 | Add SERD_READ_EXACT_BLANKS flag | David Robillard | 1 | -1/+1 | |
This allows suppressing the blank node ID clashing mechanism to read blank IDs exactly as they appear in the input, even if they match the scheme used to generate blank node IDs internally. | |||||
2022-01-13 | Add support for parsing variables | David Robillard | 1 | -5/+76 | |
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. | |||||
2022-01-13 | Make Reader always read from a ByteSource | David Robillard | 1 | -2/+2 | |
2022-01-13 | Support reading lone lists in lax mode | David Robillard | 1 | -1/+1 | |
This allows parsing documents like "(42) ." | |||||
2022-01-13 | Fix hang when skipping an error at EOF when lax parsing | David Robillard | 1 | -1/+1 | |
2022-01-13 | Be precise about the meaning of node "length" and "size" | David Robillard | 1 | -2/+3 | |
2022-01-13 | Handle read errors more precisely | David Robillard | 1 | -25/+23 | |
2022-01-13 | Split up serd_internal.h | David Robillard | 1 | -1/+1 | |
2022-01-13 | Factor out TRY macro | David Robillard | 1 | -7/+1 | |
2022-01-13 | Simplify streaming API and improve pretty printing | David Robillard | 1 | -22/+22 | |
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 | Improve reader error handling | David Robillard | 1 | -124/+170 | |
2022-01-13 | Set flags directly when reading literal nodes | David Robillard | 1 | -61/+43 | |
2022-01-13 | Zero node padding before passing to reader sinks | David Robillard | 1 | -1/+4 | |
2022-01-13 | Remove datatype and language from reader context | David Robillard | 1 | -36/+31 | |
2022-01-13 | Simplify stack management by popping in bulk at higher levels | David Robillard | 1 | -61/+31 | |
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 | Use a fixed-size reader stack | David Robillard | 1 | -126/+147 | |
2022-01-13 | Simplify reader interface | David Robillard | 1 | -1/+2 | |
2022-01-13 | Add SerdSink interface and hide implementations | David Robillard | 1 | -11/+4 | |
2022-01-13 | Merge datatype/language into node | David Robillard | 1 | -18/+19 | |
This moves closer to the sord API, and is more convenient in most cases. | |||||
2022-01-13 | Make nodes opaque | David Robillard | 1 | -16/+19 | |
2022-01-13 | Rename function types for consistency | David Robillard | 1 | -6/+6 | |
2022-01-13 | Use char* for strings in public API | David Robillard | 1 | -7/+5 | |
The constant casting just makes user code a mess, for no benefit. | |||||
2022-01-13 | Remove support for Turtle named inline nodes extension | David Robillard | 1 | -21/+0 | |
2021-05-31 | Make most function parameters const | David Robillard | 1 | -69/+102 | |
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 | Remove "static inline" for functions in implementation files | David Robillard | 1 | -12/+12 | |
This is just noise since these are static functions local to a C compilation unit. | |||||
2021-05-31 | Fix unannotated switch fallthroughs | David Robillard | 1 | -4/+19 | |
Unfortunately, clang does not support doing this with comments, requiring yet more preprocessor gunk. | |||||
2021-05-31 | Fix some conversion warnings | David Robillard | 1 | -2/+2 | |
2021-05-16 | Avoid else after break | David Robillard | 1 | -3/+3 | |
2021-04-09 | Write statements with invalid URI characters in lax mode | David Robillard | 1 | -9/+9 | |
2021-01-02 | Use email address instead of website for attribution | David Robillard | 1 | -1/+1 | |