David Engster writes:
> Eric Ludlam writes:
>> It hadn't occurred to me to try to port bovine grammars to wisent.
>> Early on, that would have been very challenging, but when David Ponce
>> merged the two language types together, it should be much easier now.
>> That would be a big win to do that, since one whole style of parser
>> generator could be eliminated. Sadly, I'd have to relearn all the
>> specifics again to explain the differences. I seem to remember one
>> difference was related to how the actions and tag quoting worked, but
>> I don't really remember.
> Yes, I saw some differences there, but I think - while tedious - it's
> not difficult to convert that. One could probably write a converter
> which does of most of that stuff.
I looked into it a bit, and it is definitely doable. Most of the
differences I've seen so far are in the lexing part and in how lambda
expressions have to be quoted.
The F90 tagging parser worked pretty much after 30 minutes. I then
turned to the C grammar, and here things don't go as smoothly. The main
problem is that it is nigh impossible to debug the actual parser. Even
if we had a stepping debugger for Wisent, it actually wouldn't help
much. I mean, I *can* output the shifts and reduces the parser is doing,
and it also outputs what token it would expect next to match "some
rule", but it does not say which. All it has are these magic tables
which tell the parser what to do next; it's just so removed from the
actual grammar. I can see now why people are still fond of LL parsing,
it's way easier to step through the rules. Anyway, I'll try a bit
more. I have a hunch it's a just little thing that's not working yet.