Tatoo est un générateur de compilateurs.
Il génère les classes implémentant les composants fondamentaux d':
- un lexeur, à partir de règles sous forme d'expressions rationnelles pour reconnaître les tokens
- un parseur, à partir d'une grammaire algébrique
- un ensemble d'outils : lien entre lexeur et parseur ; association entre tokens et types Java pour futurs traitements sémantiques ; génération de l'arbre syntaxique abstrait de la grammaire.
Les différentes spécifications sont décrites dans un fichier au format ebnf facilement compréhensible et éditable.
Les différents composants générés sont des classes Java réutilisables pour implanter un compilateur complet en Java (analyses lexicale, syntaxique et sémantique + génération de code).