aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-06-21Simplify SerdEnv APIDavid Robillard3-33/+84
2020-06-21Add cursor to statementDavid Robillard4-3/+14
This allows the file and position of statements to be used in sinks, for example for more helpful error reporting outside the parser.
2020-06-21Add SerdCursor to public APIDavid Robillard7-29/+153
2020-06-21Remove escape parameter from serd_new_file_uriDavid Robillard2-3/+3
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-06-21Shorten node constructor namesDavid Robillard5-80/+153
2020-06-21Make statement sink take a statement rather than nodesDavid Robillard3-16/+19
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-06-21Add sink interfaceDavid Robillard1-0/+62
2020-06-21Add SerdStatementDavid Robillard2-0/+80
2020-06-21Expand datatype of literal nodes in serd_env_expand_nodeDavid Robillard1-0/+12
2020-06-21Move syntax name/extension utilities to public APIDavid Robillard2-49/+73
2020-06-21Move SerdField to public APIDavid Robillard1-46/+40
2020-06-21Clean up reader error handlingDavid Robillard3-342/+372
2020-06-21Improve push_byte() performanceDavid Robillard1-4/+4
2020-06-21Add debug checks for node paddingDavid Robillard2-8/+36
2020-06-21Zero node padding before passing to reader sinksDavid Robillard5-3/+41
2020-06-21Remove datatype and language from reader contextDavid Robillard2-30/+17
2020-06-21Simplify stack management by popping in bulk at higher levelsDavid Robillard4-104/+70
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.
2020-06-21Use a fixed-size reader stackDavid Robillard7-224/+274
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-06-21Set datatypes on integer, decimal, and base64 nodesDavid Robillard2-26/+89
2020-06-21Add serd_world_get_blank()David Robillard2-1/+22
2020-06-21Avoid copying nodes when equivalent prefixes are setDavid Robillard1-3/+5
2020-06-21Separate base64 implementationDavid Robillard4-88/+179
2020-06-21Use SerdNodeFlags type everywhereDavid Robillard1-9/+9
2020-06-21Clean up node construction APIDavid Robillard6-99/+151
2020-06-21Clean up includes and improve source file separationDavid Robillard10-11/+19
2020-06-21Move system utilities to separate source filesDavid Robillard10-61/+94
2020-06-21Hide fopen wrapper and use reader interface consistentlyDavid Robillard7-125/+102
2020-06-21Add blank node APIDavid Robillard1-0/+14
2020-06-21Make serd_node_new_literal take datatype as a nodeDavid Robillard1-6/+8
2020-06-21Move error handling to worldDavid Robillard5-34/+40
2020-06-21Add SerdWorld for shared library stateDavid Robillard7-37/+94
2020-06-21Add SerdSink interface and hide individual function implementationsDavid Robillard5-71/+62
2020-06-21Bring read/write interface closer to C standardDavid Robillard8-60/+62
2020-06-21Clean up and separate internal headersDavid Robillard16-609/+775
2020-06-21Merge datatype and/or language into nodeDavid Robillard5-50/+158
This moves closer to the sord API, and is more convenient in most cases.
2020-06-21Simplify reader interfaceDavid Robillard4-102/+86
2020-06-21Remove serd_uri_to_path()David Robillard2-25/+8
2020-06-21Remove SERD_NOTHING node typeDavid Robillard1-1/+1
2020-06-21Make nodes opaqueDavid Robillard6-198/+245
2020-06-21Use opaque node APIDavid Robillard5-56/+83
2020-06-21Add node accessor APIDavid Robillard1-0/+24
2020-06-21Add support for parsing NaN, INF, and -INFDavid Robillard1-4/+14
2020-06-21Make serd_strtod API const-correctDavid Robillard4-6/+6
This is an API breakage, but a minor one (particularly since NULL is allowed) that avoids the flaw in the C API.
2020-06-21Rename SerdChunk to SerdStringViewDavid Robillard4-15/+14
2020-06-21Use char* for strings in public APIDavid Robillard11-192/+185
The constant casting just makes user code a mess, for no benefit.
2020-06-21Remove useless character countingDavid Robillard7-67/+40
2020-06-21Use SerdBuffer for mutable buffersDavid Robillard3-20/+21
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks.
2020-06-21Cleanup: Add missing default switch casesDavid Robillard3-0/+13
2020-06-21Cleanup: Fix uninitialised variablesDavid Robillard4-28/+29
2020-06-21Cleanup: Avoid declaring multiple variables on a single lineDavid Robillard1-1/+3