source: |
  defcal x $0 {}
  defcal measure $0 -> bit {Outer {nested} outer}
  defcal rz(angle[20] theta) q {£$&£*(")}
  defcal rz(pi / 2) q {Symbolic expression.}
reference: |
  program
    statementOrScope
      statement
        defcalStatement
          defcal
          defcalTarget
            x
          defcalOperandList
            defcalOperand
              $0
          {
          }
    statementOrScope
      statement
        defcalStatement
          defcal
          defcalTarget
            measure
          defcalOperandList
            defcalOperand
              $0
          returnSignature
            ->
            scalarType
              bit
          {
          Outer {nested} outer
          }
    statementOrScope
      statement
        defcalStatement
          defcal
          defcalTarget
            rz
          (
          defcalArgumentDefinitionList
            defcalArgumentDefinition
              argumentDefinition
                scalarType
                  angle
                  designator
                    [
                    expression
                      20
                    ]
                theta
          )
          defcalOperandList
            defcalOperand
              q
          {
          £$&£*(")
          }
    statementOrScope
      statement
        defcalStatement
          defcal
          defcalTarget
            rz
          (
          defcalArgumentDefinitionList
            defcalArgumentDefinition
              expression
                expression
                  pi
                /
                expression
                  2
          )
          defcalOperandList
            defcalOperand
              q
          {
          Symbolic expression.
          }
    <EOF>
