qasm-ts - v2.0.0
    Preparing search index...

    Module qasm2/parser

    OpenQASM 2.0 Parser Implementation

    This module implements a parser for OpenQASM 2.0 that focuses on the core quantum circuit description language without the advanced features of version 3.0. The parser handles quantum and classical register declarations, gate definitions and applications, measurements, and basic control structures.

    OpenQASM 2.0 parsing capabilities:

    • Register declarations: qreg and creg with size specifications
    • Gate definitions: Custom gate definitions with parameters and bodies
    • Gate applications: Built-in and custom gate applications
    • Measurements: Quantum measurements with classical result storage
    • Basic conditionals: Simple if statements based on classical register values
    • Arithmetic expressions: Parameter expressions for gate operations
    • Opaque gates: External gate declarations

    The parser maintains a list of known gates and validates gate applications against declared gates and built-in operations.

    const tokens = lexer.lex();
    const parser = new Parser(tokens);
    const ast = parser.parse();

    // AST contains simplified node structure for OpenQASM 2.0

    Classes

    default