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