• While I am still trying to digest this excellent article, I think I found a slight error.

    In The Grammar section, the article lists 7 rules. One of them is...

    PrimaryExpression ::= Term

    | '-' Term

    | Phrase

    | '(' OrExpression ')'

    | '&lt' ( Term | Phrase )+ '&gt'

    To more closely match the code in the Conversion Engine section, I think it should be more like the following.

    Note the addition of the ExactExpression option.

    PrimaryExpression ::= Term

    | '-' Term

    | ExactExpression

    | '(' OrExpression ')'

    | Phrase

    | '&lt' ( Term | Phrase )+ '&gt'

    A minor point, I know. I just want to make sure that I am not missing something here. 😀

    Paul DB