Tutorial: abstract syntax definition