openqasm/source/grammar/tests/reference/declaration/declaration.yaml

359 lines
7.1 KiB
YAML

# indent w/ 2 spaces
# beware the tab character in dur4 = 8 ns below
source: |
int[10] x;
int[10] y;
uint[32] z = 0xFa_1F;
uint[32] z = 0XFa_1F;
uint[16] z = 0o12_34;
uint[16] z = 0b1001_1001;
uint[16] z = 0B1001_1001;
uint x;
qubit[6] q1;
qubit q2;
bit[4] b1="0100";
bit[8] b2="1001_0100";
bit b2 = "1";
bool m=true;
bool n=bool(b2);
bool o=false;
const float[64] c = 5.5e3;
const float[64] d=5;
float[32] f = .1e+3;
duration dur = 1000dt;
duration dur2 = dur + 200ns;
duration dur3 = 10 ms;
duration dur4 = 8 us;
duration dur5 = 1s;
stretch s;
reference: |
program
statementOrScope
statement
classicalDeclarationStatement
scalarType
int
designator
[
expression
10
]
x
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
int
designator
[
expression
10
]
y
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
uint
designator
[
expression
32
]
z
=
declarationExpression
expression
0xFa_1F
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
uint
designator
[
expression
32
]
z
=
declarationExpression
expression
0XFa_1F
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
uint
designator
[
expression
16
]
z
=
declarationExpression
expression
0o12_34
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
uint
designator
[
expression
16
]
z
=
declarationExpression
expression
0b1001_1001
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
uint
designator
[
expression
16
]
z
=
declarationExpression
expression
0B1001_1001
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
uint
x
;
statementOrScope
statement
quantumDeclarationStatement
qubitType
qubit
designator
[
expression
6
]
q1
;
statementOrScope
statement
quantumDeclarationStatement
qubitType
qubit
q2
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
bit
designator
[
expression
4
]
b1
=
declarationExpression
expression
"0100"
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
bit
designator
[
expression
8
]
b2
=
declarationExpression
expression
"1001_0100"
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
bit
b2
=
declarationExpression
expression
"1"
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
bool
m
=
declarationExpression
expression
true
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
bool
n
=
declarationExpression
expression
scalarType
bool
(
expression
b2
)
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
bool
o
=
declarationExpression
expression
false
;
statementOrScope
statement
constDeclarationStatement
const
scalarType
float
designator
[
expression
64
]
c
=
declarationExpression
expression
5.5e3
;
statementOrScope
statement
constDeclarationStatement
const
scalarType
float
designator
[
expression
64
]
d
=
declarationExpression
expression
5
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
float
designator
[
expression
32
]
f
=
declarationExpression
expression
.1e+3
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
duration
dur
=
declarationExpression
expression
1000dt
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
duration
dur2
=
declarationExpression
expression
expression
dur
+
expression
200ns
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
duration
dur3
=
declarationExpression
expression
10 ms
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
duration
dur4
=
declarationExpression
expression
8 us
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
duration
dur5
=
declarationExpression
expression
1s
;
statementOrScope
statement
classicalDeclarationStatement
scalarType
stretch
s
;
<EOF>