| In the recent ten or more years, Partial Evaluation (PE) has become one of the mainstream research topics that have been developing fast in the field of computer program theory. The potential application of its idea is pretty wide. Not only does PE provide important principle foundation for program optimization, compilation, interpretation, software automation, and program generation, and more convenient avenue for the research of programming language properties, but plays a vital role in scientific computing, logic reasoning, and construction of meta-languages and expert systems as well. Furthermore, the idea of PE has key effects in pattern recognition, computer graphics, neutral unit network training, responded database querying, electronic spreadsheet computing, discrete hardware emulation, and so forth.Given a partial input, PE is an automatic transformation from a source program to another source program, which is equivalent to the original source program under the same partial input. In addition, the transformed source program is as well optimized. Therefore, PE is a program optimization technique dependent on specific language.To better research on PE itself and its application in other program analysis fields, the present paper introduces a partial evaluator of SNL (Small Nested Langue) as well as its formal description, and implements a PE system utilizing the partial evaluation approach. The system can be regarded not only as a model for further research of PE, but also as a PE model for later research of other program analysis techniques. |