33 std::shared_ptr<CodeSnippetFactory> library_snippet_factory = std::make_shared<CodeSnippetFactory>(),
34 const std::string& externals_prefix =
""
41 bool emit_main_source(std::ostream& out,
const std::filesystem::path& header_path)
override;
43 bool as_source(
const std::filesystem::path& header_path,
const std::filesystem::path& source_path)
override;
Definition structured_sdfg.h:30
Definition arg_capture_plan.h:36
bool generate() override
Generate the code.
virtual void dispatch_header_structures(PrettyPrinter &out)=0
virtual LanguageExtension & language_extension()=0
virtual void dispatch_globals()=0
void append_function_source(std::ostream &ofs_source) override
Generate only the function source code and append it to the source file.
void dispatch_header(PrettyPrinter &out)
virtual void emit_capture_context_init(std::ostream &ofs_source) const =0
bool emit_header(PrettyPrinter &out) override
write the contents of the main header into out
bool emit_main_source(std::ostream &out, const std::filesystem::path &header_path) override
write the contents of the main source file into out.
virtual void dispatch_header_includes(PrettyPrinter &out)=0
bool as_source(const std::filesystem::path &header_path, const std::filesystem::path &source_path) override
Generate the SDFG's code into source files.
void dispatch_structures()
CStyleBaseCodeGenerator(StructuredSDFG &sdfg, analysis::AnalysisManager &analysis_manager, InstrumentationPlan &instrumentation_plan, ArgCapturePlan &arg_capture_plan, std::shared_ptr< CodeSnippetFactory > library_snippet_factory=std::make_shared< CodeSnippetFactory >(), const std::string &externals_prefix="")
virtual void dispatch_schedule()=0
CodeGenerator(StructuredSDFG &sdfg, analysis::AnalysisManager &analysis_manager, InstrumentationPlan &instrumentation_plan, ArgCapturePlan &arg_capture_plan, std::shared_ptr< CodeSnippetFactory > library_snippet_factory=std::make_shared< CodeSnippetFactory >(), const std::string &externals_prefix="")
Definition code_generator.h:54
Definition instrumentation_plan.h:26
Definition language_extension.h:39
Definition argument_registry.h:10