docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
c_code_generator.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace sdfg {
7namespace codegen {
8
10private:
11 CLanguageExtension language_extension_;
12
13protected:
15
17
18 void dispatch_globals() override;
19
20 void dispatch_schedule() override;
21
23 return language_extension_;
24 }
25
26public:
29 analysis::AnalysisManager& analysis_manager,
30 InstrumentationPlan& instrumentation_plan,
31 ArgCapturePlan& arg_capture_plan,
32 std::shared_ptr<CodeSnippetFactory> library_snippet_factory = std::make_shared<CodeSnippetFactory>(),
33 const std::string& externals_prefix = ""
34 )
36 sdfg,
37 analysis_manager,
38 instrumentation_plan,
39 arg_capture_plan,
40 std::move(library_snippet_factory),
41 externals_prefix
42 ),
43 language_extension_(sdfg, externals_prefix) {
44 }
45
46 std::string function_definition() override;
47
48 void emit_capture_context_init(std::ostream& ofs_source) const override;
49};
50
51} // namespace codegen
52} // namespace sdfg
Definition structured_sdfg.h:30
Definition analysis.h:53
Definition arg_capture_plan.h:36
void dispatch_schedule() override
LanguageExtension & language_extension() override
Definition c_code_generator.h:22
void dispatch_globals() override
void dispatch_header_structures(PrettyPrinter &out) override
void dispatch_header_includes(PrettyPrinter &out) override
CCodeGenerator(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 c_code_generator.h:27
std::string function_definition() override
Generate a function definition for the SDFG.
void emit_capture_context_init(std::ostream &ofs_source) const override
Definition c_language_extension.h:12
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="")
Definition instrumentation_plan.h:26
Definition language_extension.h:39
Definition utils.h:16
Definition argument_registry.h:10
Definition analysis.h:7