aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-10-27WIP: Improve writer performanceDavid Robillard1-10/+12
2020-10-27WIP: Simply reader byte reader interfaceDavid Robillard1-9/+0
2020-10-27WIP: Add serd_node_from_syntax() and serd_node_to_syntax()David Robillard3-0/+126
2020-10-27Add SERD_READ_EXACT_BLANKS flagsDavid Robillard1-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.
2020-10-27WIP: Make Reader always read from a ByteSourceDavid Robillard7-178/+189
2020-10-27WIP: Make Writer always write to a ByteSinkDavid Robillard4-123/+137
2020-10-27Fix crash when attempting to read before startingDavid Robillard1-0/+4
2020-10-27Refuse to write relative URIRefs to NTriplesDavid Robillard1-0/+15
2020-10-27Simplify abbreviated URI writing codeDavid Robillard1-15/+17
2020-10-27WIP: Get base URI from single input path if possibleDavid Robillard1-2/+43
2020-10-27Use a manual type-safe stack in SerdWriterDavid Robillard1-27/+27
This fixes alignment issues on ARM. Since this stack is just for WriteContext which has a fixed size, using SerdStack here just made things more confusing anyway.
2020-10-27Emit reader errors on stack overflows in string literalsDavid Robillard1-1/+9
2020-10-27Simplify ByteSource implementationDavid Robillard2-32/+27
2020-10-27WIP: Add statement filteringDavid Robillard2-0/+165
2020-10-27Add support for parsing variablesDavid Robillard7-7/+90
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-27Fix crash when expanding empty URI prefixesDavid Robillard1-1/+1
2020-10-27Fix memory leak in writer when caller doesn't clean up the stackDavid Robillard1-0/+5
2020-10-27Avoid use of ctype.h macros entirelyDavid Robillard2-4/+15
Some of these cause warnings, and should never have been used in the first place since they depend on locale.
2020-10-27Improve writer packingDavid Robillard1-1/+1
2020-10-27Normalise away rdf:langString datatypeDavid Robillard1-0/+2
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-27Add support for basic literal normalisationDavid Robillard3-4/+289
2020-10-27Make serd_env_expand() always return a node if it is not relativeDavid Robillard1-10/+20
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-27Make it possible to allocate nodes with CURIE datatypesDavid Robillard3-9/+15
2020-10-27Remove double allocation in serd_env_set_prefix()David Robillard1-9/+5
2020-10-27Remove double allocations in serd_env_expand()David Robillard3-33/+116
2020-10-27Move local URI utility functionsDavid Robillard1-26/+26
2020-10-27Split up node expansion codeDavid Robillard1-30/+53
2020-10-27Clean up Env tests and behaviourDavid Robillard1-1/+4
2020-10-27Make const Env functions tolerant of NULLDavid Robillard1-1/+9
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-27Allow setting the base URI of an Env to NULLDavid Robillard1-1/+5
2020-10-27Replace multiple stream callbacks with SerdEventDavid Robillard4-51/+81
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-27Add precise floating point parsingDavid Robillard2-4/+182
2020-10-27Separate decimal parsing from floating point conversionDavid Robillard1-40/+126
2020-10-27Add support for xsd:double and xsd:floatDavid Robillard2-0/+83
These can be used to serialise a float or double in the shortest normalised form that can be read back in to the exact same floating point value.
2020-10-27Add precise decimal digit generationDavid Robillard3-58/+337
2020-10-27Factor out decimal digit generationDavid Robillard3-51/+72
2020-10-27Add minimal big integer implementationDavid Robillard3-0/+741
This is needed for floating point decimal conversion.
2020-10-27Add minimal soft floating point implementationDavid Robillard3-1/+228
2020-10-27Add IEEE floating point utility headerDavid Robillard1-0/+55
2020-10-27Add faster decimal digit counting functionDavid Robillard3-1/+53
2020-10-27Move MIN macro to int_math.hDavid Robillard12-18/+15
2020-10-27Add integer and bit math utilitiesDavid Robillard2-0/+129
2020-10-27Add validation to command line interfaceDavid Robillard1-1/+11
2020-10-27Add support for reading multiple files at onceDavid Robillard1-34/+90
2020-10-27Add empty syntax type for suppressing outputDavid Robillard3-10/+21
2020-10-27Improve add and chop prefix functions when given empty stringsDavid Robillard2-8/+10
2020-10-27Simplify handling of input string argumentsDavid Robillard1-10/+12
2020-10-27Add input base URI optionDavid Robillard1-5/+9
2020-10-27Replace serd_reader_set_strict() with SerdReaderFlagsDavid Robillard3-16/+12
This makes reader options extensible and should hopefully prevent the need for grafting on more similar functions in the future.
2020-10-27Report writer errors and add strict write modeDavid Robillard3-173/+228