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.