This submission integrates the parser that takes simple statement and symbol lines from the compiled output (via a serial line) and feeds them into an internal table. The trick was getting this code to compile in IAR. Mostly those changes involve turning off calls that interact with files or stdin/out, like printf().  There was also a call to isatty() in the flex output file (motor.yy.c) that caused an unresolved variable at link time. That call actually pointed out a general design flaw. A digit detected in the lexer should really be converted to a number right there, rather than passing its string value to the parser. This change should be incorporated into the compiler at some point.
Of course, the c-functions generated by flex and bison needed to be incorporated into a cpp file. See those changes in interpret.cpp. The other relevant changes to setting flags correctly are found in motor.l and motor.y. Note, to see if this parser is working correctly on the Cygwin command line, turn on the printf() statements in motor.y (e.g. printf("STMT\n"))
Also note that motorFatalError() (see motor.l) was causing the gcc compiler to emit a warning that it was not used. This is suppressed by a new option in the makefile. It was not required in the IAR compiler because the function is used.
Currently code compiles under both gcc and IAR. It has only been tested under Cygwin, not on target hardware.