-
Notifications
You must be signed in to change notification settings - Fork 3
AST Entities
Lucas Wojciechowski edited this page Nov 12, 2013
·
10 revisions
public class Program {
public Identifier getNamespaceID();
public PackageList getPackageList();
public StatementList getStatements();
}
public class PackageList {
public List<Identifier> getPackages();
public void add(Identifier s);
public int size();
public Identifier get(int i);
}
public class Identifier {
@Override
public String toString();
}
public abstract class Typename {}
public class TupleTypename extends Typename {
public TupleTypename();
public Typename get(Identifier s);
public void put(Identifier s, Typename t)
}
public class AtomicTypename extends Typename {
public Identifier getName();
}
public abstract class Statement {}
public class AssignStatement extends Statement {
public Identifier getID();
public Expression getExpr();
}
public class StatementList {
public List<Statement> getStatements();
public void add(Statement s);
public int size();
public Statement get(int i);
}
public class DefineFunctionStatement extends Statement {
public Identifier getFunctionID();
public Identifier getInputID();
public Typename getInputTypename();
public Identifier getOutputID();
public Typename getOutputTypename();
public StatementList getStatements();
}
public class DefineVariableStatement extends Statement {
public Identifier getName();
public Typename getTypename();
public Expression getInitialValueExpr();
}
public abstract class Expression {
}
public class AnonymousFunctionExpression extends Expression {
public Identifier getInputID();
public Typename getInputTypename();
public Identifier getOutputID();
public Typename getOutputTypename();
public StatementList getStatements();
}
public class TupleFieldExpression extends Expression {
public Expression getTupleExpr();
public Identifier getFieldID();
}
public class IntegerConstantExpression extends Expression {
public int getValue();
}
public class IdentifierExpression extends Expression {
public Identifier getID();
}
public class TupleFieldExpression extends Expression {
public Expression getTupleExpr();
public Identifier getFieldID();
}
public class FunctionEvalExpression extends Expression {
public Identifier getFunctionName();
public Expression getInputExpr();
}
public class BitstringExpression extends Expression {
public String getBits();
}
public class ConditionalExpr extends Expression {
public Expression getWhenExpr();
public Expression getPosExpr();
public Expression getNegExpr();
}
public abstract class TranslationException extends Exception {}