CSC448: AST: Classes [3/18] Previous pageContentsNext page

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;

Previous pageContentsNext page