OpenPulse is a concrete implementation of pulse grammar for cal and defcal body.
It reuses the classical types and statements from openqasm3.
The package is structured similarly to openqasm3 with the modules:
-
openpulse.ast: The AST nodes. Identical nodes fromopenqasm3.astare re-exported. -
openpulse.parser: A parser similar toopenqasm3.parser, but for OpenPulse. -
tests: A set of unit tests. -
No visitor module as
openqasm3.visitorcan be reused.
The OpenPulse grammar introduce the following:
- Pulse types:
port,frameandwaveform. - Extension to OpenQASM 3 classical type to consume the pulse types.