Commit Graph

228 Commits

Author SHA1 Message Date
jbeder
51ea36e444 Added a templated derived exception to KeyNotFound so that you can figure out *which* key wasn't found. 2009-01-01 02:40:18 +00:00
jbeder
ad2b9fbaaf Fixed tag output bug 2008-11-20 04:12:31 +00:00
jbeder
4b45a7185a Replaced a pointer-centered try/catch block with std::auto_ptr 2008-11-20 03:41:40 +00:00
jbeder
27da48bac2 Added line/column data for nodes so they can give better invalid scalar exceptions. 2008-11-18 04:20:07 +00:00
jbeder
09d2858dc0 Added line/column data for nodes so they can give better invalid scalar exceptions. 2008-11-18 04:19:50 +00:00
jbeder
d1ef1e8ef1 Added more natural ways to parse boolean values (based on the YAML spec).
(Thanks to Vadim Zeitlin)
2008-09-25 00:15:40 +00:00
jbeder
bf01059c38 Added Read() functions for Node that return true/false, so we can easily check if a read is successful without throwing.
But we still have operator >> that throws on failure.
2008-09-24 23:29:00 +00:00
jbeder
ecba08e240 Fixed infinite loop bug having to do with simple keys when we hit an unexpected EOF. 2008-09-24 22:45:04 +00:00
jbeder
d51888bc7e Fixed a problem where you lose the exception type on rethrow. 2008-09-23 21:13:23 +00:00
jbeder
0b6edc6cfe Made Node non-copyable. 2008-09-19 02:44:49 +00:00
jbeder
1d92deff31 2008-09-11 03:49:52 +00:00
jbeder
c44b8e601e 2008-09-11 03:48:04 +00:00
jbeder
b43f827188 Set the eol style to native for all files. 2008-09-03 22:20:39 +00:00
jbeder
859ac5e520 Fixed some gcc warnings. 2008-09-03 22:19:27 +00:00
jbeder
7f2c3591e3 Unified line endings. 2008-09-03 22:17:17 +00:00
jbeder
a57a5748f8 Added the license.txt file describing the MIT license. 2008-09-03 04:37:06 +00:00
jbeder
aa25fadf94 Fixed struct vs. class disparity. 2008-08-07 03:37:16 +00:00
jbeder
2d93b6ce58 Added CMake scripts for other platforms\nFixed some bugs that gcc complained about\nFixed CR/LF vs LF bug 2008-08-07 03:30:56 +00:00
beder
2601f5fd49 2008-07-31 19:41:11 +00:00
beder
89ed418b83 Small changes in the iterator code.
Changed the public interface of Scanner to resemble an STL container.
2008-07-23 04:38:18 +00:00
beder
57255a9898 Switched the Iterator implementation to a dedicated helper class (to hide the specific implementation, since it's pretty messy and may change). 2008-07-21 02:54:39 +00:00
beder
557f81e622 Replaced the queue of Token pointers with values.
We were getting memory leaks (as told by the CRT detectors, which I also added), and there's really no reason (as long as we're careful) to use pointers there.
2008-07-20 05:02:01 +00:00
beder
f4e522490f Moved the testing source to the yaml-reader folder. 2008-07-14 05:18:25 +00:00
beder
2ffc7dc6ac Set the yaml-reader project to link to the yamlcpp library. 2008-07-14 05:08:46 +00:00
beder
11eb40e636 Added a static library project 'yamlcpp' to the solution. 2008-07-14 05:03:38 +00:00
beder
ef8e9415f8 Renamed the solution yamlcpp. 2008-07-14 04:51:47 +00:00
beder
4c1c0977ab 2008-07-14 04:37:58 +00:00
beder
516637fcdc Moved all code to src/ and include/ directories. 2008-07-14 04:33:30 +00:00
beder
e6aeb45d09 Switched from moving the cursor forward (in Regex) to ignoring (this handles newlines properly).
Updated some of the character-in-scalar rules.
2008-07-10 00:23:25 +00:00
beder
0b2e0dd32b Centralized the error messages to one location. 2008-07-08 20:31:48 +00:00
beder
84bcdda342 Removed the (unused) 'required' flag from simple keys (the parser should take care of this, not the scanner). 2008-07-08 18:34:26 +00:00
beder
5d5651861d Added some exceptions for directives. 2008-07-08 06:06:24 +00:00
beder
2f5c19fa00 Combined the myriad ScannerExceptions and ParserExceptions to a single ParserException class that has a message and a line/column position in the file where the error occurred. 2008-07-08 05:48:38 +00:00
beder
1acc0e4982 Added a (recursive) ordering, so we have a canonical output that we can compare. 2008-07-06 00:06:36 +00:00
beder
3cad5a2ed0 Wrote some tests, but they don't work because it doesn't output maps in a canonical form. 2008-07-05 19:00:58 +00:00
beder
ba97c9f719 Rewrote the output so that it emits correct YAML.
Fixed a bug in the last newline of a block folded scalar.
2008-07-05 05:28:23 +00:00
beder
5feaef3748 2008-07-04 22:57:52 +00:00
beder
c4c873733b Removed the document class (since it's really just a root node, and that's it). 2008-07-04 22:56:43 +00:00
beder
99a9aaa591 Specialized the overloaded [] operator for int/unsigned, and added a size() function, so that you can iterate through a sequence node like a vector. 2008-07-02 21:41:54 +00:00
beder
620c322df5 Added some parser exceptions. 2008-07-02 05:00:32 +00:00
beder
807045bc14 Overloaded the iterator's -> operator. 2008-07-02 01:32:19 +00:00
beder
b4b287c4e9 Added an iterator class that can iterate through both sequence and map nodes. 2008-07-02 01:22:39 +00:00
beder
81ff4946ae Fixed opening newline bug for block scalars. 2008-07-01 06:34:55 +00:00
beder
8eb50fe9d0 Tags, anchors, and aliases are all parsed now. 2008-07-01 06:28:10 +00:00
beder
104da5c244 Added parsing of anchors, aliases, and tags (still no semantics yet).
Fixed a silly bug in the simple key pushing (queues are FIFO!).
2008-07-01 01:17:10 +00:00
beder
d41503da5a Finished parsing of basic data types (scalar, sequence, map). 2008-06-30 23:57:58 +00:00
beder
146122f455 Renamed the stream member functions get() and eat(). 2008-06-30 22:34:10 +00:00
beder
17533e22da Instead of deriving different tokens from a base Token class, we now use an enumerated TOKEN_TYPE to distinguish types. This is so we don't have to cast all the time when parsing the resulting token stream.
Also, removed start/end stream tokens.
2008-06-30 21:47:21 +00:00
beder
2a7e20a315 Started the parser. 2008-06-30 06:51:22 +00:00
beder
795df7224b Added a peek token command (for the parser to use). 2008-06-30 06:21:12 +00:00