libqasm
library for handling cQASM files
Public Member Functions | List of all members
cqasm::v1::semantic::RecursiveVisitor Class Reference

Visitor base class defaulting to DFS pre-order traversal. More...

Public Member Functions

void visit_annotated (Annotated &node) override
 Recursive traversal for Annotated nodes. More...
 
void visit_annotation_data (AnnotationData &node) override
 Recursive traversal for AnnotationData nodes. More...
 
void visit_block (Block &node) override
 Recursive traversal for Block nodes. More...
 
void visit_break_statement (BreakStatement &node) override
 Recursive traversal for BreakStatement nodes. More...
 
void visit_bundle (Bundle &node) override
 Recursive traversal for Bundle nodes. More...
 
void visit_bundle_ext (BundleExt &node) override
 Recursive traversal for BundleExt nodes. More...
 
void visit_continue_statement (ContinueStatement &node) override
 Recursive traversal for ContinueStatement nodes. More...
 
void visit_error_model (ErrorModel &node) override
 Recursive traversal for ErrorModel nodes. More...
 
void visit_for_loop (ForLoop &node) override
 Recursive traversal for ForLoop nodes. More...
 
void visit_foreach_loop (ForeachLoop &node) override
 Recursive traversal for ForeachLoop nodes. More...
 
void visit_goto_instruction (GotoInstruction &node) override
 Recursive traversal for GotoInstruction nodes. More...
 
void visit_if_else (IfElse &node) override
 Recursive traversal for IfElse nodes. More...
 
void visit_if_else_branch (IfElseBranch &node) override
 Recursive traversal for IfElseBranch nodes. More...
 
void visit_instruction (Instruction &node) override
 Recursive traversal for Instruction nodes. More...
 
void visit_instruction_base (InstructionBase &node) override
 Recursive traversal for InstructionBase nodes. More...
 
void visit_mapping (Mapping &node) override
 Recursive traversal for Mapping nodes. More...
 
void visit_program (Program &node) override
 Recursive traversal for Program nodes. More...
 
void visit_repeat_until_loop (RepeatUntilLoop &node) override
 Recursive traversal for RepeatUntilLoop nodes. More...
 
void visit_set_instruction (SetInstruction &node) override
 Recursive traversal for SetInstruction nodes. More...
 
void visit_statement (Statement &node) override
 Recursive traversal for Statement nodes. More...
 
void visit_structured (Structured &node) override
 Recursive traversal for Structured nodes. More...
 
void visit_subcircuit (Subcircuit &node) override
 Recursive traversal for Subcircuit nodes. More...
 
void visit_variable (Variable &node) override
 Recursive traversal for Variable nodes. More...
 
void visit_version (Version &node) override
 Recursive traversal for Version nodes. More...
 
void visit_while_loop (WhileLoop &node) override
 Recursive traversal for WhileLoop nodes. More...
 
- Public Member Functions inherited from cqasm::v1::semantic::Visitor< void >
virtual void visit_node (Node &node)=0
 Fallback function for nodes of any type. More...
 
virtual void visit_annotated (Annotated &node)
 Fallback function for Annotated nodes. More...
 
virtual void visit_annotation_data (AnnotationData &node)
 Visitor function for AnnotationData nodes. More...
 
virtual void visit_break_statement (BreakStatement &node)
 Visitor function for BreakStatement nodes. More...
 
virtual void visit_bundle (Bundle &node)
 Visitor function for Bundle nodes. More...
 
virtual void visit_continue_statement (ContinueStatement &node)
 Visitor function for ContinueStatement nodes. More...
 
virtual void visit_for_loop (ForLoop &node)
 Visitor function for ForLoop nodes. More...
 
virtual void visit_foreach_loop (ForeachLoop &node)
 Visitor function for ForeachLoop nodes. More...
 
virtual void visit_if_else (IfElse &node)
 Visitor function for IfElse nodes. More...
 
virtual void visit_if_else_branch (IfElseBranch &node)
 Visitor function for IfElseBranch nodes. More...
 
virtual void visit_instruction (Instruction &node)
 Visitor function for Instruction nodes. More...
 
virtual void visit_mapping (Mapping &node)
 Visitor function for Mapping nodes. More...
 
virtual void visit_program (Program &node)
 Visitor function for Program nodes. More...
 
virtual void visit_repeat_until_loop (RepeatUntilLoop &node)
 Visitor function for RepeatUntilLoop nodes. More...
 
virtual void visit_statement (Statement &node)
 Fallback function for Statement nodes. More...
 
virtual void visit_structured (Structured &node)
 Fallback function for Structured nodes. More...
 
virtual void visit_subcircuit (Subcircuit &node)
 Visitor function for Subcircuit nodes. More...
 
virtual void visit_version (Version &node)
 Visitor function for Version nodes. More...
 
virtual void visit_while_loop (WhileLoop &node)
 Visitor function for WhileLoop nodes. More...
 
- Public Member Functions inherited from cqasm::v1::semantic::VisitorBase
virtual ~VisitorBase ()=default
 Virtual destructor for proper cleanup. More...
 

Additional Inherited Members

- Protected Member Functions inherited from cqasm::v1::semantic::Visitor< void >
void raw_visit_node (Node &node, void *retval) override
 Internal visitor function for nodes of any type. More...
 
void raw_visit_node (Node &node, void *retval)
 Internal visitor function for nodes of any type. More...
 
void raw_visit_node (Node &node, void *retval)
 Internal visitor function for nodes of any type. More...
 
void raw_visit_annotated (Annotated &node, void *retval) override
 Internal visitor function for Annotated nodes. More...
 
void raw_visit_annotated (Annotated &node, void *retval)
 Internal visitor function for Annotated nodes. More...
 
void raw_visit_annotated (Annotated &node, void *retval)
 Internal visitor function for Annotated nodes. More...
 
void raw_visit_annotation_data (AnnotationData &node, void *retval) override
 Internal visitor function for AnnotationData nodes. More...
 
void raw_visit_annotation_data (AnnotationData &node, void *retval)
 Internal visitor function for AnnotationData nodes. More...
 
void raw_visit_annotation_data (AnnotationData &node, void *retval)
 Internal visitor function for AnnotationData nodes. More...
 
void raw_visit_block (Block &node, void *retval) override
 Internal visitor function for Block nodes. More...
 
void raw_visit_block (Block &node, void *retval)
 Internal visitor function for Block nodes. More...
 
void raw_visit_block (Block &node, void *retval)
 Internal visitor function for Block nodes. More...
 
void raw_visit_break_statement (BreakStatement &node, void *retval) override
 Internal visitor function for BreakStatement nodes. More...
 
void raw_visit_break_statement (BreakStatement &node, void *retval)
 Internal visitor function for BreakStatement nodes. More...
 
void raw_visit_break_statement (BreakStatement &node, void *retval)
 Internal visitor function for BreakStatement nodes. More...
 
void raw_visit_bundle (Bundle &node, void *retval) override
 Internal visitor function for Bundle nodes. More...
 
void raw_visit_bundle (Bundle &node, void *retval)
 Internal visitor function for Bundle nodes. More...
 
void raw_visit_bundle (Bundle &node, void *retval)
 Internal visitor function for Bundle nodes. More...
 
void raw_visit_bundle_ext (BundleExt &node, void *retval) override
 Internal visitor function for BundleExt nodes. More...
 
void raw_visit_bundle_ext (BundleExt &node, void *retval)
 Internal visitor function for BundleExt nodes. More...
 
void raw_visit_bundle_ext (BundleExt &node, void *retval)
 Internal visitor function for BundleExt nodes. More...
 
void raw_visit_continue_statement (ContinueStatement &node, void *retval) override
 Internal visitor function for ContinueStatement nodes. More...
 
void raw_visit_continue_statement (ContinueStatement &node, void *retval)
 Internal visitor function for ContinueStatement nodes. More...
 
void raw_visit_continue_statement (ContinueStatement &node, void *retval)
 Internal visitor function for ContinueStatement nodes. More...
 
void raw_visit_error_model (ErrorModel &node, void *retval) override
 Internal visitor function for ErrorModel nodes. More...
 
void raw_visit_error_model (ErrorModel &node, void *retval)
 Internal visitor function for ErrorModel nodes. More...
 
void raw_visit_error_model (ErrorModel &node, void *retval)
 Internal visitor function for ErrorModel nodes. More...
 
void raw_visit_for_loop (ForLoop &node, void *retval) override
 Internal visitor function for ForLoop nodes. More...
 
void raw_visit_for_loop (ForLoop &node, void *retval)
 Internal visitor function for ForLoop nodes. More...
 
void raw_visit_for_loop (ForLoop &node, void *retval)
 Internal visitor function for ForLoop nodes. More...
 
void raw_visit_foreach_loop (ForeachLoop &node, void *retval) override
 Internal visitor function for ForeachLoop nodes. More...
 
void raw_visit_foreach_loop (ForeachLoop &node, void *retval)
 Internal visitor function for ForeachLoop nodes. More...
 
void raw_visit_foreach_loop (ForeachLoop &node, void *retval)
 Internal visitor function for ForeachLoop nodes. More...
 
void raw_visit_goto_instruction (GotoInstruction &node, void *retval) override
 Internal visitor function for GotoInstruction nodes. More...
 
void raw_visit_goto_instruction (GotoInstruction &node, void *retval)
 Internal visitor function for GotoInstruction nodes. More...
 
void raw_visit_goto_instruction (GotoInstruction &node, void *retval)
 Internal visitor function for GotoInstruction nodes. More...
 
void raw_visit_if_else (IfElse &node, void *retval) override
 Internal visitor function for IfElse nodes. More...
 
void raw_visit_if_else (IfElse &node, void *retval)
 Internal visitor function for IfElse nodes. More...
 
void raw_visit_if_else (IfElse &node, void *retval)
 Internal visitor function for IfElse nodes. More...
 
void raw_visit_if_else_branch (IfElseBranch &node, void *retval) override
 Internal visitor function for IfElseBranch nodes. More...
 
void raw_visit_if_else_branch (IfElseBranch &node, void *retval)
 Internal visitor function for IfElseBranch nodes. More...
 
void raw_visit_if_else_branch (IfElseBranch &node, void *retval)
 Internal visitor function for IfElseBranch nodes. More...
 
void raw_visit_instruction (Instruction &node, void *retval) override
 Internal visitor function for Instruction nodes. More...
 
void raw_visit_instruction (Instruction &node, void *retval)
 Internal visitor function for Instruction nodes. More...
 
void raw_visit_instruction (Instruction &node, void *retval)
 Internal visitor function for Instruction nodes. More...
 
void raw_visit_instruction_base (InstructionBase &node, void *retval) override
 Internal visitor function for InstructionBase nodes. More...
 
void raw_visit_instruction_base (InstructionBase &node, void *retval)
 Internal visitor function for InstructionBase nodes. More...
 
void raw_visit_instruction_base (InstructionBase &node, void *retval)
 Internal visitor function for InstructionBase nodes. More...
 
void raw_visit_mapping (Mapping &node, void *retval) override
 Internal visitor function for Mapping nodes. More...
 
void raw_visit_mapping (Mapping &node, void *retval)
 Internal visitor function for Mapping nodes. More...
 
void raw_visit_mapping (Mapping &node, void *retval)
 Internal visitor function for Mapping nodes. More...
 
void raw_visit_program (Program &node, void *retval) override
 Internal visitor function for Program nodes. More...
 
void raw_visit_program (Program &node, void *retval)
 Internal visitor function for Program nodes. More...
 
void raw_visit_program (Program &node, void *retval)
 Internal visitor function for Program nodes. More...
 
void raw_visit_repeat_until_loop (RepeatUntilLoop &node, void *retval) override
 Internal visitor function for RepeatUntilLoop nodes. More...
 
void raw_visit_repeat_until_loop (RepeatUntilLoop &node, void *retval)
 Internal visitor function for RepeatUntilLoop nodes. More...
 
void raw_visit_repeat_until_loop (RepeatUntilLoop &node, void *retval)
 Internal visitor function for RepeatUntilLoop nodes. More...
 
void raw_visit_set_instruction (SetInstruction &node, void *retval) override
 Internal visitor function for SetInstruction nodes. More...
 
void raw_visit_set_instruction (SetInstruction &node, void *retval)
 Internal visitor function for SetInstruction nodes. More...
 
void raw_visit_set_instruction (SetInstruction &node, void *retval)
 Internal visitor function for SetInstruction nodes. More...
 
void raw_visit_statement (Statement &node, void *retval) override
 Internal visitor function for Statement nodes. More...
 
void raw_visit_statement (Statement &node, void *retval)
 Internal visitor function for Statement nodes. More...
 
void raw_visit_statement (Statement &node, void *retval)
 Internal visitor function for Statement nodes. More...
 
void raw_visit_structured (Structured &node, void *retval) override
 Internal visitor function for Structured nodes. More...
 
void raw_visit_structured (Structured &node, void *retval)
 Internal visitor function for Structured nodes. More...
 
void raw_visit_structured (Structured &node, void *retval)
 Internal visitor function for Structured nodes. More...
 
void raw_visit_subcircuit (Subcircuit &node, void *retval) override
 Internal visitor function for Subcircuit nodes. More...
 
void raw_visit_subcircuit (Subcircuit &node, void *retval)
 Internal visitor function for Subcircuit nodes. More...
 
void raw_visit_subcircuit (Subcircuit &node, void *retval)
 Internal visitor function for Subcircuit nodes. More...
 
void raw_visit_variable (Variable &node, void *retval) override
 Internal visitor function for Variable nodes. More...
 
void raw_visit_variable (Variable &node, void *retval)
 Internal visitor function for Variable nodes. More...
 
void raw_visit_variable (Variable &node, void *retval)
 Internal visitor function for Variable nodes. More...
 
void raw_visit_version (Version &node, void *retval) override
 Internal visitor function for Version nodes. More...
 
void raw_visit_version (Version &node, void *retval)
 Internal visitor function for Version nodes. More...
 
void raw_visit_version (Version &node, void *retval)
 Internal visitor function for Version nodes. More...
 
void raw_visit_while_loop (WhileLoop &node, void *retval) override
 Internal visitor function for WhileLoop nodes. More...
 
void raw_visit_while_loop (WhileLoop &node, void *retval)
 Internal visitor function for WhileLoop nodes. More...
 
void raw_visit_while_loop (WhileLoop &node, void *retval)
 Internal visitor function for WhileLoop nodes. More...
 
- Protected Member Functions inherited from cqasm::v1::semantic::VisitorBase
virtual void raw_visit_node (Node &node, void *retval)=0
 Internal visitor function for nodes of any type. More...
 
virtual void raw_visit_annotated (Annotated &node, void *retval)=0
 Internal visitor function for Annotated nodes. More...
 
virtual void raw_visit_annotation_data (AnnotationData &node, void *retval)=0
 Internal visitor function for AnnotationData nodes. More...
 
virtual void raw_visit_break_statement (BreakStatement &node, void *retval)=0
 Internal visitor function for BreakStatement nodes. More...
 
virtual void raw_visit_bundle (Bundle &node, void *retval)=0
 Internal visitor function for Bundle nodes. More...
 
virtual void raw_visit_continue_statement (ContinueStatement &node, void *retval)=0
 Internal visitor function for ContinueStatement nodes. More...
 
virtual void raw_visit_for_loop (ForLoop &node, void *retval)=0
 Internal visitor function for ForLoop nodes. More...
 
virtual void raw_visit_foreach_loop (ForeachLoop &node, void *retval)=0
 Internal visitor function for ForeachLoop nodes. More...
 
virtual void raw_visit_if_else (IfElse &node, void *retval)=0
 Internal visitor function for IfElse nodes. More...
 
virtual void raw_visit_if_else_branch (IfElseBranch &node, void *retval)=0
 Internal visitor function for IfElseBranch nodes. More...
 
virtual void raw_visit_instruction (Instruction &node, void *retval)=0
 Internal visitor function for Instruction nodes. More...
 
virtual void raw_visit_mapping (Mapping &node, void *retval)=0
 Internal visitor function for Mapping nodes. More...
 
virtual void raw_visit_program (Program &node, void *retval)=0
 Internal visitor function for Program nodes. More...
 
virtual void raw_visit_repeat_until_loop (RepeatUntilLoop &node, void *retval)=0
 Internal visitor function for RepeatUntilLoop nodes. More...
 
virtual void raw_visit_statement (Statement &node, void *retval)=0
 Internal visitor function for Statement nodes. More...
 
virtual void raw_visit_structured (Structured &node, void *retval)=0
 Internal visitor function for Structured nodes. More...
 
virtual void raw_visit_subcircuit (Subcircuit &node, void *retval)=0
 Internal visitor function for Subcircuit nodes. More...
 
virtual void raw_visit_version (Version &node, void *retval)=0
 Internal visitor function for Version nodes. More...
 
virtual void raw_visit_while_loop (WhileLoop &node, void *retval)=0
 Internal visitor function for WhileLoop nodes. More...
 

Detailed Description

Visitor base class defaulting to DFS pre-order traversal.

The visitor functions for nodes with subnode fields default to DFS traversal in addition to falling back to more generic node types.Links and OptLinks are not followed.

Definition at line 3681 of file cqasm-v1-semantic-gen.hpp.

#include <cqasm-v1-semantic-gen.hpp>

Inheritance diagram for cqasm::v1::semantic::RecursiveVisitor:
Inheritance graph
[legend]
Collaboration diagram for cqasm::v1::semantic::RecursiveVisitor:
Collaboration graph
[legend]

Member Function Documentation

◆ visit_annotated()

void cqasm::v1::semantic::RecursiveVisitor::visit_annotated ( Annotated node)
override

Recursive traversal for Annotated nodes.

Definition at line 3743 of file cqasm-v1-semantic-gen.cpp.

◆ visit_annotation_data()

void cqasm::v1::semantic::RecursiveVisitor::visit_annotation_data ( AnnotationData node)
override

Recursive traversal for AnnotationData nodes.

Definition at line 3751 of file cqasm-v1-semantic-gen.cpp.

◆ visit_block()

void cqasm::v1::semantic::RecursiveVisitor::visit_block ( Block node)
overridevirtual

Recursive traversal for Block nodes.

Reimplemented from cqasm::v1::semantic::Visitor< void >.

Reimplemented in cqasm::v1::semantic::Dumper.

Definition at line 3758 of file cqasm-v1-semantic-gen.cpp.

◆ visit_break_statement()

void cqasm::v1::semantic::RecursiveVisitor::visit_break_statement ( BreakStatement node)
override

Recursive traversal for BreakStatement nodes.

Definition at line 3766 of file cqasm-v1-semantic-gen.cpp.

◆ visit_bundle()

void cqasm::v1::semantic::RecursiveVisitor::visit_bundle ( Bundle node)
override

Recursive traversal for Bundle nodes.

Definition at line 3773 of file cqasm-v1-semantic-gen.cpp.

◆ visit_bundle_ext()

void cqasm::v1::semantic::RecursiveVisitor::visit_bundle_ext ( BundleExt node)
overridevirtual

Recursive traversal for BundleExt nodes.

Reimplemented from cqasm::v1::semantic::Visitor< void >.

Reimplemented in cqasm::v1::semantic::Dumper.

Definition at line 3781 of file cqasm-v1-semantic-gen.cpp.

◆ visit_continue_statement()

void cqasm::v1::semantic::RecursiveVisitor::visit_continue_statement ( ContinueStatement node)
override

Recursive traversal for ContinueStatement nodes.

Definition at line 3789 of file cqasm-v1-semantic-gen.cpp.

◆ visit_error_model()

void cqasm::v1::semantic::RecursiveVisitor::visit_error_model ( ErrorModel node)
overridevirtual

Recursive traversal for ErrorModel nodes.

Reimplemented from cqasm::v1::semantic::Visitor< void >.

Reimplemented in cqasm::v1::semantic::Dumper.

Definition at line 3796 of file cqasm-v1-semantic-gen.cpp.

◆ visit_for_loop()

void cqasm::v1::semantic::RecursiveVisitor::visit_for_loop ( ForLoop node)
override

Recursive traversal for ForLoop nodes.

Definition at line 3803 of file cqasm-v1-semantic-gen.cpp.

◆ visit_foreach_loop()

void cqasm::v1::semantic::RecursiveVisitor::visit_foreach_loop ( ForeachLoop node)
override

Recursive traversal for ForeachLoop nodes.

Definition at line 3813 of file cqasm-v1-semantic-gen.cpp.

◆ visit_goto_instruction()

void cqasm::v1::semantic::RecursiveVisitor::visit_goto_instruction ( GotoInstruction node)
overridevirtual

Recursive traversal for GotoInstruction nodes.

Reimplemented from cqasm::v1::semantic::Visitor< void >.

Reimplemented in cqasm::v1::semantic::Dumper.

Definition at line 3821 of file cqasm-v1-semantic-gen.cpp.

◆ visit_if_else()

void cqasm::v1::semantic::RecursiveVisitor::visit_if_else ( IfElse node)
override

Recursive traversal for IfElse nodes.

Definition at line 3828 of file cqasm-v1-semantic-gen.cpp.

◆ visit_if_else_branch()

void cqasm::v1::semantic::RecursiveVisitor::visit_if_else_branch ( IfElseBranch node)
override

Recursive traversal for IfElseBranch nodes.

Definition at line 3837 of file cqasm-v1-semantic-gen.cpp.

◆ visit_instruction()

void cqasm::v1::semantic::RecursiveVisitor::visit_instruction ( Instruction node)
override

Recursive traversal for Instruction nodes.

Definition at line 3845 of file cqasm-v1-semantic-gen.cpp.

◆ visit_instruction_base()

void cqasm::v1::semantic::RecursiveVisitor::visit_instruction_base ( InstructionBase node)
overridevirtual

Recursive traversal for InstructionBase nodes.

Reimplemented from cqasm::v1::semantic::Visitor< void >.

Reimplemented in cqasm::v1::semantic::Dumper.

Definition at line 3852 of file cqasm-v1-semantic-gen.cpp.

◆ visit_mapping()

void cqasm::v1::semantic::RecursiveVisitor::visit_mapping ( Mapping node)
override

Recursive traversal for Mapping nodes.

Definition at line 3859 of file cqasm-v1-semantic-gen.cpp.

◆ visit_program()

void cqasm::v1::semantic::RecursiveVisitor::visit_program ( Program node)
override

Recursive traversal for Program nodes.

Definition at line 3866 of file cqasm-v1-semantic-gen.cpp.

◆ visit_repeat_until_loop()

void cqasm::v1::semantic::RecursiveVisitor::visit_repeat_until_loop ( RepeatUntilLoop node)
override

Recursive traversal for RepeatUntilLoop nodes.

Definition at line 3878 of file cqasm-v1-semantic-gen.cpp.

◆ visit_set_instruction()

void cqasm::v1::semantic::RecursiveVisitor::visit_set_instruction ( SetInstruction node)
overridevirtual

Recursive traversal for SetInstruction nodes.

Reimplemented from cqasm::v1::semantic::Visitor< void >.

Reimplemented in cqasm::v1::semantic::Dumper.

Definition at line 3886 of file cqasm-v1-semantic-gen.cpp.

◆ visit_statement()

void cqasm::v1::semantic::RecursiveVisitor::visit_statement ( Statement node)
override

Recursive traversal for Statement nodes.

Definition at line 3893 of file cqasm-v1-semantic-gen.cpp.

◆ visit_structured()

void cqasm::v1::semantic::RecursiveVisitor::visit_structured ( Structured node)
override

Recursive traversal for Structured nodes.

Definition at line 3900 of file cqasm-v1-semantic-gen.cpp.

◆ visit_subcircuit()

void cqasm::v1::semantic::RecursiveVisitor::visit_subcircuit ( Subcircuit node)
override

Recursive traversal for Subcircuit nodes.

Definition at line 3907 of file cqasm-v1-semantic-gen.cpp.

◆ visit_variable()

void cqasm::v1::semantic::RecursiveVisitor::visit_variable ( Variable node)
overridevirtual

Recursive traversal for Variable nodes.

Reimplemented from cqasm::v1::semantic::Visitor< void >.

Reimplemented in cqasm::v1::semantic::Dumper.

Definition at line 3916 of file cqasm-v1-semantic-gen.cpp.

◆ visit_version()

void cqasm::v1::semantic::RecursiveVisitor::visit_version ( Version node)
override

Recursive traversal for Version nodes.

Definition at line 3923 of file cqasm-v1-semantic-gen.cpp.

◆ visit_while_loop()

void cqasm::v1::semantic::RecursiveVisitor::visit_while_loop ( WhileLoop node)
override

Recursive traversal for WhileLoop nodes.

Definition at line 3930 of file cqasm-v1-semantic-gen.cpp.


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