I can now really start to parse the body of the TeX code again. There will continue to be glitches and blips, but I have now (I believe) sorted out the operator precedence issue. Well some operators can be used in a number of contexts and I treat them specially. I could (If I NEEDED to) invent a scheme that allowed them to have precedence changed. Eg I could mp "*" on input not just onto infix7 but onto one of infix0_times through infix9_times, and then in a type context I could accept any one of those rather than just a single option. It looks as if I would need to do that for * and =. Foruses of infix operators within patters I ought to just replicate what I have done for their handling in expressions. As a pragmatic hack for now I only permit "::" in patterns, and I fix its precedence for use in expressions. I will need to do something about "op" too.
I can now really start to parse the body of the TeX code again. There will
continue to be glitches and blips, but I have now (I believe) sorted out the
operator precedence issue. Well some operators can be used in a number of
contexts and I treat them specially. I could (If I NEEDED to) invent a scheme
that allowed them to have precedence changed. Eg I could mp "*" on input
not just onto infix7 but onto one of infix0_times through infix9_times,
and then in a type context I could accept any one of those rather than just
a single option. It looks as if I would need to do that for * and =.
Foruses of infix operators within patters I ought to just replicate what I
have done for their handling in expressions. As a pragmatic hack for now
I only permit "::" in patterns, and I fix its precedence for use in
expressions. I will need to do something about "op" too.

arthurcnorman/general,arthurcnorman/general,arthurcnorman/general