docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::visitor::StructuredSDFGVisitor Class Reference

Very specific implementation, that technically visits the SDFG of an StructuredSDFGBuilder and not just any SDFG. More...

#include <sdfg/visitor/structured_sdfg_visitor.h>

Inheritance diagram for sdfg::visitor::StructuredSDFGVisitor:
[legend]

Public Member Functions

 StructuredSDFGVisitor (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
virtual ~StructuredSDFGVisitor ()=default
virtual bool visit ()
virtual bool accept (structured_control_flow::Block &node)
virtual bool accept (structured_control_flow::AssignmentBlock &node)
virtual bool accept (structured_control_flow::Sequence &node)
virtual bool accept (structured_control_flow::Return &node)
virtual bool accept (structured_control_flow::IfElse &node)
virtual bool accept (structured_control_flow::For &node)
virtual bool accept (structured_control_flow::While &node)
virtual bool accept (structured_control_flow::Continue &node)
virtual bool accept (structured_control_flow::Break &node)
virtual bool accept (structured_control_flow::Map &node)
virtual bool accept (structured_control_flow::Reduce &node)

Protected Member Functions

virtual bool visit_internal (structured_control_flow::Sequence &parent)

Protected Attributes

builder::StructuredSDFGBuilder & builder_
analysis::AnalysisManager & analysis_manager_

Detailed Description

Very specific implementation, that technically visits the SDFG of an StructuredSDFGBuilder and not just any SDFG.

Also does some redundant / interleaved calling, where the visitor internally visits a sequence as a node and then (non-recursively) each child of the sequence and of the child is itself a container, the body/sequence of the container. This is quite far away from traditional visitor pattern.

Constructor & Destructor Documentation

◆ StructuredSDFGVisitor()

sdfg::visitor::StructuredSDFGVisitor::StructuredSDFGVisitor ( builder::StructuredSDFGBuilder & builder,
analysis::AnalysisManager & analysis_manager )

◆ ~StructuredSDFGVisitor()

virtual sdfg::visitor::StructuredSDFGVisitor::~StructuredSDFGVisitor ( )
virtualdefault

Member Function Documentation

◆ accept() [1/11]

virtual bool sdfg::visitor::StructuredSDFGVisitor::accept ( structured_control_flow::AssignmentBlock & node)
virtual

◆ accept() [2/11]

◆ accept() [3/11]

virtual bool sdfg::visitor::StructuredSDFGVisitor::accept ( structured_control_flow::Break & node)
virtual

◆ accept() [4/11]

virtual bool sdfg::visitor::StructuredSDFGVisitor::accept ( structured_control_flow::Continue & node)
virtual

◆ accept() [5/11]

virtual bool sdfg::visitor::StructuredSDFGVisitor::accept ( structured_control_flow::For & node)
virtual

◆ accept() [6/11]

virtual bool sdfg::visitor::StructuredSDFGVisitor::accept ( structured_control_flow::IfElse & node)
virtual

◆ accept() [7/11]

◆ accept() [8/11]

virtual bool sdfg::visitor::StructuredSDFGVisitor::accept ( structured_control_flow::Reduce & node)
virtual

◆ accept() [9/11]

virtual bool sdfg::visitor::StructuredSDFGVisitor::accept ( structured_control_flow::Return & node)
virtual

◆ accept() [10/11]

◆ accept() [11/11]

virtual bool sdfg::visitor::StructuredSDFGVisitor::accept ( structured_control_flow::While & node)
virtual

◆ visit()

◆ visit_internal()

virtual bool sdfg::visitor::StructuredSDFGVisitor::visit_internal ( structured_control_flow::Sequence & parent)
protectedvirtual

Member Data Documentation

◆ analysis_manager_

analysis::AnalysisManager& sdfg::visitor::StructuredSDFGVisitor::analysis_manager_
protected

◆ builder_

builder::StructuredSDFGBuilder& sdfg::visitor::StructuredSDFGVisitor::builder_
protected

The documentation for this class was generated from the following file: