// // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo // // The contents of this file are covered under the licence agreement in the // file "LICENCE" distributed with Cforall. // // SynTree.h -- // // Author : Richard C. Bilson // Created On : Mon May 18 07:44:20 2015 // Last Modified By : Peter A. Buhr // Last Modified On : Thu Jul 23 23:25:04 2015 // Update Count : 3 // #ifndef SYNTREE_H #define SYNTREE_H #include #include #include #include class Declaration; class DeclarationWithType; class ObjectDecl; class FunctionDecl; class AggregateDecl; class StructDecl; class UnionDecl; class EnumDecl; class ContextDecl; class NamedTypeDecl; class TypeDecl; class FtypeDecl; class DtypeDecl; class TypedefDecl; class Statement; class CompoundStmt; class ExprStmt; class AsmStmt; class IfStmt; class WhileStmt; class ForStmt; class SwitchStmt; class ChooseStmt; class FallthruStmt; class CaseStmt; class BranchStmt; class ReturnStmt; class TryStmt; class CatchStmt; class FinallyStmt; class NullStmt; class DeclStmt; class NullStmt; class Expression; class ApplicationExpr; class UntypedExpr; class NameExpr; class AddressExpr; class LabelAddressExpr; class CastExpr; class MemberExpr; class UntypedMemberExpr; class VariableExpr; class ConstantExpr; class SizeofExpr; class AlignofExpr; class AttrExpr; class LogicalExpr; class ConditionalExpr; class CommaExpr; class TupleExpr; class SolvedTupleExpr; class TypeExpr; class AsmExpr; class UntypedValofExpr; class Type; class VoidType; class BasicType; class PointerType; class ArrayType; class FunctionType; class ReferenceToType; class StructInstType; class UnionInstType; class EnumInstType; class ContextInstType; class TypeInstType; class TupleType; class TypeofType; class AttrType; class Initializer; class SingleInit; class ListInit; class Subrange; //template // emulate a union with templates? class Constant; typedef std::string Label; typedef unsigned int UniqueId; class TypeSubstitution; #endif // SYNTREE_H // Local Variables: // // tab-width: 4 // // mode: c++ // // compile-command: "make install" // // End: //