qe-compiler icon indicating copy to clipboard operation
qe-compiler copied to clipboard

Cannot process ASTTypeGateQOpNode statement node. (Same for ASTTypeCCXGateOpNode)

Open HanaGiatQM opened this issue 9 months ago • 1 comments

bin/qss-compiler --emit=mlir -I /.../mpqp/header_codes /.../src/adder_8.qasm.3.qasm

content of the qasm2 file:

OPENQASM 3.0; include "stdgates.inc";

qubit[24] qubits; cx qubits[3],qubits[2]; cx qubits[8],qubits[7]; cx qubits[14],qubits[13]; cx qubits[21],qubits[20]; cx qubits[3],qubits[4]; cx qubits[8],qubits[9]; cx qubits[14],qubits[15]; cx qubits[21],qubits[22]; ccx qubits[0],qubits[1],qubits[3]; ccx qubits[5],qubits[6],qubits[8]; ccx qubits[11],qubits[12],qubits[14]; ccx qubits[18],qubits[19],qubits[21]; ccx qubits[2],qubits[3],qubits[4]; ccx qubits[7],qubits[8],qubits[9]; ccx qubits[7],qubits[8],qubits[10]; ccx qubits[13],qubits[14],qubits[15]; ccx qubits[13],qubits[14],qubits[16]; ccx qubits[20],qubits[21],qubits[22]; ccx qubits[20],qubits[21],qubits[23]; cx qubits[6],qubits[5]; cx qubits[12],qubits[11]; cx qubits[19],qubits[18]; cx qubits[5],qubits[8]; cx qubits[11],qubits[14]; cx qubits[18],qubits[21]; ccx qubits[7],qubits[8],qubits[10]; ccx qubits[13],qubits[14],qubits[16]; ccx qubits[20],qubits[21],qubits[23]; ccx qubits[16],qubits[23],qubits[17]; ccx qubits[15],qubits[23],qubits[22]; ccx qubits[4],qubits[10],qubits[9]; ccx qubits[9],qubits[17],qubits[22]; ccx qubits[9],qubits[16],qubits[15]; ccx qubits[16],qubits[23],qubits[17]; ccx qubits[7],qubits[8],qubits[10]; ccx qubits[13],qubits[14],qubits[16]; ccx qubits[20],qubits[21],qubits[23]; cx qubits[5],qubits[8]; cx qubits[11],qubits[14]; cx qubits[18],qubits[21]; cx qubits[6],qubits[5]; cx qubits[12],qubits[11]; cx qubits[19],qubits[18]; ccx qubits[7],qubits[8],qubits[10]; ccx qubits[13],qubits[14],qubits[16]; ccx qubits[20],qubits[21],qubits[23]; ccx qubits[0],qubits[1],qubits[3]; ccx qubits[5],qubits[6],qubits[8]; ccx qubits[11],qubits[12],qubits[14]; ccx qubits[18],qubits[19],qubits[21]; cx qubits[3],qubits[2]; cx qubits[8],qubits[7]; cx qubits[14],qubits[13]; cx qubits[21],qubits[20]; cx qubits[6],qubits[5]; cx qubits[12],qubits[11]; cx qubits[19],qubits[18]; cx qubits[6],qubits[8]; cx qubits[12],qubits[14]; cx qubits[19],qubits[21]; cx qubits[4],qubits[6]; cx qubits[9],qubits[12]; cx qubits[15],qubits[19]; ccx qubits[0],qubits[1],qubits[3]; ccx qubits[5],qubits[6],qubits[8]; ccx qubits[11],qubits[12],qubits[14]; ccx qubits[18],qubits[19],qubits[21]; cx qubits[3],qubits[2]; cx qubits[8],qubits[7]; cx qubits[14],qubits[13]; cx qubits[21],qubits[20]; ccx qubits[0],qubits[1],qubits[3]; ccx qubits[5],qubits[6],qubits[8]; ccx qubits[11],qubits[12],qubits[14]; ccx qubits[18],qubits[19],qubits[21]; cx qubits[6],qubits[5]; cx qubits[12],qubits[11]; cx qubits[19],qubits[18]; cx qubits[4],qubits[6]; cx qubits[9],qubits[12]; cx qubits[15],qubits[19]; cx qubits[6],qubits[8]; cx qubits[12],qubits[14]; cx qubits[19],qubits[21]; cx qubits[1],qubits[0]; cx qubits[6],qubits[5]; cx qubits[12],qubits[11]; cx qubits[19],qubits[18]; x qubits[0]; x qubits[2]; x qubits[5]; x qubits[7]; x qubits[11]; x qubits[13]; cx qubits[3],qubits[2]; cx qubits[8],qubits[7]; cx qubits[14],qubits[13]; ccx qubits[0],qubits[1],qubits[3]; ccx qubits[5],qubits[6],qubits[8]; ccx qubits[11],qubits[12],qubits[14]; cx qubits[6],qubits[5]; cx qubits[12],qubits[11]; ccx qubits[7],qubits[8],qubits[10]; ccx qubits[13],qubits[14],qubits[16]; cx qubits[5],qubits[8]; cx qubits[11],qubits[14]; ccx qubits[7],qubits[8],qubits[10]; ccx qubits[13],qubits[14],qubits[16]; ccx qubits[9],qubits[16],qubits[15]; ccx qubits[4],qubits[10],qubits[9]; ccx qubits[7],qubits[8],qubits[10]; ccx qubits[13],qubits[14],qubits[16]; cx qubits[5],qubits[8]; cx qubits[11],qubits[14]; ccx qubits[7],qubits[8],qubits[10]; ccx qubits[13],qubits[14],qubits[16]; cx qubits[6],qubits[5]; cx qubits[12],qubits[11]; ccx qubits[7],qubits[8],qubits[9]; ccx qubits[13],qubits[14],qubits[15]; ccx qubits[2],qubits[3],qubits[4]; ccx qubits[0],qubits[1],qubits[3]; ccx qubits[5],qubits[6],qubits[8]; ccx qubits[11],qubits[12],qubits[14]; cx qubits[3],qubits[4]; cx qubits[8],qubits[9]; cx qubits[14],qubits[15]; cx qubits[3],qubits[2]; cx qubits[8],qubits[7]; cx qubits[14],qubits[13]; x qubits[0]; x qubits[2]; x qubits[5]; x qubits[7]; x qubits[11]; x qubits[13];

HanaGiatQM avatar Mar 11 '25 05:03 HanaGiatQM

The compiler is currently designed for physical ISA circuits and has to be taught about which gates/qubits are available. It also does not perform qubit allocation and operates only on physical circuits.

See for example this program https://github.com/openqasm/qe-compiler/blob/main/test/Frontend/OpenQASM3/bell-v1.qasm

taalexander avatar Mar 11 '25 12:03 taalexander