HANDBOOK / GENTLE PRIMER /

At a Glance

This section gives some simple but complete examples of Gentle specifications. The intend is not to discuss details, but to provide the reader with a feeling for the general framework. Subsequent sections will describe the specific concepts and conventions.

We start with a simple parser for arithmetic expressions, which we will then extend to a calculator. While the calculator is written along the concrete syntax of expressions, a compiler is often based on abstract syntax. We show how abstract syntax can be defined in Gentle, and how a concrete source text can be mapped onto a corresponding abstract representation. Two examples then show how to process abstract syntax: a refined version of the calculator, and a program that computes the derivative of an expression. We conclude with a simple code generator.