source: src/SynTree/SynTree.h @ 53d3ab4b

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

Add WithStmt? SynTree? node

  • Property mode set to 100644
File size: 2.6 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;
[51b7345]40
41class Statement;
42class CompoundStmt;
43class ExprStmt;
[7f5566b]44class AsmStmt;
[51b7345]45class IfStmt;
46class WhileStmt;
47class ForStmt;
48class SwitchStmt;
49class CaseStmt;
50class BranchStmt;
51class ReturnStmt;
[daf1af8]52class ThrowStmt;
[51b7345]53class TryStmt;
54class CatchStmt;
55class FinallyStmt;
[135b431]56class WaitForStmt;
[61255ad]57class WithStmt;
[51b7345]58class NullStmt;
59class DeclStmt;
60class NullStmt;
[f1b1e4c]61class ImplicitCtorDtorStmt;
[51b7345]62
63class Expression;
64class ApplicationExpr;
65class UntypedExpr;
66class NameExpr;
67class AddressExpr;
68class LabelAddressExpr;
69class CastExpr;
[a5f0529]70class VirtualCastExpr;
[51b7345]71class MemberExpr;
72class UntypedMemberExpr;
73class VariableExpr;
74class ConstantExpr;
75class SizeofExpr;
[47534159]76class AlignofExpr;
[2a4b088]77class UntypedOffsetofExpr;
[25a054f]78class OffsetofExpr;
[afc1045]79class OffsetPackExpr;
[51b7345]80class AttrExpr;
81class LogicalExpr;
82class ConditionalExpr;
83class CommaExpr;
84class TypeExpr;
[7f5566b]85class AsmExpr;
[db4ecc5]86class ImplicitCopyCtorExpr;
[b6fe7e6]87class ConstructorExpr;
[630a82a]88class CompoundLiteralExpr;
[b6fe7e6]89class UntypedValofExpr;
[8688ce1]90class RangeExpr;
[907eccb]91class UntypedTupleExpr;
[6eb8948]92class TupleExpr;
[3b58d91]93class TupleIndexExpr;
[6eb8948]94class TupleAssignExpr;
95class StmtExpr;
[3c13c03]96class UniqueExpr;
[e4d829b]97class UntypedInitExpr;
98class InitExpr;
[51b7345]99
100class Type;
101class VoidType;
102class BasicType;
103class PointerType;
104class ArrayType;
[ce8c12f]105class ReferenceType;
[51b7345]106class FunctionType;
107class ReferenceToType;
108class StructInstType;
109class UnionInstType;
110class EnumInstType;
[4040425]111class TraitInstType;
[51b7345]112class TypeInstType;
113class TupleType;
114class TypeofType;
115class AttrType;
[44b7088]116class VarArgsType;
[89e6ffc]117class ZeroType;
118class OneType;
[51b7345]119
[e4d829b]120class Designation;
[51b7345]121class Initializer;
122class SingleInit;
123class ListInit;
[71f4e4f]124class ConstructorInit;
[51b7345]125
126class Subrange;
127
128//template <class T>    // emulate a union with templates?
129class Constant;
130
[0f8e4ac]131// typedef std::string Label;
132class Label;
[51b7345]133typedef unsigned int UniqueId;
134
135class TypeSubstitution;
136
[7baed7d]137// gcc attribute
138class Attribute;
139
[0dd3a2f]140// Local Variables: //
141// tab-width: 4 //
142// mode: c++ //
143// compile-command: "make install" //
144// End: //
Note: See TracBrowser for help on using the repository browser.