Felix Krause
9be97ff386
Added constructChild for better serialization.
...
- Handle tag and anchor checks and ref types in constructChild
- Added tests for using custom representObject and constructObject
procs
- Code cleanup
2016-02-16 19:24:55 +01:00
Felix Krause
0a7f87a539
Improved docs. Fixed serialization problem.
...
* Added serialization.txt to doc
* Fixed rendering problem in api.txt
* Use explicit tag when ref type renders to a scalar that can be
parsed to !!null
* Added test cases for this ref type fix
2016-02-15 22:54:05 +01:00
Felix Krause
d2fbcb9b70
Doc: link to api.html.
2016-02-15 19:50:26 +01:00
Felix Krause
02e505959a
Added setTagUriForType. Used it. Improved docs.
2016-02-15 19:46:21 +01:00
Felix Krause
8d472d3278
Removed stray ref to serialization.html
2016-02-12 20:48:28 +01:00
Felix Krause
325e3ec18f
Made serialization part of yaml. Improved doc.
2016-02-12 20:44:38 +01:00
Felix Krause
c6c13eb044
Better doc index. YamlStream now an object.
...
* Also various fixes to serialization and presentation
2016-02-12 19:53:25 +01:00
Felix Krause
cb18c5cb9c
Improved documentation
2016-02-02 21:14:56 +01:00
Felix Krause
32c42054f7
Renamed serialize() to represent() to better conform to YAML spec
2016-02-02 18:19:40 +01:00
Felix Krause
e89a9a5b14
Serialization: Support enum types
2016-02-01 20:16:35 +01:00
Felix Krause
e967038d06
Support custom types without serialize macro
2016-02-01 19:48:42 +01:00
Felix Krause
620ab55899
Added tests for ref serialization
2016-01-28 22:57:14 +01:00
Felix Krause
f74a5da999
Implemented construction of ref objects.
2016-01-28 22:29:26 +01:00
Felix Krause
96f01385ef
Implemented serializing ref objects.
2016-01-28 21:59:26 +01:00
Felix Krause
cec66cd0a2
Presenter: Properly forward exceptions
2016-01-27 15:18:01 +01:00
Felix Krause
5162c310ce
Serialization: Better proc names
...
* renamed serialize to serializeObject and construct to constructObject
* added new serialize() and construct() procs that handle document
start & end
* re-raise AssertionError instead of swallowing it
2016-01-26 20:51:21 +01:00
Felix Krause
4c3f7cd485
Better and more system types for serialization
...
* Use int[8|16|32|64] and float[32|64] instead of int and float
* Support uint[8|16|32|64]
* Support char
2016-01-26 20:00:28 +01:00
Felix Krause
d7498f1c8a
Fixed error reporting in server
2016-01-24 21:43:33 +01:00
Felix Krause
daafa8b8e8
Merge branch 'master' of github.com:flyx/NimYAML
2016-01-24 21:41:16 +01:00
Felix Krause
cfe2f38899
Fixed server code
2016-01-24 21:41:06 +01:00
Felix Krause
24f44b5022
Fixed wrapped exception handling
2016-01-24 21:38:29 +01:00
Felix Krause
f2c81f1fc5
Small improvements
2016-01-24 21:21:37 +01:00
Felix Krause
36872370d5
Fixed bugs in presenter, serialization, README
...
* Made presenter output numbers without double quotes in
JSON style again
* Fixed broken serialization.load
* Updated examples in README
2016-01-24 20:53:51 +01:00
Felix Krause
8436026250
Sanitized exception handling in serialization
2016-01-24 20:38:30 +01:00
Felix Krause
42df37bbbe
Added JSON construction tests
2016-01-24 19:19:03 +01:00
Felix Krause
b7828884bd
Documentation fixes.
...
* Some typo fixes in code
* nim documentation now generates API doc with source links
* presenter now uses "" if a string starts with @ or `
* Removed some outdated stuff
2016-01-24 19:15:50 +01:00
Felix Krause
a08f4c1e4e
Sanitized exceptions and raises pragmas
...
* Added raises pragma to every proc in yaml.nim
* Properly encapsulate exceptions from YamlStreams
* Discovered a Nim compiler bug and added a workaround
* Added possibility to query line, column and line content from
YamlParser
* Updated rst documentation
* Actually call callback in fastparse if available
* Fixed parsing YAML version
2016-01-24 18:24:09 +01:00
Felix Krause
d05971d5ac
bench: run 100 times per test and return mean
2016-01-24 12:28:14 +01:00
Felix Krause
bb64b4eaec
Made bench compile again
2016-01-24 11:50:07 +01:00
Felix Krause
fdcc699768
Removed old lexer/parser impl in favor of new one
...
* fastparse now used for everything
* private/[lexer|parser].nim gone
* Made fastparse use YamlParser object
* Got all tests working with fastparse
* Some more smaller changes to API
2016-01-24 11:44:10 +01:00
Felix Krause
971218314e
fastparse: made it pass the parsing tests
...
* Scan for implicit map key as soon as a property is encountered
* Proper handling of node properties throughout parser
* Fixed an issue where plain scalars sometimes contained garbage
when yielded
* Catch reserved chars @ and `
* Fixed some test cases
* Made parser test cases use fastparse
2016-01-23 17:44:50 +01:00
Felix Krause
7f8afef3d4
Handle line folding in double quoted strings
2016-01-23 15:29:45 +01:00
Felix Krause
954aeafd15
Implemented block scalar, improved comments
2016-01-23 14:09:52 +01:00
Felix Krause
573d4788c7
Properly parse flow sequences
2016-01-22 23:53:42 +01:00
Felix Krause
8c91abc917
fastparse: Implemented explicit keys
2016-01-22 23:44:26 +01:00
Felix Krause
c89f07e1fd
fastparse: Improvements to flow parsing
2016-01-22 22:40:22 +01:00
Felix Krause
f670c5c86b
fastparse: Support flow object as implicit keys
2016-01-22 21:36:11 +01:00
Felix Krause
7af566c3a0
Handle quoted strings in flow style.
...
* Also use fastparse for benchmarking
2016-01-21 19:23:45 +01:00
Felix Krause
bb5804cd15
FastParser: Implemented flow style
...
* still missing: block scalars and explicit map keys
2016-01-20 23:38:39 +01:00
Felix Krause
55d5cfcbf9
Started re-implementing parser
...
* Made TagLibrary a ref object
* Started writing fastparse.nim, a parser aimed to deliver
much faster speeds than the current implementation. It
currently is only able to parse block content
2016-01-20 21:18:28 +01:00
Felix Krause
94fd70a808
Made bench compile again
2016-01-15 00:10:20 +01:00
Felix Krause
9c731cb6d1
Refactoring lexer, part 1
2016-01-15 00:06:57 +01:00
Felix Krause
56d3537920
Refactoring: Shorter type names
2016-01-14 22:51:30 +01:00
Felix Krause
551c8b0dd1
Refactoring: Extracted type guessing from lexer
2016-01-14 19:58:38 +01:00
Felix Krause
6130c24370
git what the fuck are you doing
2016-01-14 19:01:30 +01:00
Felix Krause
26eb38c5c8
Build proper HTML documentation
2016-01-14 19:01:30 +01:00
Felix Krause
46acdc3ccd
Fixed presenter JSON output
2016-01-14 19:00:03 +01:00
Felix Krause
58ec98f639
Made testing ground work in Firefox
2016-01-13 23:19:06 +01:00
Felix Krause
40e3e32f5d
Build proper HTML documentation
2016-01-13 23:19:06 +01:00
Felix Krause
7cabfc652e
Benchmark against libyaml.
...
* Took libyaml binding from nimlets and used it in bench
* Use shallow copy for scalar content in parser
2016-01-13 21:01:50 +01:00