Regular expressions are treated with their ordinary Java/Clojure, greedy semantics.
Your regular expression for ITEM doesn't exclude whitespace or } characters, so ITEM is matching "Harden }" which leaves no characters left to match your grammar's right curly brace requirement. => (re-seq #"[^\"]+" "Harden }") ("Harden }") A solution would be to make the regex for ITEM more restrictive. On Sun, Jun 12, 2016 at 12:52 PM, Hussein B. <hubaghd...@gmail.com> wrote: > Hello, > > I'm playing around Instaparse library, starting very simple. > > For input like : > > { player } > > I created the following parser: > > (def ast > (ist/parser > "TEST = OBJECT > <WHITESPACE> = <#'\\s+'> > <CURLY_OPEN> = <'{'> > <CURLY_CLOSE> = <'}'> > ITEM = #'[^\"]+' > OBJECT = CURLY_OPEN WHITESPACE* ITEM WHITESPACE* CURLY_CLOSE")) > > > In the REPL: > > user=> (ast "{ Harden } ") > > Parse error at line 1, column 12: > > { Harden } > > ^ > > Expected one of: > > "}" (followed by end-of-string) > > #"\s+" > > > Any ideas what I'm doing wrong? > > Thanks for help. > > -- > 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/d/optout. > -- 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/d/optout.