Commit Graph
100 Commits
Author SHA1 Message Date
Jesse Beder 03fc837236 Set up util/parse for the new API 2011-09-10 23:03:02 -05:00
Jesse Beder 80cf3c98db Fixed minor things that used the old API, compiles/links/runs\! 2011-09-10 22:59:27 -05:00
Jesse Beder f7b2247217 Added stubs for spec and parser tests with the new API 2011-09-10 18:05:35 -05:00
Jesse Beder 36c63980b9 Moved old api tests to subfolder 2011-09-10 18:02:07 -05:00
Jesse Beder 0d1b5224c8 Major switch from Value -> Node. The library compiles with the new API, but tests are still oldies, and don't compile 2011-09-10 17:57:23 -05:00
Jesse Beder ac81d7c883 Start of moving Value -> Node and Node -> old API Node (with a #define toggle) 2011-09-10 17:18:15 -05:00
Jesse Beder 78b7a1b8a9 Added helper emitter functions, but we have a problem: YAML::Value is already a manipulator 2011-09-10 16:50:44 -05:00
Jesse Beder 12364895cb Implemented value events emitter 2011-09-10 16:23:18 -05:00
Jesse Beder 5012063143 Fixed node iterator 2011-09-10 14:36:10 -05:00
Jesse Beder c3b0ba9d61 New iterators work\! 2011-09-10 14:16:50 -05:00
Jesse Beder 4fdbb748ec Updated the node/value classes with the new iterators, they compile until we try to instantiate anything 2011-09-10 14:11:42 -05:00
Jesse Beder b1730ea3da Finished the main iterator stuff, now have to hook it to the nodes/values 2011-09-10 14:06:49 -05:00
Jesse Beder 3865d37bc7 Halfway towards factoring out a node_iterator, and then building iterator on top of it 2011-09-10 13:20:22 -05:00
Jesse Beder f5a9d4c8e3 Started emitting events for Values 2011-09-10 12:42:42 -05:00
Jesse Beder 09beb5c47a Implemented sugar Parse() functions 2011-09-09 23:40:19 -05:00
Jesse Beder 6e03bebeb0 Implemented (untested) the value builder 2011-09-09 23:28:21 -05:00
Jesse Beder a7bdf08c7e Map iterator works\! 2011-09-09 19:25:11 -05:00
Jesse Beder cf198080d0 Sequence iterator works\! 2011-09-09 19:22:17 -05:00
Jesse Beder 190a556756 Switched iterators to typedef's, with a bit of finagling so we can forward-declare them 2011-09-09 19:07:37 -05:00
Jesse Beder 9aa3eb56f2 Base iterator stuff compiles :) 2011-09-09 18:46:37 -05:00
Jesse Beder ff1a8fc59a Started writing new iterators 2011-09-09 16:17:59 -05:00
Jesse Beder 7bbf712c36 Made the 'data' member optional in node_ref - it's only created on-demand, so we don't waste extra memory every time we do Value tmp = v; 2011-09-09 14:26:55 -05:00
Jesse Beder 9b985c5ce2 Switched value = otherValue to assign the actual nodes after setting the reference (so that tmp = foo['bar']; tmp = other; is the same as foo['bar'] = other;) 2011-09-09 14:02:18 -05:00
Jesse Beder d3bbd08273 Added append() 2011-09-09 02:51:35 -05:00
Jesse Beder 4f8680b540 Switched operator[] access to node reference equality, not node equality 2011-09-09 02:39:36 -05:00
Jesse Beder ec95e61c04 Switched memory to using shared nodes, and node_data to keep only naked node pointers, not shared nodes (to break the cycle, and we don't need weak pointers because their memory is guaranteed to exist, via 'memory') 2011-09-09 02:29:17 -05:00
Jesse Beder 6ffc9ac788 Added half of the std::map conversion (we don't have reading from Values yet) 2011-09-08 02:10:04 -05:00
Jesse Beder 0e197b8723 Added back the streamable conversions 2011-09-08 02:05:03 -05:00
Jesse Beder 3d84f57008 Switched convert to a templated struct that can be specialized (so we can partially specialize it) 2011-09-08 02:02:15 -05:00
Jesse Beder a7ebb3615a Added streamable conversions 2011-09-08 00:48:40 -05:00
Jesse Beder a95baeafd6 Implemented conversion for std::string, including a bypass-accessor to the scalar value 2011-09-07 15:49:01 -05:00
Jesse Beder 1ab16bac62 Set the 'memory' to only store node_refs, not nodes 2011-09-07 14:56:04 -05:00
Jesse Beder 4aa61944fe Implemented is() 2011-09-07 14:46:25 -05:00
Jesse Beder e225509210 Added (another) layer - now 'node_ref' is between node and node_data, and it decrees whether nodes are identical 2011-09-07 14:44:18 -05:00
Jesse Beder d1eca90216 Implemented map get(), and it would work (I think) if we implemented convert() for strings 2011-09-07 03:36:50 -05:00
Jesse Beder 020cd97915 Set up map searching by templated key 2011-09-07 03:21:24 -05:00
Jesse Beder f0174ca08b Reorganized so that we don't have cyclic include problems 2011-09-07 02:59:58 -05:00
Jesse Beder fed95c5da4 Implemented map access by already-existing node 2011-09-07 02:39:59 -05:00
Jesse Beder a530630f1c Started implementing node_data 2011-09-07 00:45:28 -05:00
Jesse Beder 00e4a56d15 Compiles/links assignment to string 2011-09-07 00:20:23 -05:00
Jesse Beder 1e6877043e Value stuff compiles/links with lots of placeholder functions 2011-09-07 00:12:24 -05:00
Jesse Beder 248b18a2d0 Sketched more of the implementation 2011-09-06 23:11:38 -05:00
Jesse Beder 7e79edc058 Moved the value header to its own subfolder 2011-09-06 16:06:46 -05:00
Jesse Beder 8b97dfe77e Sketched out interface for YAML::Value 2011-09-06 01:43:15 -05:00
Jesse Beder 3eeb270ef5 Merged from trunk 2011-09-06 01:10:27 -05:00
Jesse Beder c1d75dd4f7 Added notes about the two failing tests - that they're (I think) bugs in the YAML spec 2011-09-06 01:05:14 -05:00
Jesse Beder dd1eb715c4 Switched YAML::Binary interface to use unsigned chars, not chars 2011-09-06 00:39:31 -05:00
Jesse Beder fadca5a89d Added overload for operator [] for char * (non-const version) 2011-09-06 00:32:53 -05:00
Jesse Beder 7e129c9b64 Fixed empty string emitter bug (it now with auto-quote it 2011-09-06 00:24:10 -05:00
Jesse Beder 3e94c0a037 Switched the 'pragma once' to only happen on MSVC, or gcc >= 3.4 (it was causing trouble on the sun compiler) 2011-09-06 00:16:03 -05:00
Jesse Beder d7feb2e9b9 Added api sketch 2011-09-04 19:50:08 -05:00
Jesse Beder 8ba5e3fbf6 Added .hgeol for native eols 2011-08-24 02:59:58 -05:00
Jesse Beder 857c7d93a0 update tags 2011-08-24 13:44:56 +00:00
Jesse Beder b690648308 Removed ATOMIC_TYPE, an old enum that wasn't used any more 2011-08-22 21:37:51 +00:00
Jesse Beder d904b600a9 Added test for anchor/alias in flow 2011-08-04 21:50:04 +00:00
Jesse Beder bacb74e8ec Forced a newline after any comments 2011-08-04 21:47:57 +00:00
Jesse Beder b1ac3289b8 Included <cstddef> for NULL 2011-08-04 18:47:37 +00:00
Jesse Beder 835b86d9f7 Fixed negative infinity parsing 2011-07-10 18:29:44 +00:00
Jesse Beder 94dc63af04 Added parsing .inf and .nan (and friend) 2011-07-10 16:27:40 +00:00
Jesse Beder 50474b6b9f Fixed includedir for the .pc.cmake file 2011-05-29 02:17:49 +00:00
Jesse Beder 4c3926a5c7 Added emitting std::set (and refactored the stl emitters a bit) 2011-05-18 21:07:25 +00:00
Jesse Beder 9fbcfe9ec5 Added include <cstdlib> for using 'NULL' (apparently gcc 4.6 is more strict) 2011-05-03 21:55:49 +00:00
Jesse Beder d98687afc3 Set version to 0.2.6 2011-03-30 01:33:02 +00:00
Jesse Beder f42580be41 Switched project label to use 'nicer' suffix (e.g., md instead of /MD) 2011-03-21 23:03:01 +00:00
Jesse Beder 6e0e9554c6 Added eol-style=native prop to missing files 2011-03-17 02:06:10 +00:00
Jesse Beder dc5bd4afce Fixed mixed line endings 2011-03-17 02:04:34 +00:00
Jesse Beder c67b41c966 Marked Parser, Emitter, Node, Iterator, Mark, and Null for exporting to a DLL. It appears to work properly, although VS gives me lots of warning C4251 since I didn't export all data members of each of the above classes.
It seems that it's not necessary to export those members (as long as you can't access them), and most of them are STL instances, which apparently cause lots of problems for DLLs. (For example, you simply can't export instances of std::map; see http://support.microsoft.com/kb/168958.)
2011-03-16 02:31:30 +00:00
Jesse Beder 221d17b0c6 Set eol-style to native for all sources 2011-03-16 01:13:41 +00:00
Jesse Beder 9a72702a61 Added option to disable compilation of contrib code 2011-03-16 01:10:57 +00:00
Jesse Beder ebdfeb0349 Removed comparison/implicit conversion operators for Node, and renamed Node::Read<T>() to Node::to<T>() 2011-03-15 05:49:56 +00:00
Jesse Beder 6152fb345e Added newline at the end 2011-03-10 00:23:15 +00:00
Jesse Beder f9e1a882e8 Updated for error in spec test 2011-03-04 04:19:34 +00:00
Jesse Beder 681c862f54 Added spec tests through chapter 8, all new ones pass except 8.21, which I think is wrong 2011-03-04 04:14:08 +00:00
Jesse Beder bb463d8d8b Fixed folding bug (detecting indentation, example 8.2), and clipping/stripping empty strings (example 8.6) 2011-03-04 02:26:59 +00:00
Jesse Beder 943d000ab3 Refactored parse.cpp so that VS doesn't complain, added MinSizeRel build setting, and fixed numbering in the spec tests 2011-03-03 20:01:32 +00:00
Jesse Beder cb632b3968 Added explicit doc start/end tokens for the emitter, and set it so that if you try to write after you've already written a full doc, it writes a doc start and continues 2011-03-03 09:26:12 +00:00
Jesse Beder b9d4ccd254 Removed the default --- at the start of all emitter output 2011-03-03 08:57:00 +00:00
Jesse Beder d6aeb16450 Switched the scanner list of owned indent markers to a ptr_vector 2011-03-03 08:34:30 +00:00
Jesse Beder a518d87cfc Switched the emitter state's stack of groups to a ptr_stack 2011-03-03 08:11:14 +00:00
Jesse Beder 27617ec2be Added parsing of output to emitter tests 2011-03-03 08:04:30 +00:00
Jesse Beder 1f9cc2d327 Compressed the sequence-of-maps emitting (got rid of the unnecessary newline) - issue 61 2011-03-03 03:37:54 +00:00
Jesse Beder 9128d841f5 Set the precision of emitting float/double to 15 2011-03-03 02:38:35 +00:00
Jesse Beder ca5992b971 Merged r444:449 from the node refactoring branch to the trunk 2011-03-03 00:19:26 +00:00
Jesse Beder ced50538fe Tiny formatting change in CMake file 2011-03-02 21:09:38 +00:00
Jesse Beder 1371fc446c Removed the old, unsupported Visual Studio files (just build with CMake) 2011-03-02 21:03:03 +00:00
Jesse Beder 7998db8397 Prettied up the bool formatting code 2011-03-02 20:59:39 +00:00
Jesse Beder 39c396ab01 Refactored bool emitting to make it 1) correct for the short bool form and 2) not barf on early versions of VS 2011-03-02 20:55:05 +00:00
Jesse Beder 1e0c36c5cc Included 'mark.h' in the graphbuilder so that its method for removing the unused param warning (casting to void) compiles on VS 2011-03-02 20:30:54 +00:00
Jesse Beder f34d60ca65 Flipped the include guard and the pragma, and don't use the pragma for early versions of gcc (< 3.4) 2011-03-02 06:11:41 +00:00
Jesse Beder 4caedfda74 Small changes to eliminate compiler warnings for 'nite' in issue 83 2011-03-02 05:29:46 +00:00
Jesse Beder 2faeb76e2d Moved the local structs from Emitter::Write(bool) to an anonymous namespace in the hopes that Visual Studio <= 2003 will be happy 2011-03-02 05:21:25 +00:00
Jesse Beder 75a2fbe564 Fixed 'long long' error in VS 2002, issue 90 2011-03-02 05:15:36 +00:00
Jesse Beder 4d95e4da74 Merged the debuggable branch's CMakeLists.txt (and added a build for RelWithDebInfo) - note that the options are only for gcc 2011-03-02 05:02:01 +00:00
Jesse Beder 802cc6bcd6 Merged contrib folders from the graphbuilder-api branch, including the recursive search in CMakeLists.txt 2011-03-02 04:48:04 +00:00
Jesse Beder 04bc13caf8 Merged CMakeLists.txt from issue 87 - now it's cleaner, and supports Windows much better 2011-03-02 04:37:55 +00:00
Jesse Beder c65a7dfc7c Switched exception constants to const char * const (from const std::string) so we don't have to construct them all in every translation unit, and switched the exception class to derive from std::runtime_error (so it handles what() for us) 2011-03-02 04:12:57 +00:00
Jesse Beder d1cb1aa74f Included cstddef to stream.h 2011-02-05 22:28:08 +00:00
Jesse Beder be1b14f369 Added Anchor() regex (so that we're not just using Alphanumeric to match anchors), but it's still not 100% right (it shouldn't allow non-printable characters, e.g.). Also fixed a test that was broken along these lines (if a colon immediately follows an anchor, it's part of the anchor) 2011-01-31 17:47:20 +00:00
Jesse Beder 337cb553d0 Fixed emitting colon at end of scalar bug 2010-12-03 21:52:04 +00:00
Jesse Beder 99089bf218 Added long long types to the emitter 2010-11-15 01:46:33 +00:00