libqasm
library for handling cQASM files
|
Header file for the abstract syntax tree node classes. More...
Go to the source code of this file.
Classes | |
class | cqasm::v1::ast::Visitor< T > |
Base class for the visitor pattern for the tree. More... | |
class | cqasm::v1::ast::Node |
Main class for all nodes. More... | |
class | cqasm::v1::ast::Expression |
Any kind of expression. More... | |
class | cqasm::v1::ast::BinaryOp |
Any binary operator. More... | |
class | cqasm::v1::ast::ArithOp |
Arithmetic operators. More... | |
class | cqasm::v1::ast::Add |
Addition operator. More... | |
class | cqasm::v1::ast::Annotated |
Represents a node that carries annotation data. More... | |
class | cqasm::v1::ast::AnnotationData |
Represents an annotation. More... | |
class | cqasm::v1::ast::Assignment |
An assignment statement within a loop definition. More... | |
class | cqasm::v1::ast::BitwiseOp |
Bitwise operators. More... | |
class | cqasm::v1::ast::BitwiseAnd |
Bitwise AND operator. More... | |
class | cqasm::v1::ast::UnaryOp |
Any unary operator. More... | |
class | cqasm::v1::ast::BitwiseNot |
Bitwise NOT (one's complement). More... | |
class | cqasm::v1::ast::BitwiseOr |
Bitwise OR operator. More... | |
class | cqasm::v1::ast::BitwiseXor |
Bitwise XOR operator. More... | |
class | cqasm::v1::ast::Statement |
Any kind of statement. More... | |
class | cqasm::v1::ast::Structured |
Any version 1.2+ structured control-flow statement. More... | |
class | cqasm::v1::ast::BreakStatement |
A break statement. More... | |
class | cqasm::v1::ast::Bundle |
A list of parallel instructions. More... | |
class | cqasm::v1::ast::CmpOp |
Comparison operators. More... | |
class | cqasm::v1::ast::CmpEq |
Equality operator. More... | |
class | cqasm::v1::ast::CmpGe |
Greater-than-or-equal operator. More... | |
class | cqasm::v1::ast::CmpGt |
Greater-than operator. More... | |
class | cqasm::v1::ast::CmpLe |
Less-than-or-equal operator. More... | |
class | cqasm::v1::ast::CmpLt |
Less-than operator. More... | |
class | cqasm::v1::ast::CmpNe |
Inequality operator. More... | |
class | cqasm::v1::ast::ContinueStatement |
A continue statement. More... | |
class | cqasm::v1::ast::Divide |
True division operator. More... | |
class | cqasm::v1::ast::ErroneousExpression |
Placeholder for an expression with a parse error. More... | |
class | cqasm::v1::ast::Root |
Any root node for the AST. More... | |
class | cqasm::v1::ast::ErroneousProgram |
Placeholder for a program with a parse error. More... | |
class | cqasm::v1::ast::ErroneousStatement |
Placeholder for a statement with a parse error. More... | |
class | cqasm::v1::ast::ExpressionList |
Represents a comma-separated list of expressions. More... | |
class | cqasm::v1::ast::FloatLiteral |
A floating point literal. More... | |
class | cqasm::v1::ast::ForLoop |
A C-style for loop. More... | |
class | cqasm::v1::ast::ForeachLoop |
A foreach loop. More... | |
class | cqasm::v1::ast::FunctionCall |
A function call. More... | |
class | cqasm::v1::ast::Identifier |
An identifier. More... | |
class | cqasm::v1::ast::IfElse |
An if-else chain. More... | |
class | cqasm::v1::ast::IfElseBranch |
A single condition + block for use in an if-else chain. More... | |
class | cqasm::v1::ast::Index |
Indexation operator. More... | |
class | cqasm::v1::ast::IndexEntry |
An entry in an index list. More... | |
class | cqasm::v1::ast::IndexItem |
A single index in an index list. More... | |
class | cqasm::v1::ast::IndexList |
A list of one or more indices. More... | |
class | cqasm::v1::ast::IndexRange |
An inclusive range of indices in an index list. More... | |
class | cqasm::v1::ast::Instruction |
Any kind of instruction. More... | |
class | cqasm::v1::ast::IntDivide |
Integer division operator. More... | |
class | cqasm::v1::ast::IntegerLiteral |
An integer literal. More... | |
class | cqasm::v1::ast::JsonLiteral |
Represents a JSON literal. More... | |
class | cqasm::v1::ast::LogicalOp |
Logical operators. More... | |
class | cqasm::v1::ast::LogicalAnd |
Logical AND operator. More... | |
class | cqasm::v1::ast::LogicalNot |
Logical/boolean NOT. More... | |
class | cqasm::v1::ast::LogicalOr |
Logical OR operator. More... | |
class | cqasm::v1::ast::LogicalXor |
Logical XOR operator. More... | |
class | cqasm::v1::ast::Mapping |
A mapping (alias) for an expression. More... | |
class | cqasm::v1::ast::MatrixLiteral |
Represents a matrix literal. More... | |
class | cqasm::v1::ast::Modulo |
Modulo operator. More... | |
class | cqasm::v1::ast::Multiply |
Multiplication operator. More... | |
class | cqasm::v1::ast::Negate |
Negation operator (two's complement). More... | |
class | cqasm::v1::ast::Power |
Exponentiation operator. More... | |
class | cqasm::v1::ast::Program |
A complete program. More... | |
class | cqasm::v1::ast::RepeatUntilLoop |
A repeat-until loop. More... | |
class | cqasm::v1::ast::ShiftOp |
Shift operators. More... | |
class | cqasm::v1::ast::ShiftLeft |
Shift-left operator. More... | |
class | cqasm::v1::ast::ShiftRightArith |
Arithmetic/signed shift-right operator (shifts in sign). More... | |
class | cqasm::v1::ast::ShiftRightLogic |
Logical/unsigned shift-right operator (shifts in zero). More... | |
class | cqasm::v1::ast::StatementList |
A list of statements. More... | |
class | cqasm::v1::ast::StringLiteral |
Represents a string literal. More... | |
class | cqasm::v1::ast::Subcircuit |
A subcircuit header. More... | |
class | cqasm::v1::ast::Subtract |
Subtraction operator. More... | |
class | cqasm::v1::ast::TernaryCond |
Ternary conditional operator. More... | |
class | cqasm::v1::ast::Variables |
One or more variable declaration for some type. More... | |
class | cqasm::v1::ast::Version |
The file version identifier. More... | |
class | cqasm::v1::ast::WhileLoop |
A while loop. More... | |
class | cqasm::v1::ast::VisitorBase |
Internal class for implementing the visitor pattern. More... | |
class | cqasm::v1::ast::Visitor< T > |
Base class for the visitor pattern for the tree. More... | |
class | cqasm::v1::ast::RecursiveVisitor |
Visitor base class defaulting to DFS pre-order traversal. More... | |
class | cqasm::v1::ast::Dumper |
Visitor class that debug-dumps a tree to a stream. More... | |
Namespaces | |
cqasm | |
Toplevel namespace with entry points for the new API. | |
cqasm::v1 | |
Namespace for the "new" cQASM 1.x API. | |
cqasm::v1::ast | |
Namespace for the abstract syntax tree node classes. | |
Typedefs | |
using | cqasm::v1::ast::Base = cqasm::tree::Base |
template<class T > | |
using | cqasm::v1::ast::Maybe = cqasm::tree::Maybe< T > |
template<class T > | |
using | cqasm::v1::ast::One = cqasm::tree::One< T > |
template<class T > | |
using | cqasm::v1::ast::Any = cqasm::tree::Any< T > |
template<class T > | |
using | cqasm::v1::ast::Many = cqasm::tree::Many< T > |
template<class T > | |
using | cqasm::v1::ast::OptLink = cqasm::tree::OptLink< T > |
template<class T > | |
using | cqasm::v1::ast::Link = cqasm::tree::Link< T > |
Functions | |
std::ostream & | cqasm::v1::ast::operator<< (std::ostream &os, const Node &object) |
Stream << overload for tree nodes (writes debug dump). More... | |
Header file for the abstract syntax tree node classes.
Definition in file cqasm-v1-ast-gen.hpp.