source: src/SynTree/SynTree.h @ 6b4cdd3

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumwith_gc
Last change on this file since 6b4cdd3 was cc32d83, checked in by Rob Schluntz <rschlunt@…>, 6 years ago

Push pragma directives through the translator

  • Property mode set to 100644
File size: 2.7 KB
RevLine 
[0dd3a2f]1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
[71f4e4f]7// SynTree.h --
[0dd3a2f]8//
9// Author           : Richard C. Bilson
10// Created On       : Mon May 18 07:44:20 2015
[a5f0529]11// Last Modified By : Andrew Beach
12// Last Modified On : Mon Jul 24 16:54:00 2017
13// Update Count     : 11
[0dd3a2f]14//
[51b7345]15
[6b0b624]16#pragma once
[51b7345]17
18#include <string>
19#include <list>
20#include <map>
21#include <iostream>
22
[262f085f]23class BaseSyntaxNode;
24
[51b7345]25class Declaration;
26class DeclarationWithType;
27class ObjectDecl;
28class FunctionDecl;
29class AggregateDecl;
30class StructDecl;
31class UnionDecl;
32class EnumDecl;
[4040425]33class TraitDecl;
[51b7345]34class NamedTypeDecl;
35class TypeDecl;
36class FtypeDecl;
37class DtypeDecl;
38class TypedefDecl;
[e994912]39class AsmDecl;
[f6e3e34]40class StaticAssertDecl;
[51b7345]41
42class Statement;
43class CompoundStmt;
44class ExprStmt;
[7f5566b]45class AsmStmt;
[cc32d83]46class DirectiveStmt;
[51b7345]47class IfStmt;
48class WhileStmt;
49class ForStmt;
50class SwitchStmt;
51class CaseStmt;
52class BranchStmt;
53class ReturnStmt;
[daf1af8]54class ThrowStmt;
[51b7345]55class TryStmt;
56class CatchStmt;
57class FinallyStmt;
[135b431]58class WaitForStmt;
[61255ad]59class WithStmt;
[51b7345]60class NullStmt;
61class DeclStmt;
62class NullStmt;
[f1b1e4c]63class ImplicitCtorDtorStmt;
[51b7345]64
65class Expression;
66class ApplicationExpr;
67class UntypedExpr;
68class NameExpr;
69class AddressExpr;
70class LabelAddressExpr;
71class CastExpr;
[9a705dc8]72class KeywordCastExpr;
[a5f0529]73class VirtualCastExpr;
[51b7345]74class MemberExpr;
75class UntypedMemberExpr;
76class VariableExpr;
77class ConstantExpr;
78class SizeofExpr;
[47534159]79class AlignofExpr;
[2a4b088]80class UntypedOffsetofExpr;
[25a054f]81class OffsetofExpr;
[afc1045]82class OffsetPackExpr;
[51b7345]83class AttrExpr;
84class LogicalExpr;
85class ConditionalExpr;
86class CommaExpr;
87class TypeExpr;
[7f5566b]88class AsmExpr;
[db4ecc5]89class ImplicitCopyCtorExpr;
[b6fe7e6]90class ConstructorExpr;
[630a82a]91class CompoundLiteralExpr;
[b6fe7e6]92class UntypedValofExpr;
[8688ce1]93class RangeExpr;
[907eccb]94class UntypedTupleExpr;
[6eb8948]95class TupleExpr;
[3b58d91]96class TupleIndexExpr;
[6eb8948]97class TupleAssignExpr;
98class StmtExpr;
[3c13c03]99class UniqueExpr;
[e4d829b]100class UntypedInitExpr;
101class InitExpr;
[44b4114]102class DeletedExpr;
[51b7345]103
104class Type;
105class VoidType;
106class BasicType;
107class PointerType;
108class ArrayType;
[ce8c12f]109class ReferenceType;
[51b7345]110class FunctionType;
111class ReferenceToType;
112class StructInstType;
113class UnionInstType;
114class EnumInstType;
[4040425]115class TraitInstType;
[51b7345]116class TypeInstType;
117class TupleType;
118class TypeofType;
119class AttrType;
[44b7088]120class VarArgsType;
[89e6ffc]121class ZeroType;
122class OneType;
[51b7345]123
[e4d829b]124class Designation;
[51b7345]125class Initializer;
126class SingleInit;
127class ListInit;
[71f4e4f]128class ConstructorInit;
[51b7345]129
130class Subrange;
131
132//template <class T>    // emulate a union with templates?
133class Constant;
134
[0f8e4ac]135// typedef std::string Label;
136class Label;
[51b7345]137typedef unsigned int UniqueId;
138
139class TypeSubstitution;
140
[7baed7d]141// gcc attribute
142class Attribute;
143
[0dd3a2f]144// Local Variables: //
145// tab-width: 4 //
146// mode: c++ //
147// compile-command: "make install" //
148// End: //
Note: See TracBrowser for help on using the repository browser.