From: Jesse B. <be...@ma...> - 2008-07-31 21:11:43
|
In case anyone might be interested, I wrote a YAML parser in C++, and I put it on google code: http://code.google.com/p/yaml-cpp/ It's based on libyaml (I'm indebted to the idea of first scanning to produce tokens of an LL(1) language, and then parsing), but it's not a wrapper for it. It uses the STL, but depends on nothing more (no boost, etc.), and I tried to make it feel STL-ish. In fact, I think this might be the primary reason to use it, compared to, say, libyaml (which is very good - don't get me wrong!). It should be pretty easy to attach to any project - I'm using Visual Studio, but there's really nothing dependent on that, so you could whip up a makefile for gcc pretty easily. Finally, regarding completeness: it's written for the 1.2 spec, and barring any bugs (heh), it should implement it exactly, except: 1. Anchors/aliases are parsed, but not implemented in representation. 2. Tags are a bit half-assed, mainly because I didn't need them. But I think they mostly work. Let me know what you think! - Jesse Beder |
From: Kirill S. <xi...@ga...> - 2008-08-05 12:53:32
|
Hi Jesse, > In case anyone might be interested, I wrote a YAML parser in C++, and > I put it on google code: > > http://code.google.com/p/yaml-cpp/ > > It's based on libyaml (I'm indebted to the idea of first scanning to > produce tokens of an LL(1) language, and then parsing), but it's not a > wrapper for it. It uses the STL, but depends on nothing more (no > boost, etc.), and I tried to make it feel STL-ish. In fact, I think > this might be the primary reason to use it, compared to, say, libyaml > (which is very good - don't get me wrong!). > > It should be pretty easy to attach to any project - I'm using Visual > Studio, but there's really nothing dependent on that, so you could > whip up a makefile for gcc pretty easily. > > Finally, regarding completeness: it's written for the 1.2 spec, and > barring any bugs (heh), it should implement it exactly, except: > > 1. Anchors/aliases are parsed, but not implemented in representation. > 2. Tags are a bit half-assed, mainly because I didn't need them. But I > think they mostly work. > > Let me know what you think! It's a great news :) Perhaps you could add a build file for CMake so that the project could be built easily on a non-Windows environment? I also wonder if yaml.org could be updated to add news items and links to the projects that were announced lately? Thanks, Kirill |
From: Jesse B. <be...@ma...> - 2008-08-07 03:41:58
|
OK, I added some CMake files, and I tested it on Ubuntu with gcc (I had to fix a bug having to do with the newline disparity on Windows/Linux, but it seems to work now). Please let me know if anyone tries it out. Also, I'd second the suggestion that yaml.org be updated with a link to this and other recent projects. - Jesse On Tue, Aug 5, 2008 at 7:53 AM, Kirill Simonov <xi...@ga...> wrote: > Hi Jesse, > >> In case anyone might be interested, I wrote a YAML parser in C++, and >> I put it on google code: >> >> http://code.google.com/p/yaml-cpp/ >> >> It's based on libyaml (I'm indebted to the idea of first scanning to >> produce tokens of an LL(1) language, and then parsing), but it's not a >> wrapper for it. It uses the STL, but depends on nothing more (no >> boost, etc.), and I tried to make it feel STL-ish. In fact, I think >> this might be the primary reason to use it, compared to, say, libyaml >> (which is very good - don't get me wrong!). >> >> It should be pretty easy to attach to any project - I'm using Visual >> Studio, but there's really nothing dependent on that, so you could >> whip up a makefile for gcc pretty easily. >> >> Finally, regarding completeness: it's written for the 1.2 spec, and >> barring any bugs (heh), it should implement it exactly, except: >> >> 1. Anchors/aliases are parsed, but not implemented in representation. >> 2. Tags are a bit half-assed, mainly because I didn't need them. But I >> think they mostly work. >> >> Let me know what you think! > > It's a great news :) > > Perhaps you could add a build file for CMake so that the project could be > built easily on a non-Windows environment? > > I also wonder if yaml.org could be updated to add news items and links to > the projects that were announced lately? > > > Thanks, > Kirill > |