From: Zenaan H. <ze...@fr...> - 2004-02-21 03:03:08
|
-------------------- For the YAML crowd/ everyone: For your downloading pleasure. I've been playing a bit with Ruby "yaml" package, and wanted something similar in Java. Found this site, which gives basically what I wanted: http://helide.com/g/yaml/ but I had an itch - in particular to get similar output as my Ruby code was producing, and secondly to get the Java yaml parser to accept ":" at the end of strings, if the following character is a list separator, or list or hash end delimiter ("]" and "}" resp.). So, here it is: http://homepages.ihug.com.au/~zenaan/zenaan/files/#yamlj And the canonical location for my homepage, from which my downloads can be found (for when I move ISPs, which won't be too far away): http://soulsound.net/ -------------------- And for the UserLinux crowd/ everyone: I am liking yaml more as I go along. Still getting used to various bits and pieces, and at the end of the day, you can use an xml schema pretty much as effectively, YAML is just so concise and readable, etc. Anyway, enough ranting. BTW, for my ongoing comparisons with .xml versions of my data files (compared to .yaml), and now that I'm in Java again, I've been using xercesj, and found it very annoyingly verbose to use quickly - tried SAX then DOM too. Then I tried jdom, and it was not tooo far off the simplicity offered by Ruby - it's still verbose in comparison, but at least I started to get close. My next goal is to take the YAML parsing up another level from lexer/ parser, to syntax tree - or rather, simple hashmaps/ lists (I'm thinking Java containers at this point), to get closer to Ruby's oh-so-clean syntax. I'll keep y'all updated as I progress - but don't expect anything too soon, it might be months or more away. Cheers Zenaan -- * Debian Enterprise: http://debian-enterprise.org/ * Homepage: http://soulsound.net/ * PGP Key: http://soulsound.net/zen.asc * Please respect the confidentiality of this email as sensibly warranted. |
From: Rolf V. <rol...@he...> - 2004-02-21 11:21:33
|
Zenaan Harkness wrote: > I've been playing a bit with Ruby "yaml" package, and wanted > something similar in Java. Found this site, which gives basically > what I wanted: > > http://helide.com/g/yaml/ Somewhat less old is the code in: http://cvs.sourceforge.net/viewcvs.py/ogdl/java/ Regards. Rolf. |
From: Zenaan H. <ze...@fr...> - 2004-02-21 18:34:36
|
Is this the "official" productions/ grammar for YAML: http://helide.com/g/yaml/yaml-productions.xml eg. is there a more recent/ official source? I ask because the YAML spec seems to list them "as at July 2002", and doesn't provide a link to any grammars - eg. BNF or ANTLR. I have started a conversion process to an ANTLR grammar from the above XML grammar/ production rules (using embedded Ruby templating and Ruby scripting), to get an "according to the grammar"/ auto-rolled implementation in Java, as well as a Parser and AST on top of the Lexer. Any thoughts? My downloads page has a tarball of my latest working file set: http://homepages.ihug.com.au/~zenaan/zenaan/files/ tia zen -- * Debian Enterprise: http://debian-enterprise.org/ * Homepage: http://soulsound.net/ * PGP Key: http://soulsound.net/zen.asc * Please respect the confidentiality of this email as sensibly warranted. |
From: Rolf V. <rol...@he...> - 2004-02-24 11:14:24
|
Zenaan Harkness wrote: > Is this the "official" productions/ grammar for YAML: > http://helide.com/g/yaml/yaml-productions.xml No. The official reference is the spec. This XML file is very old. > I have started a conversion process to an ANTLR grammar from the > above XML grammar/ production rules (using embedded Ruby templating > and Ruby scripting), to get an "according to the grammar"/ > auto-rolled implementation in Java, as well as a Parser and AST on > top of the Lexer. > > Any thoughts? I opted for a hand written parser because I found it easier to implement. Productions written in C or Java (for example) capture more behavior than is possible with BNF, and thus can make the parser simpler and faster (probably). GCC itself has changed its YACC C++ parser by a hand-written in 3.4, so I'm not alone :-). Rolf. |