mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-24 00:18:39 +00:00
do-while break/continue UTs
This commit is contained in:
parent
79e4043110
commit
c7b14dfbbc
3 changed files with 308 additions and 11 deletions
|
|
@ -16390,6 +16390,202 @@ zee wye 8 0.5985540091064224 0.976181385699006 8
|
|||
hat wye 9 0.03144187646093577 0.7495507603507059 9
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 10
|
||||
|
||||
mlr --opprint --from ./reg_test/input/abixy put
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
break;
|
||||
do {
|
||||
$k += 1
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
|
||||
a b i x y j k
|
||||
pan pan 1 0.3467901443380824 0.7268028627434533 2 1
|
||||
eks pan 2 0.7586799647899636 0.5221511083334797 3 2
|
||||
wye wye 3 0.20460330576630303 0.33831852551664776 4 3
|
||||
eks wye 4 0.38139939387114097 0.13418874328430463 5 4
|
||||
wye pan 5 0.5732889198020006 0.8636244699032729 6 5
|
||||
zee pan 6 0.5271261600918548 0.49322128674835697 7 6
|
||||
eks zee 7 0.6117840605678454 0.1878849191181694 8 7
|
||||
zee wye 8 0.5985540091064224 0.976181385699006 9 8
|
||||
hat wye 9 0.03144187646093577 0.7495507603507059 10 9
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 11 10
|
||||
|
||||
mlr --opprint --from ./reg_test/input/abixy put
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
continue;
|
||||
do {
|
||||
$k += 1
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
|
||||
a b i x y j k
|
||||
pan pan 1 0.3467901443380824 0.7268028627434533 4 1
|
||||
eks pan 2 0.7586799647899636 0.5221511083334797 4 2
|
||||
wye wye 3 0.20460330576630303 0.33831852551664776 4 3
|
||||
eks wye 4 0.38139939387114097 0.13418874328430463 5 4
|
||||
wye pan 5 0.5732889198020006 0.8636244699032729 6 5
|
||||
zee pan 6 0.5271261600918548 0.49322128674835697 7 6
|
||||
eks zee 7 0.6117840605678454 0.1878849191181694 8 7
|
||||
zee wye 8 0.5985540091064224 0.976181385699006 9 8
|
||||
hat wye 9 0.03144187646093577 0.7495507603507059 10 9
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 11 10
|
||||
|
||||
mlr --opprint --from ./reg_test/input/abixy put
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
do {
|
||||
$k += 1;
|
||||
break;
|
||||
$k += 10000;
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
|
||||
a b i x y j k
|
||||
pan pan 1 0.3467901443380824 0.7268028627434533 4 2
|
||||
eks pan 2 0.7586799647899636 0.5221511083334797 4 3
|
||||
wye wye 3 0.20460330576630303 0.33831852551664776 4 4
|
||||
eks wye 4 0.38139939387114097 0.13418874328430463 5 5
|
||||
wye pan 5 0.5732889198020006 0.8636244699032729 6 6
|
||||
zee pan 6 0.5271261600918548 0.49322128674835697 7 7
|
||||
eks zee 7 0.6117840605678454 0.1878849191181694 8 8
|
||||
zee wye 8 0.5985540091064224 0.976181385699006 9 9
|
||||
hat wye 9 0.03144187646093577 0.7495507603507059 10 10
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 11 11
|
||||
|
||||
mlr --opprint --from ./reg_test/input/abixy put
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
do {
|
||||
$k += 1;
|
||||
continue;
|
||||
$k += 10000;
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
|
||||
a b i x y j k
|
||||
pan pan 1 0.3467901443380824 0.7268028627434533 4 7
|
||||
eks pan 2 0.7586799647899636 0.5221511083334797 4 7
|
||||
wye wye 3 0.20460330576630303 0.33831852551664776 4 7
|
||||
eks wye 4 0.38139939387114097 0.13418874328430463 5 7
|
||||
wye pan 5 0.5732889198020006 0.8636244699032729 6 7
|
||||
zee pan 6 0.5271261600918548 0.49322128674835697 7 7
|
||||
eks zee 7 0.6117840605678454 0.1878849191181694 8 8
|
||||
zee wye 8 0.5985540091064224 0.976181385699006 9 9
|
||||
hat wye 9 0.03144187646093577 0.7495507603507059 10 10
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 11 11
|
||||
|
||||
mlr --opprint --from ./reg_test/input/abixy put
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
if (NR == 2 || NR == 8) {
|
||||
break;
|
||||
}
|
||||
do {
|
||||
$k += 1
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
|
||||
a b i x y j k
|
||||
pan pan 1 0.3467901443380824 0.7268028627434533 4 7
|
||||
eks pan 2 0.7586799647899636 0.5221511083334797 3 2
|
||||
wye wye 3 0.20460330576630303 0.33831852551664776 4 7
|
||||
eks wye 4 0.38139939387114097 0.13418874328430463 5 7
|
||||
wye pan 5 0.5732889198020006 0.8636244699032729 6 7
|
||||
zee pan 6 0.5271261600918548 0.49322128674835697 7 7
|
||||
eks zee 7 0.6117840605678454 0.1878849191181694 8 8
|
||||
zee wye 8 0.5985540091064224 0.976181385699006 9 8
|
||||
hat wye 9 0.03144187646093577 0.7495507603507059 10 10
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 11 11
|
||||
|
||||
mlr --opprint --from ./reg_test/input/abixy put
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
if (NR == 2 || NR == 8) {
|
||||
continue;
|
||||
}
|
||||
do {
|
||||
$k += 1
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
|
||||
a b i x y j k
|
||||
pan pan 1 0.3467901443380824 0.7268028627434533 4 7
|
||||
eks pan 2 0.7586799647899636 0.5221511083334797 4 2
|
||||
wye wye 3 0.20460330576630303 0.33831852551664776 4 7
|
||||
eks wye 4 0.38139939387114097 0.13418874328430463 5 7
|
||||
wye pan 5 0.5732889198020006 0.8636244699032729 6 7
|
||||
zee pan 6 0.5271261600918548 0.49322128674835697 7 7
|
||||
eks zee 7 0.6117840605678454 0.1878849191181694 8 8
|
||||
zee wye 8 0.5985540091064224 0.976181385699006 9 8
|
||||
hat wye 9 0.03144187646093577 0.7495507603507059 10 10
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 11 11
|
||||
|
||||
mlr --opprint --from ./reg_test/input/abixy put
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
do {
|
||||
$k += 1;
|
||||
if (NR == 2 || NR == 8) {
|
||||
break;
|
||||
}
|
||||
$k += 10000;
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
|
||||
a b i x y j k
|
||||
pan pan 1 0.3467901443380824 0.7268028627434533 4 10002
|
||||
eks pan 2 0.7586799647899636 0.5221511083334797 4 3
|
||||
wye wye 3 0.20460330576630303 0.33831852551664776 4 10004
|
||||
eks wye 4 0.38139939387114097 0.13418874328430463 5 10005
|
||||
wye pan 5 0.5732889198020006 0.8636244699032729 6 10006
|
||||
zee pan 6 0.5271261600918548 0.49322128674835697 7 10007
|
||||
eks zee 7 0.6117840605678454 0.1878849191181694 8 10008
|
||||
zee wye 8 0.5985540091064224 0.976181385699006 9 9
|
||||
hat wye 9 0.03144187646093577 0.7495507603507059 10 10010
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 11 10011
|
||||
|
||||
mlr --opprint --from ./reg_test/input/abixy put
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
do {
|
||||
$k += 1;
|
||||
if (NR == 2 || NR == 8) {
|
||||
continue;
|
||||
}
|
||||
$k += 10000;
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
|
||||
a b i x y j k
|
||||
pan pan 1 0.3467901443380824 0.7268028627434533 4 10002
|
||||
eks pan 2 0.7586799647899636 0.5221511083334797 4 7
|
||||
wye wye 3 0.20460330576630303 0.33831852551664776 4 10004
|
||||
eks wye 4 0.38139939387114097 0.13418874328430463 5 10005
|
||||
wye pan 5 0.5732889198020006 0.8636244699032729 6 10006
|
||||
zee pan 6 0.5271261600918548 0.49322128674835697 7 10007
|
||||
eks zee 7 0.6117840605678454 0.1878849191181694 8 10008
|
||||
zee wye 8 0.5985540091064224 0.976181385699006 9 9
|
||||
hat wye 9 0.03144187646093577 0.7495507603507059 10 10010
|
||||
pan wye 10 0.5026260055412137 0.9526183602969864 11 10011
|
||||
|
||||
|
||||
================================================================
|
||||
DSL BREAK/CONTINUE IN SINGLE FOR-SREC
|
||||
|
|
|
|||
121
c/reg_test/run
121
c/reg_test/run
|
|
@ -1641,8 +1641,6 @@ announce DSL WHILE/DO-WHILE LOOPS
|
|||
run_mlr put -v 'while($i < 5) { $i += 1}' $indir/abixy
|
||||
run_mlr put -v 'do {$i += 1} while($i < 5)' $indir/abixy
|
||||
|
||||
# xxx test break & continue when they are operable
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
announce DSL FOR-SREC LOOPS
|
||||
|
||||
|
|
@ -1674,8 +1672,6 @@ run_mlr --from $indir/abixy put -S -v '
|
|||
}
|
||||
}'
|
||||
|
||||
# xxx test break & continue when they are operable
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
announce DSL FOR-OOSVAR LOOPS
|
||||
|
||||
|
|
@ -1918,6 +1914,117 @@ run_mlr --opprint --from $indir/abixy put '
|
|||
}
|
||||
'
|
||||
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put '
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
break;
|
||||
do {
|
||||
$k += 1
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
'
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put '
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
continue;
|
||||
do {
|
||||
$k += 1
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
'
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put '
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
do {
|
||||
$k += 1;
|
||||
break;
|
||||
$k += 10000;
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
'
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put '
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
do {
|
||||
$k += 1;
|
||||
continue;
|
||||
$k += 10000;
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
'
|
||||
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put '
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
if (NR == 2 || NR == 8) {
|
||||
break;
|
||||
}
|
||||
do {
|
||||
$k += 1
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
'
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put '
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
if (NR == 2 || NR == 8) {
|
||||
continue;
|
||||
}
|
||||
do {
|
||||
$k += 1
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
'
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put '
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
do {
|
||||
$k += 1;
|
||||
if (NR == 2 || NR == 8) {
|
||||
break;
|
||||
}
|
||||
$k += 10000;
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
'
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put '
|
||||
$j = NR;
|
||||
do {
|
||||
$k = NR;
|
||||
$j += 1;
|
||||
do {
|
||||
$k += 1;
|
||||
if (NR == 2 || NR == 8) {
|
||||
continue;
|
||||
}
|
||||
$k += 10000;
|
||||
} while ($k < 7);
|
||||
} while ($j < 4);
|
||||
'
|
||||
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
announce DSL BREAK/CONTINUE IN SINGLE FOR-SREC
|
||||
|
||||
|
|
@ -2073,8 +2180,6 @@ run_mlr --opprint --from $indir/abixy put -q '
|
|||
}
|
||||
'
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put -q '
|
||||
for (k1, v1 in $*) {
|
||||
@output1[NR][k1] = "before";
|
||||
|
|
@ -2145,8 +2250,6 @@ run_mlr --opprint --from $indir/abixy put -q '
|
|||
'
|
||||
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put -q '
|
||||
for (k1, v1 in $*) {
|
||||
@output1[NR][k1] = "before";
|
||||
|
|
@ -2219,7 +2322,6 @@ run_mlr --opprint --from $indir/abixy put -q '
|
|||
}
|
||||
'
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
run_mlr --opprint --from $indir/abixy put -q '
|
||||
for (k1, v1 in $*) {
|
||||
|
|
@ -2581,7 +2683,6 @@ run_mlr --opprint --from $indir/abixy put -q '
|
|||
'
|
||||
|
||||
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
announce DSL BREAK/CONTINUE IN NESTED FOR-OOSVAR
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ TOP-OF-LIST SUMMARY
|
|||
* eliminate the need for semicolon after curly brace. for now, highlighted faqent.
|
||||
|
||||
* CST-build-time invalidations:
|
||||
! propagate-back to caller
|
||||
! propagate back to caller
|
||||
! filter is oosless
|
||||
- $stuff inside begin/end
|
||||
- break/continue outside for/while/do-while
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue