Commit Graph

  • 78b7a1b8a9 Added helper emitter functions, but we have a problem: YAML::Value is already a manipulator Jesse Beder 2011-09-10 16:50:44 -05:00
  • 12364895cb Implemented value events emitter Jesse Beder 2011-09-10 16:23:18 -05:00
  • 5012063143 Fixed node iterator Jesse Beder 2011-09-10 14:36:10 -05:00
  • c3b0ba9d61 New iterators work\! Jesse Beder 2011-09-10 14:16:50 -05:00
  • 4fdbb748ec Updated the node/value classes with the new iterators, they compile until we try to instantiate anything Jesse Beder 2011-09-10 14:11:42 -05:00
  • b1730ea3da Finished the main iterator stuff, now have to hook it to the nodes/values Jesse Beder 2011-09-10 14:06:49 -05:00
  • 3865d37bc7 Halfway towards factoring out a node_iterator, and then building iterator on top of it Jesse Beder 2011-09-10 13:20:22 -05:00
  • f5a9d4c8e3 Started emitting events for Values Jesse Beder 2011-09-10 12:42:42 -05:00
  • 09beb5c47a Implemented sugar Parse() functions Jesse Beder 2011-09-09 23:40:19 -05:00
  • 6e03bebeb0 Implemented (untested) the value builder Jesse Beder 2011-09-09 23:28:21 -05:00
  • a7bdf08c7e Map iterator works\! Jesse Beder 2011-09-09 19:25:11 -05:00
  • cf198080d0 Sequence iterator works\! Jesse Beder 2011-09-09 19:22:17 -05:00
  • 190a556756 Switched iterators to typedef's, with a bit of finagling so we can forward-declare them Jesse Beder 2011-09-09 19:07:37 -05:00
  • 9aa3eb56f2 Base iterator stuff compiles :) Jesse Beder 2011-09-09 18:46:37 -05:00
  • ff1a8fc59a Started writing new iterators Jesse Beder 2011-09-09 16:17:59 -05:00
  • 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; Jesse Beder 2011-09-09 14:26:55 -05:00
  • 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;) Jesse Beder 2011-09-09 14:02:18 -05:00
  • d3bbd08273 Added append() Jesse Beder 2011-09-09 02:51:35 -05:00
  • 4f8680b540 Switched operator[] access to node reference equality, not node equality Jesse Beder 2011-09-09 02:39:36 -05:00
  • 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') Jesse Beder 2011-09-09 02:29:17 -05:00
  • 6ffc9ac788 Added half of the std::map conversion (we don't have reading from Values yet) Jesse Beder 2011-09-08 02:10:04 -05:00
  • 0e197b8723 Added back the streamable conversions Jesse Beder 2011-09-08 02:05:03 -05:00
  • 3d84f57008 Switched convert to a templated struct that can be specialized (so we can partially specialize it) Jesse Beder 2011-09-08 02:02:15 -05:00
  • a7ebb3615a Added streamable conversions Jesse Beder 2011-09-08 00:48:40 -05:00
  • a95baeafd6 Implemented conversion for std::string, including a bypass-accessor to the scalar value Jesse Beder 2011-09-07 15:49:01 -05:00
  • 1ab16bac62 Set the 'memory' to only store node_refs, not nodes Jesse Beder 2011-09-07 14:56:04 -05:00
  • 4aa61944fe Implemented is() Jesse Beder 2011-09-07 14:46:25 -05:00
  • e225509210 Added (another) layer - now 'node_ref' is between node and node_data, and it decrees whether nodes are identical Jesse Beder 2011-09-07 14:44:18 -05:00
  • d1eca90216 Implemented map get(), and it would work (I think) if we implemented convert() for strings Jesse Beder 2011-09-07 03:36:50 -05:00
  • 020cd97915 Set up map searching by templated key Jesse Beder 2011-09-07 03:21:24 -05:00
  • f0174ca08b Reorganized so that we don't have cyclic include problems Jesse Beder 2011-09-07 02:59:58 -05:00
  • fed95c5da4 Implemented map access by already-existing node Jesse Beder 2011-09-07 02:39:59 -05:00
  • a530630f1c Started implementing node_data Jesse Beder 2011-09-07 00:45:28 -05:00
  • 00e4a56d15 Compiles/links assignment to string Jesse Beder 2011-09-07 00:20:23 -05:00
  • 1e6877043e Value stuff compiles/links with lots of placeholder functions Jesse Beder 2011-09-07 00:12:24 -05:00
  • 248b18a2d0 Sketched more of the implementation Jesse Beder 2011-09-06 23:11:38 -05:00
  • 7e79edc058 Moved the value header to its own subfolder Jesse Beder 2011-09-06 16:06:46 -05:00
  • 8b97dfe77e Sketched out interface for YAML::Value Jesse Beder 2011-09-06 01:43:15 -05:00
  • 3eeb270ef5 Merged from trunk Jesse Beder 2011-09-06 01:10:27 -05:00
  • c1d75dd4f7 Added notes about the two failing tests - that they're (I think) bugs in the YAML spec Jesse Beder 2011-09-06 01:05:14 -05:00
  • dd1eb715c4 Switched YAML::Binary interface to use unsigned chars, not chars Jesse Beder 2011-09-06 00:39:31 -05:00
  • fadca5a89d Added overload for operator [] for char * (non-const version) Jesse Beder 2011-09-06 00:32:53 -05:00
  • 7e129c9b64 Fixed empty string emitter bug (it now with auto-quote it Jesse Beder 2011-09-06 00:24:10 -05:00
  • 3e94c0a037 Switched the 'pragma once' to only happen on MSVC, or gcc >= 3.4 (it was causing trouble on the sun compiler) Jesse Beder 2011-09-06 00:16:03 -05:00
  • d7feb2e9b9 Added api sketch Jesse Beder 2011-09-04 19:50:08 -05:00
  • 8ba5e3fbf6 Added .hgeol for native eols Jesse Beder 2011-08-24 02:59:58 -05:00
  • 857c7d93a0 update tags Jesse Beder 2011-08-24 13:44:56 +00:00
  • b690648308 Removed ATOMIC_TYPE, an old enum that wasn't used any more Jesse Beder 2011-08-22 21:37:51 +00:00
  • d904b600a9 Added test for anchor/alias in flow Jesse Beder 2011-08-04 21:50:04 +00:00
  • bacb74e8ec Forced a newline after any comments Jesse Beder 2011-08-04 21:47:57 +00:00
  • b1ac3289b8 Included <cstddef> for NULL Jesse Beder 2011-08-04 18:47:37 +00:00
  • 835b86d9f7 Fixed negative infinity parsing Jesse Beder 2011-07-10 18:29:44 +00:00
  • 94dc63af04 Added parsing .inf and .nan (and friend) Jesse Beder 2011-07-10 16:27:40 +00:00
  • 50474b6b9f Fixed includedir for the .pc.cmake file Jesse Beder 2011-05-29 02:17:49 +00:00
  • 4c3926a5c7 Added emitting std::set (and refactored the stl emitters a bit) Jesse Beder 2011-05-18 21:07:25 +00:00
  • 9fbcfe9ec5 Added include <cstdlib> for using 'NULL' (apparently gcc 4.6 is more strict) Jesse Beder 2011-05-03 21:55:49 +00:00
  • d98687afc3 Set version to 0.2.6 Jesse Beder 2011-03-30 01:33:02 +00:00
  • f42580be41 Switched project label to use 'nicer' suffix (e.g., md instead of /MD) release-0.2.6 Jesse Beder 2011-03-21 23:03:01 +00:00
  • 6e0e9554c6 Added eol-style=native prop to missing files Jesse Beder 2011-03-17 02:06:10 +00:00
  • dc5bd4afce Fixed mixed line endings Jesse Beder 2011-03-17 02:04:34 +00:00
  • 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. Jesse Beder 2011-03-16 02:31:30 +00:00
  • 221d17b0c6 Set eol-style to native for all sources Jesse Beder 2011-03-16 01:13:41 +00:00
  • 9a72702a61 Added option to disable compilation of contrib code Jesse Beder 2011-03-16 01:10:57 +00:00
  • ebdfeb0349 Removed comparison/implicit conversion operators for Node, and renamed Node::Read<T>() to Node::to<T>() Jesse Beder 2011-03-15 05:49:56 +00:00
  • 6152fb345e Added newline at the end Jesse Beder 2011-03-10 00:23:15 +00:00
  • f9e1a882e8 Updated for error in spec test Jesse Beder 2011-03-04 04:19:34 +00:00
  • 681c862f54 Added spec tests through chapter 8, all new ones pass except 8.21, which I think is wrong Jesse Beder 2011-03-04 04:14:08 +00:00
  • bb463d8d8b Fixed folding bug (detecting indentation, example 8.2), and clipping/stripping empty strings (example 8.6) Jesse Beder 2011-03-04 02:26:59 +00:00
  • 943d000ab3 Refactored parse.cpp so that VS doesn't complain, added MinSizeRel build setting, and fixed numbering in the spec tests Jesse Beder 2011-03-03 20:01:32 +00:00
  • 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 Jesse Beder 2011-03-03 09:26:12 +00:00
  • b9d4ccd254 Removed the default --- at the start of all emitter output Jesse Beder 2011-03-03 08:57:00 +00:00
  • d6aeb16450 Switched the scanner list of owned indent markers to a ptr_vector Jesse Beder 2011-03-03 08:34:30 +00:00
  • a518d87cfc Switched the emitter state's stack of groups to a ptr_stack Jesse Beder 2011-03-03 08:11:14 +00:00
  • 27617ec2be Added parsing of output to emitter tests Jesse Beder 2011-03-03 08:04:30 +00:00
  • 1f9cc2d327 Compressed the sequence-of-maps emitting (got rid of the unnecessary newline) - issue 61 Jesse Beder 2011-03-03 03:37:54 +00:00
  • 9128d841f5 Set the precision of emitting float/double to 15 Jesse Beder 2011-03-03 02:38:35 +00:00
  • ca5992b971 Merged r444:449 from the node refactoring branch to the trunk Jesse Beder 2011-03-03 00:19:26 +00:00
  • ced50538fe Tiny formatting change in CMake file Jesse Beder 2011-03-02 21:09:38 +00:00
  • 1371fc446c Removed the old, unsupported Visual Studio files (just build with CMake) Jesse Beder 2011-03-02 21:03:03 +00:00
  • 7998db8397 Prettied up the bool formatting code Jesse Beder 2011-03-02 20:59:39 +00:00
  • 39c396ab01 Refactored bool emitting to make it 1) correct for the short bool form and 2) not barf on early versions of VS Jesse Beder 2011-03-02 20:55:05 +00:00
  • 1e0c36c5cc Included 'mark.h' in the graphbuilder so that its method for removing the unused param warning (casting to void) compiles on VS Jesse Beder 2011-03-02 20:30:54 +00:00
  • f34d60ca65 Flipped the include guard and the pragma, and don't use the pragma for early versions of gcc (< 3.4) Jesse Beder 2011-03-02 06:11:41 +00:00
  • 4caedfda74 Small changes to eliminate compiler warnings for 'nite' in issue 83 Jesse Beder 2011-03-02 05:29:46 +00:00
  • 2faeb76e2d Moved the local structs from Emitter::Write(bool) to an anonymous namespace in the hopes that Visual Studio <= 2003 will be happy Jesse Beder 2011-03-02 05:21:25 +00:00
  • 75a2fbe564 Fixed 'long long' error in VS 2002, issue 90 Jesse Beder 2011-03-02 05:15:36 +00:00
  • 4d95e4da74 Merged the debuggable branch's CMakeLists.txt (and added a build for RelWithDebInfo) - note that the options are only for gcc Jesse Beder 2011-03-02 05:02:01 +00:00
  • 802cc6bcd6 Merged contrib folders from the graphbuilder-api branch, including the recursive search in CMakeLists.txt Jesse Beder 2011-03-02 04:48:04 +00:00
  • 04bc13caf8 Merged CMakeLists.txt from issue 87 - now it's cleaner, and supports Windows much better Jesse Beder 2011-03-02 04:37:55 +00:00
  • 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) Jesse Beder 2011-03-02 04:12:57 +00:00
  • d1cb1aa74f Included cstddef to stream.h Jesse Beder 2011-02-05 22:28:08 +00:00
  • 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) Jesse Beder 2011-01-31 17:47:20 +00:00
  • 337cb553d0 Fixed emitting colon at end of scalar bug Jesse Beder 2010-12-03 21:52:04 +00:00
  • 99089bf218 Added long long types to the emitter Jesse Beder 2010-11-15 01:46:33 +00:00
  • e293d4af8a Updated Visual Studio project file. Jesse Beder 2010-11-09 19:59:25 +00:00
  • a6afaabcb0 Refactored tags so we can emit secondary tags (and named local tags) Jesse Beder 2010-10-28 23:06:16 +00:00
  • d508203ed8 Implemented binary emitting without the binary tag Jesse Beder 2010-10-28 21:53:54 +00:00
  • f1697dea15 Refactored emitter so that it emits the : for an implicit key right away Jesse Beder 2010-10-22 04:19:01 +00:00
  • 6b7cb45ac8 Added more tests for the newline, and disallowed newlines after implicit block keys Jesse Beder 2010-10-22 03:53:33 +00:00
  • 1e4210401f Added YAML::Newline manipulator for the emitter Jesse Beder 2010-10-21 22:02:29 +00:00