random, possibly clueless thoughts as i look at this: yes, transform rules by type would be nice! not sure what that means about having to generate a module within a macro, though (for namespacing).
do you parse strings or streams? (or both?) i know nothing about julia streams, yet, but i imagine streams would make it easier to abstract away nasty book-keeping for error reporting (line number etc). do you have any support for error handling? why aren't any of your type contents typed? can julia infer that from use? if not, it will have a big impact on speed and memory use, i would guess. even better if they can be immutable. thanks, andrew On Saturday, 31 May 2014 21:10:37 UTC-4, Abe Schneider wrote: > > I should add that PEGParser's code is fairly new and untested (besides > having an uninspired name). I'm also hoping to have better action > semantics soon. > > On Saturday, May 31, 2014 2:17:27 PM UTC-4, andrew cooke wrote: >> >> https://groups.google.com/d/msg/julia-users/t56VxOX1vvk/nszQYWP_pm4J >> >> https://groups.google.com/d/msg/julia-users/6jz3Ow5SAAE/TgKHQ48gUG4J >> >> thanks! >> >> On Saturday, 31 May 2014 14:04:28 UTC-4, Isaiah wrote: >>> >>> There was a nice looking PEG system previewed a few days ago if you >>> search the users list (and I think there was another one several months >>> back by Michael Fox). >>> >>> >>> On Sat, May 31, 2014 at 1:22 PM, andrew cooke <[email protected]> wrote: >>> >>>> are there any libraries for parsing in julia? either parser combinator >>>> or something more traditional (maybe a wrapper for something like antlr)? >>>> >>>> all i can find is an old discussion started by leah h in which jeff b >>>> suggests doing everything in julia. that included a pointer to >>>> https://github.com/astrieanna/juliaparsec/blob/master/juliaparsec.jl >>>> from dan l which is, well, as he says, rather basic. >>>> >>>> i'm not sure i agree, but i don't want to write my own combinator lib >>>> either. >>>> >>>> i guess i'm looking for things like a clean separation between grammar >>>> and implementation, support for errors with line numbers, speed, easy >>>> debugging... >>>> >>>> andrew >>>> >>> >>>
