Some suggestions for the use of tables in compilers
Mike Murphy · ACM SIGPLAN Notices · 2006
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.