Commit Graph

459 Commits

Author SHA1 Message Date
Felix Krause 79f432a27d lexer: implemented quoted scalars 2016-09-10 13:38:42 +02:00
Felix Krause 68a157e173 First compiling version (incomplete) 2016-09-10 12:38:03 +02:00
Felix Krause d51872f9e7 Started work on new lexer 2016-09-10 10:30:40 +02:00
Felix Krause 5a90255993 Fixed remaining JS compilation issues
* Changed transform() to not use first class iterators
 * provide a archaic `$` for uints that will break if
   poked
 * TODO: test JS output!
2016-09-01 21:08:27 +02:00
Felix Krause ad18db5113 Do not use first class iterators in serialization
* needed for JS backend
2016-09-01 20:56:34 +02:00
Felix Krause ef9159ab98 Removed trailing ws; JS fixes
* do not call writeStackTrace() if compiling to JS
2016-08-30 22:15:29 +02:00
Felix Krause 34cbe61479 Got rid of lots of compiler warnings 2016-08-17 22:50:37 +02:00
Felix Krause 30365d2f17 More refactoring
* Renamed ParserYamlStream to ParserContext
 * Moved almost all internal state from YamlParser to ParserContext
2016-08-17 22:21:34 +02:00
Felix Krause b83babf808 Merge branch 'parser-no-iterators' into devel 2016-08-17 20:06:17 +02:00
Felix Krause a9b82b0e45 Finished parser refactoring
* Re-implemented flow style handling
 * Deleted old parser code
2016-08-17 20:04:59 +02:00
Felix Krause 01b34290b7 Parser refactoring
* refactored parser to not use first class iterators
   (not available for JS backend)
 * Current state misses flow style handling and fails tests
2016-08-15 21:30:49 +02:00
Felix Krause 4ddc094cfd Internal changes to YamlStream (no API change)
* Prepared YamlStream for major parser refactoring
2016-08-10 20:42:44 +02:00
Felix Krause 404aece2fd Fixed bench compatibility with upcoming Nim 2016-08-10 20:40:36 +02:00
Felix Krause b6f730c459 Fixes #25 2016-08-09 21:20:25 +02:00
Felix Krause 09824f931b Refactoring of assertions, improved exceptions
* Replaced all assert statements with yAssert, which prints an error message
   and quits on failure, but does nothing when compiling with -d:release.
 * Implemented and used internalError for better discovery of internal bugs.
   Fixes #8.
 * Made RawYamlStream able to raise YamlStreamError, which might primarily be
   useful for user-defined serialization
 * Properly encapsulate RangeError coming from int/uint serialization on 64bit
   machines in YamlStreamError.
 * Some minor style improvements
2016-08-09 20:47:22 +02:00
Felix Krause 0f297adffb Version 0.6.3 2016-07-08 12:08:04 +02:00
flyx a5263b7477 Merge pull request #22 from andreaferretti/devel
Fixed issue: integer numbers could not be parsed as float
2016-07-08 11:46:28 +02:00
Andrea Ferretti e33af48217 Fixed issue: integer numbers could not be parsed as float 2016-07-08 11:35:31 +02:00
Felix Krause dcdb04b79d Merge branch 'devel' 2016-07-07 17:56:18 +02:00
Felix Krause 375f5b9db5 Version 0.6.2 2016-07-07 17:55:58 +02:00
Felix Krause 9054bf7630 Fixes #19 2016-07-07 17:46:23 +02:00
flyx b41ab142d5 Merge pull request #21 from andreaferretti/devel
Fixed type hints for floats
2016-07-07 17:18:46 +02:00
Andrea Ferretti 2d89cb7d36 Fixed type hints for floats 2016-07-07 17:14:18 +02:00
Felix Krause 0f4f13cee5 Merge branch 'devel' 2016-06-27 21:09:55 +02:00
Felix Krause a3c3237b62 Version 0.6.1 2016-06-27 21:09:34 +02:00
Felix Krause b01270dc9e Fixes #17 2016-06-26 12:41:06 +02:00
Felix Krause fb05fcc95f Fixed undeclared possible IndexError from queues 2016-06-26 12:37:15 +02:00
Felix Krause eab44a99ed NimYAML 0.6.0 2016-06-08 21:28:07 +02:00
Felix Krause 280f0d6ce2 Check for multiple documents when dumping JSON 2016-06-08 20:07:29 +02:00
Felix Krause 5f6ed61e30 Fixed and improved canonical presentation 2016-06-08 20:01:46 +02:00
Felix Krause 9945375904 ... and now also fixed it for canonical form 2016-06-08 19:46:58 +02:00
Felix Krause 1df2444c50 Fixed a JSON presentation bug 2016-06-08 19:40:53 +02:00
Felix Krause 7cad7b5478 Fixed and properly implemented variant objects 2016-06-08 19:15:50 +02:00
Felix Krause 152a4f3bd3 NimYAML version 0.5.1
* Fixed a problem that was caused by a change in getType in Nim devel
2016-06-05 20:52:43 +02:00
Felix Krause 2ce212b79a NimYAML 0.5.0
* Updated changelog, readme and nimble file
 * moved nimble file from nimyaml.nimble to yaml.nimble because
   the nimble package has been renamed
 * Updated documentation about nimble package
2016-06-05 19:41:09 +02:00
Felix Krause 48aeff20c0 Use variant object types for heterogeneous data
* Made variant object types work (really this time)
 * Added `markAsImplicit`
 * Implemented implicit variant object types
 * Added documentation
2016-06-05 19:29:16 +02:00
Felix Krause e81da97a17 Removed most of variant-object specific code
* fieldPairs() already handles variant objects fine. decided not to
   go further along the way of identifying object variants by their
   discriminants in tag URIs.
 * variant objects are now supported just like normal objects.
2016-06-05 15:43:39 +02:00
Felix Krause a0c435d6eb Finally got variant objects to work
* may still require some polish before merging
2016-05-25 23:32:49 +02:00
Felix Krause 592158fad0 Merge branch 'master' into variant-objects 2016-05-25 23:18:32 +02:00
Felix Krause f5431af0fd fastparse refactoring, part III
* Changed some more templates to procs
2016-05-23 21:10:28 +02:00
Felix Krause 78fac63af5 fastparse refactoring, part II
* Transformed quite some templates to procs
 * Moved quite some local vars from parse() to YamlParser
2016-05-21 23:26:39 +02:00
Felix Krause 10fec5fb1f fastparse refactoring, part I
* Replaced lots of templates with procs
 * Some minor improvements
2016-05-21 22:08:19 +02:00
Felix Krause c3810fbb22 Made server output syntax-highlighted YAML 2016-05-12 15:35:29 +02:00
Felix Krause f73dfdc6ab Worked on variant objects (not working) 2016-05-09 19:03:11 +02:00
Felix Krause 273093e390 improved setTagUri
* renamed setTagUriForType to setTagUri
 * generated TagId is now const (can be used in case etc)
 * Uses compile-time counter independent from tag library
2016-04-21 18:58:53 +02:00
Felix Krause 62fa366ac7 Check for duplicate tag URIs at compile time 2016-04-09 21:54:49 +02:00
Felix Krause 4ca4b2c87e Support nil strings and seqs 2016-04-04 21:21:24 +02:00
Felix Krause 58b9b92895 Support int, uint and float types. 2016-04-04 20:44:16 +02:00
Felix Krause 6ad7e33bb5 Reduced dead code and compiler warnings 2016-04-03 11:45:48 +02:00
Felix Krause f2c83cc170 Support array types. Updated documentation 2016-04-03 11:29:49 +02:00