CSC448: AST: Classes [3/18] |
Here are the classes of the AST, with their fields.
public abstract class ExtDecl public class Decl extends ExtDecl public final Type type; public final String name; public final Optional<Exp> eo; public class FunDefSig extends ExtDecl public final Type type; public final String name; public final List<Decl> params; public class FunDef extends FunDefSig public final StatCompound body; public abstract class Type public class TypeArray extends Type public final Type type; public class TypeInt extends Type public class TypeVoid extends Type public abstract class Stat public final List<String> labels; public class StatCompound extends Stat public final List<Decl> decls; public final List<Stat> stats; public class StatExp extends Stat public final Exp exp; public class StatGoto extends Stat public final String target; public class StatIf extends Stat public final Exp exp; public final Stat statT; public final Stat statF; public class StatReturn extends Stat public final Optional<Exp> oe; public class StatSkip extends Stat public class StatWhile extends Stat public final Exp exp; public final Stat stat; public abstract class Exp public final Optional<Type> to; public class ExpArrayAccess extends Exp public final Exp array; public final Exp index; public class ExpAssign extends Exp public final Exp left; public final Exp right; public class ExpBinOp extends Exp public final BinOp op; public final Exp left; public final Exp right; public class ExpComma extends Exp public final Exp left; public final Exp right; public class ExpFunCall extends Exp public final String name; public final List<Exp> args; public class ExpInt extends Exp public final int value; public class ExpNew extends Exp public final Type contentType; public final Exp size; public class ExpString extends Exp public final String value; public class ExpUnOp extends Exp public final UnOp op; public final Exp exp; public class ExpVar extends Exp public final String name;