<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><pre><span class="Apple-style-span" style="font-family: Times; font-size: 16px; white-space: normal; "><pre>On 3/12/08, Jon Zeppieri <<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme">zeppieri at gmail.com</a>> wrote:</pre></span></pre><pre>> Does the combinator-parser library work? The example (in
> collects/combinator-parser/examples) doesn't, and I haven't been able
> to make it work.
> -Jon</pre><pre>Hello,</pre><div>Presently, while the parser combinator tools work, the documentation and examples are quite out of date and don't necessarily reflect what is required to build a working parser. </div><div><br class="webkit-block-placeholder"></div><div>The primary change is that the current combinator is no longer in the lazy language; this impacts two factors that neither the current documentation, nor the example presents. First, the order now matters in linking and instantiating units; specifically in the example specification it is important that the link clause is the following (link combinator-parser-tools@ support lambda-calc). Second, some recursive grammar definitions now require the use of an eta expansion (using the provided eta operator to match the actual function signature of the combinators) to avoid additional undefined errors. The Java grammar specification (collects/profj/comb-parsers/parser-units.scm) is a more useful (although significantly more complex) example of a working parser specification.</div><div><br class="webkit-block-placeholder"></div><div>(I can't recommend using the combinator-parser implementation from the non-svn-ed version; there are considerably more errors in the older implementation)</div><div><br class="webkit-block-placeholder"></div><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Times; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>-Kathy</div><div><br></div></div><br></div></span><br class="Apple-interchange-newline"> </div><br></body></html>