source: src/SynTree/SynTree.h @ 02a22a2

ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationpthread-emulationqualifiedEnum
Last change on this file since 02a22a2 was 6cebfef, checked in by caparsons <caparson@…>, 3 years ago

added mutex stmt monitor

  • Property mode set to 100644
File size: 2.8 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
[033ff37]11// Last Modified By : Peter A. Buhr
[2d019af]12// Last Modified On : Fri Mar 12 18:56:44 2021
13// Update Count     : 13
[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 TypedefDecl;
[e994912]37class AsmDecl;
[2d019af]38class DirectiveDecl;
[f6e3e34]39class StaticAssertDecl;
[51b7345]40
41class Statement;
42class CompoundStmt;
43class ExprStmt;
[7f5566b]44class AsmStmt;
[cc32d83]45class DirectiveStmt;
[51b7345]46class IfStmt;
47class WhileStmt;
48class ForStmt;
49class SwitchStmt;
50class CaseStmt;
51class BranchStmt;
52class ReturnStmt;
[daf1af8]53class ThrowStmt;
[51b7345]54class TryStmt;
55class CatchStmt;
56class FinallyStmt;
[37cdd97]57class SuspendStmt;
[135b431]58class WaitForStmt;
[61255ad]59class WithStmt;
[51b7345]60class NullStmt;
61class DeclStmt;
62class NullStmt;
[f1b1e4c]63class ImplicitCtorDtorStmt;
[6cebfef]64class MutexStmt;
[51b7345]65
66class Expression;
67class ApplicationExpr;
68class UntypedExpr;
69class NameExpr;
70class AddressExpr;
71class LabelAddressExpr;
72class CastExpr;
[9a705dc8]73class KeywordCastExpr;
[a5f0529]74class VirtualCastExpr;
[51b7345]75class MemberExpr;
76class UntypedMemberExpr;
77class VariableExpr;
78class ConstantExpr;
79class SizeofExpr;
[47534159]80class AlignofExpr;
[2a4b088]81class UntypedOffsetofExpr;
[25a054f]82class OffsetofExpr;
[afc1045]83class OffsetPackExpr;
[51b7345]84class LogicalExpr;
85class ConditionalExpr;
86class CommaExpr;
87class TypeExpr;
[6e50a6b]88class DimensionExpr;
[7f5566b]89class AsmExpr;
[db4ecc5]90class ImplicitCopyCtorExpr;
[b6fe7e6]91class ConstructorExpr;
[630a82a]92class CompoundLiteralExpr;
[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;
[0f79853]103class DefaultArgExpr;
[d807ca28]104class GenericExpr;
[51b7345]105
106class Type;
107class VoidType;
108class BasicType;
109class PointerType;
110class ArrayType;
[ce8c12f]111class ReferenceType;
[c5d7701]112class QualifiedType;
[51b7345]113class FunctionType;
114class ReferenceToType;
115class StructInstType;
116class UnionInstType;
117class EnumInstType;
[4040425]118class TraitInstType;
[51b7345]119class TypeInstType;
120class TupleType;
121class TypeofType;
[7ff35e0e]122class VTableType;
[51b7345]123class AttrType;
[44b7088]124class VarArgsType;
[89e6ffc]125class ZeroType;
126class OneType;
[47498bd]127class GlobalScopeType;
[51b7345]128
[e4d829b]129class Designation;
[51b7345]130class Initializer;
131class SingleInit;
132class ListInit;
[71f4e4f]133class ConstructorInit;
[51b7345]134
135//template <class T>    // emulate a union with templates?
136class Constant;
137
[0f8e4ac]138// typedef std::string Label;
139class Label;
[51b7345]140typedef unsigned int UniqueId;
141
142class TypeSubstitution;
143
[7baed7d]144// gcc attribute
145class Attribute;
146
[0dd3a2f]147// Local Variables: //
148// tab-width: 4 //
149// mode: c++ //
150// compile-command: "make install" //
151// End: //
Note: See TracBrowser for help on using the repository browser.