Jesse Beder
9969ff512e
Added line/column data for nodes so they can give better invalid scalar exceptions.
2008-11-18 04:19:50 +00:00
Jesse Beder
14cdec770c
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
Jesse Beder
6e4317e37c
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
Jesse Beder
907be0660c
Fixed infinite loop bug having to do with simple keys when we hit an unexpected EOF.
2008-09-24 22:45:04 +00:00
Jesse Beder
3ed09b89f8
Fixed a problem where you lose the exception type on rethrow.
2008-09-23 21:13:23 +00:00
Jesse Beder
1406b84016
Made Node non-copyable.
2008-09-19 02:44:49 +00:00
Jesse Beder
c175be7d4c
2008-09-11 03:49:52 +00:00
Jesse Beder
9d403d08f0
2008-09-11 03:48:04 +00:00
Jesse Beder
45322566c7
Set the eol style to native for all files.
2008-09-03 22:20:39 +00:00
Jesse Beder
a45f083e00
Fixed some gcc warnings.
2008-09-03 22:19:27 +00:00
Jesse Beder
5c0db0d21b
Unified line endings.
2008-09-03 22:17:17 +00:00
Jesse Beder
80db86e771
Added the license.txt file describing the MIT license.
2008-09-03 04:37:06 +00:00
Jesse Beder
b16f958660
Fixed struct vs. class disparity.
2008-08-07 03:37:16 +00:00
Jesse Beder
ec2ecad197
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
Jesse Beder
813817f1ab
2008-07-31 19:41:11 +00:00
Jesse Beder
d45bb667b6
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
Jesse Beder
cc87c83b01
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
Jesse Beder
09d7ab365f
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
Jesse Beder
2eab1e025e
Moved the testing source to the yaml-reader folder.
2008-07-14 05:18:25 +00:00
Jesse Beder
2e2c489e29
Set the yaml-reader project to link to the yamlcpp library.
2008-07-14 05:08:46 +00:00
Jesse Beder
f3a2c8497a
Added a static library project 'yamlcpp' to the solution.
2008-07-14 05:03:38 +00:00
Jesse Beder
771cc6fa25
Renamed the solution yamlcpp.
2008-07-14 04:51:47 +00:00
Jesse Beder
ef630abeee
2008-07-14 04:37:58 +00:00
Jesse Beder
cadc04ce47
Moved all code to src/ and include/ directories.
2008-07-14 04:33:30 +00:00
Jesse Beder
4cfa233888
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
Jesse Beder
03e6b5b991
Centralized the error messages to one location.
2008-07-08 20:31:48 +00:00
Jesse Beder
c0c55fe50b
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
Jesse Beder
a8a0fb41cb
Added some exceptions for directives.
2008-07-08 06:06:24 +00:00
Jesse Beder
6c2946bf58
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
Jesse Beder
115cf601e9
Added a (recursive) ordering, so we have a canonical output that we can compare.
2008-07-06 00:06:36 +00:00
Jesse Beder
2a0ddc8cb2
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
Jesse Beder
dacc631968
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
Jesse Beder
d98007b0be
2008-07-04 22:57:52 +00:00
Jesse Beder
ed488e5197
Removed the document class (since it's really just a root node, and that's it).
2008-07-04 22:56:43 +00:00
Jesse Beder
2be40919de
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
Jesse Beder
2ccbfeff47
Added some parser exceptions.
2008-07-02 05:00:32 +00:00
Jesse Beder
901d16a96f
Overloaded the iterator's -> operator.
2008-07-02 01:32:19 +00:00
Jesse Beder
d56b54b34f
Added an iterator class that can iterate through both sequence and map nodes.
2008-07-02 01:22:39 +00:00
Jesse Beder
f7358701f2
Fixed opening newline bug for block scalars.
2008-07-01 06:34:55 +00:00
Jesse Beder
4c5a488f68
Tags, anchors, and aliases are all parsed now.
2008-07-01 06:28:10 +00:00
Jesse Beder
8180a85a3b
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
Jesse Beder
121c2e577f
Finished parsing of basic data types (scalar, sequence, map).
2008-06-30 23:57:58 +00:00
Jesse Beder
c1966ba3fc
Renamed the stream member functions get() and eat().
2008-06-30 22:34:10 +00:00
Jesse Beder
852e5b63e5
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
Jesse Beder
b6a0ef207b
Started the parser.
2008-06-30 06:51:22 +00:00
Jesse Beder
ed6c294749
Added a peek token command (for the parser to use).
2008-06-30 06:21:12 +00:00
Jesse Beder
07d4cac48f
Added directives and tags.
2008-06-30 04:22:41 +00:00
Jesse Beder
2b8628922f
Moved the three scalar token scanning functions back to scantoken.cpp, so scanscalar.cpp now only has the main scalar scanning function.
...
Renamed ScanScalarInfo to ScanScalarParams.
2008-06-30 01:38:32 +00:00
Jesse Beder
0683cbf859
Mostly finished refactoring the scalar scanning.
2008-06-30 01:31:23 +00:00
Jesse Beder
5f8252ee6f
Moved scalar scanning-related parameters to a struct.
...
Renamed the valid/possible tokens to a single variable status with enums valid, invalid, and unverified.
2008-06-29 17:39:33 +00:00