Hello again, I've run into another issue with the parser that should be addressed in the documentation (or the code?).
How do you match a character that is used in the PEG grammar, like "["? Can you only define such matchers via s-expressions? Noah On Thu, Jan 27, 2011 at 12:17 AM, Noah Lavine <noah.b.lav...@gmail.com> wrote: > Hi, > >> It flattens until you have a list where each element either: >> 1. Is an atom. >> or 2. Is a list whose first element is in the list of keywords. >> >> So the car of the argument will change if it's a list that doesn't >> start with the right keyword. E.g.: >> (keyword-flatten '(a) '((c (a b)) (a b) (b a))) -> >> (c (a b) (a b) b a) > > I see. > >> That's odd. Could you paste in the lambda expression it generates? > > Wait, actually, I realized it was my own error. My test function was > using nonterminals, but I had only done (define grammar-string ....), > not (define-grammar grammar-string). I think the generated code tried > to call the nonterminals that should have been there, and threw an > error when it didn't find them. > > The peg matcher is really awesome. I am glad to be able to use it soon. > > Noah >