source: src/SynTree/SynTree.h @ de8d7fb1

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since de8d7fb1 was 033ff37, checked in by Peter A. Buhr <pabuhr@…>, 5 years ago

remove attribute expression '@'name mechanism

  • 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
[033ff37]11// Last Modified By : Peter A. Buhr
12// Last Modified On : Thu Jul 25 22:37:45 2019
13// Update Count     : 12
[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;
[f6e3e34]38class StaticAssertDecl;
[51b7345]39
40class Statement;
41class CompoundStmt;
42class ExprStmt;
[7f5566b]43class AsmStmt;
[cc32d83]44class DirectiveStmt;
[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;
[9a705dc8]70class KeywordCastExpr;
[a5f0529]71class VirtualCastExpr;
[51b7345]72class MemberExpr;
73class UntypedMemberExpr;
74class VariableExpr;
75class ConstantExpr;
76class SizeofExpr;
[47534159]77class AlignofExpr;
[2a4b088]78class UntypedOffsetofExpr;
[25a054f]79class OffsetofExpr;
[afc1045]80class OffsetPackExpr;
[51b7345]81class LogicalExpr;
82class ConditionalExpr;
83class CommaExpr;
84class TypeExpr;
[7f5566b]85class AsmExpr;
[db4ecc5]86class ImplicitCopyCtorExpr;
[b6fe7e6]87class ConstructorExpr;
[630a82a]88class CompoundLiteralExpr;
[8688ce1]89class RangeExpr;
[907eccb]90class UntypedTupleExpr;
[6eb8948]91class TupleExpr;
[3b58d91]92class TupleIndexExpr;
[6eb8948]93class TupleAssignExpr;
94class StmtExpr;
[3c13c03]95class UniqueExpr;
[e4d829b]96class UntypedInitExpr;
97class InitExpr;
[44b4114]98class DeletedExpr;
[0f79853]99class DefaultArgExpr;
[d807ca28]100class GenericExpr;
[51b7345]101
102class Type;
103class VoidType;
104class BasicType;
105class PointerType;
106class ArrayType;
[ce8c12f]107class ReferenceType;
[c5d7701]108class QualifiedType;
[51b7345]109class FunctionType;
110class ReferenceToType;
111class StructInstType;
112class UnionInstType;
113class EnumInstType;
[4040425]114class TraitInstType;
[51b7345]115class TypeInstType;
116class TupleType;
117class TypeofType;
118class AttrType;
[44b7088]119class VarArgsType;
[89e6ffc]120class ZeroType;
121class OneType;
[47498bd]122class GlobalScopeType;
[51b7345]123
[e4d829b]124class Designation;
[51b7345]125class Initializer;
126class SingleInit;
127class ListInit;
[71f4e4f]128class ConstructorInit;
[51b7345]129
130//template <class T>    // emulate a union with templates?
131class Constant;
132
[0f8e4ac]133// typedef std::string Label;
134class Label;
[51b7345]135typedef unsigned int UniqueId;
136
137class TypeSubstitution;
138
[7baed7d]139// gcc attribute
140class Attribute;
141
[0dd3a2f]142// Local Variables: //
143// tab-width: 4 //
144// mode: c++ //
145// compile-command: "make install" //
146// End: //
Note: See TracBrowser for help on using the repository browser.