1 #ifndef Rosebud_BasicTypes_H
2 #define Rosebud_BasicTypes_H
4 #include <Sawyer/Clexer.h>
7 namespace Rosebud {
16 enum class Expand {
17  NONE,
18  INTER,
20 };
23 enum class When {
24  NEVER,
26  AUTO
27 };
29 class Generator;
30 using GeneratorPtr = std::shared_ptr<Generator>;
31 class Serializer;
32 using SerializerPtr = std::shared_ptr<Serializer>;
34 // AST node types
35 namespace Ast {
36 class Node;
37 using NodePtr = std::shared_ptr<Node>;
38 class TokenList;
39 using TokenListPtr = std::shared_ptr<TokenList>;
40 class ArgumentList;
41 using ArgumentListPtr = std::shared_ptr<ArgumentList>;
42 class CppStack;
43 using CppStackPtr = std::shared_ptr<CppStack>;
44 class Attribute;
45 using AttributePtr = std::shared_ptr<Attribute>;
46 class Definition;
47 using DefinitionPtr = std::shared_ptr<Definition>;
48 class Property;
49 using PropertyPtr = std::shared_ptr<Property>;
50 class Class;
51 using ClassPtr = std::shared_ptr<Class>;
52 class File;
53 using FilePtr = std::shared_ptr<File>;
54 class Project;
55 using ProjectPtr = std::shared_ptr<Project>;
56 } // namespace
58 } // namespace
59 #endif
Information about C preprocessor conditional compilation directives.
Definition: Ast.h:130
std::shared_ptr< TokenList > TokenListPtr
Shared-ownership pointer to a TokenList.
Definition: ud/BasicTypes.h:39
Sometimes do it.
std::shared_ptr< Project > ProjectPtr
Shared-ownership pointer to a Project.
Definition: ud/BasicTypes.h:55
A node that holds a list of arguments.
Definition: Ast.h:195
Rosebud is a tool to generate code for ROSE.
Definition: Ast.h:14
std::shared_ptr< ArgumentList > ArgumentListPtr
Shared-ownership pointer to a ArgumentList.
Definition: ud/BasicTypes.h:41
Each token's [begin,end) individually.
std::shared_ptr< Definition > DefinitionPtr
Shared-ownership pointer to a Definition.
Definition: ud/BasicTypes.h:47
An input file.
Definition: Ast.h:396
Root of an AST for one or more input files.
Definition: Ast.h:528
std::shared_ptr< Serializer > SerializerPtr
Shared-ownership pointer to a Serializer.
Definition: ud/BasicTypes.h:32
When something should be done.
Definition: ud/BasicTypes.h:23
Represents a class definition.
Definition: Ast.h:355
From first token's begin to last token's end.
std::shared_ptr< Generator > GeneratorPtr
Shared-ownership pointer to a Generator.
Definition: ud/BasicTypes.h:30
Base class for class and property definitions.
Definition: Ast.h:252
An attribute adjusting the details for a definition.
Definition: Ast.h:216
std::shared_ptr< Property > PropertyPtr
Shared-ownership pointer to a Property.
Definition: ud/BasicTypes.h:49
How to obtain text when converting a sequence of tokens to a string.
Definition: ud/BasicTypes.h:16
std::shared_ptr< File > FilePtr
Shared-ownership pointer to a File.
Definition: ud/BasicTypes.h:53
Always do it.
std::shared_ptr< Class > ClassPtr
Shared-ownership pointer to a Class.
Definition: ud/BasicTypes.h:51
std::shared_ptr< Attribute > AttributePtr
Shared-ownership pointer to a Attribute.
Definition: ud/BasicTypes.h:45
Node that holds a sequence of consecutive tokens from an input file.
Definition: Ast.h:76
Represents a class property definition.
Definition: Ast.h:314
std::shared_ptr< CppStack > CppStackPtr
Shared-ownership pointer to a CppStack.
Definition: ud/BasicTypes.h:43
std::shared_ptr< Node > NodePtr
Shared-ownership pointer to a Node.
Definition: ud/BasicTypes.h:37
From first token's prior to last token's end.
Base class for serialization generators.
Definition: Serializer.h:11