B=2; caused the first P<> rule to fail. Had to fix it by adding P=3; and never calling it. Eventually worked more cleanly when I included all 3 B<> rules, B = 0; B = 1; B = 2; even though only EOF and NL were used. The skeleton-Makefile still had a reference to mnemosyne which I had to remove - dependencies on both mnemosyne.h and mnemosyne.o which had to be commented out. (and the mnemosyne.o from the link) Looks like excess spaces are not being slipped despite WHITESPACE_WANTED in the .h file Default build doesn't handle '%' stropping in Imp so temporarily I've set keywords to be lower case and variables to be upper case. Need to add proper stropping code. Compare to algol60 parser?