Super cool! Nice work.

Your readme says "I had difficulty getting his Parsing with Derivatives 
technique to work in a performant way".  I was wondering if you could 
please elaborate.

What kind of performance did you achieve?
How does that compare to the GLL parser you implemented?
Did you implement memoization/compaction/fixed-point/etc from the latest 
research? 
How do the implementations compare in terms of code size and readability?

Thanks,
Brandon

On Tuesday, April 9, 2013 1:18:39 AM UTC-4, puzzler wrote:
>
> Instaparse is an easy-to-use, feature-rich parser generator for Clojure.  
> The two stand-out features:
>
> 1. Converts standard EBNF notation for context-free grammars into an 
> executable parser.  Makes the task of building parsers as lightweight and 
> simple as working with regular expressions.
>
> 2. Works with *any* context-free grammar.  This means you don't have to 
> learn the esoteric subtleties of LR, LL, LALR or any other specialized 
> subset.  Left-recursion, right-recursion, ambiguous grammars -- instaparse 
> handles it all.
>
> Example:
>
> (def as-and-bs
>   (parser
>     "S = AB*
>      AB = A B
>      A = 'a'+
>      B = 'b'+"))
>
> => (as-and-bs "aaaaabbbaaaabb")
> [:S
>  [:AB [:A "a" "a" "a" "a" "a"] [:B "b" "b" "b"]]
>  [:AB [:A "a" "a" "a" "a"] [:B "b" "b"]]]
>
> https://github.com/Engelberg/instaparse for full feature list and 
> extensive tutorial.
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to