Last year I implemented a Scheme compiler in Poplog, together with a set of
25 online lectures for a course on "Programming Paradigms". The course and
the Scheme have been debugged on a class of 40 students.
Currently I am working on a C compiler which is oriented towards teaching
by exploiting the dynamic checking one gets for free from Poplog. This, if
I manage to get it up-to-scratch by the end of the month, will be used by a
colleague for a course on Data Structures. As a Department, we have
considerable reservations about teaching C early in the curriculum, and the
Poplog based system is an attempt to make the language more user-friendly
by providing feedback about run-time errors in a helpful form as soon as
they are detectable, as well as more informative compile-time messages.
Interactive evaluation of expressions is also provided - the final form of
this within a .c file will probably be as a #pragma pre-processor line.
Both systems employ a new generic debugger that I have written for the
purpose. This allows a granularity of evaluation down to the expression
level to be presented, along with the display of the source-line in VED.
I would be happy to share this material with any interested party.
Robin.
|