Can a tiny compiler-compiler grow into something useful?

by Bill McKeeman

The grammars presented here are like computer programs in that they accept input and produce output. The output may be another grammar, which can in turn be used to make yet another grammar. The question is: how far can one go?

I do not know, but let us at least get started.

Note: I have used this material only for teaching. I do not know of any practical or theoretical consequences. The material has some resonance with Guy Steele's 1998 OOPSLA talk Growing a Language.

Note: This presentation was prepared by the MATLAB publish feature which accepts a commented MATLAB script as input. This paragraph came from a MATLAB comment. The grey-bar sections are MATLAB code.

format compact  % help MATLAB save screen space

Immediately following the each code section is the corresponding output (if any). There was no output from the format statement above.