Commit Graph

95 Commits

Author SHA1 Message Date
jbeder
f4b81e7349 Fixed leak when adding duplicate keys (and actually changed the behavior - now we take the first instance, not the last) 2009-12-02 01:01:45 +00:00
jbeder
8f0f0d62a7 Refactored emitter operator << overloads to not template them, so it's easier to overload for pointer types 2009-11-17 20:21:22 +00:00
jbeder
7b33c7c4b4 Small bug from switching static initialized regexes to lazy ones 2009-11-12 05:45:47 +00:00
jbeder
71489e5abf Overloaded more integral types for emitting 2009-11-06 03:24:12 +00:00
jbeder
ca79c3da7f Switched the Exp:: regexes to functions that lazily evaluate their regexes 2009-11-04 22:56:59 +00:00
jbeder
fea35e3e8f Fixed silly bug in node cloning 2009-10-30 20:29:14 +00:00
jbeder
b1f143cfaf Fixed bug with block maps with null value (the next key was being read as the value) 2009-10-30 01:06:19 +00:00
jbeder
c3f222e4d9 Fixed the whitespace tracking when we escape a newline in a double-quoted string 2009-10-29 22:55:50 +00:00
jbeder
08ac48518f Refactored the compact map notation, which made it easy to implement explicit keys for compact maps 2009-10-29 22:09:50 +00:00
jbeder
7c4a8dad85 Added case for parsing a compact key: value pair in a flow sequence with a null key 2009-10-29 22:01:01 +00:00
jbeder
011a608b5a Implemented adjacent key:value pairs when the key is JSON-like 2009-10-29 21:05:48 +00:00
jbeder
72413bafd4 Added ability to read compact maps in a flow sequence 2009-10-29 19:41:46 +00:00
jbeder
cccbddb54c Merged r295:305 from the tags branch to the trunk 2009-10-29 15:48:06 +00:00
jbeder
4f74f805c2 Removed crt stuff (we can do memory leak checking in Linux easier) 2009-10-27 14:55:01 +00:00
jbeder
9ee348d62e Small refactoring 2009-10-22 21:51:32 +00:00
jbeder
2b2fca758c Switch to flow map when emitting an empty block map 2009-10-22 14:21:12 +00:00
jbeder
2022379cf4 Switch to flow sequence when emitting an empty sequence 2009-10-22 14:17:12 +00:00
jbeder
68df40c1dc Fixed bug in plain scalar folding 2009-10-20 14:47:16 +00:00
jbeder
9a28c9178e Merged r270:HEAD of the emitting-unicode branch 2009-10-19 23:31:11 +00:00
jbeder
ae937a31d2 Fixed little bug in parser commit 2009-10-19 22:42:30 +00:00
jbeder
afc7c1088d Added default constructor to Parser, and cleaned it up a bit 2009-10-19 22:40:46 +00:00
jbeder
41a776b397 Refactored the UTF-8 emitting 2009-10-08 21:05:56 +00:00
jbeder
15d5b2b533 Fixed the emitter unicode output 2009-10-07 06:46:05 +00:00
jbeder
fb443b3056 Updated signature of Parser::GetNextDocument (issue 45) 2009-09-29 18:25:11 +00:00
jbeder
e4540f2c2a Fixed flow folding, and made the separation slightly cleaner (but the whole scanscalar thing could use a major refactoring) 2009-09-08 05:24:06 +00:00
jbeder
d38c4e6026 (Actually) fixed the folding newline bug, but it's a bit messy, and we don't accurately make the distinction between block folding and flow folding 2009-09-07 23:29:04 +00:00
jbeder
afe01a86bd Fixed newlines in folded scalars bug 2009-09-07 22:48:32 +00:00
jbeder
d15ce26b58 Fixed bugs with tab as non-content whitespace 2009-09-07 17:12:45 +00:00
jbeder
a725d4b190 Fixed bugs in escape characters (both parsing and emitting) 2009-09-07 16:31:23 +00:00
jbeder
e1a112a761 Fixed last newline of folded scalar bug 2009-09-07 06:54:38 +00:00
jbeder
21232e3bef Fixed bug in trailing newlines of plain scalars 2009-09-07 06:42:03 +00:00
jbeder
e67e6e19f9 Fixed bug with complex keys (and simplified the parsing for flow maps) 2009-09-06 21:52:56 +00:00
jbeder
fe47783b5f Refactored the operator >> and Node::Read default functions, as well as the conversion functions, to more easily read new types as keys (this uncovered an error, in example 2.11 of the spec) 2009-09-06 20:52:45 +00:00
jbeder
2fe7e8d525 Added templated casting to nodes, as well as operator == and != (for quick checks, especially to help in testing). Implemented size() on a map node to return the number of key/value pairs (as in std::map) 2009-09-06 15:54:11 +00:00
jbeder
f21456972c Allowed solo entries in a flow map to be read as keys with null value 2009-09-05 22:42:01 +00:00
jbeder
ba472cc9a3 Finished refactoring of simple keys so that they can refer to multiple tokens at a single level 2009-09-05 03:49:38 +00:00
jbeder
a2f2ab8426 Refactored simple keys so that validating doesn't require popping indents, and so popping indents (and adding the end map) is independent of when we validate the simple key 2009-09-05 02:51:09 +00:00
jbeder
6594941d24 Moved token enums into Token scope 2009-09-05 02:28:11 +00:00
jbeder
f7a47e9f9f Fixed bug with omitted keys/values in a flow map 2009-09-02 21:39:57 +00:00
jbeder
aadc5052bc Fixed bug with explicit doc start introduced in last commit 2009-08-26 16:15:27 +00:00
jbeder
4457b7dd5b Removed the implicit sequence code (since it's not used any more) 2009-08-24 22:58:47 +00:00
jbeder
c7ed85a4ac Fixed bug in anchors with no content. This involved refactoring the 'implicit sequence' concept (where a map and a sequence start on the same indent, but we read the sequence as more indented since the '-' is visually an indent). 2009-08-24 22:56:54 +00:00
jbeder
fc22d55b53 Added Node::Clone function 2009-08-24 20:10:42 +00:00
jbeder
2c4a7cf58c Removed the std::wstring conversion 2009-08-22 00:25:37 +00:00
jbeder
770d6de545 Converted indexing to std::size_t, and fixed the Node templated overloads to properly index any index type (determining what is an index type is a bit of a hack - it should be is_convertible<T, std::size_t> (I think), but I just explicitly wrote down a list) 2009-08-19 20:58:07 +00:00
jbeder
c456eab7cd Fixed out-of-bounds memory access 2009-07-31 18:26:42 +00:00
jbeder
952f72233e Added IsNull function 2009-07-31 05:07:21 +00:00
jbeder
cb2b5783fa Fixed null key/value bug, added tests 2009-07-30 06:49:09 +00:00
jbeder
49265fa12b Fixed empty scalar in sequence bug 2009-07-30 05:54:40 +00:00
jbeder
c043b9c64b Added support for emitting and represeting null 2009-07-30 04:42:27 +00:00