Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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 | |
2020-12-31 | Format all code with clang-format | David Robillard | 1 | -1295/+1373 | |
2020-12-31 | Avoid "else" after "break" and "return" | David Robillard | 1 | -13/+33 | |
2020-11-13 | Improve IRI reading performance | David Robillard | 1 | -10/+13 | |
This allows the compiler to construct a jump table, and avoids a branch. | |||||
2020-11-13 | Remove use of C character class functions that may use locale | David Robillard | 1 | -2/+1 | |
Some of these cause warnings, and should never have been used in the first place since they depend on locale. | |||||
2020-08-16 | Fix handling of bad syntax that ends a collection | David Robillard | 1 | -1/+2 | |
2020-08-16 | Fix EOF and null byte handling | David Robillard | 1 | -3/+6 | |
This is a bit questionable, but the null byte support is needed for streaming over a socket where some delimiter is required. This caused a bug where serdi would hang forever on corrupt files that contain a null byte. Fix this by consuming the byte, but otherwise behaving as before. | |||||
2020-08-15 | Clean up reader error handling | David Robillard | 1 | -279/+319 | |
2020-08-15 | Make read_String() return a status | David Robillard | 1 | -42/+47 | |
2020-08-15 | Make read_IRIREF_scheme() return a status | David Robillard | 1 | -15/+11 | |
2020-08-15 | Make r_err() return a status | David Robillard | 1 | -52/+74 | |
2020-08-15 | Make read_PrefixedName() return a status | David Robillard | 1 | -12/+17 | |
2020-08-15 | Make read_PERCENT() return a status | David Robillard | 1 | -8/+4 | |
2020-08-15 | Make read_UCHAR() and read_ECHAR() return a status | David Robillard | 1 | -21/+21 | |
2020-08-15 | Exploit push_byte return status | David Robillard | 1 | -2/+1 | |