This paper presents a front-end for Java, called Barat, that supports static analysis of Java programs. Barat builds a complete abstract syntax tree from Java source code files, enriched with name and type analysis information. It supports the complete Java language as of version 1.1. Barat is structured as a framework that supports traversals of abstract syntax trees using visitors and attributes, and provides additional features such as parsing comments as tags, access to parent nodes in the abstract syntax tree, and re-generation of source code. For users of Barat, there is no explicit distinction between phases of loading, parsing, and analyzing Java source code: All actions that need to be performed for building the AST of a Java program are transparent to clients of Barat and are triggered on demand.