Home - softwareQinc/qasmtools GitHub Wiki

This page provides an overview of the qasmtools library and the overall directory structure.

Repository

Directory Description
include The main source code directory
qasm Example openQASM source files
unit_tests Unit testing via Google Test/Mock (source included)

Source

Directory Description
include/qasmtools/ast Holds the class hierarchy for representing QASM syntax trees (ASTs). Doubles as the library IR
    .../semantic.hpp Holds semantic analysis & type checking routines
    .../visitor.hpp Defines a visitor interface for ASTs
    .../replacer.hpp Concrete visitors for performing node insertion, deletion and replacement
    .../traversal.hpp Concrete visitor for performing post-order traversal of ASTs
include/qasmtools/parser Holds the openQASM parser
include/qasmtools/tools Contains miscellaneous tools for working with QASM ASTs
    .../ast_printer.hpp Prints the raw AST, as an alternative to the source code printer (<< overload)
include/qasmtools/utils Miscellaneous utilities