[Haskell-cafe] Parsing R5RS Scheme with Parsec
asandroq at gmail.com
Tue Oct 2 10:36:52 EDT 2007
On 10/2/07, Brandon S. Allbery KF8NH <allbery at ece.cmu.edu> wrote:
> On Oct 2, 2007, at 9:52 , Alex Queiroz wrote:
> > (parseDottedList ls) <|> (parseProperList ls)
> > I've factored out the common left sub-expression in
> > parseLeftList. The problem is that "..." is a valid identifier so when
> > inside the left of the list the parser sees a single dot, it tries to
> > match it with "...", which fails. Can anybody give advice on how to
> > rewrite these list parsing functions?
> try (parseDottedList ls) <|> parseProperList ls
> Overuse of try is a bad idea because it's slow, but sometimes it's
> the only way to go; it insures backtracking in cases like this.
This does not work. The parser chokes in parseLeftList, because
it finds a single dot which is not the beginning of "...".
More information about the Haskell-Cafe