The documentation for the LALR parser currently says that the tokenizer procedure passed to the parser should be a unary procedure taking a port, but the documentation at http://code.google.com/p/lalr-scm/wiki/ParserDefinition says it should be a thunk. The following patch fixes this:
Noah diff --git a/doc/ref/api-lalr.texi b/doc/ref/api-lalr.texi index e19614c..95b0a85 100644 --- a/doc/ref/api-lalr.texi +++ b/doc/ref/api-lalr.texi @@ -25,12 +25,12 @@ Each rule has the form @code{(@var{non-terminal} (@var{rhs} right-hand sides, i.e., the production rule, and @var{action} is a semantic action associated with the rule. -The generated parser is a two-argument procedure that takes a @dfn{tokenizer} -and a @dfn{syntax error procedure}. The tokenizer should be a unary procedure -taking a port and returning a lexical token as produced by -...@code{make-lexical-token}. The syntax error procedure may be called with at -least an error message (a string), and optionally the lexical token that caused -the error. +The generated parser is a two-argument procedure that takes a +...@dfn{tokenizer} and a @dfn{syntax error procedure}. The tokenizer +should be a thunk that returns lexical tokens as produced by +...@code{make-lexical-token}. The syntax error procedure may be called +with at least an error message (a string), and optionally the lexical +token that caused the error. @end deffn Please refer to the @code{lalr-scm} documentation for details.