miller/c/output/out-dev
2016-05-23 08:39:34 -04:00

570 lines
18 KiB
Text

================================================================
GRAMMAR REORG
mlr -n put -v $["x"]=3
AST ROOT:
list (statement_list):
= (indirect_srec_assignment):
x (strnum_literal).
3 (strnum_literal).
mlr -n put -v @["x"]=3
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
x (strnum_literal).
3 (strnum_literal).
mlr -n put -v $[$y]=$y
AST ROOT:
list (statement_list):
= (indirect_srec_assignment):
y (field_name).
y (field_name).
mlr -n put -v @[@y]=@y
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
oosvar_keylist (oosvar_keylist):
y (string_literal).
oosvar_keylist (oosvar_keylist):
y (string_literal).
mlr -n put -v @x=2; @x["y"]=3; @x["y"][$z]=4
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
x (string_literal).
2 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
x (string_literal).
y (strnum_literal).
3 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
x (string_literal).
y (strnum_literal).
z (field_name).
4 (strnum_literal).
mlr -n put -v @["x"]=2; @["x"]["y"]=3; @["x"]["y"][$z]=4
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
x (strnum_literal).
2 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
x (strnum_literal).
y (strnum_literal).
3 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
x (strnum_literal).
y (strnum_literal).
z (field_name).
4 (strnum_literal).
mlr --from reg_test/input/abixy put -q -v @a=2; @b["y"]=3; @c["y"][$a]=4; emitp all
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
a (string_literal).
2 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
b (string_literal).
y (strnum_literal).
3 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
c (string_literal).
y (strnum_literal).
a (field_name).
4 (strnum_literal).
emitp (emitp):
all (all).
a=2
b:y=3
c:y:pan=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
mlr --from reg_test/input/abixy put -q -v @a=2; @b["y"]=3; @c["y"][$a]=4; emitp all
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
a (string_literal).
2 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
b (string_literal).
y (strnum_literal).
3 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
c (string_literal).
y (strnum_literal).
a (field_name).
4 (strnum_literal).
emitp (emitp):
all (all).
a=2
b:y=3
c:y:pan=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
mlr --from reg_test/input/abixy put -q -v @["a"]=2; @["b"]["y"]=3; @["c"]["y"][$a]=4; emitp all
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
a (strnum_literal).
2 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
b (strnum_literal).
y (strnum_literal).
3 (strnum_literal).
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
c (strnum_literal).
y (strnum_literal).
a (field_name).
4 (strnum_literal).
emitp (emitp):
all (all).
a=2
b:y=3
c:y:pan=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
a=2
b:y=3
c:y:pan=4,c:y:eks=4,c:y:wye=4,c:y:zee=4,c:y:hat=4
mlr put -v @s = NR; $t = typeof(@s); $u= typeof(@["s"]); emitp all reg_test/input/abixy
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
s (string_literal).
NR (context_variable).
= (srec_assignment):
t (field_name).
typeof (non_sigil_name):
oosvar_keylist (oosvar_keylist):
s (string_literal).
= (srec_assignment):
u (field_name).
typeof (non_sigil_name):
oosvar_keylist (oosvar_keylist):
s (strnum_literal).
emitp (emitp):
all (all).
s=1
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,t=MT_INT,u=MT_INT
s=2
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,t=MT_INT,u=MT_INT
s=3
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,t=MT_INT,u=MT_INT
s=4
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,t=MT_INT,u=MT_INT
s=5
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,t=MT_INT,u=MT_INT
s=6
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,t=MT_INT,u=MT_INT
s=7
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,t=MT_INT,u=MT_INT
s=8
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,t=MT_INT,u=MT_INT
s=9
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,t=MT_INT,u=MT_INT
s=10
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,t=MT_INT,u=MT_INT
mlr --opprint put -v @s = NR; $t = @s; $u=@["s"] reg_test/input/abixy
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
s (string_literal).
NR (context_variable).
= (srec_assignment):
t (field_name).
oosvar_keylist (oosvar_keylist):
s (string_literal).
= (srec_assignment):
u (field_name).
oosvar_keylist (oosvar_keylist):
s (strnum_literal).
a b i x y t u
pan pan 1 0.3467901443380824 0.7268028627434533 1 1
eks pan 2 0.7586799647899636 0.5221511083334797 2 2
wye wye 3 0.20460330576630303 0.33831852551664776 3 3
eks wye 4 0.38139939387114097 0.13418874328430463 4 4
wye pan 5 0.5732889198020006 0.8636244699032729 5 5
zee pan 6 0.5271261600918548 0.49322128674835697 6 6
eks zee 7 0.6117840605678454 0.1878849191181694 7 7
zee wye 8 0.5985540091064224 0.976181385699006 8 8
hat wye 9 0.03144187646093577 0.7495507603507059 9 9
pan wye 10 0.5026260055412137 0.9526183602969864 10 10
mlr put -v @t["u"] = NR; $tu = @["t"]["u"]; emitp all reg_test/input/abixy
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
t (string_literal).
u (strnum_literal).
NR (context_variable).
= (srec_assignment):
tu (field_name).
oosvar_keylist (oosvar_keylist):
t (strnum_literal).
u (strnum_literal).
emitp (emitp):
all (all).
t:u=1
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,tu=1
t:u=2
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,tu=2
t:u=3
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,tu=3
t:u=4
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,tu=4
t:u=5
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,tu=5
t:u=6
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,tu=6
t:u=7
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,tu=7
t:u=8
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,tu=8
t:u=9
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,tu=9
t:u=10
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,tu=10
mlr put -v @["t"]["u"] = $y; emitp all reg_test/input/abixy
AST ROOT:
list (statement_list):
= (oosvar_assignment):
oosvar_keylist (oosvar_keylist):
t (strnum_literal).
u (strnum_literal).
y (field_name).
emitp (emitp):
all (all).
t:u=0.726803
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
t:u=0.522151
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
t:u=0.338319
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
t:u=0.134189
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
t:u=0.863624
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
t:u=0.493221
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
t:u=0.187885
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
t:u=0.976181
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
t:u=0.749551
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
t:u=0.952618
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from reg_test/input/abixy put -v $sum = 0; for(k,v in $*) {if (k =~ "^[xy]$") {$sum += $[k]} }
AST ROOT:
list (statement_list):
= (srec_assignment):
sum (field_name).
0 (strnum_literal).
for (for_srec):
variables (for_variables):
k (non_sigil_name).
v (non_sigil_name).
list (statement_list):
if_head (if_head):
if (if_item):
=~ (operator):
k (bound_variable).
^[xy]$ (strnum_literal).
list (statement_list):
= (srec_assignment):
sum (field_name).
+ (operator):
sum (field_name).
indirect_field_name (indirect_field_name):
k (bound_variable).
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,sum=1.073593
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,sum=1.280831
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,sum=0.542922
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,sum=0.515588
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,sum=1.436913
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,sum=1.020347
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,sum=0.799669
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,sum=1.574735
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,sum=0.780993
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,sum=1.455244
mlr --from reg_test/input/abixy -n put -v
$a = @s;
$b = @t[1];
$c = @u[1][2];
$d = @v[1][2][3];
$e = @["s"];
$f = @["t"][1];
$g = @["u"][1][2];
$h = @["v"][1][2][3];
AST ROOT:
list (statement_list):
= (srec_assignment):
a (field_name).
oosvar_keylist (oosvar_keylist):
s (string_literal).
= (srec_assignment):
b (field_name).
oosvar_keylist (oosvar_keylist):
t (string_literal).
1 (strnum_literal).
= (srec_assignment):
c (field_name).
oosvar_keylist (oosvar_keylist):
u (string_literal).
1 (strnum_literal).
2 (strnum_literal).
= (srec_assignment):
d (field_name).
oosvar_keylist (oosvar_keylist):
v (string_literal).
1 (strnum_literal).
2 (strnum_literal).
3 (strnum_literal).
= (srec_assignment):
e (field_name).
oosvar_keylist (oosvar_keylist):
s (strnum_literal).
= (srec_assignment):
f (field_name).
oosvar_keylist (oosvar_keylist):
t (strnum_literal).
1 (strnum_literal).
= (srec_assignment):
g (field_name).
oosvar_keylist (oosvar_keylist):
u (strnum_literal).
1 (strnum_literal).
2 (strnum_literal).
= (srec_assignment):
h (field_name).
oosvar_keylist (oosvar_keylist):
v (strnum_literal).
1 (strnum_literal).
2 (strnum_literal).
3 (strnum_literal).
mlr -n put -v emit @*
AST ROOT:
list (statement_list):
emit (emit):
@* (full_oosvar).
mlr -n put -v emitp @*
AST ROOT:
list (statement_list):
emitp (emitp):
@* (full_oosvar).
mlr -n put -v unset @*
AST ROOT:
list (statement_list):
unset (unset):
@* (full_oosvar).
================================================================
FOR-OOSVAR DEPTH TESTS
mlr --from reg_test/input/abixy put @o[1][2] = 7; for(k1,v in @*) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from reg_test/input/abixy put @o[1][2] = 7; for((k1),v in @*) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from reg_test/input/abixy put @o[1][2] = 7; for((k1,k2),v in @*) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from reg_test/input/abixy put @o[1][2] = 7; for((k1,k2,k3),v in @*) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from reg_test/input/abixy put @o[1][2][3] = 7; for(k1,v in @o[1][2]) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=10.346790,y=100.726803
a=eks,b=pan,i=2,x=10.758680,y=100.522151
a=wye,b=wye,i=3,x=10.204603,y=100.338319
a=eks,b=wye,i=4,x=10.381399,y=100.134189
a=wye,b=pan,i=5,x=10.573289,y=100.863624
a=zee,b=pan,i=6,x=10.527126,y=100.493221
a=eks,b=zee,i=7,x=10.611784,y=100.187885
a=zee,b=wye,i=8,x=10.598554,y=100.976181
a=hat,b=wye,i=9,x=10.031442,y=100.749551
a=pan,b=wye,i=10,x=10.502626,y=100.952618
mlr --from reg_test/input/abixy put @o[1][2][3] = 7; for((k1),v in @o[1][2]) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=10.346790,y=100.726803
a=eks,b=pan,i=2,x=10.758680,y=100.522151
a=wye,b=wye,i=3,x=10.204603,y=100.338319
a=eks,b=wye,i=4,x=10.381399,y=100.134189
a=wye,b=pan,i=5,x=10.573289,y=100.863624
a=zee,b=pan,i=6,x=10.527126,y=100.493221
a=eks,b=zee,i=7,x=10.611784,y=100.187885
a=zee,b=wye,i=8,x=10.598554,y=100.976181
a=hat,b=wye,i=9,x=10.031442,y=100.749551
a=pan,b=wye,i=10,x=10.502626,y=100.952618
mlr --from reg_test/input/abixy put @o[1][2][3] = 7; for((k1,k2),v in @o[1][2]) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from reg_test/input/abixy put @o[1][2][3] = 7; for((k1,k2,k3),v in @o[1][2]) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864