Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-10-27 | Fix crash when attempting to read before starting | David Robillard | 1 | -0/+3 | |
2020-10-27 | Add support for parsing variables | David Robillard | 8 | -2/+65 | |
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. | |||||
2020-10-27 | Normalise away rdf:langString datatype | David Robillard | 2 | -0/+3 | |
Depending on how you read the specifications, a rdf:langString isn't identical to an xsd:string, but an rdf:langString must have a non-empty language tag so having this datatype doesn't really make any sense anyway. | |||||
2020-10-27 | Add support for basic literal normalisation | David Robillard | 3 | -0/+160 | |
2020-10-27 | Make serd_env_expand() always return a node if it is not relative | David Robillard | 1 | -34/+152 | |
The old interface was potentially faster, because it avoided unnecessary copies, but was annoying to use and problematic because nodes that don't need expansion were indistinguishable from nodes that failed to expand (like those that use undefined namespace prefixes). In the grand scheme of things, the potential performance improvement isn't worth it, and unexpected unexpanded nodes causes deep nightmarish problems, so just make serd_env_expand() copy the input if it doesn't need expansion to make the API simpler and safer. | |||||
2020-10-27 | Clean up Env tests and behaviour | David Robillard | 1 | -77/+184 | |
2020-10-27 | Make const Env functions tolerant of NULL | David Robillard | 1 | -0/+4 | |
This is convenient in places where you don't necessarily need an Env, since in this case these methods work the same as if with an empty Env. | |||||
2020-10-27 | Replace multiple stream callbacks with SerdEvent | David Robillard | 4 | -23/+55 | |
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. | |||||
2020-10-27 | Remove old floating point tests | David Robillard | 1 | -96/+0 | |
2020-10-27 | Add precise floating point parsing | David Robillard | 3 | -22/+439 | |
2020-10-27 | Add precise decimal digit generation | David Robillard | 2 | -3/+51 | |
2020-10-27 | Add minimal big integer implementation | David Robillard | 1 | -0/+930 | |
This is needed for floating point decimal conversion. | |||||
2020-10-27 | Add minimal soft floating point implementation | David Robillard | 2 | -0/+175 | |
2020-10-27 | Add faster decimal digit counting function | David Robillard | 1 | -0/+55 | |
2020-10-27 | Add integer and bit math utilities | David Robillard | 1 | -0/+64 | |
2020-10-27 | Add validation to command line interface | David Robillard | 32 | -0/+723 | |
2020-10-27 | Add support for reading multiple files at once | David Robillard | 3 | -0/+12 | |
2020-10-27 | Add test for failure while writing a list from a model | David Robillard | 1 | -0/+68 | |
2020-10-27 | Replace serd_reader_set_strict() with SerdReaderFlags | David Robillard | 3 | -7/+9 | |
This makes reader options extensible and should hopefully prevent the need for grafting on more similar functions in the future. | |||||
2020-10-27 | Report writer errors and add strict write mode | David Robillard | 1 | -1/+38 | |
2020-10-27 | Align nodes with posix_memalign if possible | David Robillard | 1 | -13/+15 | |
2020-10-27 | Add support for writing terse collections | David Robillard | 6 | -0/+163 | |
2020-10-27 | Fix various warnings and conversion issues | David Robillard | 2 | -12/+26 | |
2020-10-27 | Add serd_new_boolean() | David Robillard | 1 | -0/+17 | |
2020-10-27 | Handle read errors more precisely | David Robillard | 1 | -1/+1 | |
2020-10-27 | Add model validation | David Robillard | 1 | -1/+1 | |
2020-10-27 | Add model | David Robillard | 4 | -0/+1006 | |
2020-10-27 | Add function to SerdSink for freeing opaque handle | David Robillard | 4 | -6/+6 | |
This can be used to associate dynamically allocated data with a sink and have it managed along with the sink's lifetime. | |||||
2020-10-27 | Use public sink interface in reader | David Robillard | 1 | -0/+1 | |
2020-10-27 | Clean up and expose base64 implementation | David Robillard | 2 | -6/+128 | |
2020-10-27 | Remove serd_env_foreach() | David Robillard | 1 | -2/+4 | |
This is not particularly useful except to write prefixes, which is what serd_env_write_prefixes is for, and the name implies that namespace prefixes are the only thing in an Env, which will be problematic in the future. | |||||
2020-10-27 | Simplify reader test sink | David Robillard | 1 | -34/+29 | |
2020-10-27 | Add stack overflow tests | David Robillard | 1 | -0/+69 | |
2020-10-27 | Ensure serd_new_resolved_uri returns an absolute URI or NULL | David Robillard | 1 | -1/+3 | |
2020-10-27 | Simplify streaming API and improve pretty printing | David Robillard | 3 | -2/+98 | |
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. | |||||
2020-10-27 | Add SerdNodes class for storing a cache of nodes | David Robillard | 2 | -0/+93 | |
2020-10-27 | Add serd_env_copy() and serd_env_equals() | David Robillard | 1 | -0/+19 | |
2020-10-27 | Separate ByteSink from Writer | David Robillard | 1 | -3/+11 | |
2020-10-27 | Expose SerdByteSink in public API | David Robillard | 1 | -0/+1 | |
2020-10-27 | Remove serd_reader_set_default_graph() | David Robillard | 1 | -9/+2 | |
2020-10-27 | Add rooted URI resolution test | David Robillard | 1 | -1/+2 | |
2020-10-27 | Separate style enum from style flags types | David Robillard | 1 | -2/+2 | |
2020-10-27 | Make SerdSink opaque | David Robillard | 3 | -16/+33 | |
2020-10-27 | Simplify SerdEnv API | David Robillard | 1 | -24/+29 | |
2020-10-27 | Add SerdCursor to public API | David Robillard | 4 | -2/+64 | |
2020-10-27 | Remove escape parameter from serd_new_file_uri | David Robillard | 1 | -9/+6 | |
Since characters are escaped because they are not valid characters in a URI, any use of this function without escaping is problematic at best. | |||||
2020-10-27 | Shorten node constructor names | David Robillard | 2 | -76/+92 | |
2020-10-27 | Make statement sink take a statement rather than nodes | David Robillard | 2 | -29/+16 | |
This makes the interface more extensible, towards associating more information with statements. The serd_sink_write_nodes wrapper remains so that user code does not need to allocate in order to write statement. | |||||
2020-10-27 | Use a fixed-size reader stack | David Robillard | 2 | -5/+5 | |
This improves performance, and makes the reader more suitable for embedded or network-facing applications, at the cost of requiring the user to specify a maximum stack size. | |||||
2020-10-27 | Set datatypes on integer, decimal, and base64 nodes | David Robillard | 1 | -7/+19 | |