[Remind-Fans] Parser deficiency (was Re: jump forward by x working days)
David F. Skoll
dfs at roaringpenguin.com
Thu Jun 11 11:24:42 EDT 2009
Tarlika Elisabeth Schmitz wrote:
> Why does the expression in the SATISFY clause have to be put in square
> brackets?
> The example from the manual does not use square brackets:
> REM 13 SATISFY wkdaynum(trigdate()) == 5
Because the expression parser gets confused by:
REM 13 SATISFY wkdaynum(trigdate()) == 5 MSG foo
It's still in "expression-parsing" mode when it encounters MSG
and it has no idea what to do with it.
This version clearly indicates the end of expression-parsing mode:
REM 13 SATISFY [wkdaynum(trigdate()) == 5] MSG foo
I wrote the Remind parser back in around 1992, when I'd never heard of lex,
yacc, recursive-descent parsers, grammars, etc. :-( It's a rather naive
brute-force hard-coded parser.
Regards,
David
More information about the Remind-fans
mailing list