Some suggestions for the use of tables in compilers
It is common practice in compilers to use tables to represent data, and then automatically generate code based on those tables (often known as "table-driven code"). Many compilers use machine description tables from which is automatically generated parts of the code generator, and there are often small pieces of table-driven code within a compiler. Sometimes these tables are very useful, but other times the tables themselves can become a maintenance nightmare. This paper uses examples from several SGI compilers to try and enumerate some guidelines for designing good tables and table-driven code.
tables compilers software engineering