32 Commits

Author SHA1 Message Date
Felix Krause
2c4e681f0b Finished JSON parser. Restructuring.
* Made JSON parser resolve anchors and aliases
 * Moved exported consts and types to yaml.nim
2015-12-26 13:16:57 +01:00
Felix Krause
c83d488886 Added JSON compositor. 2015-12-24 15:21:49 +01:00
Felix Krause
b8afc8b9d9 Fixed bug with indentation parsing 2015-12-24 15:21:27 +01:00
Felix Krause
e307cbbad5 Pipe type hints through parser. Fixed bugs. 2015-12-23 18:12:51 +01:00
Felix Krause
ffcbbf89e6 Restructured source code 2015-12-23 12:35:07 +01:00
Felix Krause
5c0e9f570b Added type hinting in lexer 2015-12-23 10:28:58 +01:00
Felix Krause
a9a1a67bc6 Support anchors on empty nodes 2015-12-22 23:35:03 +01:00
Felix Krause
545bff673a Support missing keys/values in maps 2015-12-22 22:28:27 +01:00
Felix Krause
ca077e54ca Allow mixing explicit and implicit map keys 2015-12-22 21:08:58 +01:00
Felix Krause
c1880b5117 Support tag handle after directives end 2015-12-22 18:51:16 +01:00
Felix Krause
f249813b90 Implemented alias resolution
* Parse alias nodes properly
 * Fixed a bug that prevented you from having objects as map keys
 * Use AnchorId for reporting anchors instead of strings
 * Do not use nil strings for anchor and tag
2015-12-22 16:28:35 +01:00
Felix Krause
e254d0f282 Made it work under Windows 2015-12-22 14:13:55 +01:00
Felix Krause
f320449a2d Got tags working 2015-12-21 23:10:42 +01:00
Felix Krause
32f36515e7 Return TagIds instead of strings 2015-12-21 21:58:28 +01:00
Felix Krause
70597105cb Worked on tags
* introduced YamlSequentialParser object that stores
   all known tag URIs
 * Added procs for registering and querying tag URIs
 * Return non-specific tags instead of nil if no tags
   exist in source
2015-12-21 21:40:27 +01:00
Felix Krause
edec7ece37 Implemented block scalars 2015-12-17 21:44:41 +01:00
Felix Krause
3ca3081e92 Added support for multiline plain scalars 2015-12-14 21:26:34 +01:00
Felix Krause
b56f9cb537 Refactoring of parser. 2015-12-11 22:55:21 +01:00
Felix Krause
01416f61be Improved mixing block and flow content 2015-12-10 23:02:06 +01:00
Felix Krause
ed7176131e Implemented flow style parsing
* Fixed lexer error where comma did not get properly processed
 * Implemented flow style in parser
 * Added tests
2015-12-10 22:28:57 +01:00
Felix Krause
e642e41f90 Bug fixes in lexer and parser
* Lexer: column now always points to start of token
 * Lexer: added ability to compile with -d:yamlDebug for debug output
 * Parser: Correctly handle nested sequences and maps
 * Tests: Added parser tests for nested objects
2015-12-10 20:53:43 +01:00
Felix Krause
73ce41bbef Added parsing tests; got basic parsing working 2015-12-07 22:09:57 +01:00
Felix Krause
ada4a36e6e Lexer: Fixed parsing verbatim tags 2015-12-07 19:09:02 +01:00
Felix Krause
0544a8bba0 Added sequential parser 2015-12-05 12:10:17 +01:00
Felix Krause
26c1c07567 No position in token; line and column in lexer 2015-11-30 20:36:55 +01:00
Felix Krause
9a3cf9a524 Renamed *LexerEvent* to *LexerToken* 2015-11-30 19:52:01 +01:00
Felix Krause
8493015042 Implemented anchors and aliases 2015-11-29 22:43:10 +01:00
Felix Krause
f876c845b7 Own token kinds for every special char, more tests 2015-11-29 22:27:05 +01:00
Felix Krause
71456c6bed Fixed unicode escaping; added tests 2015-11-29 21:01:22 +01:00
Felix Krause
f793247a41 Fixed line break handling 2015-11-29 16:50:27 +01:00
Felix Krause
9cba968c1e Separation between directives and content; tests 2015-11-29 15:42:41 +01:00
Felix Krause
a7c159933b Initial commit 2015-11-27 23:42:11 +01:00