braket.default_simulator.openqasm.parser.openqasm_parser module

Parser (openqasm3.parser)

Tools for parsing OpenQASM 3 programs into the reference AST.

The quick-start interface is simply to call openqasm3.parse:

The rest of this module provides some lower-level internals of the parser.

braket.default_simulator.openqasm.parser.openqasm_parser.parse(input_: str, *, permissive=False) Program[source]

Parse a complete OpenQASM 3 program from a string.

Parameters:
  • input – A string containing a complete OpenQASM 3 program.

  • permissive – A Boolean controlling whether ANTLR should attempt to recover from incorrect input or not. Defaults to False; if set to True, the reference AST produced may be invalid if ANTLR emits any warning messages during its parsing phase.

Returns:

A complete Program node.

braket.default_simulator.openqasm.parser.openqasm_parser.get_span(node: ParserRuleContext | TerminalNode) Span[source]

Get the span of a node

braket.default_simulator.openqasm.parser.openqasm_parser.add_span(node: _NodeT, span: Span) _NodeT[source]

Set the span of a node and return the node

braket.default_simulator.openqasm.parser.openqasm_parser.combine_span(first: Span, second: Span)[source]

Combine two spans and return the combined one

braket.default_simulator.openqasm.parser.openqasm_parser.span(func)[source]

Function decorator to automatic attach span to nodes for visit* methods.

class braket.default_simulator.openqasm.parser.openqasm_parser.QASMNodeVisitor[source]

Bases: qasm3ParserVisitor

visitProgram(**kwargs)[source]
visitStatement(**kwargs)[source]
visitAnnotation(**kwargs)[source]
visitScope(ctx: ScopeContext) List[Statement][source]
visitPragma(**kwargs)[source]
visitAliasDeclarationStatement(**kwargs)[source]
visitAssignmentStatement(**kwargs)[source]
visitBarrierStatement(**kwargs)[source]
visitBoxStatement(**kwargs)[source]
visitBreakStatement(**kwargs)[source]
visitCalibrationGrammarStatement(**kwargs)[source]
visitClassicalDeclarationStatement(**kwargs)[source]
visitConstDeclarationStatement(**kwargs)[source]
visitContinueStatement(**kwargs)[source]
visitDefStatement(**kwargs)[source]
visitDefcalStatement(**kwargs)[source]
visitDelayStatement(**kwargs)[source]
visitEndStatement(**kwargs)[source]
visitExpressionStatement(**kwargs)[source]
visitExternStatement(**kwargs)[source]
visitForStatement(**kwargs)[source]
visitGateCallStatement(**kwargs)[source]
visitGateStatement(**kwargs)[source]
visitIfStatement(**kwargs)[source]
visitIncludeStatement(**kwargs)[source]
visitIoDeclarationStatement(**kwargs)[source]
visitMeasureArrowAssignmentStatement(**kwargs)[source]
visitOldStyleDeclarationStatement(**kwargs)[source]
visitQuantumDeclarationStatement(**kwargs)[source]
visitResetStatement(**kwargs)[source]
visitReturnStatement(**kwargs)[source]
visitWhileStatement(**kwargs)[source]
visitParenthesisExpression(**kwargs)[source]
visitIndexExpression(**kwargs)[source]
visitUnaryExpression(**kwargs)[source]
visitPowerExpression(**kwargs)
visitMultiplicativeExpression(**kwargs)
visitAdditiveExpression(**kwargs)
visitBitshiftExpression(**kwargs)
visitComparisonExpression(**kwargs)
visitEqualityExpression(**kwargs)
visitBitwiseAndExpression(**kwargs)
visitBitwiseXorExpression(**kwargs)
visitBitwiseOrExpression(**kwargs)
visitLogicalAndExpression(**kwargs)
visitLogicalOrExpression(**kwargs)
visitCastExpression(**kwargs)[source]
visitMeasureExpression(**kwargs)[source]
visitDurationofExpression(**kwargs)[source]
visitCallExpression(**kwargs)[source]
visitLiteralExpression(**kwargs)[source]
visitAliasExpression(**kwargs)[source]
visitDeclarationExpression(**kwargs)[source]
visitRangeExpression(**kwargs)[source]
visitSetExpression(**kwargs)[source]
visitArrayLiteral(**kwargs)[source]
visitIndexOperator(ctx: IndexOperatorContext)[source]
visitIndexedIdentifier(**kwargs)[source]
visitDesignator(**kwargs)[source]
visitGateModifier(**kwargs)[source]
visitScalarType(**kwargs)[source]
visitArrayType(**kwargs)[source]
visitGateOperand(**kwargs)[source]
visitArgumentDefinition(**kwargs)[source]
visitExternArgument(**kwargs)[source]
visitDefcalArgument(**kwargs)[source]
visitStatementOrScope(ctx: StatementOrScopeContext) List[Statement][source]
exception braket.default_simulator.openqasm.parser.openqasm_parser.QASM3ParsingError[source]

Bases: Exception

An error raised by the AST visitor during the AST-generation phase. This is raised in cases where the given program could not be correctly parsed.