1#ifndef Rosebud_YamlGenerator_H 
    2#define Rosebud_YamlGenerator_H 
    3#include <Rosebud/Generator.h> 
    5#include <Sawyer/Yaml.h> 
   12    using Ptr = std::shared_ptr<YamlGenerator>;
 
   15    int indentationAmount = 2;
 
   21    static Ptr instance();
 
   22    virtual std::string 
name() 
const override;
 
   23    virtual std::string 
purpose() 
const override;
 
 
Base class for backend code generators.
 
Generator that produces a YAML description of the input.
 
virtual std::string name() const override
Property: Every generator should have a unique name.
 
virtual void adjustParser(Sawyer::CommandLine::Parser &) override
Add command-line switches and documentation to a parser.
 
virtual void generate(const Ast::ProjectPtr &) override
Generate code.
 
virtual std::string purpose() const override
Property: Single-line description for documentation.
 
The parser for a program command line.
 
Graph containing user-defined vertices and edges.
 
std::shared_ptr< Class > ClassPtr
Shared-ownership pointer to a Class.
 
std::shared_ptr< Property > PropertyPtr
Shared-ownership pointer to a Property.
 
std::shared_ptr< Node > NodePtr
Shared-ownership pointer to a Node.
 
std::shared_ptr< Definition > DefinitionPtr
Shared-ownership pointer to a Definition.
 
std::shared_ptr< Project > ProjectPtr
Shared-ownership pointer to a Project.
 
std::shared_ptr< CppStack > CppStackPtr
Shared-ownership pointer to a CppStack.
 
std::shared_ptr< Attribute > AttributePtr
Shared-ownership pointer to a Attribute.
 
Rosebud is a tool to generate abstract syntax trees.