openqasm/source/grammar/tests/reference/control_flow/loop.yaml

88 lines
2.2 KiB
YAML

# indent w/ 2 spaces
source: |
while (i < 10) {
for uint j in {1, 4, 6} reset q[j];
if (i == 8) break;
else continue;
}
end;
reference: |
program
statementOrScope
statement
whileStatement
while
(
expression
expression
i
<
expression
10
)
statementOrScope
scope
{
statementOrScope
statement
forStatement
for
scalarType
uint
j
in
setExpression
{
expression
1
,
expression
4
,
expression
6
}
statementOrScope
statement
resetStatement
reset
gateOperand
indexedIdentifier
q
indexOperator
[
expression
j
]
;
statementOrScope
statement
ifStatement
if
(
expression
expression
i
==
expression
8
)
statementOrScope
statement
breakStatement
break
;
else
statementOrScope
statement
continueStatement
continue
;
}
statementOrScope
statement
endStatement
end
;
<EOF>