This package contains classes representing the Abstract Syntax Tree (AST) of the input grammar for asm rules and taclets. Only the context free grammer is represented by this classes. The analysis of static semantic (e.g. bound variables) is done later.

The classes {@link de.uka.ilkd.asmkey.parser.ast.Operator}, {@link de.uka.ilkd.asmkey.parser.ast.Quantifier}, {@link de.uka.ilkd.asmkey.parser.ast.PrimitiveSchemaType} and {@link de.uka.ilkd.asmkey.parser.ast.AstProofExpressionType} contain the corresponding constants.

The class {@link de.uka.ilkd.asmkey.parser.ast.AstNode} is an abstract base class for all ast nodes and contains information about the position in the input stream. The class {@link de.uka.ilkd.asmkey.parser.ast.Identifier} represents an arbitrary identifier, like sort name or variable name.

Most ast nodes uses the visitor pattern to distinguish concrete subclasses (e.g. {@link de.uka.ilkd.asmkey.parser.ast.AstTerm}, {@link de.uka.ilkd.asmkey.parser.ast.AstCondition}). This makes it easier to extend this nodes.

Concrete instances of most classes should be created with an {@link de.uka.ilkd.asmkey.parser.ast.AstFactory}, see alse the implementation {@link de.uka.ilkd.asmkey.parser.ast.AstFactoryImpl}.