miller/c/reg_test/expected/out

46170 lines
1.3 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

================================================================
STATELESS MAPPERS
mlr cat ./reg_test/input/abixy
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 cat /dev/null
mlr cat -n ./reg_test/input/abixy
n=1,a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
n=2,a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
n=3,a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
n=4,a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
n=5,a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
n=6,a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
n=7,a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
n=8,a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
n=9,a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
n=10,a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr cat -N counter ./reg_test/input/abixy
counter=1,a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
counter=2,a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
counter=3,a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
counter=4,a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
counter=5,a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
counter=6,a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
counter=7,a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
counter=8,a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
counter=9,a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
counter=10,a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr cut -f a,x ./reg_test/input/abixy
a=pan,x=0.3467901443380824
a=eks,x=0.7586799647899636
a=wye,x=0.20460330576630303
a=eks,x=0.38139939387114097
a=wye,x=0.5732889198020006
a=zee,x=0.5271261600918548
a=eks,x=0.6117840605678454
a=zee,x=0.5985540091064224
a=hat,x=0.03144187646093577
a=pan,x=0.5026260055412137
mlr cut --complement -f a,x ./reg_test/input/abixy
b=pan,i=1,y=0.7268028627434533
b=pan,i=2,y=0.5221511083334797
b=wye,i=3,y=0.33831852551664776
b=wye,i=4,y=0.13418874328430463
b=pan,i=5,y=0.8636244699032729
b=pan,i=6,y=0.49322128674835697
b=zee,i=7,y=0.1878849191181694
b=wye,i=8,y=0.976181385699006
b=wye,i=9,y=0.7495507603507059
b=wye,i=10,y=0.9526183602969864
mlr cut -r -f c,e ./reg_test/input/having-fields-regex.dkvp
abc=1,def=11
abcd=3
abcde=5
mlr cut -r -f "C","E" ./reg_test/input/having-fields-regex.dkvp
ABC=2,DEF=12
ABCD=4
ABCDE=6
mlr cut -r -f "c"i,"e" ./reg_test/input/having-fields-regex.dkvp
abc=1,def=11
ABC=2
abcd=3
ABCD=4
abcde=5
ABCDE=6
mlr cut -r -f "C"i,"E" ./reg_test/input/having-fields-regex.dkvp
abc=1
ABC=2,DEF=12
abcd=3
ABCD=4
abcde=5
ABCDE=6
mlr cut -r -x -f c,e ./reg_test/input/having-fields-regex.dkvp
ABC=2,DEF=12
ghi=13
ABCD=4,GHI=14
ghi=15
ABCDE=6,GHI=16
mlr cut -r -x -f "C","E" ./reg_test/input/having-fields-regex.dkvp
abc=1,def=11
abcd=3,ghi=13
GHI=14
abcde=5,ghi=15
GHI=16
mlr cut -r -x -f "C","E"i ./reg_test/input/having-fields-regex.dkvp
abc=1
abcd=3,ghi=13
GHI=14
ghi=15
GHI=16
mlr cut -r -x -f "c","e"i ./reg_test/input/having-fields-regex.dkvp
ABC=2
ghi=13
ABCD=4,GHI=14
ghi=15
GHI=16
mlr --csvlite cut -r -f ^Name$,^Date_[0-9].*$ ./reg_test/input/date1.csv ./reg_test/input/date2.csv
Name,Date_201505
Alice,2015-05-14
Bob,2015-05-11
Chuck,2015-05-28
Denise,2015-05-02
Name,Date_201506
Alice,2015-06-23
Denise,2015-06-17
Chuck,2015-06-19
Bob,2015-06-19
mlr having-fields --at-least a,b ./reg_test/input/abixy
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 having-fields --at-least a,c ./reg_test/input/abixy
mlr having-fields --at-least a,b,i,x,y ./reg_test/input/abixy
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 having-fields --which-are a,b,i,x ./reg_test/input/abixy
mlr having-fields --which-are a,b,i,x,y ./reg_test/input/abixy
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 having-fields --which-are a,b,i,y,x ./reg_test/input/abixy
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 having-fields --which-are a,b,i,x,w ./reg_test/input/abixy
mlr having-fields --which-are a,b,i,x,y,z ./reg_test/input/abixy
mlr having-fields --at-most a,c ./reg_test/input/abixy
mlr having-fields --at-most a,b,i,x,y ./reg_test/input/abixy
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 having-fields --at-most a,b,i,x,y,z ./reg_test/input/abixy
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 having-fields --all-matching "^[a-z][a-z][a-z]$" ./reg_test/input/having-fields-regex.dkvp
abc=1,def=11
mlr having-fields --any-matching "^[a-z][a-z][a-z]$" ./reg_test/input/having-fields-regex.dkvp
abc=1,def=11
abcd=3,ghi=13
abcde=5,ghi=15
mlr having-fields --none-matching "^[a-z][a-z][a-z]$" ./reg_test/input/having-fields-regex.dkvp
ABC=2,DEF=12
ABCD=4,GHI=14
ABCDE=6,GHI=16
mlr having-fields --all-matching "^[a-z][a-z][a-z]$"i ./reg_test/input/having-fields-regex.dkvp
abc=1,def=11
ABC=2,DEF=12
mlr having-fields --any-matching "^[a-z][a-z][a-z]$"i ./reg_test/input/having-fields-regex.dkvp
abc=1,def=11
ABC=2,DEF=12
abcd=3,ghi=13
ABCD=4,GHI=14
abcde=5,ghi=15
ABCDE=6,GHI=16
mlr having-fields --none-matching "^[a-z][a-z][a-z]$"i ./reg_test/input/having-fields-regex.dkvp
mlr rename b,BEE,x,EKS ./reg_test/input/abixy
a=pan,BEE=pan,i=1,EKS=0.3467901443380824,y=0.7268028627434533
a=eks,BEE=pan,i=2,EKS=0.7586799647899636,y=0.5221511083334797
a=wye,BEE=wye,i=3,EKS=0.20460330576630303,y=0.33831852551664776
a=eks,BEE=wye,i=4,EKS=0.38139939387114097,y=0.13418874328430463
a=wye,BEE=pan,i=5,EKS=0.5732889198020006,y=0.8636244699032729
a=zee,BEE=pan,i=6,EKS=0.5271261600918548,y=0.49322128674835697
a=eks,BEE=zee,i=7,EKS=0.6117840605678454,y=0.1878849191181694
a=zee,BEE=wye,i=8,EKS=0.5985540091064224,y=0.976181385699006
a=hat,BEE=wye,i=9,EKS=0.03144187646093577,y=0.7495507603507059
a=pan,BEE=wye,i=10,EKS=0.5026260055412137,y=0.9526183602969864
mlr rename nonesuch,nonesuch,x,EKS ./reg_test/input/abixy
a=pan,b=pan,i=1,EKS=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,EKS=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,EKS=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,EKS=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,EKS=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,EKS=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,EKS=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,EKS=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,EKS=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,EKS=0.5026260055412137,y=0.9526183602969864
mlr --csvlite rename -r ^Date_[0-9].*$,Date ./reg_test/input/date1.csv ./reg_test/input/date2.csv
Name,Date,Extraneous
Alice,2015-05-14,foo
Bob,2015-05-11,bar
Chuck,2015-05-28,quux
Denise,2015-05-02,meep
Alice,2015-06-23,cafe
Denise,2015-06-17,feed
Chuck,2015-06-19,beef
Bob,2015-06-19,d00d
mlr --csvlite rename -r (.*)e(.*),\1EEE\2 ./reg_test/input/date1.csv ./reg_test/input/date2.csv
NamEEE,DatEEE_201505,ExtranEEEous
Alice,2015-05-14,foo
Bob,2015-05-11,bar
Chuck,2015-05-28,quux
Denise,2015-05-02,meep
NamEEE,DatEEE_201506,ExtranEEEous
Alice,2015-06-23,cafe
Denise,2015-06-17,feed
Chuck,2015-06-19,beef
Bob,2015-06-19,d00d
mlr --csvlite rename -r "(.*)e(.*)"i,\1EEE\2 ./reg_test/input/date1.csv ./reg_test/input/date2.csv
NamEEE,DatEEE_201505,ExtranEEEous
Alice,2015-05-14,foo
Bob,2015-05-11,bar
Chuck,2015-05-28,quux
Denise,2015-05-02,meep
NamEEE,DatEEE_201506,ExtranEEEous
Alice,2015-06-23,cafe
Denise,2015-06-17,feed
Chuck,2015-06-19,beef
Bob,2015-06-19,d00d
mlr --csvlite rename -r -g "(.*)e(.*)"i,\1EEE\2 ./reg_test/input/date1.csv ./reg_test/input/date2.csv
NamEEE,DatEEE_201505,ExtranEEEous
Alice,2015-05-14,foo
Bob,2015-05-11,bar
Chuck,2015-05-28,quux
Denise,2015-05-02,meep
NamEEE,DatEEE_201506,ExtranEEEous
Alice,2015-06-23,cafe
Denise,2015-06-17,feed
Chuck,2015-06-19,beef
Bob,2015-06-19,d00d
mlr --csvlite rename -r "e",EEE ./reg_test/input/date1.csv ./reg_test/input/date2.csv
NamEEE,DatEEE_201505,ExtranEEEous
Alice,2015-05-14,foo
Bob,2015-05-11,bar
Chuck,2015-05-28,quux
Denise,2015-05-02,meep
NamEEE,DatEEE_201506,ExtranEEEous
Alice,2015-06-23,cafe
Denise,2015-06-17,feed
Chuck,2015-06-19,beef
Bob,2015-06-19,d00d
mlr --csvlite rename -r -g "e",EEE ./reg_test/input/date1.csv ./reg_test/input/date2.csv
NamEEE,DatEEE_201505,ExtranEEEous
Alice,2015-05-14,foo
Bob,2015-05-11,bar
Chuck,2015-05-28,quux
Denise,2015-05-02,meep
NamEEE,DatEEE_201506,ExtranEEEous
Alice,2015-06-23,cafe
Denise,2015-06-17,feed
Chuck,2015-06-19,beef
Bob,2015-06-19,d00d
mlr --csvlite rename -r "e"i,EEE ./reg_test/input/date1.csv ./reg_test/input/date2.csv
NamEEE,DatEEE_201505,EEExtraneous
Alice,2015-05-14,foo
Bob,2015-05-11,bar
Chuck,2015-05-28,quux
Denise,2015-05-02,meep
NamEEE,DatEEE_201506,EEExtraneous
Alice,2015-06-23,cafe
Denise,2015-06-17,feed
Chuck,2015-06-19,beef
Bob,2015-06-19,d00d
mlr --csvlite rename -r -g "e"i,EEE ./reg_test/input/date1.csv ./reg_test/input/date2.csv
NamEEE,DatEEE_201505,EEExtranEEEous
Alice,2015-05-14,foo
Bob,2015-05-11,bar
Chuck,2015-05-28,quux
Denise,2015-05-02,meep
NamEEE,DatEEE_201506,EEExtranEEEous
Alice,2015-06-23,cafe
Denise,2015-06-17,feed
Chuck,2015-06-19,beef
Bob,2015-06-19,d00d
mlr regularize ./reg_test/input/regularize.dkvp
a=1,c=2,b=3
e=4,d=5
a=6,c=7,b=8
mlr --opprint bar -f x,y --lo 0 --hi 1 ./reg_test/input/abixy
a b i x y
pan pan 1 *************........................... *****************************...........
eks pan 2 ******************************.......... ********************....................
wye wye 3 ********................................ *************...........................
eks wye 4 ***************......................... *****...................................
wye pan 5 **********************.................. **********************************......
zee pan 6 *********************................... *******************.....................
eks zee 7 ************************................ *******.................................
zee wye 8 ***********************................. ***************************************.
hat wye 9 *....................................... *****************************...........
pan wye 10 ********************.................... **************************************..
mlr --opprint bar -f x,y -c c -x x -b b --lo 0.1 --hi 0.9 -w 20 ./reg_test/input/abixy
a b i x y
pan pan 1 ccccccbbbbbbbbbbbbbb cccccccccccccccbbbbb
eks pan 2 ccccccccccccccccbbbb ccccccccccbbbbbbbbbb
wye wye 3 ccbbbbbbbbbbbbbbbbbb cccccbbbbbbbbbbbbbbb
eks wye 4 cccccccbbbbbbbbbbbbb xbbbbbbbbbbbbbbbbbbb
wye pan 5 cccccccccccbbbbbbbbb cccccccccccccccccccb
zee pan 6 ccccccccccbbbbbbbbbb cccccccccbbbbbbbbbbb
eks zee 7 ccccccccccccbbbbbbbb ccbbbbbbbbbbbbbbbbbb
zee wye 8 ccccccccccccbbbbbbbb cccccccccccccccccccx
hat wye 9 xbbbbbbbbbbbbbbbbbbb ccccccccccccccccbbbb
pan wye 10 ccccccccccbbbbbbbbbb cccccccccccccccccccx
mlr --opprint bar --auto -f x,y -w 10 ./reg_test/input/abixy
a b i x y
pan pan 1 [0.0314419]****......[0.75868] [0.134189]*******...[0.976181]
eks pan 2 [0.0314419]*********#[0.75868] [0.134189]****......[0.976181]
wye wye 3 [0.0314419]**........[0.75868] [0.134189]**........[0.976181]
eks wye 4 [0.0314419]****......[0.75868] [0.134189]#.........[0.976181]
wye pan 5 [0.0314419]*******...[0.75868] [0.134189]********..[0.976181]
zee pan 6 [0.0314419]******....[0.75868] [0.134189]****......[0.976181]
eks zee 7 [0.0314419]*******...[0.75868] [0.134189]#.........[0.976181]
zee wye 8 [0.0314419]*******...[0.75868] [0.134189]*********#[0.976181]
hat wye 9 [0.0314419]#.........[0.75868] [0.134189]*******...[0.976181]
pan wye 10 [0.0314419]******....[0.75868] [0.134189]*********.[0.976181]
================================================================
TRIVIAL RETAINERS
mlr group-by a ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
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=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr group-by a,b ./reg_test/input/abixy
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 group-like ./reg_test/input/het.dkvp
host=jupiter
host=saturn
host=mars
host=jupiter
host=mars
host=saturn
df/tmp=2.43MB,uptime=32345sec
df/tmp=1.34MB,uptime=234214132sec
df/tmp=4.97MB,uptime=345089805sec
df/tmp=0.04MB,uptime=890sec
df/tmp=8.55MB,uptime=787897777sec
df/tmp=9.47MB,uptime=234289080sec
mlr tac ./reg_test/input/abixy
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
mlr tac /dev/null
================================================================
HEAD/TAIL/ETC.
mlr head -n 2 ./reg_test/input/abixy-het
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr head -n 2 -g a ./reg_test/input/abixy-het
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=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr head -n 2 -g a,b ./reg_test/input/abixy-het
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=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr head -n 2 then put end{ print "Final NR is ".NR} ./reg_test/input/abixy-wide
a=cat,b=pan,i=1,x=0.5117389009583777,y=0.08295224980036853,x2=0.2618767027540883,xy=0.0424498931448654,y2=0.006881075746942741
a=pan,b=wye,i=2,x=0.5225940442098578,y=0.511678736087022,x2=0.27310453504361476,xy=0.2674002600279053,y2=0.26181512896361225
Final NR is 3
mlr head -n 2 -g a then put end{ print "Final NR is ".NR} ./reg_test/input/abixy-wide
a=cat,b=pan,i=1,x=0.5117389009583777,y=0.08295224980036853,x2=0.2618767027540883,xy=0.0424498931448654,y2=0.006881075746942741
a=pan,b=wye,i=2,x=0.5225940442098578,y=0.511678736087022,x2=0.27310453504361476,xy=0.2674002600279053,y2=0.26181512896361225
a=wye,b=cat,i=3,x=0.8150401717873625,y=0.07989551500795256,x2=0.6642904816271734,xy=0.06511805427712146,y2=0.006383293318385972
a=dog,b=hat,i=4,x=0.4488733555675044,y=0.5730530513123552,x2=0.20148728933843124,xy=0.25722824606077416,y2=0.32838979961840076
a=dog,b=pan,i=5,x=0.2946557960430134,y=0.6850437256584863,x2=0.08682203814174191,xy=0.20185210430817294,y2=0.46928490606405937
a=wye,b=cat,i=6,x=0.048709182664292916,y=0.5851879044762575,x2=0.0023725844758234536,xy=0.02850402453206882,y2=0.34244488354531344
a=pan,b=pan,i=8,x=0.616507208914765,y=0.25924335982487057,x2=0.38008113864387366,xy=0.15982540019531707,y2=0.06720711961328732
a=hat,b=hat,i=9,x=0.33786884067769307,y=0.6036735617015514,x2=0.11415535350088835,xy=0.203962486439877,y2=0.3644217690974368
a=cat,b=hat,i=12,x=0.6335445699880142,y=0.15467178563525052,x2=0.4013787221612979,xy=0.0979914699195631,y2=0.02392336127159689
a=hat,b=wye,i=13,x=0.35922068401384877,y=0.8502678133887914,x2=0.1290394998233774,xy=0.30543378552048117,y2=0.7229553544849566
Final NR is 2000
mlr cat then head -n 2 then put end{ print "Final NR is ".NR} ./reg_test/input/abixy-wide
a=cat,b=pan,i=1,x=0.5117389009583777,y=0.08295224980036853,x2=0.2618767027540883,xy=0.0424498931448654,y2=0.006881075746942741
a=pan,b=wye,i=2,x=0.5225940442098578,y=0.511678736087022,x2=0.27310453504361476,xy=0.2674002600279053,y2=0.26181512896361225
Final NR is 3
mlr tac then head -n 2 then put end{ print "Final NR is ".NR} ./reg_test/input/abixy-wide
Final NR is 2000
a=wye,b=cat,i=2000,x=0.10887569736363611,y=0.3480524315645718,x2=0.01185391747641808,xy=0.037894451205701986,y2=0.12114049511801092
a=hat,b=dog,i=1999,x=0.010819574860139292,y=0.8983779455002124,x2=0.00011706320015415817,xy=0.009720067434037685,y2=0.8070829329611827
mlr head -n 2 then put end{ print "Final NR is ".NR} ./reg_test/input/abixy-wide ./reg_test/input/abixy-wide ./reg_test/input/abixy-wide
a=cat,b=pan,i=1,x=0.5117389009583777,y=0.08295224980036853,x2=0.2618767027540883,xy=0.0424498931448654,y2=0.006881075746942741
a=pan,b=wye,i=2,x=0.5225940442098578,y=0.511678736087022,x2=0.27310453504361476,xy=0.2674002600279053,y2=0.26181512896361225
Final NR is 3
mlr tail -n 2 ./reg_test/input/abixy-het
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr tail -n 2 -g a ./reg_test/input/abixy-het
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
mlr tail -n 2 -g a,b ./reg_test/input/abixy-het
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=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr top -f x,y -n 2 ./reg_test/input/abixy-het
top_idx=1,x_top=0.758680,y_top=0.952618
top_idx=2,x_top=0.611784,y_top=0.749551
mlr top -f x,y -n 2 -g a ./reg_test/input/abixy-het
a=pan,top_idx=1,x_top=0.502626,y_top=0.952618
a=pan,top_idx=2,x_top=0.346790,y_top=0.726803
a=eks,top_idx=1,x_top=0.758680,y_top=0.522151
a=eks,top_idx=2,x_top=0.611784,y_top=0.187885
a=zee,top_idx=1,x_top=0.527126,y_top=0.493221
a=zee,top_idx=2,x_top=,y_top=
mlr top -f x,y -n 2 -g a,b ./reg_test/input/abixy-het
a=pan,b=pan,top_idx=1,x_top=0.346790,y_top=0.726803
a=pan,b=pan,top_idx=2,x_top=,y_top=
a=eks,b=pan,top_idx=1,x_top=0.758680,y_top=0.522151
a=eks,b=pan,top_idx=2,x_top=,y_top=
a=zee,b=pan,top_idx=1,x_top=0.527126,y_top=0.493221
a=zee,b=pan,top_idx=2,x_top=,y_top=
a=eks,b=zee,top_idx=1,x_top=0.611784,y_top=0.187885
a=eks,b=zee,top_idx=2,x_top=,y_top=
a=pan,b=wye,top_idx=1,x_top=0.502626,y_top=0.952618
a=pan,b=wye,top_idx=2,x_top=,y_top=
mlr top -f x,y -n 2 ./reg_test/input/ints.dkvp
top_idx=1,x_top=9,y_top=9
top_idx=2,x_top=8,y_top=9
mlr top -f x,y -n 2 -F ./reg_test/input/ints.dkvp
top_idx=1,x_top=9.000000,y_top=9.000000
top_idx=2,x_top=8.000000,y_top=9.000000
mlr top -n 4 -f x ./reg_test/input/abixy-wide
top_idx=1,x_top=0.999730
top_idx=2,x_top=0.999308
top_idx=3,x_top=0.997339
top_idx=4,x_top=0.997245
mlr top -n 1 -f x,y ./reg_test/input/abixy-wide
top_idx=1,x_top=0.999730,y_top=0.999522
mlr top -n 4 -f x -g a ./reg_test/input/abixy-wide
a=cat,top_idx=1,x_top=0.996359
a=cat,top_idx=2,x_top=0.990588
a=cat,top_idx=3,x_top=0.990160
a=cat,top_idx=4,x_top=0.986548
a=pan,top_idx=1,x_top=0.999730
a=pan,top_idx=2,x_top=0.999308
a=pan,top_idx=3,x_top=0.996583
a=pan,top_idx=4,x_top=0.990853
a=wye,top_idx=1,x_top=0.997339
a=wye,top_idx=2,x_top=0.996525
a=wye,top_idx=3,x_top=0.995414
a=wye,top_idx=4,x_top=0.994219
a=dog,top_idx=1,x_top=0.997245
a=dog,top_idx=2,x_top=0.988581
a=dog,top_idx=3,x_top=0.980266
a=dog,top_idx=4,x_top=0.977280
a=hat,top_idx=1,x_top=0.997014
a=hat,top_idx=2,x_top=0.995705
a=hat,top_idx=3,x_top=0.992879
a=hat,top_idx=4,x_top=0.989639
mlr top -n 1 -f x,y -g a ./reg_test/input/abixy-wide
a=cat,top_idx=1,x_top=0.996359,y_top=0.997929
a=pan,top_idx=1,x_top=0.999730,y_top=0.999319
a=wye,top_idx=1,x_top=0.997339,y_top=0.999450
a=dog,top_idx=1,x_top=0.997245,y_top=0.999522
a=hat,top_idx=1,x_top=0.997014,y_top=0.991400
mlr top -a -n 4 -f x ./reg_test/input/abixy-wide
a=pan,b=cat,i=1943,x=0.9997301774748071,y=0.8408385083267972,x2=0.9994604277538093,xy=0.8406116311572011,y2=0.7070093970852334
a=pan,b=dog,i=552,x=0.9993077485337599,y=0.10019859749555626,x2=0.9986159762796124,xy=0.10012923486952477,y2=0.010039758940076493
a=wye,b=pan,i=568,x=0.9973387930844961,y=0.5711453274816489,x2=0.9946846681912394,xy=0.569625391586397,y2=0.32620698510412
a=dog,b=pan,i=1613,x=0.997245171384539,y=0.8188847898688517,x2=0.9944979318497786,xy=0.8166289026169553,y2=0.6705722990785534
mlr top -a -n 4 -f x -g a ./reg_test/input/abixy-wide
a=cat,b=dog,i=901,x=0.9963591865818606,y=0.9423606044154952,x2=0.9927316286860669,xy=0.9389296452822133,y2=0.8880435087543374
a=cat,b=wye,i=135,x=0.9905881531288986,y=0.7789092765450115,x2=0.9812648891193222,xy=0.7715783017076895,y2=0.6066996610878732
a=cat,b=hat,i=975,x=0.9901595235021967,y=0.8592860989306361,x2=0.9804158819820973,xy=0.8508303142692202,y2=0.738372599815431
a=cat,b=dog,i=748,x=0.986548192318023,y=0.22327955924073406,x2=0.973277335765959,xy=0.2202760455505111,y2=0.04985376157473647
a=pan,b=cat,i=1943,x=0.9997301774748071,y=0.8408385083267972,x2=0.9994604277538093,xy=0.8406116311572011,y2=0.7070093970852334
a=pan,b=dog,i=552,x=0.9993077485337599,y=0.10019859749555626,x2=0.9986159762796124,xy=0.10012923486952477,y2=0.010039758940076493
a=pan,b=pan,i=756,x=0.9965826588776338,y=0.8864833103309704,x2=0.9931769959756142,xy=0.883453894460285,y2=0.7858526594953555
a=pan,b=wye,i=1876,x=0.9908531016291003,y=0.318873165751998,x2=0.9817898690080082,xy=0.3159564653116574,y2=0.10168009583670118
a=wye,b=pan,i=568,x=0.9973387930844961,y=0.5711453274816489,x2=0.9946846681912394,xy=0.569625391586397,y2=0.32620698510412
a=wye,b=dog,i=1772,x=0.9965249307670624,y=0.8078766237661098,x2=0.9930619376402985,xy=0.8050691965668507,y2=0.6526646392277285
a=wye,b=pan,i=450,x=0.9954136776717515,y=0.8564839236024028,x2=0.9908483896960015,xy=0.8525558122597992,y2=0.7335647113893665
a=wye,b=dog,i=882,x=0.9942189496990836,y=0.3298671968153588,x2=0.988471319940749,xy=0.32796021795794694,y2=0.10881236753482267
a=dog,b=pan,i=1613,x=0.997245171384539,y=0.8188847898688517,x2=0.9944979318497786,xy=0.8166289026169553,y2=0.6705722990785534
a=dog,b=hat,i=1680,x=0.9885812365291148,y=0.048768165346359305,x2=0.9772928612174336,xy=0.04821129320136021,y2=0.0023783339512498405
a=dog,b=wye,i=1331,x=0.9802656048578349,y=0.9431768957041479,x2=0.9609206560672968,xy=0.9245638701553616,y2=0.889582656590113
a=dog,b=pan,i=978,x=0.9772797759762182,y=0.5328687567382687,x2=0.9550757605321272,xy=0.5207618592099011,y2=0.2839491119077882
a=hat,b=dog,i=1894,x=0.9970136511026203,y=0.2054109087831395,x2=0.9940362204849775,xy=0.2047974801421852,y2=0.04219364144711526
a=hat,b=hat,i=818,x=0.9957052214494239,y=0.026702922142899044,x2=0.9914288880216462,xy=0.026588239005642018,y2=0.0007130460509697281
a=hat,b=hat,i=1513,x=0.9928788688650781,y=0.1805357299725343,x2=0.9858084482387971,xy=0.17925011136486105,y2=0.03259314979671582
a=hat,b=dog,i=1768,x=0.9896393441122658,y=0.5323182982465756,x2=0.9793860314149557,xy=0.5268031315356986,y2=0.2833627706481302
mlr top -n 3 -f x,y ./reg_test/input/near-ovf.dkvp
top_idx=1,x_top=9223372036854775807,y_top=-9223372036854775801
top_idx=2,x_top=9223372036854775806,y_top=-9223372036854775802
top_idx=3,x_top=9223372036854775805,y_top=-9223372036854775803
mlr top -n 3 -f x,y --min ./reg_test/input/near-ovf.dkvp
top_idx=1,x_top=9223372036854775801,y_top=-9223372036854775807
top_idx=2,x_top=9223372036854775802,y_top=-9223372036854775806
top_idx=3,x_top=9223372036854775803,y_top=-9223372036854775805
mlr top -F -n 3 -f x,y ./reg_test/input/near-ovf.dkvp
top_idx=1,x_top=9223372036854775808.000000,y_top=-9223372036854775808.000000
top_idx=2,x_top=9223372036854775808.000000,y_top=-9223372036854775808.000000
top_idx=3,x_top=9223372036854775808.000000,y_top=-9223372036854775808.000000
mlr top -F -n 3 -f x,y --min ./reg_test/input/near-ovf.dkvp
top_idx=1,x_top=9223372036854775808.000000,y_top=-9223372036854775808.000000
top_idx=2,x_top=9223372036854775808.000000,y_top=-9223372036854775808.000000
top_idx=3,x_top=9223372036854775808.000000,y_top=-9223372036854775808.000000
mlr --seed 12345 bootstrap ./reg_test/input/abixy-het
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
mlr --seed 12345 bootstrap -n 2 ./reg_test/input/abixy-het
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
mlr --seed 12345 bootstrap -n 20 ./reg_test/input/abixy-het
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
mlr --seed 12345 sample -k 2 ./reg_test/input/abixy-het
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr --seed 12345 sample -k 2 -g a ./reg_test/input/abixy-het
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
mlr --seed 12345 sample -k 2 -g a,b ./reg_test/input/abixy-het
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=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --seed 12345 shuffle ./reg_test/input/abixy-het
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
mlr --seed 23456 shuffle ./reg_test/input/abixy-het
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr --seed 34567 shuffle ./reg_test/input/abixy-het
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr uniq -g a ./reg_test/input/abixy-het
a=pan
a=eks
a=wye
a=zee
mlr uniq -g a,b ./reg_test/input/abixy-het
a=pan,b=pan
a=eks,b=pan
a=wye,b=pan
a=zee,b=pan
a=eks,b=zee
a=zee,b=wye
a=pan,b=wye
mlr uniq -f a ./reg_test/input/abixy-het
a=pan
a=eks
a=wye
a=zee
mlr uniq -f a,b ./reg_test/input/abixy-het
a=pan,b=pan
a=eks,b=pan
a=wye,b=pan
a=zee,b=pan
a=eks,b=zee
a=zee,b=wye
a=pan,b=wye
mlr uniq -c -g a ./reg_test/input/abixy-het
a=pan,count=2
a=eks,count=3
a=wye,count=1
a=zee,count=2
mlr uniq -c -g a,b ./reg_test/input/abixy-het
a=pan,b=pan,count=1
a=eks,b=pan,count=1
a=wye,b=pan,count=1
a=zee,b=pan,count=1
a=eks,b=zee,count=1
a=zee,b=wye,count=1
a=pan,b=wye,count=1
mlr count-distinct -f a ./reg_test/input/small ./reg_test/input/abixy
a=pan,count=4
a=eks,count=6
a=wye,count=4
a=zee,count=4
a=hat,count=2
mlr count-distinct -f a,b ./reg_test/input/small ./reg_test/input/abixy
a=pan,b=pan,count=2
a=eks,b=pan,count=2
a=wye,b=wye,count=2
a=eks,b=wye,count=2
a=wye,b=pan,count=2
a=zee,b=pan,count=2
a=eks,b=zee,count=2
a=zee,b=wye,count=2
a=hat,b=wye,count=2
a=pan,b=wye,count=2
mlr count-distinct -f a -n ./reg_test/input/small ./reg_test/input/abixy
count=5
mlr count-distinct -f a,b -n ./reg_test/input/small ./reg_test/input/abixy
count=10
mlr grep pan ./reg_test/input/abixy-het
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=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr grep -v pan ./reg_test/input/abixy-het
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr decimate -n 4 ./reg_test/input/abixy
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
mlr decimate -b -n 4 ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr decimate -e -n 4 ./reg_test/input/abixy
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
mlr decimate -g a -n 2 ./reg_test/input/abixy
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=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr decimate -g a -b -n 2 ./reg_test/input/abixy
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=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr decimate -g a -e -n 2 ./reg_test/input/abixy
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=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
================================================================
SORT
mlr sort -f a ./reg_test/input/abixy
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
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=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
mlr sort -r a ./reg_test/input/abixy
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
mlr sort -f x ./reg_test/input/abixy
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr sort -r x ./reg_test/input/abixy
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
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=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr sort -nf x ./reg_test/input/abixy
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr sort -nr x ./reg_test/input/abixy
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
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=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr sort -f a,b ./reg_test/input/abixy
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
mlr sort -r a,b ./reg_test/input/abixy
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr sort -f x,y ./reg_test/input/abixy
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr sort -r x,y ./reg_test/input/abixy
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
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=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr sort -nf x,y ./reg_test/input/abixy
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
mlr sort -nr x,y ./reg_test/input/abixy
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
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=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr sort -f a -nr x ./reg_test/input/abixy
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
mlr sort -nr y -f a ./reg_test/input/abixy
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
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=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
mlr sort -f a -r b -nf x -nr y ./reg_test/input/abixy
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
mlr sort -f x ./reg_test/input/sort-het.dkvp
x=1
x=2
x=4
a=3
mlr sort -r x ./reg_test/input/sort-het.dkvp
x=4
x=2
x=1
a=3
================================================================
JOIN
mlr --opprint join -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
o x y
1 a s
2 b t
2 c t
2 d t
2 b v
2 c v
2 d v
3 e w
3 f w
3 e x
3 f x
3 e y
3 f y
mlr --opprint join -u -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
o x y
1 a s
2 b t
2 c t
2 d t
2 b v
2 c v
2 d v
3 e w
3 f w
3 e x
3 f x
3 e y
3 f y
mlr --opprint join --ul -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
o x y
1 a s
2 b t
2 c t
2 d t
2 b v
2 c v
2 d v
3 e w
3 f w
3 e x
3 f x
3 e y
3 f y
l x
4 g
mlr --opprint join -u --ul -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
o x y
1 a s
2 b t
2 c t
2 d t
2 b v
2 c v
2 d v
3 e w
3 f w
3 e x
3 f x
3 e y
3 f y
l x
4 g
mlr --opprint join --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
o x y
1 a s
2 b t
2 c t
2 d t
2 b v
2 c v
2 d v
3 e w
3 f w
3 e x
3 f x
3 e y
3 f y
r y
5 z
mlr --opprint join -u --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
o x y
1 a s
2 b t
2 c t
2 d t
2 b v
2 c v
2 d v
3 e w
3 f w
3 e x
3 f x
3 e y
3 f y
r y
5 z
mlr --opprint join --ul --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
o x y
1 a s
2 b t
2 c t
2 d t
2 b v
2 c v
2 d v
3 e w
3 f w
3 e x
3 f x
3 e y
3 f y
l x
4 g
r y
5 z
mlr --opprint join -u --ul --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
o x y
1 a s
2 b t
2 c t
2 d t
2 b v
2 c v
2 d v
3 e w
3 f w
3 e x
3 f x
3 e y
3 f y
r y
5 z
l x
4 g
mlr --opprint join --np --ul -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
l x
4 g
mlr --opprint join -u --np --ul -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
l x
4 g
mlr --opprint join --np --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
5 z
mlr --opprint join -u --np --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
5 z
mlr --opprint join --np --ul --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
l x
4 g
r y
5 z
mlr --opprint join -u --np --ul --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
5 z
l x
4 g
mlr --opprint join -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
mlr --opprint join -u -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
mlr --opprint join --ul -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
mlr --opprint join -u --ul -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
mlr --opprint join --ur -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
1 s
2 t
2 v
3 w
3 x
3 y
5 z
mlr --opprint join -u --ur -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
1 s
2 t
2 v
3 w
3 x
3 y
5 z
mlr --opprint join --ul --ur -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
1 s
2 t
2 v
3 w
3 x
3 y
5 z
mlr --opprint join -u --ul --ur -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
1 s
2 t
2 v
3 w
3 x
3 y
5 z
mlr --opprint join --np --ul -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
mlr --opprint join -u --np --ul -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
mlr --opprint join --np --ur -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
1 s
2 t
2 v
3 w
3 x
3 y
5 z
mlr --opprint join -u --np --ur -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
1 s
2 t
2 v
3 w
3 x
3 y
5 z
mlr --opprint join --np --ul --ur -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
1 s
2 t
2 v
3 w
3 x
3 y
5 z
mlr --opprint join -u --np --ul --ur -f /dev/null -l l -r r -j o ./reg_test/input/joinb.dkvp
r y
1 s
2 t
2 v
3 w
3 x
3 y
5 z
mlr --opprint join -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
mlr --opprint join -u -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
mlr --opprint join --ul -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
l x
1 a
2 b
2 c
2 d
3 e
3 f
4 g
mlr --opprint join -u --ul -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
l x
1 a
2 b
2 c
2 d
3 e
3 f
4 g
mlr --opprint join --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
mlr --opprint join -u --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
mlr --opprint join --ul --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
l x
1 a
2 b
2 c
2 d
3 e
3 f
4 g
mlr --opprint join -u --ul --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
l x
1 a
2 b
2 c
2 d
3 e
3 f
4 g
mlr --opprint join --np --ul -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
l x
1 a
2 b
2 c
2 d
3 e
3 f
4 g
mlr --opprint join -u --np --ul -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
l x
1 a
2 b
2 c
2 d
3 e
3 f
4 g
mlr --opprint join --np --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
mlr --opprint join -u --np --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
mlr --opprint join --np --ul --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
l x
1 a
2 b
2 c
2 d
3 e
3 f
4 g
mlr --opprint join -u --np --ul --ur -f ./reg_test/input/joina.dkvp -l l -r r -j o /dev/null
l x
1 a
2 b
2 c
2 d
3 e
3 f
4 g
mlr --odkvp join -u -j a -f ./reg_test/input/join-het.dkvp ./reg_test/input/abixy-het
a=pan,n=234,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,n=123,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,n=123,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,n=345,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,n=456,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,n=123,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,n=456,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,n=234,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --odkvp join -u -j a -f ./reg_test/input/abixy-het ./reg_test/input/join-het.dkvp
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,n=123
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,n=123
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694,n=123
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,n=234
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,n=234
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729,n=345
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,n=456
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006,n=456
mlr --odkvp join -u --np --ul --ur -j a -f ./reg_test/input/join-het.dkvp ./reg_test/input/abixy-het
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
aye=bee,enn=emm
mlr --odkvp join -u --np --ul --ur -j a -f ./reg_test/input/abixy-het ./reg_test/input/join-het.dkvp
aye=bee,enn=emm
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r1
j=1,b=11
j=1,b=12
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r11
j=1,b=11
j=1,b=12
j=1,b=11
j=1,b=12
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r12
j=1,b=11
j=1,b=12
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r13
j=1,b=11
j=1,b=12
j=3,b=14
j=3,b=15
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r14
j=1,b=11
j=1,b=12
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r15
j=1,b=11
j=1,b=12
j=5,b=17
j=5,b=18
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r16
j=1,b=11
j=1,b=12
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r2
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r22
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r23
j=3,b=14
j=3,b=15
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r24
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r25
j=5,b=17
j=5,b=18
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r26
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r3
j=3,b=14
j=3,b=15
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r33
j=3,b=14
j=3,b=15
j=3,b=14
j=3,b=15
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r34
j=3,b=14
j=3,b=15
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r35
j=3,b=14
j=3,b=15
j=5,b=17
j=5,b=18
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r36
j=3,b=14
j=3,b=15
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r4
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r44
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r45
j=5,b=17
j=5,b=18
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r46
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r5
j=5,b=17
j=5,b=18
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r55
j=5,b=17
j=5,b=18
j=5,b=17
j=5,b=18
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r56
j=5,b=17
j=5,b=18
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r6
mlr join -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r66
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r1
x=100,b=10
x=200,b=13
l=3,b=14
l=3,b=15
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r11
x=100,b=10
x=200,b=13
l=3,b=14
l=3,b=15
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r12
x=100,b=10
x=200,b=13
x=300,b=16
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r13
x=100,b=10
x=200,b=13
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r14
x=100,b=10
x=200,b=13
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
l=5,b=17
l=5,b=18
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r15
x=100,b=10
x=200,b=13
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r16
x=100,b=10
x=200,b=13
l=3,b=14
l=3,b=15
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r2
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r22
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r23
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r24
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=3,b=14
l=3,b=15
x=400,b=19
l=5,b=17
l=5,b=18
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r25
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=3,b=14
l=3,b=15
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r26
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r3
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r33
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r34
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
x=400,b=19
l=5,b=17
l=5,b=18
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r35
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r36
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r4
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
l=5,b=17
l=5,b=18
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r44
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
l=5,b=17
l=5,b=18
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r45
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r46
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
l=5,b=17
l=5,b=18
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r5
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r55
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r56
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r6
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r66
x=100,b=10
x=200,b=13
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=300,b=16
l=5,b=17
l=5,b=18
x=400,b=19
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r1
y=111
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r11
y=111
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r12
y=111
y=222
r=2
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r13
y=111
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r14
y=111
y=222
r=4
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r15
y=111
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r16
y=111
y=222
r=6
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r2
y=111
r=2
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r22
y=111
r=2
y=222
r=2
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r23
y=111
r=2
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r24
y=111
r=2
y=222
r=4
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r25
y=111
r=2
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r26
y=111
r=2
y=222
r=6
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r3
y=111
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r33
y=111
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r34
y=111
y=222
r=4
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r35
y=111
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r36
y=111
y=222
r=6
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r4
y=111
r=4
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r44
y=111
r=4
y=222
r=4
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r45
y=111
r=4
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r46
y=111
r=4
y=222
r=6
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r5
y=111
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r55
y=111
y=222
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r56
y=111
y=222
r=6
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r6
y=111
r=6
y=333
mlr join --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r66
y=111
r=6
y=222
r=6
y=333
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r1
j=1,b=11
j=1,b=12
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r11
j=1,b=11
j=1,b=12
j=1,b=11
j=1,b=12
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r12
j=1,b=11
j=1,b=12
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r13
j=1,b=11
j=1,b=12
j=3,b=14
j=3,b=15
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r14
j=1,b=11
j=1,b=12
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r15
j=1,b=11
j=1,b=12
j=5,b=17
j=5,b=18
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r16
j=1,b=11
j=1,b=12
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r2
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r22
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r23
j=3,b=14
j=3,b=15
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r24
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r25
j=5,b=17
j=5,b=18
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r26
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r3
j=3,b=14
j=3,b=15
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r33
j=3,b=14
j=3,b=15
j=3,b=14
j=3,b=15
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r34
j=3,b=14
j=3,b=15
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r35
j=3,b=14
j=3,b=15
j=5,b=17
j=5,b=18
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r36
j=3,b=14
j=3,b=15
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r4
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r44
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r45
j=5,b=17
j=5,b=18
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r46
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r5
j=5,b=17
j=5,b=18
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r55
j=5,b=17
j=5,b=18
j=5,b=17
j=5,b=18
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r56
j=5,b=17
j=5,b=18
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r6
mlr join -u -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r66
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r1
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r11
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r13
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r14
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r15
l=3,b=14
l=3,b=15
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r16
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r2
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r22
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r23
l=1,b=11
l=1,b=12
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r24
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r25
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r26
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r3
l=1,b=11
l=1,b=12
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r33
l=1,b=11
l=1,b=12
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r34
l=1,b=11
l=1,b=12
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r35
l=1,b=11
l=1,b=12
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r36
l=1,b=11
l=1,b=12
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r4
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r44
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r45
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r46
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r5
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r55
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r56
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r6
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ul -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r66
l=1,b=11
l=1,b=12
l=3,b=14
l=3,b=15
l=5,b=17
l=5,b=18
x=100,b=10
x=200,b=13
x=300,b=16
x=400,b=19
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r1
y=111
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r11
y=111
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r12
y=111
y=222
r=2
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r13
y=111
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r14
y=111
y=222
r=4
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r15
y=111
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r16
y=111
y=222
r=6
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r2
y=111
r=2
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r22
y=111
r=2
y=222
r=2
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r23
y=111
r=2
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r24
y=111
r=2
y=222
r=4
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r25
y=111
r=2
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r26
y=111
r=2
y=222
r=6
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r3
y=111
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r33
y=111
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r34
y=111
y=222
r=4
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r35
y=111
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r36
y=111
y=222
r=6
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r4
y=111
r=4
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r44
y=111
r=4
y=222
r=4
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r45
y=111
r=4
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r46
y=111
r=4
y=222
r=6
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r5
y=111
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r55
y=111
y=222
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r56
y=111
y=222
r=6
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r6
y=111
r=6
y=333
mlr join -u --np --ur -l l -r r -j j -f ./reg_test/input/het-join-left ./reg_test/input/het-join-right-r66
y=111
r=6
y=222
r=6
y=333
================================================================
JOIN PREPIPE
mlr --prepipe cat --odkvp join -u -j a -f ./reg_test/input/join-het.dkvp ./reg_test/input/abixy-het
a=pan,n=234,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,n=123,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,n=123,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,n=345,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,n=456,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,n=123,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,n=456,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,n=234,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --odkvp join --prepipe cat -u -j a -f ./reg_test/input/join-het.dkvp ./reg_test/input/abixy-het
a=pan,n=234,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,n=123,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,n=123,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,n=345,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,n=456,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,n=123,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,n=456,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,n=234,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --prepipe cat --odkvp join --prepipe cat -u -j a -f ./reg_test/input/join-het.dkvp ./reg_test/input/abixy-het
a=pan,n=234,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,n=123,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,n=123,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,n=345,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,n=456,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,n=123,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,n=456,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
a=pan,n=234,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
================================================================
JOIN MIXED-FORMAT
mlr --json join -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.json
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --dkvp join -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.dkvp
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --csvlite join -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.csv
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --json join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.json
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --dkvp join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.dkvp
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --csvlite join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.csv
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --json join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.json
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --dkvp join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.dkvp
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --csvlite join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.csv
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --json join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.json
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --dkvp join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.dkvp
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --csvlite join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.csv
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --ijson --ojson join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.json
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --idkvp --ojson join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.dkvp
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --icsvlite --ojson join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.csv
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --ijson --ojson join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.json
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --idkvp --ojson join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.dkvp
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --icsvlite --ojson join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.csv
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --ijson --ojson join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.json
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --idkvp --ojson join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.dkvp
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --icsvlite --ojson join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.csv
{ "x": 1, "a": 2, "b": 20 }
{ "x": 2, "a": 3, "b": 30 }
{ "x": 3, "a": 4, "b": 40 }
{ "x": 4, "a": 5, "b": 50 }
mlr --ijson --odkvp join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.json
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --idkvp --odkvp join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.dkvp
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --icsvlite --odkvp join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.csv
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --ijson --odkvp join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.json
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --idkvp --odkvp join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.dkvp
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --icsvlite --odkvp join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.csv
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --ijson --odkvp join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.json
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --idkvp --odkvp join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.dkvp
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --icsvlite --odkvp join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.csv
x=1,a=2,b=20
x=2,a=3,b=30
x=3,a=4,b=40
x=4,a=5,b=50
mlr --ijson --ocsvlite join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.json
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --idkvp --ocsvlite join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.dkvp
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --icsvlite --ocsvlite join -i csvlite -j x -f ./reg_test/input/multi-format-join-a.csv ./reg_test/input/multi-format-join-b.csv
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --ijson --ocsvlite join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.json
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --idkvp --ocsvlite join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.dkvp
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --icsvlite --ocsvlite join -i dkvp -j x -f ./reg_test/input/multi-format-join-a.dkvp ./reg_test/input/multi-format-join-b.csv
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --ijson --ocsvlite join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.json
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --idkvp --ocsvlite join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.dkvp
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
mlr --icsvlite --ocsvlite join -i json -j x -f ./reg_test/input/multi-format-join-a.json ./reg_test/input/multi-format-join-b.csv
x,a,b
1,2,20
2,3,30
3,4,40
4,5,50
================================================================
REPEAT
mlr repeat -n 5 ./reg_test/input/repeat-input.dat
a=1,b=2,c=3
a=1,b=2,c=3
a=1,b=2,c=3
a=1,b=2,c=3
a=1,b=2,c=3
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
mlr repeat -f a ./reg_test/input/repeat-input.dat
a=1,b=2,c=3
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
mlr repeat -f b ./reg_test/input/repeat-input.dat
a=1,b=2,c=3
a=1,b=2,c=3
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
mlr repeat -f c ./reg_test/input/repeat-input.dat
a=1,b=2,c=3
a=1,b=2,c=3
a=1,b=2,c=3
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
a=3,b=4,c=5
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=6,b=,c=7
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
a=8,x=,c=9
================================================================
RESHAPE
mlr --pprint reshape -i X,Y,Z -o item,price ./reg_test/input/reshape-wide.tbl
time item price
2009-01-01 X 0.65473572
2009-01-01 Y 2.4520609
2009-01-01 Z -1.46570942
2009-01-02 X -0.89248112
2009-01-02 Y 0.2154713
2009-01-02 Z -2.05357735
2009-01-03 X 0.98012375
2009-01-03 Y 1.3179287
2009-01-03 Z 4.64248357
2009-01-04 X 0.35397376
2009-01-04 Y 3.3765645
2009-01-04 Z -0.25237774
2009-01-05 X 2.19357813
2009-01-05 Y 1.3477511
2009-01-05 Z 0.09719105
mlr --pprint reshape -i X,Z -o item,price ./reg_test/input/reshape-wide.tbl
time Y item price
2009-01-01 2.4520609 X 0.65473572
2009-01-01 2.4520609 Z -1.46570942
2009-01-02 0.2154713 X -0.89248112
2009-01-02 0.2154713 Z -2.05357735
2009-01-03 1.3179287 X 0.98012375
2009-01-03 1.3179287 Z 4.64248357
2009-01-04 3.3765645 X 0.35397376
2009-01-04 3.3765645 Z -0.25237774
2009-01-05 1.3477511 X 2.19357813
2009-01-05 1.3477511 Z 0.09719105
mlr --pprint reshape -r [X-Z] -o item,price ./reg_test/input/reshape-wide.tbl
time item price
2009-01-01 X 0.65473572
2009-01-01 Y 2.4520609
2009-01-01 Z -1.46570942
2009-01-02 X -0.89248112
2009-01-02 Y 0.2154713
2009-01-02 Z -2.05357735
2009-01-03 X 0.98012375
2009-01-03 Y 1.3179287
2009-01-03 Z 4.64248357
2009-01-04 X 0.35397376
2009-01-04 Y 3.3765645
2009-01-04 Z -0.25237774
2009-01-05 X 2.19357813
2009-01-05 Y 1.3477511
2009-01-05 Z 0.09719105
mlr --pprint reshape -r [XZ] -o item,price ./reg_test/input/reshape-wide.tbl
time Y item price
2009-01-01 2.4520609 X 0.65473572
2009-01-01 2.4520609 Z -1.46570942
2009-01-02 0.2154713 X -0.89248112
2009-01-02 0.2154713 Z -2.05357735
2009-01-03 1.3179287 X 0.98012375
2009-01-03 1.3179287 Z 4.64248357
2009-01-04 3.3765645 X 0.35397376
2009-01-04 3.3765645 Z -0.25237774
2009-01-05 1.3477511 X 2.19357813
2009-01-05 1.3477511 Z 0.09719105
mlr --pprint reshape -s item,price ./reg_test/input/reshape-long.tbl
time X Y Z
2009-01-01 0.65473572 2.4520609 -1.46570942
2009-01-02 -0.89248112 0.2154713 -2.05357735
2009-01-03 0.98012375 1.3179287 4.64248357
2009-01-04 0.35397376 3.3765645 -0.25237774
2009-01-05 2.19357813 1.3477511 0.09719105
mlr --pprint reshape -i X,Y,Z -o item,price then reshape -s item,price ./reg_test/input/reshape-wide.tbl
time X Y Z
2009-01-01 0.65473572 2.4520609 -1.46570942
2009-01-02 -0.89248112 0.2154713 -2.05357735
2009-01-03 0.98012375 1.3179287 4.64248357
2009-01-04 0.35397376 3.3765645 -0.25237774
2009-01-05 2.19357813 1.3477511 0.09719105
mlr --pprint reshape -s item,price then reshape -i X,Y,Z -o item,price ./reg_test/input/reshape-long.tbl
time item price
2009-01-01 X 0.65473572
2009-01-01 Y 2.4520609
2009-01-01 Z -1.46570942
2009-01-02 X -0.89248112
2009-01-02 Y 0.2154713
2009-01-02 Z -2.05357735
2009-01-03 X 0.98012375
2009-01-03 Y 1.3179287
2009-01-03 Z 4.64248357
2009-01-04 X 0.35397376
2009-01-04 Y 3.3765645
2009-01-04 Z -0.25237774
2009-01-05 X 2.19357813
2009-01-05 Y 1.3477511
2009-01-05 Z 0.09719105
mlr reshape -i X,Y,Z -o item,price ./reg_test/input/reshape-wide-ragged.dkvp
time=2009-01-01,item=X,price=0.65473572
time=2009-01-01,item=Y,price=2.4520609
time=2009-01-01,item=Z,price=-1.46570942
time=2009-01-02,item=X,price=-0.89248112
time=2009-01-02,item=Y,price=0.2154713
time=2009-01-03,item=X,price=0.98012375
time=2009-01-04
time=2009-01-05,U=1.3477511,V=0.09719105,item=X,price=2.19357813
mlr reshape -i X,Z -o item,price ./reg_test/input/reshape-wide-ragged.dkvp
time=2009-01-01,Y=2.4520609,item=X,price=0.65473572
time=2009-01-01,Y=2.4520609,item=Z,price=-1.46570942
time=2009-01-02,Y=0.2154713,item=X,price=-0.89248112
time=2009-01-03,item=X,price=0.98012375
time=2009-01-04
time=2009-01-05,U=1.3477511,V=0.09719105,item=X,price=2.19357813
mlr reshape -r [X-Z] -o item,price ./reg_test/input/reshape-wide-ragged.dkvp
time=2009-01-01,item=X,price=0.65473572
time=2009-01-01,item=Y,price=2.4520609
time=2009-01-01,item=Z,price=-1.46570942
time=2009-01-02,item=X,price=-0.89248112
time=2009-01-02,item=Y,price=0.2154713
time=2009-01-03,item=X,price=0.98012375
time=2009-01-04
time=2009-01-05,U=1.3477511,V=0.09719105,item=X,price=2.19357813
mlr reshape -r [XZ] -o item,price ./reg_test/input/reshape-wide-ragged.dkvp
time=2009-01-01,Y=2.4520609,item=X,price=0.65473572
time=2009-01-01,Y=2.4520609,item=Z,price=-1.46570942
time=2009-01-02,Y=0.2154713,item=X,price=-0.89248112
time=2009-01-03,item=X,price=0.98012375
time=2009-01-04
time=2009-01-05,U=1.3477511,V=0.09719105,item=X,price=2.19357813
mlr reshape -s item,price ./reg_test/input/reshape-long-ragged.dkvp
time=2009-01-01,item=X,value=0.65473572
time=2009-01-01,item=Y,value=2.4520609
time=2009-01-01,item=Z,value=-1.46570942
time=2009-01-02,item=X,value=-0.89248112
time=2009-01-02,item=Y,value=0.2154713
time=2009-01-03,item=X,value=0.98012375
time=2009-01-04
time=2009-01-05,U=1.3477511,V=0.09719105,item=X,value=2.19357813
mlr --json reshape -i x,y -o item,value ./reg_test/input/small-non-nested.json
{ "a": "pan", "b": "pan", "i": 1, "item": "x", "value": 0.3467901443380824 }
{ "a": "pan", "b": "pan", "i": 1, "item": "y", "value": 0.7268028627434533 }
{ "a": "eks", "b": "pan", "i": 2, "item": "x", "value": 0.7586799647899636 }
{ "a": "eks", "b": "pan", "i": 2, "item": "y", "value": 0.5221511083334797 }
{ "a": "wye", "b": "wye", "i": 3, "item": "x", "value": 0.20460330576630303 }
{ "a": "wye", "b": "wye", "i": 3, "item": "y", "value": 0.33831852551664776 }
{ "a": "eks", "b": "wye", "i": 4, "item": "x", "value": 0.38139939387114097 }
{ "a": "eks", "b": "wye", "i": 4, "item": "y", "value": 0.13418874328430463 }
{ "a": "wye", "b": "pan", "i": 5, "item": "x", "value": 0.5732889198020006 }
{ "a": "wye", "b": "pan", "i": 5, "item": "y", "value": 0.8636244699032729 }
{ "a": "zee", "b": "pan", "i": 6, "item": "x", "value": 0.5271261600918548 }
{ "a": "zee", "b": "pan", "i": 6, "item": "y", "value": 0.49322128674835697 }
{ "a": "eks", "b": "zee", "i": 7, "item": "x", "value": 0.6117840605678454 }
{ "a": "eks", "b": "zee", "i": 7, "item": "y", "value": 0.1878849191181694 }
{ "a": "zee", "b": "wye", "i": 8, "item": "x", "value": 0.5985540091064224 }
{ "a": "zee", "b": "wye", "i": 8, "item": "y", "value": 0.976181385699006 }
{ "a": "hat", "b": "wye", "i": 9, "item": "x", "value": 0.03144187646093577 }
{ "a": "hat", "b": "wye", "i": 9, "item": "y", "value": 0.7495507603507059 }
{ "a": "pan", "b": "wye", "i": 10, "item": "x", "value": 0.5026260055412137 }
{ "a": "pan", "b": "wye", "i": 10, "item": "y", "value": 0.9526183602969864 }
================================================================
NEST
mlr cat ./reg_test/input/nest-explode.dkvp
x=a:1;b:2;c:3,y=d:40
x=,y=d:50
u=100,y=d:60
x=a:4;b:5,y=d:70
mlr cat ./reg_test/input/nest-explode-vary-fs-ps.dkvp
x=a=1|b=2|c=3,y=d=40
x=,y=d=50
u=100,y=d=60
x=a=4|b=5,y=d=70
mlr nest --explode --values --across-fields -f x ./reg_test/input/nest-explode.dkvp
x_1=a:1,x_2=b:2,x_3=c:3,y=d:40
y=d:50
u=100,y=d:60
x_1=a:4,x_2=b:5,y=d:70
mlr nest --explode --values --across-fields -f x --nested-fs pipe --nested-ps = ./reg_test/input/nest-explode-vary-fs-ps.dkvp
x_1=a=1,x_2=b=2,x_3=c=3,y=d=40
y=d=50
u=100,y=d=60
x_1=a=4,x_2=b=5,y=d=70
mlr nest --explode --values --across-fields -f x then nest --implode --values --across-fields -f x ./reg_test/input/nest-explode.dkvp
x=a:1;b:2;c:3,y=d:40
y=d:50
u=100,y=d:60
x=a:4;b:5,y=d:70
mlr nest --explode --values --across-fields -f x --nested-fs pipe --nested-ps = then nest --implode --values --across-fields -f x --nested-fs pipe --nested-ps = ./reg_test/input/nest-explode-vary-fs-ps.dkvp
x=a=1|b=2|c=3,y=d=40
y=d=50
u=100,y=d=60
x=a=4|b=5,y=d=70
mlr nest --explode --values --across-records -f x ./reg_test/input/nest-explode.dkvp
x=a:1,y=d:40
x=b:2,y=d:40
x=c:3,y=d:40
u=100,y=d:60
x=a:4,y=d:70
x=b:5,y=d:70
mlr nest --explode --values --across-records -f x --nested-fs pipe --nested-ps = ./reg_test/input/nest-explode-vary-fs-ps.dkvp
x=a=1,y=d=40
x=b=2,y=d=40
x=c=3,y=d=40
u=100,y=d=60
x=a=4,y=d=70
x=b=5,y=d=70
mlr nest --explode --values --across-records -f x then nest --implode --values --across-records -f x ./reg_test/input/nest-explode.dkvp
u=100,y=d:60
x=a:1;b:2;c:3,y=d:40
x=a:4;b:5,y=d:70
mlr nest --explode --values --across-records -f x --nested-fs pipe --nested-ps = then nest --implode --values --across-records -f x --nested-fs pipe --nested-ps = ./reg_test/input/nest-explode-vary-fs-ps.dkvp
u=100,y=d=60
x=a=1|b=2|c=3,y=d=40
x=a=4|b=5,y=d=70
mlr nest --explode --pairs --across-fields -f x ./reg_test/input/nest-explode.dkvp
a=1,b=2,c=3,y=d:40
y=d:50
u=100,y=d:60
a=4,b=5,y=d:70
mlr nest --explode --pairs --across-fields -f x --nested-fs pipe --nested-ps = ./reg_test/input/nest-explode-vary-fs-ps.dkvp
a=1,b=2,c=3,y=d=40
y=d=50
u=100,y=d=60
a=4,b=5,y=d=70
mlr nest --explode --pairs --across-records -f x ./reg_test/input/nest-explode.dkvp
a=1,y=d:40
b=2,y=d:40
c=3,y=d:40
u=100,y=d:60
a=4,y=d:70
b=5,y=d:70
mlr nest --explode --pairs --across-records -f x --nested-fs pipe --nested-ps = ./reg_test/input/nest-explode-vary-fs-ps.dkvp
a=1,y=d=40
b=2,y=d=40
c=3,y=d=40
u=100,y=d=60
a=4,y=d=70
b=5,y=d=70
================================================================
SEQGEN
mlr seqgen --start 1 --stop 5 --step 1
i=1
i=2
i=3
i=4
i=5
mlr seqgen --start 1 --stop 5 --step 2
i=1
i=3
i=5
mlr seqgen --start 1 --stop 1 --step 1 -f a
a=1
mlr seqgen --start 5 --stop 1 --step 1 -f b
mlr seqgen --start 5 --stop 1 --step -1 -f c
c=5
c=4
c=3
c=2
c=1
mlr seqgen --start 5 --stop 5 --step -1 -f d
d=5
mlr --from ./reg_test/input/abixy cat then seqgen --start 1 --stop 5
i=1
i=2
i=3
i=4
i=5
================================================================
STATS
mlr --opprint stats1 -a mean,sum,count,min,max,mode -f i,x,y ./reg_test/input/abixy
i_mean i_sum i_count i_min i_max i_mode x_mean x_sum x_count x_min x_max x_mode y_mean y_sum y_count y_min y_max y_mode
5.500000 55 10 1 10 1 0.453629 4.536294 10 0.031442 0.758680 0.3467901443380824 0.594454 5.944542 10 0.134189 0.976181 0.7268028627434533
mlr --opprint stats1 -a min,p10,p50,mode,p90,max -f i,x,y ./reg_test/input/abixy
i_min i_p10 i_p50 i_mode i_p90 i_max x_min x_p10 x_p50 x_mode x_p90 x_max y_min y_p10 y_p50 y_mode y_p90 y_max
1 2 6 1 10 10 0.031442 0.204603 0.527126 0.3467901443380824 0.758680 0.758680 0.134189 0.187885 0.726803 0.7268028627434533 0.976181 0.976181
mlr --opprint stats1 -a mean,meaneb,stddev -f i,x,y ./reg_test/input/abixy
i_mean i_meaneb i_stddev x_mean x_meaneb x_stddev y_mean y_meaneb y_stddev
5.500000 0.957427 3.027650 0.453629 0.068157 0.215531 0.594454 0.096968 0.306639
mlr --oxtab stats1 -s -a mean,sum,count,min,max,mode -f i,x,y ./reg_test/input/abixy
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
i_mean 1.000000
i_sum 1
i_count 1
i_min 1
i_max 1
i_mode 1
x_mean 0.346790
x_sum 0.346790
x_count 1
x_min 0.346790
x_max 0.346790
x_mode 0.3467901443380824
y_mean 0.726803
y_sum 0.726803
y_count 1
y_min 0.726803
y_max 0.726803
y_mode 0.7268028627434533
a eks
b pan
i 2
x 0.7586799647899636
y 0.5221511083334797
i_mean 1.500000
i_sum 3
i_count 2
i_min 1
i_max 2
i_mode 1
x_mean 0.552735
x_sum 1.105470
x_count 2
x_min 0.346790
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.624477
y_sum 1.248954
y_count 2
y_min 0.522151
y_max 0.726803
y_mode 0.7268028627434533
a wye
b wye
i 3
x 0.20460330576630303
y 0.33831852551664776
i_mean 2.000000
i_sum 6
i_count 3
i_min 1
i_max 3
i_mode 1
x_mean 0.436691
x_sum 1.310073
x_count 3
x_min 0.204603
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.529091
y_sum 1.587272
y_count 3
y_min 0.338319
y_max 0.726803
y_mode 0.7268028627434533
a eks
b wye
i 4
x 0.38139939387114097
y 0.13418874328430463
i_mean 2.500000
i_sum 10
i_count 4
i_min 1
i_max 4
i_mode 1
x_mean 0.422868
x_sum 1.691473
x_count 4
x_min 0.204603
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.430365
y_sum 1.721461
y_count 4
y_min 0.134189
y_max 0.726803
y_mode 0.7268028627434533
a wye
b pan
i 5
x 0.5732889198020006
y 0.8636244699032729
i_mean 3.000000
i_sum 15
i_count 5
i_min 1
i_max 5
i_mode 1
x_mean 0.452952
x_sum 2.264762
x_count 5
x_min 0.204603
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.517017
y_sum 2.585086
y_count 5
y_min 0.134189
y_max 0.863624
y_mode 0.7268028627434533
a zee
b pan
i 6
x 0.5271261600918548
y 0.49322128674835697
i_mean 3.500000
i_sum 21
i_count 6
i_min 1
i_max 6
i_mode 1
x_mean 0.465315
x_sum 2.791888
x_count 6
x_min 0.204603
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.513051
y_sum 3.078307
y_count 6
y_min 0.134189
y_max 0.863624
y_mode 0.7268028627434533
a eks
b zee
i 7
x 0.6117840605678454
y 0.1878849191181694
i_mean 4.000000
i_sum 28
i_count 7
i_min 1
i_max 7
i_mode 1
x_mean 0.486239
x_sum 3.403672
x_count 7
x_min 0.204603
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.466599
y_sum 3.266192
y_count 7
y_min 0.134189
y_max 0.863624
y_mode 0.7268028627434533
a zee
b wye
i 8
x 0.5985540091064224
y 0.976181385699006
i_mean 4.500000
i_sum 36
i_count 8
i_min 1
i_max 8
i_mode 1
x_mean 0.500278
x_sum 4.002226
x_count 8
x_min 0.204603
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.530297
y_sum 4.242373
y_count 8
y_min 0.134189
y_max 0.976181
y_mode 0.7268028627434533
a hat
b wye
i 9
x 0.03144187646093577
y 0.7495507603507059
i_mean 5.000000
i_sum 45
i_count 9
i_min 1
i_max 9
i_mode 1
x_mean 0.448185
x_sum 4.033668
x_count 9
x_min 0.031442
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.554658
y_sum 4.991924
y_count 9
y_min 0.134189
y_max 0.976181
y_mode 0.7268028627434533
a pan
b wye
i 10
x 0.5026260055412137
y 0.9526183602969864
i_mean 5.500000
i_sum 55
i_count 10
i_min 1
i_max 10
i_mode 1
x_mean 0.453629
x_sum 4.536294
x_count 10
x_min 0.031442
x_max 0.758680
x_mode 0.3467901443380824
y_mean 0.594454
y_sum 5.944542
y_count 10
y_min 0.134189
y_max 0.976181
y_mode 0.7268028627434533
mlr --opprint stats1 -a mean,sum,count,min,max,mode -f i,x,y -g a ./reg_test/input/abixy
a i_mean i_sum i_count i_min i_max i_mode x_mean x_sum x_count x_min x_max x_mode y_mean y_sum y_count y_min y_max y_mode
pan 5.500000 11 2 1 10 1 0.424708 0.849416 2 0.346790 0.502626 0.3467901443380824 0.839711 1.679421 2 0.726803 0.952618 0.7268028627434533
eks 4.333333 13 3 2 7 2 0.583954 1.751863 3 0.381399 0.758680 0.7586799647899636 0.281408 0.844225 3 0.134189 0.522151 0.5221511083334797
wye 4.000000 8 2 3 5 3 0.388946 0.777892 2 0.204603 0.573289 0.20460330576630303 0.600971 1.201943 2 0.338319 0.863624 0.33831852551664776
zee 7.000000 14 2 6 8 6 0.562840 1.125680 2 0.527126 0.598554 0.5271261600918548 0.734701 1.469403 2 0.493221 0.976181 0.49322128674835697
hat 9.000000 9 1 9 9 9 0.031442 0.031442 1 0.031442 0.031442 0.03144187646093577 0.749551 0.749551 1 0.749551 0.749551 0.7495507603507059
mlr --opprint stats1 -a min,p10,p50,mode,p90,max -f i,x,y -g a ./reg_test/input/abixy
a i_min i_p10 i_p50 i_mode i_p90 i_max x_min x_p10 x_p50 x_mode x_p90 x_max y_min y_p10 y_p50 y_mode y_p90 y_max
pan 1 1 10 1 10 10 0.346790 0.346790 0.502626 0.3467901443380824 0.502626 0.502626 0.726803 0.726803 0.952618 0.7268028627434533 0.952618 0.952618
eks 2 2 4 2 7 7 0.381399 0.381399 0.611784 0.7586799647899636 0.758680 0.758680 0.134189 0.134189 0.187885 0.5221511083334797 0.522151 0.522151
wye 3 3 5 3 5 5 0.204603 0.204603 0.573289 0.20460330576630303 0.573289 0.573289 0.338319 0.338319 0.863624 0.33831852551664776 0.863624 0.863624
zee 6 6 8 6 8 8 0.527126 0.527126 0.598554 0.5271261600918548 0.598554 0.598554 0.493221 0.493221 0.976181 0.49322128674835697 0.976181 0.976181
hat 9 9 9 9 9 9 0.031442 0.031442 0.031442 0.03144187646093577 0.031442 0.031442 0.749551 0.749551 0.749551 0.7495507603507059 0.749551 0.749551
mlr --opprint stats1 -a mean,meaneb,stddev -f i,x,y -g a ./reg_test/input/abixy
a i_mean i_meaneb i_stddev x_mean x_meaneb x_stddev y_mean y_meaneb y_stddev
pan 5.500000 4.500000 6.363961 0.424708 0.077918 0.110193 0.839711 0.112908 0.159676
eks 4.333333 1.452966 2.516611 0.583954 0.109797 0.190174 0.281408 0.121365 0.210211
wye 4.000000 1.000000 1.414214 0.388946 0.184343 0.260700 0.600971 0.262653 0.371447
zee 7.000000 1.000000 1.414214 0.562840 0.035714 0.050507 0.734701 0.241480 0.341504
hat 9.000000 - - 0.031442 - - 0.749551 - -
mlr --oxtab stats1 -s -a mean,sum,count,min,max,mode -f i,x,y -g a ./reg_test/input/abixy
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
i_mean 1.000000
i_sum 1
i_count 1
i_min 1
i_max 1
i_mode 1
x_mean 0.346790
x_sum 0.346790
x_count 1
x_min 0.346790
x_max 0.346790
x_mode 0.3467901443380824
y_mean 0.726803
y_sum 0.726803
y_count 1
y_min 0.726803
y_max 0.726803
y_mode 0.7268028627434533
a eks
b pan
i 2
x 0.7586799647899636
y 0.5221511083334797
i_mean 2.000000
i_sum 2
i_count 1
i_min 2
i_max 2
i_mode 2
x_mean 0.758680
x_sum 0.758680
x_count 1
x_min 0.758680
x_max 0.758680
x_mode 0.7586799647899636
y_mean 0.522151
y_sum 0.522151
y_count 1
y_min 0.522151
y_max 0.522151
y_mode 0.5221511083334797
a wye
b wye
i 3
x 0.20460330576630303
y 0.33831852551664776
i_mean 3.000000
i_sum 3
i_count 1
i_min 3
i_max 3
i_mode 3
x_mean 0.204603
x_sum 0.204603
x_count 1
x_min 0.204603
x_max 0.204603
x_mode 0.20460330576630303
y_mean 0.338319
y_sum 0.338319
y_count 1
y_min 0.338319
y_max 0.338319
y_mode 0.33831852551664776
a eks
b wye
i 4
x 0.38139939387114097
y 0.13418874328430463
i_mean 3.000000
i_sum 6
i_count 2
i_min 2
i_max 4
i_mode 2
x_mean 0.570040
x_sum 1.140079
x_count 2
x_min 0.381399
x_max 0.758680
x_mode 0.7586799647899636
y_mean 0.328170
y_sum 0.656340
y_count 2
y_min 0.134189
y_max 0.522151
y_mode 0.5221511083334797
a wye
b pan
i 5
x 0.5732889198020006
y 0.8636244699032729
i_mean 4.000000
i_sum 8
i_count 2
i_min 3
i_max 5
i_mode 3
x_mean 0.388946
x_sum 0.777892
x_count 2
x_min 0.204603
x_max 0.573289
x_mode 0.20460330576630303
y_mean 0.600971
y_sum 1.201943
y_count 2
y_min 0.338319
y_max 0.863624
y_mode 0.33831852551664776
a zee
b pan
i 6
x 0.5271261600918548
y 0.49322128674835697
i_mean 6.000000
i_sum 6
i_count 1
i_min 6
i_max 6
i_mode 6
x_mean 0.527126
x_sum 0.527126
x_count 1
x_min 0.527126
x_max 0.527126
x_mode 0.5271261600918548
y_mean 0.493221
y_sum 0.493221
y_count 1
y_min 0.493221
y_max 0.493221
y_mode 0.49322128674835697
a eks
b zee
i 7
x 0.6117840605678454
y 0.1878849191181694
i_mean 4.333333
i_sum 13
i_count 3
i_min 2
i_max 7
i_mode 2
x_mean 0.583954
x_sum 1.751863
x_count 3
x_min 0.381399
x_max 0.758680
x_mode 0.7586799647899636
y_mean 0.281408
y_sum 0.844225
y_count 3
y_min 0.134189
y_max 0.522151
y_mode 0.5221511083334797
a zee
b wye
i 8
x 0.5985540091064224
y 0.976181385699006
i_mean 7.000000
i_sum 14
i_count 2
i_min 6
i_max 8
i_mode 6
x_mean 0.562840
x_sum 1.125680
x_count 2
x_min 0.527126
x_max 0.598554
x_mode 0.5271261600918548
y_mean 0.734701
y_sum 1.469403
y_count 2
y_min 0.493221
y_max 0.976181
y_mode 0.49322128674835697
a hat
b wye
i 9
x 0.03144187646093577
y 0.7495507603507059
i_mean 9.000000
i_sum 9
i_count 1
i_min 9
i_max 9
i_mode 9
x_mean 0.031442
x_sum 0.031442
x_count 1
x_min 0.031442
x_max 0.031442
x_mode 0.03144187646093577
y_mean 0.749551
y_sum 0.749551
y_count 1
y_min 0.749551
y_max 0.749551
y_mode 0.7495507603507059
a pan
b wye
i 10
x 0.5026260055412137
y 0.9526183602969864
i_mean 5.500000
i_sum 11
i_count 2
i_min 1
i_max 10
i_mode 1
x_mean 0.424708
x_sum 0.849416
x_count 2
x_min 0.346790
x_max 0.502626
x_mode 0.3467901443380824
y_mean 0.839711
y_sum 1.679421
y_count 2
y_min 0.726803
y_max 0.952618
y_mode 0.7268028627434533
mlr --opprint stats1 -a mean,sum,count,min,max,mode -f i,x,y -g a,b ./reg_test/input/abixy
a b i_mean i_sum i_count i_min i_max i_mode x_mean x_sum x_count x_min x_max x_mode y_mean y_sum y_count y_min y_max y_mode
pan pan 1.000000 1 1 1 1 1 0.346790 0.346790 1 0.346790 0.346790 0.3467901443380824 0.726803 0.726803 1 0.726803 0.726803 0.7268028627434533
eks pan 2.000000 2 1 2 2 2 0.758680 0.758680 1 0.758680 0.758680 0.7586799647899636 0.522151 0.522151 1 0.522151 0.522151 0.5221511083334797
wye wye 3.000000 3 1 3 3 3 0.204603 0.204603 1 0.204603 0.204603 0.20460330576630303 0.338319 0.338319 1 0.338319 0.338319 0.33831852551664776
eks wye 4.000000 4 1 4 4 4 0.381399 0.381399 1 0.381399 0.381399 0.38139939387114097 0.134189 0.134189 1 0.134189 0.134189 0.13418874328430463
wye pan 5.000000 5 1 5 5 5 0.573289 0.573289 1 0.573289 0.573289 0.5732889198020006 0.863624 0.863624 1 0.863624 0.863624 0.8636244699032729
zee pan 6.000000 6 1 6 6 6 0.527126 0.527126 1 0.527126 0.527126 0.5271261600918548 0.493221 0.493221 1 0.493221 0.493221 0.49322128674835697
eks zee 7.000000 7 1 7 7 7 0.611784 0.611784 1 0.611784 0.611784 0.6117840605678454 0.187885 0.187885 1 0.187885 0.187885 0.1878849191181694
zee wye 8.000000 8 1 8 8 8 0.598554 0.598554 1 0.598554 0.598554 0.5985540091064224 0.976181 0.976181 1 0.976181 0.976181 0.976181385699006
hat wye 9.000000 9 1 9 9 9 0.031442 0.031442 1 0.031442 0.031442 0.03144187646093577 0.749551 0.749551 1 0.749551 0.749551 0.7495507603507059
pan wye 10.000000 10 1 10 10 10 0.502626 0.502626 1 0.502626 0.502626 0.5026260055412137 0.952618 0.952618 1 0.952618 0.952618 0.9526183602969864
mlr --opprint stats1 -a min,p10,p50,mode,p90,max -f i,x,y -g a,b ./reg_test/input/abixy
a b i_min i_p10 i_p50 i_mode i_p90 i_max x_min x_p10 x_p50 x_mode x_p90 x_max y_min y_p10 y_p50 y_mode y_p90 y_max
pan pan 1 1 1 1 1 1 0.346790 0.346790 0.346790 0.3467901443380824 0.346790 0.346790 0.726803 0.726803 0.726803 0.7268028627434533 0.726803 0.726803
eks pan 2 2 2 2 2 2 0.758680 0.758680 0.758680 0.7586799647899636 0.758680 0.758680 0.522151 0.522151 0.522151 0.5221511083334797 0.522151 0.522151
wye wye 3 3 3 3 3 3 0.204603 0.204603 0.204603 0.20460330576630303 0.204603 0.204603 0.338319 0.338319 0.338319 0.33831852551664776 0.338319 0.338319
eks wye 4 4 4 4 4 4 0.381399 0.381399 0.381399 0.38139939387114097 0.381399 0.381399 0.134189 0.134189 0.134189 0.13418874328430463 0.134189 0.134189
wye pan 5 5 5 5 5 5 0.573289 0.573289 0.573289 0.5732889198020006 0.573289 0.573289 0.863624 0.863624 0.863624 0.8636244699032729 0.863624 0.863624
zee pan 6 6 6 6 6 6 0.527126 0.527126 0.527126 0.5271261600918548 0.527126 0.527126 0.493221 0.493221 0.493221 0.49322128674835697 0.493221 0.493221
eks zee 7 7 7 7 7 7 0.611784 0.611784 0.611784 0.6117840605678454 0.611784 0.611784 0.187885 0.187885 0.187885 0.1878849191181694 0.187885 0.187885
zee wye 8 8 8 8 8 8 0.598554 0.598554 0.598554 0.5985540091064224 0.598554 0.598554 0.976181 0.976181 0.976181 0.976181385699006 0.976181 0.976181
hat wye 9 9 9 9 9 9 0.031442 0.031442 0.031442 0.03144187646093577 0.031442 0.031442 0.749551 0.749551 0.749551 0.7495507603507059 0.749551 0.749551
pan wye 10 10 10 10 10 10 0.502626 0.502626 0.502626 0.5026260055412137 0.502626 0.502626 0.952618 0.952618 0.952618 0.9526183602969864 0.952618 0.952618
mlr --opprint stats1 -a mean,meaneb,stddev -f i,x,y -g a,b ./reg_test/input/abixy
a b i_mean i_meaneb i_stddev x_mean x_meaneb x_stddev y_mean y_meaneb y_stddev
pan pan 1.000000 - - 0.346790 - - 0.726803 - -
eks pan 2.000000 - - 0.758680 - - 0.522151 - -
wye wye 3.000000 - - 0.204603 - - 0.338319 - -
eks wye 4.000000 - - 0.381399 - - 0.134189 - -
wye pan 5.000000 - - 0.573289 - - 0.863624 - -
zee pan 6.000000 - - 0.527126 - - 0.493221 - -
eks zee 7.000000 - - 0.611784 - - 0.187885 - -
zee wye 8.000000 - - 0.598554 - - 0.976181 - -
hat wye 9.000000 - - 0.031442 - - 0.749551 - -
pan wye 10.000000 - - 0.502626 - - 0.952618 - -
mlr --oxtab stats1 -s -a mean,sum,count,min,max,mode -f i,x,y -g a,b ./reg_test/input/abixy
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
i_mean 1.000000
i_sum 1
i_count 1
i_min 1
i_max 1
i_mode 1
x_mean 0.346790
x_sum 0.346790
x_count 1
x_min 0.346790
x_max 0.346790
x_mode 0.3467901443380824
y_mean 0.726803
y_sum 0.726803
y_count 1
y_min 0.726803
y_max 0.726803
y_mode 0.7268028627434533
a eks
b pan
i 2
x 0.7586799647899636
y 0.5221511083334797
i_mean 2.000000
i_sum 2
i_count 1
i_min 2
i_max 2
i_mode 2
x_mean 0.758680
x_sum 0.758680
x_count 1
x_min 0.758680
x_max 0.758680
x_mode 0.7586799647899636
y_mean 0.522151
y_sum 0.522151
y_count 1
y_min 0.522151
y_max 0.522151
y_mode 0.5221511083334797
a wye
b wye
i 3
x 0.20460330576630303
y 0.33831852551664776
i_mean 3.000000
i_sum 3
i_count 1
i_min 3
i_max 3
i_mode 3
x_mean 0.204603
x_sum 0.204603
x_count 1
x_min 0.204603
x_max 0.204603
x_mode 0.20460330576630303
y_mean 0.338319
y_sum 0.338319
y_count 1
y_min 0.338319
y_max 0.338319
y_mode 0.33831852551664776
a eks
b wye
i 4
x 0.38139939387114097
y 0.13418874328430463
i_mean 4.000000
i_sum 4
i_count 1
i_min 4
i_max 4
i_mode 4
x_mean 0.381399
x_sum 0.381399
x_count 1
x_min 0.381399
x_max 0.381399
x_mode 0.38139939387114097
y_mean 0.134189
y_sum 0.134189
y_count 1
y_min 0.134189
y_max 0.134189
y_mode 0.13418874328430463
a wye
b pan
i 5
x 0.5732889198020006
y 0.8636244699032729
i_mean 5.000000
i_sum 5
i_count 1
i_min 5
i_max 5
i_mode 5
x_mean 0.573289
x_sum 0.573289
x_count 1
x_min 0.573289
x_max 0.573289
x_mode 0.5732889198020006
y_mean 0.863624
y_sum 0.863624
y_count 1
y_min 0.863624
y_max 0.863624
y_mode 0.8636244699032729
a zee
b pan
i 6
x 0.5271261600918548
y 0.49322128674835697
i_mean 6.000000
i_sum 6
i_count 1
i_min 6
i_max 6
i_mode 6
x_mean 0.527126
x_sum 0.527126
x_count 1
x_min 0.527126
x_max 0.527126
x_mode 0.5271261600918548
y_mean 0.493221
y_sum 0.493221
y_count 1
y_min 0.493221
y_max 0.493221
y_mode 0.49322128674835697
a eks
b zee
i 7
x 0.6117840605678454
y 0.1878849191181694
i_mean 7.000000
i_sum 7
i_count 1
i_min 7
i_max 7
i_mode 7
x_mean 0.611784
x_sum 0.611784
x_count 1
x_min 0.611784
x_max 0.611784
x_mode 0.6117840605678454
y_mean 0.187885
y_sum 0.187885
y_count 1
y_min 0.187885
y_max 0.187885
y_mode 0.1878849191181694
a zee
b wye
i 8
x 0.5985540091064224
y 0.976181385699006
i_mean 8.000000
i_sum 8
i_count 1
i_min 8
i_max 8
i_mode 8
x_mean 0.598554
x_sum 0.598554
x_count 1
x_min 0.598554
x_max 0.598554
x_mode 0.5985540091064224
y_mean 0.976181
y_sum 0.976181
y_count 1
y_min 0.976181
y_max 0.976181
y_mode 0.976181385699006
a hat
b wye
i 9
x 0.03144187646093577
y 0.7495507603507059
i_mean 9.000000
i_sum 9
i_count 1
i_min 9
i_max 9
i_mode 9
x_mean 0.031442
x_sum 0.031442
x_count 1
x_min 0.031442
x_max 0.031442
x_mode 0.03144187646093577
y_mean 0.749551
y_sum 0.749551
y_count 1
y_min 0.749551
y_max 0.749551
y_mode 0.7495507603507059
a pan
b wye
i 10
x 0.5026260055412137
y 0.9526183602969864
i_mean 10.000000
i_sum 10
i_count 1
i_min 10
i_max 10
i_mode 10
x_mean 0.502626
x_sum 0.502626
x_count 1
x_min 0.502626
x_max 0.502626
x_mode 0.5026260055412137
y_mean 0.952618
y_sum 0.952618
y_count 1
y_min 0.952618
y_max 0.952618
y_mode 0.9526183602969864
mlr --oxtab stats1 -a mean -f x ./reg_test/input/abixy-het
x_mean 0.440334
mlr --oxtab stats1 -a mean -f x -g a ./reg_test/input/abixy-het
a pan
x_mean 0.424708
a eks
x_mean 0.583954
a wye
x_mean
a zee
x_mean 0.562840
mlr --oxtab stats1 -a p0,p50,p100 -f x,y ./reg_test/input/near-ovf.dkvp
x_p0 9223372036854775801
x_p50 9223372036854775804
x_p100 9223372036854775807
y_p0 -9223372036854775807
y_p50 -9223372036854775804
y_p100 -9223372036854775801
mlr --oxtab stats1 -a p0,p50,p100 -f x,y -F ./reg_test/input/near-ovf.dkvp
x_p0 9223372036854775808.000000
x_p50 9223372036854775808.000000
x_p100 9223372036854775808.000000
y_p0 -9223372036854775808.000000
y_p50 -9223372036854775808.000000
y_p100 -9223372036854775808.000000
mlr --opprint stats2 -a linreg-ols,linreg-pca,r2,corr,cov -f x,y,xy,y2 ./reg_test/input/abixy-wide
x_y_ols_m x_y_ols_b x_y_ols_n x_y_pca_m x_y_pca_b x_y_pca_n x_y_pca_quality x_y_r2 x_y_corr x_y_cov xy_y2_ols_m xy_y2_ols_b xy_y2_ols_n xy_y2_pca_m xy_y2_pca_b xy_y2_pca_n xy_y2_pca_quality xy_y2_r2 xy_y2_corr xy_y2_cov
0.028351 0.487644 2000 1.332924 -0.170590 2000 0.056909 0.000791 0.028120 0.002330 0.893610 0.107060 2000 1.529534 -0.055477 2000 0.824336 0.447971 0.669306 0.045036
mlr --opprint stats2 -a linreg-ols,linreg-pca,r2,corr,cov -f x,y,xy,y2 -g a,b ./reg_test/input/abixy-wide
a b x_y_ols_m x_y_ols_b x_y_ols_n x_y_pca_m x_y_pca_b x_y_pca_n x_y_pca_quality x_y_r2 x_y_corr x_y_cov xy_y2_ols_m xy_y2_ols_b xy_y2_ols_n xy_y2_pca_m xy_y2_pca_b xy_y2_pca_n xy_y2_pca_quality xy_y2_r2 xy_y2_corr xy_y2_cov
cat pan 0.054420 0.481777 89 3.636062 -1.221602 89 0.177683 0.002504 0.050036 0.003777 0.950908 0.105754 89 1.715574 -0.081719 89 0.830612 0.435336 0.659800 0.041616
pan wye -0.145486 0.584799 78 -1.340927 1.199920 78 0.254025 0.019479 -0.139568 -0.012683 0.908151 0.126628 78 1.595150 -0.045034 78 0.824114 0.438850 0.662457 0.046203
wye cat 0.185913 0.377639 74 1.135325 -0.145894 74 0.309499 0.033002 0.181665 0.014494 0.969266 0.040602 74 1.406365 -0.081379 74 0.868480 0.561236 0.749157 0.052090
dog hat 0.100096 0.448757 88 0.810749 0.097346 88 0.189256 0.010462 0.102283 0.008036 0.919149 0.090504 88 1.425774 -0.038344 88 0.846209 0.507155 0.712148 0.045034
dog pan -0.066834 0.590647 87 -0.254112 0.688837 87 0.275316 0.005924 -0.076969 -0.005709 0.726118 0.164937 87 1.566309 -0.075073 87 0.749025 0.315011 0.561259 0.034107
pan pan 0.094932 0.461566 77 0.672369 0.189898 77 0.192719 0.009768 0.098832 0.007175 0.822261 0.123441 77 1.312543 0.003200 77 0.820351 0.465390 0.682195 0.039784
hat hat 0.043668 0.405219 88 10.170494 -5.125282 88 0.310513 0.001324 0.036392 0.003037 1.128896 0.015188 88 1.414166 -0.052514 88 0.922308 0.708725 0.841858 0.060975
wye hat 0.043018 0.496029 87 0.254879 0.395780 87 0.177794 0.002197 0.046876 0.004023 0.720402 0.165623 87 1.376136 0.002792 87 0.760716 0.353558 0.594608 0.038763
pan hat 0.120797 0.448197 67 1.597359 -0.325695 67 0.225137 0.013060 0.114278 0.008987 0.962678 0.076920 67 1.285796 -0.012566 67 0.887704 0.622353 0.788893 0.054965
cat hat 0.172391 0.464384 90 0.959329 0.086790 90 0.296109 0.030150 0.173639 0.015030 0.904257 0.133482 90 1.415658 -0.008369 90 0.841567 0.498171 0.705812 0.055626
hat wye -0.022975 0.496361 70 -1.765884 1.344268 70 0.051493 0.000514 -0.022665 -0.002000 0.971929 0.096088 70 1.989422 -0.142072 70 0.825656 0.386354 0.621574 0.040126
dog dog 0.078397 0.489236 87 0.354494 0.351041 87 0.242210 0.007619 0.087288 0.008214 0.776967 0.150999 87 1.354405 -0.006432 87 0.792265 0.408257 0.638950 0.049648
wye dog 0.116403 0.425576 76 2.367821 -0.777734 76 0.254607 0.011048 0.105109 0.007867 0.925781 0.071192 76 1.453590 -0.070509 76 0.845204 0.501559 0.708208 0.046440
wye wye -0.188354 0.613934 67 -1.433772 1.217887 67 0.316070 0.031156 -0.176512 -0.015876 0.876717 0.159179 67 2.044493 -0.118503 67 0.795455 0.325193 0.570257 0.042026
dog wye 0.029527 0.502643 79 0.496713 0.282511 79 0.073039 0.000913 0.030211 0.002391 0.904925 0.120816 79 1.609123 -0.052245 79 0.821822 0.432413 0.657581 0.042857
cat dog 0.057573 0.408644 78 0.728479 0.071114 78 0.116103 0.003442 0.058671 0.005320 0.884325 0.079999 78 1.418207 -0.040344 78 0.832998 0.479596 0.692528 0.044762
hat pan -0.154393 0.564981 85 -0.845852 0.911026 85 0.276955 0.025143 -0.158566 -0.012756 0.911165 0.104362 85 1.763740 -0.092987 85 0.814584 0.397150 0.630199 0.035622
cat wye -0.014851 0.564875 77 -0.572708 0.892322 77 0.034146 0.000224 -0.014982 -0.000966 0.878820 0.086362 77 1.447244 -0.098657 77 0.827119 0.463961 0.681147 0.041096
hat cat -0.022859 0.498539 88 -0.156242 0.565723 88 0.149344 0.000610 -0.024689 -0.002116 0.840965 0.111121 88 1.663518 -0.088942 88 0.793883 0.373515 0.611158 0.036575
dog cat 0.104057 0.428559 83 2.712382 -1.005787 83 0.250036 0.008705 0.093300 0.007122 1.080443 0.023866 83 1.653922 -0.133367 83 0.875586 0.547103 0.739664 0.050357
hat dog 0.041849 0.427228 78 0.403977 0.254919 78 0.118494 0.001918 0.043789 0.003856 0.776135 0.114930 78 1.475403 -0.036508 78 0.779056 0.372058 0.609966 0.040583
pan dog 0.119510 0.467833 73 2.492496 -0.761490 73 0.266455 0.011427 0.106896 0.009302 0.948592 0.107556 73 1.408389 -0.022846 73 0.860243 0.541263 0.735706 0.056609
cat cat 0.016257 0.425410 79 0.432946 0.225535 79 0.044275 0.000273 0.016510 0.001350 0.930954 0.072476 79 1.624993 -0.072669 79 0.830029 0.446764 0.668404 0.036267
pan cat -0.188523 0.616919 89 -0.898665 0.953923 89 0.324264 0.037036 -0.192447 -0.016206 0.781770 0.176617 89 2.020454 -0.113587 89 0.762332 0.278739 0.527958 0.032984
wye pan 0.229443 0.444446 66 1.313689 -0.098124 66 0.365811 0.046722 0.216152 0.020367 0.887659 0.145052 66 1.471906 -0.030176 66 0.827911 0.462545 0.680107 0.064496
mlr --oxtab stats2 -s -a linreg-ols,linreg-pca,r2,corr,cov -f x,y,xy,y2 ./reg_test/input/abixy-wide-short
a cat
b pan
i 1
x 0.5117389009583777
y 0.08295224980036853
x2 0.2618767027540883
xy 0.0424498931448654
y2 0.006881075746942741
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a pan
b wye
i 2
x 0.5225940442098578
y 0.511678736087022
x2 0.27310453504361476
xy 0.2674002600279053
y2 0.26181512896361225
x_y_ols_m 39.495240
x_y_ols_b -20.128298
x_y_ols_n 2
x_y_pca_m 39.495240
x_y_pca_b -20.128298
x_y_pca_n 2
x_y_pca_quality 1.000000
x_y_r2 1.000000
x_y_corr 1.000000
x_y_cov 0.002327
xy_y2_ols_m 1.133290
xy_y2_ols_b -0.041227
xy_y2_ols_n 2
xy_y2_pca_m 1.133290
xy_y2_pca_b -0.041227
xy_y2_pca_n 2
xy_y2_pca_quality 1.000000
xy_y2_r2 1.000000
xy_y2_corr 1.000000
xy_y2_cov 0.028674
a wye
b cat
i 3
x 0.8150401717873625
y 0.07989551500795256
x2 0.6642904816271734
xy 0.06511805427712146
y2 0.006383293318385972
x_y_ols_m -0.689881
x_y_ols_b 0.650125
x_y_ols_n 3
x_y_pca_m -2.057762
x_y_pca_b 1.493365
x_y_pca_n 3
x_y_pca_quality 0.725269
x_y_r2 0.228338
x_y_corr -0.477847
x_y_cov -0.020424
xy_y2_ols_m 1.184397
xy_y2_ols_b -0.056344
xy_y2_ols_n 3
xy_y2_pca_m 1.190469
xy_y2_pca_b -0.057103
xy_y2_pca_n 3
xy_y2_pca_quality 0.997884
xy_y2_r2 0.991315
xy_y2_corr 0.995648
xy_y2_cov 0.018168
a dog
b hat
i 4
x 0.4488733555675044
y 0.5730530513123552
x2 0.20148728933843124
xy 0.25722824606077416
y2 0.32838979961840076
x_y_ols_m -1.054065
x_y_ols_b 0.917520
x_y_ols_n 4
x_y_pca_m -2.068130
x_y_pca_b 1.500163
x_y_pca_n 4
x_y_pca_quality 0.845806
x_y_r2 0.416082
x_y_corr -0.645044
x_y_cov -0.028205
xy_y2_ols_m 1.365739
xy_y2_ols_b -0.064987
xy_y2_ols_n 4
xy_y2_pca_m 1.406929
xy_y2_pca_b -0.071497
xy_y2_pca_n 4
xy_y2_pca_quality 0.989979
xy_y2_r2 0.956155
xy_y2_corr 0.977832
xy_y2_cov 0.019937
a dog
b pan
i 5
x 0.2946557960430134
y 0.6850437256584863
x2 0.08682203814174191
xy 0.20185210430817294
y2 0.46928490606405937
x_y_ols_m -1.176419
x_y_ols_b 0.996592
x_y_ols_n 5
x_y_pca_m -1.681618
x_y_pca_b 1.258579
x_y_pca_n 5
x_y_pca_quality 0.899128
x_y_r2 0.607344
x_y_corr -0.779323
x_y_cov -0.042043
xy_y2_ols_m 1.565652
xy_y2_ols_b -0.046615
xy_y2_ols_n 5
xy_y2_pca_m 2.169036
xy_y2_pca_b -0.147265
xy_y2_pca_n 5
xy_y2_pca_quality 0.936719
xy_y2_r2 0.667168
xy_y2_corr 0.816804
xy_y2_cov 0.017742
a wye
b cat
i 6
x 0.048709182664292916
y 0.5851879044762575
x2 0.0023725844758234536
xy 0.02850402453206882
y2 0.34244488354531344
x_y_ols_m -0.752322
x_y_ols_b 0.750859
x_y_ols_n 6
x_y_pca_m -1.066519
x_y_pca_b 0.889190
x_y_pca_n 6
x_y_pca_quality 0.836548
x_y_r2 0.515958
x_y_corr -0.718302
x_y_cov -0.049192
xy_y2_ols_m 0.917730
xy_y2_ols_b 0.103935
xy_y2_ols_n 6
xy_y2_pca_m 2.512667
xy_y2_pca_b -0.125351
xy_y2_pca_n 6
xy_y2_pca_quality 0.807995
xy_y2_r2 0.286403
xy_y2_corr 0.535166
xy_y2_cov 0.011246
a dog
b hat
i 7
x 0.8500003149528544
y 0.2984098741712895
x2 0.7225005354199517
xy 0.25364848703063775
y2 0.08904845300292483
x_y_ols_m -0.612818
x_y_ols_b 0.707992
x_y_ols_n 7
x_y_pca_m -0.842190
x_y_pca_b 0.822403
x_y_pca_n 7
x_y_pca_quality 0.820362
x_y_r2 0.476303
x_y_corr -0.690147
x_y_cov -0.048089
xy_y2_ols_m 0.592008
xy_y2_ols_b 0.120493
xy_y2_ols_n 7
xy_y2_pca_m 3.299160
xy_y2_pca_b -0.311183
xy_y2_pca_n 7
xy_y2_pca_quality 0.722139
xy_y2_r2 0.126356
xy_y2_corr 0.355466
xy_y2_cov 0.007067
a pan
b pan
i 8
x 0.616507208914765
y 0.25924335982487057
x2 0.38008113864387366
xy 0.15982540019531707
y2 0.06720711961328732
x_y_ols_m -0.627947
x_y_ols_b 0.706893
x_y_ols_n 8
x_y_pca_m -0.857225
x_y_pca_b 0.824631
x_y_pca_n 8
x_y_pca_quality 0.826128
x_y_r2 0.489375
x_y_corr -0.699554
x_y_cov -0.043324
xy_y2_ols_m 0.591342
xy_y2_ols_b 0.102111
xy_y2_ols_n 8
xy_y2_pca_m 3.718931
xy_y2_pca_b -0.396750
xy_y2_pca_n 8
xy_y2_pca_quality 0.737121
xy_y2_r2 0.115022
xy_y2_corr 0.339150
xy_y2_cov 0.006050
a hat
b hat
i 9
x 0.33786884067769307
y 0.6036735617015514
x2 0.11415535350088835
xy 0.203962486439877
y2 0.3644217690974368
x_y_ols_m -0.661274
x_y_ols_b 0.735462
x_y_ols_n 9
x_y_pca_m -0.890432
x_y_pca_b 0.848665
x_y_pca_n 9
x_y_pca_quality 0.838021
x_y_r2 0.516776
x_y_corr -0.718871
x_y_cov -0.042188
xy_y2_ols_m 0.667659
xy_y2_ols_b 0.105305
xy_y2_ols_n 9
xy_y2_pca_m 3.726998
xy_y2_pca_b -0.397782
xy_y2_pca_n 9
xy_y2_pca_quality 0.764687
xy_y2_r2 0.134705
xy_y2_corr 0.367022
xy_y2_cov 0.006124
a wye
b hat
i 10
x 0.3834648944206174
y 0.4999709279216641
x2 0.14704532525301522
xy 0.19172129908885902
y2 0.24997092876684981
x_y_ols_m -0.664725
x_y_ols_b 0.738937
x_y_ols_n 10
x_y_pca_m -0.888643
x_y_pca_b 0.847077
x_y_pca_n 10
x_y_pca_quality 0.841594
x_y_r2 0.524349
x_y_corr -0.724120
x_y_cov -0.038508
xy_y2_ols_m 0.673183
xy_y2_ols_b 0.106048
xy_y2_ols_n 10
xy_y2_pca_m 3.679574
xy_y2_pca_b -0.396534
xy_y2_pca_n 10
xy_y2_pca_quality 0.765015
xy_y2_r2 0.137573
xy_y2_corr 0.370908
xy_y2_cov 0.005539
a pan
b hat
i 11
x 0.025474999754416028
y 0.7861954915044592
x2 0.0006489756124874967
xy 0.020028329952999087
y2 0.6181033508619382
x_y_ols_m -0.702240
x_y_ols_b 0.761330
x_y_ols_n 11
x_y_pca_m -0.861995
x_y_pca_b 0.831839
x_y_pca_n 11
x_y_pca_quality 0.884552
x_y_r2 0.623708
x_y_corr -0.789752
x_y_cov -0.049973
xy_y2_ols_m -0.038359
xy_y2_ols_b 0.260804
xy_y2_ols_n 11
xy_y2_pca_m -82.143959
xy_y2_pca_b 12.888187
xy_y2_pca_n 11
xy_y2_pca_quality 0.759203
xy_y2_r2 0.000355
xy_y2_corr -0.018828
xy_y2_cov -0.000360
a cat
b hat
i 12
x 0.6335445699880142
y 0.15467178563525052
x2 0.4013787221612979
xy 0.0979914699195631
y2 0.02392336127159689
x_y_ols_m -0.740466
x_y_ols_b 0.765334
x_y_ols_n 12
x_y_pca_m -0.911766
x_y_pca_b 0.843681
x_y_pca_n 12
x_y_pca_quality 0.887843
x_y_r2 0.635324
x_y_corr -0.797072
x_y_cov -0.050182
xy_y2_ols_m 0.085108
xy_y2_ols_b 0.222963
xy_y2_ols_n 12
xy_y2_pca_m 41.549828
xy_y2_pca_b -5.961259
xy_y2_pca_n 12
xy_y2_pca_quality 0.780003
xy_y2_r2 0.001597
xy_y2_corr 0.039969
xy_y2_cov 0.000747
a hat
b wye
i 13
x 0.35922068401384877
y 0.8502678133887914
x2 0.1290394998233774
xy 0.30543378552048117
y2 0.7229553544849566
x_y_ols_m -0.782612
x_y_ols_b 0.811286
x_y_ols_n 13
x_y_pca_m -1.047326
x_y_pca_b 0.930360
x_y_pca_n 13
x_y_pca_quality 0.861099
x_y_r2 0.571131
x_y_corr -0.755732
x_y_cov -0.049199
xy_y2_ols_m 0.659118
xy_y2_ols_b 0.166913
xy_y2_ols_n 13
xy_y2_pca_m 6.994463
xy_y2_pca_b -0.854132
xy_y2_pca_n 13
xy_y2_pca_quality 0.838549
xy_y2_r2 0.078760
xy_y2_corr 0.280642
xy_y2_cov 0.006543
a dog
b dog
i 14
x 0.5440047442770544
y 0.933608851612059
x2 0.2959411617959433
xy 0.5078876445760125
y2 0.8716254878083876
x_y_ols_m -0.719761
x_y_ols_b 0.821739
x_y_ols_n 14
x_y_pca_m -1.259269
x_y_pca_b 1.068052
x_y_pca_n 14
x_y_pca_quality 0.775265
x_y_r2 0.388115
x_y_corr -0.622988
x_y_cov -0.042223
xy_y2_ols_m 1.175278
xy_y2_ols_b 0.097368
xy_y2_ols_n 14
xy_y2_pca_m 3.119062
xy_y2_pca_b -0.264044
xy_y2_pca_n 14
xy_y2_pca_quality 0.866432
xy_y2_r2 0.322054
xy_y2_corr 0.567498
xy_y2_cov 0.020862
a wye
b dog
i 15
x 0.4689175303764642
y 0.09048353045392021
x2 0.21988365029436224
xy 0.04242931364019586
y2 0.008187269283405506
x_y_ols_m -0.725720
x_y_ols_b 0.798215
x_y_ols_n 15
x_y_pca_m -1.432456
x_y_pca_b 1.121457
x_y_pca_n 15
x_y_pca_quality 0.758098
x_y_r2 0.343569
x_y_corr -0.586148
x_y_cov -0.039539
xy_y2_ols_m 1.249777
xy_y2_ols_b 0.074959
xy_y2_ols_n 15
xy_y2_pca_m 2.985574
xy_y2_pca_b -0.231176
xy_y2_pca_n 15
xy_y2_pca_quality 0.877117
xy_y2_r2 0.362173
xy_y2_corr 0.601808
xy_y2_cov 0.022316
a pan
b pan
i 16
x 0.3959177828066379
y 0.6339858483805666
x2 0.15675089074252413
xy 0.25100627142161924
y2 0.4019380559468268
x_y_ols_m -0.734975
x_y_ols_b 0.810106
x_y_ols_n 16
x_y_pca_m -1.451312
x_y_pca_b 1.134988
x_y_pca_n 16
x_y_pca_quality 0.761173
x_y_r2 0.346218
x_y_corr -0.588403
x_y_cov -0.037547
xy_y2_ols_m 1.253418
xy_y2_ols_b 0.075130
xy_y2_ols_n 16
xy_y2_pca_m 2.945315
xy_y2_pca_b -0.231155
xy_y2_pca_n 16
xy_y2_pca_quality 0.877563
xy_y2_r2 0.368261
xy_y2_corr 0.606845
xy_y2_cov 0.021325
a dog
b hat
i 17
x 0.34033844788864975
y 0.8845934733681523
x2 0.11583025911125516
xy 0.3010611697385466
y2 0.782505613125532
x_y_ols_m -0.779408
x_y_ols_b 0.849058
x_y_ols_n 17
x_y_pca_m -1.579107
x_y_pca_b 1.206423
x_y_pca_n 17
x_y_pca_quality 0.772982
x_y_r2 0.349689
x_y_corr -0.591345
x_y_cov -0.037916
xy_y2_ols_m 1.392136
xy_y2_ols_b 0.068451
xy_y2_ols_n 17
xy_y2_pca_m 3.095298
xy_y2_pca_b -0.251899
xy_y2_pca_n 17
xy_y2_pca_quality 0.896358
xy_y2_r2 0.398830
xy_y2_corr 0.631530
xy_y2_cov 0.023385
a wye
b wye
i 18
x 0.6770613653962891
y 0.896307226056897
x2 0.4584120925122874
xy 0.6068549942886431
y2 0.8033666434818095
x_y_ols_m -0.628521
x_y_ols_b 0.811643
x_y_ols_n 18
x_y_pca_m -1.834767
x_y_pca_b 1.366109
x_y_pca_n 18
x_y_pca_quality 0.694668
x_y_r2 0.218178
x_y_corr -0.467095
x_y_cov -0.030628
xy_y2_ols_m 1.292066
xy_y2_ols_b 0.083495
xy_y2_ols_n 18
xy_y2_pca_m 2.354328
xy_y2_pca_b -0.141020
xy_y2_pca_n 18
xy_y2_pca_quality 0.888372
xy_y2_r2 0.477918
xy_y2_corr 0.691316
xy_y2_cov 0.033015
a dog
b wye
i 19
x 0.4865373244199632
y 0.44117766146315884
x2 0.23671856805373653
xy 0.2146493990021416
y2 0.1946377289741016
x_y_ols_m -0.630507
x_y_ols_b 0.809155
x_y_ols_n 19
x_y_pca_m -1.839104
x_y_pca_b 1.366411
x_y_pca_n 19
x_y_pca_quality 0.695696
x_y_r2 0.218821
x_y_corr -0.467783
x_y_cov -0.029041
xy_y2_ols_m 1.290872
xy_y2_ols_b 0.075000
xy_y2_ols_n 19
xy_y2_pca_m 2.393419
xy_y2_pca_b -0.158220
xy_y2_pca_n 19
xy_y2_pca_quality 0.887359
xy_y2_r2 0.469361
xy_y2_corr 0.685099
xy_y2_cov 0.031153
a dog
b dog
i 20
x 0.3223311725542929
y 0.08115611029827985
x2 0.10389738480022534
xy 0.026159144192390068
y2 0.006586314238746564
x_y_ols_m -0.548880
x_y_ols_b 0.745846
x_y_ols_n 20
x_y_pca_m -2.251324
x_y_pca_b 1.518994
x_y_pca_n 20
x_y_pca_quality 0.661764
x_y_r2 0.151247
x_y_corr -0.388905
x_y_cov -0.024479
xy_y2_ols_m 1.329401
xy_y2_ols_b 0.062098
xy_y2_ols_n 20
xy_y2_pca_m 2.337844
xy_y2_pca_b -0.141870
xy_y2_pca_n 20
xy_y2_pca_quality 0.894994
xy_y2_r2 0.499340
xy_y2_corr 0.706640
xy_y2_cov 0.032678
mlr --oxtab stats2 -s -a linreg-ols,linreg-pca,r2,corr,cov -f x,y,xy,y2 -g a,b ./reg_test/input/abixy-wide-short
a cat
b pan
i 1
x 0.5117389009583777
y 0.08295224980036853
x2 0.2618767027540883
xy 0.0424498931448654
y2 0.006881075746942741
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a pan
b wye
i 2
x 0.5225940442098578
y 0.511678736087022
x2 0.27310453504361476
xy 0.2674002600279053
y2 0.26181512896361225
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a wye
b cat
i 3
x 0.8150401717873625
y 0.07989551500795256
x2 0.6642904816271734
xy 0.06511805427712146
y2 0.006383293318385972
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a dog
b hat
i 4
x 0.4488733555675044
y 0.5730530513123552
x2 0.20148728933843124
xy 0.25722824606077416
y2 0.32838979961840076
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a dog
b pan
i 5
x 0.2946557960430134
y 0.6850437256584863
x2 0.08682203814174191
xy 0.20185210430817294
y2 0.46928490606405937
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a wye
b cat
i 6
x 0.048709182664292916
y 0.5851879044762575
x2 0.0023725844758234536
xy 0.02850402453206882
y2 0.34244488354531344
x_y_ols_m -0.659366
x_y_ols_b 0.617305
x_y_ols_n 2
x_y_pca_m -0.659366
x_y_pca_b 0.617305
x_y_pca_n 2
x_y_pca_quality 1.000000
x_y_r2 1.000000
x_y_corr -1.000000
x_y_cov -0.193611
xy_y2_ols_m -9.178492
xy_y2_ols_b 0.604069
xy_y2_ols_n 2
xy_y2_pca_m -9.178492
xy_y2_pca_b 0.604069
xy_y2_pca_n 2
xy_y2_pca_quality 1.000000
xy_y2_r2 1.000000
xy_y2_corr -1.000000
xy_y2_cov -0.006152
a dog
b hat
i 7
x 0.8500003149528544
y 0.2984098741712895
x2 0.7225005354199517
xy 0.25364848703063775
y2 0.08904845300292483
x_y_ols_m -0.684679
x_y_ols_b 0.880387
x_y_ols_n 2
x_y_pca_m -0.684679
x_y_pca_b 0.880387
x_y_pca_n 2
x_y_pca_quality 1.000000
x_y_r2 1.000000
x_y_corr -1.000000
x_y_cov -0.055083
xy_y2_ols_m 66.859625
xy_y2_ols_b -16.869794
xy_y2_ols_n 2
xy_y2_pca_m 66.859625
xy_y2_pca_b -16.869794
xy_y2_pca_n 2
xy_y2_pca_quality 1.000000
xy_y2_r2 1.000000
xy_y2_corr 1.000000
xy_y2_cov 0.000428
a pan
b pan
i 8
x 0.616507208914765
y 0.25924335982487057
x2 0.38008113864387366
xy 0.15982540019531707
y2 0.06720711961328732
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a hat
b hat
i 9
x 0.33786884067769307
y 0.6036735617015514
x2 0.11415535350088835
xy 0.203962486439877
y2 0.3644217690974368
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a wye
b hat
i 10
x 0.3834648944206174
y 0.4999709279216641
x2 0.14704532525301522
xy 0.19172129908885902
y2 0.24997092876684981
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a pan
b hat
i 11
x 0.025474999754416028
y 0.7861954915044592
x2 0.0006489756124874967
xy 0.020028329952999087
y2 0.6181033508619382
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a cat
b hat
i 12
x 0.6335445699880142
y 0.15467178563525052
x2 0.4013787221612979
xy 0.0979914699195631
y2 0.02392336127159689
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a hat
b wye
i 13
x 0.35922068401384877
y 0.8502678133887914
x2 0.1290394998233774
xy 0.30543378552048117
y2 0.7229553544849566
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a dog
b dog
i 14
x 0.5440047442770544
y 0.933608851612059
x2 0.2959411617959433
xy 0.5078876445760125
y2 0.8716254878083876
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a wye
b dog
i 15
x 0.4689175303764642
y 0.09048353045392021
x2 0.21988365029436224
xy 0.04242931364019586
y2 0.008187269283405506
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a pan
b pan
i 16
x 0.3959177828066379
y 0.6339858483805666
x2 0.15675089074252413
xy 0.25100627142161924
y2 0.4019380559468268
x_y_ols_m -1.698823
x_y_ols_b 1.306580
x_y_ols_n 2
x_y_pca_m -1.698823
x_y_pca_b 1.306580
x_y_pca_n 2
x_y_pca_quality 1.000000
x_y_r2 1.000000
x_y_corr -1.000000
x_y_cov -0.041332
xy_y2_ols_m 3.671065
xy_y2_ols_b -0.519522
xy_y2_ols_n 2
xy_y2_pca_m 3.671065
xy_y2_pca_b -0.519522
xy_y2_pca_n 2
xy_y2_pca_quality 1.000000
xy_y2_r2 1.000000
xy_y2_corr 1.000000
xy_y2_cov 0.015261
a dog
b hat
i 17
x 0.34033844788864975
y 0.8845934733681523
x2 0.11583025911125516
xy 0.3010611697385466
y2 0.782505613125532
x_y_ols_m -1.023812
x_y_ols_b 1.144767
x_y_ols_n 3
x_y_pca_m -1.098934
x_y_pca_b 1.185814
x_y_pca_n 3
x_y_pca_quality 0.967833
x_y_r2 0.878279
x_y_corr -0.937166
x_y_cov -0.073789
xy_y2_ols_m 12.826246
xy_y2_ols_b -3.071390
xy_y2_ols_n 3
xy_y2_pca_m 13.871436
xy_y2_pca_b -3.354267
xy_y2_pca_n 3
xy_y2_pca_quality 0.999579
xy_y2_r2 0.924260
xy_y2_corr 0.961385
xy_y2_cov 0.008940
a wye
b wye
i 18
x 0.6770613653962891
y 0.896307226056897
x2 0.4584120925122874
xy 0.6068549942886431
y2 0.8033666434818095
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a dog
b wye
i 19
x 0.4865373244199632
y 0.44117766146315884
x2 0.23671856805373653
xy 0.2146493990021416
y2 0.1946377289741016
x_y_ols_m
x_y_ols_b
x_y_ols_n 1
x_y_pca_m
x_y_pca_b
x_y_pca_n
x_y_pca_quality
x_y_r2
x_y_corr
x_y_cov
xy_y2_ols_m
xy_y2_ols_b
xy_y2_ols_n 1
xy_y2_pca_m
xy_y2_pca_b
xy_y2_pca_n
xy_y2_pca_quality
xy_y2_r2
xy_y2_corr
xy_y2_cov
a dog
b dog
i 20
x 0.3223311725542929
y 0.08115611029827985
x2 0.10389738480022534
xy 0.026159144192390068
y2 0.006586314238746564
x_y_ols_m 3.845532
x_y_ols_b -1.158379
x_y_ols_n 2
x_y_pca_m 3.845532
x_y_pca_b -1.158379
x_y_pca_n 2
x_y_pca_quality 1.000000
x_y_r2 1.000000
x_y_corr 1.000000
x_y_cov 0.094483
xy_y2_ols_m 1.795699
xy_y2_ols_b -0.040388
xy_y2_ols_n 2
xy_y2_pca_m 1.795699
xy_y2_pca_b -0.040388
xy_y2_pca_n 2
xy_y2_pca_quality 1.000000
xy_y2_r2 1.000000
xy_y2_corr 1.000000
xy_y2_cov 0.208357
mlr --opprint stats2 --fit -a linreg-ols,linreg-pca -f x,y,xy,y2 ./reg_test/input/abixy-wide-short
a b i x y x2 xy y2 x_y_ols_fit x_y_pca_fit xy_y2_ols_fit xy_y2_pca_fit
cat pan 1 0.5117389009583777 0.08295224980036853 0.2618767027540883 0.0424498931448654 0.006881075746942741 0.464963 0.366904 0.118531 -0.042629
pan wye 2 0.5225940442098578 0.511678736087022 0.27310453504361476 0.2674002600279053 0.26181512896361225 0.459005 0.342466 0.417581 0.483270
wye cat 3 0.8150401717873625 0.07989551500795256 0.6642904816271734 0.06511805427712146 0.006383293318385972 0.298487 -0.315925 0.148666 0.010366
dog hat 4 0.4488733555675044 0.5730530513123552 0.20148728933843124 0.25722824606077416 0.32838979961840076 0.499469 0.508435 0.404058 0.459490
dog pan 5 0.2946557960430134 0.6850437256584863 0.08682203814174191 0.20185210430817294 0.46928490606405937 0.584116 0.855629 0.330441 0.330029
wye cat 6 0.048709182664292916 0.5851879044762575 0.0023725844758234536 0.02850402453206882 0.34244488354531344 0.719111 1.409334 0.099992 -0.075232
dog hat 7 0.8500003149528544 0.2984098741712895 0.7225005354199517 0.25364848703063775 0.08904845300292483 0.279298 -0.394632 0.399299 0.451121
pan pan 8 0.616507208914765 0.25924335982487057 0.38008113864387366 0.15982540019531707 0.06720711961328732 0.407458 0.131037 0.274570 0.231777
hat hat 9 0.33786884067769307 0.6036735617015514 0.11415535350088835 0.203962486439877 0.3644217690974368 0.560397 0.758342 0.333246 0.334963
wye hat 10 0.3834648944206174 0.4999709279216641 0.14704532525301522 0.19172129908885902 0.24997092876684981 0.535370 0.655691 0.316973 0.306345
pan hat 11 0.025474999754416028 0.7861954915044592 0.0006489756124874967 0.020028329952999087 0.6181033508619382 0.731863 1.461642 0.088724 -0.095047
cat hat 12 0.6335445699880142 0.15467178563525052 0.4013787221612979 0.0979914699195631 0.02392336127159689 0.398106 0.092680 0.192368 0.087219
hat wye 13 0.35922068401384877 0.8502678133887914 0.1290394998233774 0.30543378552048117 0.7229553544849566 0.548677 0.710272 0.468142 0.572187
dog dog 14 0.5440047442770544 0.933608851612059 0.2959411617959433 0.5078876445760125 0.8716254878083876 0.447253 0.294263 0.737285 1.045492
wye dog 15 0.4689175303764642 0.09048353045392021 0.21988365029436224 0.04242931364019586 0.008187269283405506 0.488467 0.463309 0.118504 -0.042677
pan pan 16 0.3959177828066379 0.6339858483805666 0.15675089074252413 0.25100627142161924 0.4019380559468268 0.528535 0.627655 0.395786 0.444944
dog hat 17 0.34033844788864975 0.8845934733681523 0.11583025911125516 0.3010611697385466 0.782505613125532 0.559041 0.752782 0.462329 0.561964
wye wye 18 0.6770613653962891 0.896307226056897 0.4584120925122874 0.6068549942886431 0.8033666434818095 0.374221 -0.005290 0.868852 1.276863
dog wye 19 0.4865373244199632 0.44117766146315884 0.23671856805373653 0.2146493990021416 0.1946377289741016 0.478796 0.423641 0.347454 0.359947
dog dog 20 0.3223311725542929 0.08115611029827985 0.10389738480022534 0.026159144192390068 0.006586314238746564 0.568925 0.793322 0.096874 -0.080714
mlr --opprint stats2 --fit -a linreg-ols,linreg-pca -f x,y,xy,y2 -g a ./reg_test/input/abixy-wide-short
a b i x y x2 xy y2 x_y_ols_fit x_y_pca_fit xy_y2_ols_fit xy_y2_pca_fit
cat pan 1 0.5117389009583777 0.08295224980036853 0.2618767027540883 0.0424498931448654 0.006881075746942741 0.082952 0.082952 0.006881 0.006881
cat hat 12 0.6335445699880142 0.15467178563525052 0.4013787221612979 0.0979914699195631 0.02392336127159689 0.154672 0.154672 0.023923 0.023923
pan wye 2 0.5225940442098578 0.511678736087022 0.27310453504361476 0.2674002600279053 0.26181512896361225 0.445016 0.435835 0.237402 0.033364
pan pan 8 0.616507208914765 0.25924335982487057 0.38008113864387366 0.15982540019531707 0.06720711961328732 0.372165 0.356477 0.353122 0.385517
pan hat 11 0.025474999754416028 0.7861954915044592 0.0006489756124874967 0.020028329952999087 0.6181033508619382 0.830642 0.855912 0.503503 0.843152
pan pan 16 0.3959177828066379 0.6339858483805666 0.15675089074252413 0.25100627142161924 0.4019380559468268 0.543281 0.542880 0.255037 0.087031
wye cat 3 0.8150401717873625 0.07989551500795256 0.6642904816271734 0.06511805427712146 0.006383293318385972 0.337827 -0.227660 0.137066 0.112494
wye cat 6 0.048709182664292916 0.5851879044762575 0.0023725844758234536 0.02850402453206882 0.34244488354531344 0.548640 1.271347 0.093480 0.061521
wye hat 10 0.3834648944206174 0.4999709279216641 0.14704532525301522 0.19172129908885902 0.24997092876684981 0.456551 0.616537 0.287780 0.288747
wye dog 15 0.4689175303764642 0.09048353045392021 0.21988365029436224 0.04242931364019586 0.008187269283405506 0.433043 0.449384 0.110057 0.080907
wye wye 18 0.6770613653962891 0.896307226056897 0.4584120925122874 0.6068549942886431 0.8033666434818095 0.375784 0.042238 0.781971 0.866684
dog hat 4 0.4488733555675044 0.5730530513123552 0.20148728933843124 0.25722824606077416 0.32838979961840076 0.563043 0.668750 0.401991 0.406622
dog pan 5 0.2946557960430134 0.6850437256584863 0.08682203814174191 0.20185210430817294 0.46928490606405937 0.610235 1.504956 0.297579 0.255112
dog hat 7 0.8500003149528544 0.2984098741712895 0.7225005354199517 0.25364848703063775 0.08904845300292483 0.440294 -1.506261 0.395241 0.396827
dog dog 14 0.5440047442770544 0.933608851612059 0.2959411617959433 0.5078876445760125 0.8716254878083876 0.533932 0.152924 0.874610 1.092430
dog hat 17 0.34033844788864975 0.8845934733681523 0.11583025911125516 0.3010611697385466 0.782505613125532 0.596256 1.257254 0.484638 0.526549
dog wye 19 0.4865373244199632 0.44117766146315884 0.23671856805373653 0.2146493990021416 0.1946377289741016 0.551517 0.464527 0.321709 0.290125
dog dog 20 0.3223311725542929 0.08115611029827985 0.10389738480022534 0.026159144192390068 0.006586314238746564 0.601766 1.354893 -0.033690 -0.225587
hat hat 9 0.33786884067769307 0.6036735617015514 0.11415535350088835 0.203962486439877 0.3644217690974368 0.603674 0.603674 0.364422 0.364422
hat wye 13 0.35922068401384877 0.8502678133887914 0.1290394998233774 0.30543378552048117 0.7229553544849566 0.850268 0.850268 0.722955 0.722955
mlr --opprint stats2 -a logireg -f x,y ./reg_test/input/logi.dkvp
x_y_logistic_m x_y_logistic_b x_y_logistic_n
0.145457 0.145449 22
mlr --opprint stats2 -a logireg -f x,y -g g ./reg_test/input/logi.dkvp
g x_y_logistic_m x_y_logistic_b x_y_logistic_n
red 0.145458 -0.036371 11
blue 0.145457 0.327269 11
mlr --oxtab stats2 -a cov -f x,y ./reg_test/input/abixy-het
x_y_cov -0.011481
mlr --oxtab stats2 -a cov -f x,y -g a ./reg_test/input/abixy-het
a pan
x_y_cov 0.017595
a eks
x_y_cov 0.034641
a wye
a zee
x_y_cov
mlr --opprint step -a rsum,shift,delta,counter -f x,y ./reg_test/input/abixy
a b i x y x_rsum x_shift x_delta x_counter y_rsum y_shift y_delta y_counter
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790 - 0 1 0.726803 - 0 1
eks pan 2 0.7586799647899636 0.5221511083334797 1.105470 0.3467901443380824 0.411890 2 1.248954 0.7268028627434533 -0.204652 2
wye wye 3 0.20460330576630303 0.33831852551664776 1.310073 0.7586799647899636 -0.554077 3 1.587272 0.5221511083334797 -0.183833 3
eks wye 4 0.38139939387114097 0.13418874328430463 1.691473 0.20460330576630303 0.176796 4 1.721461 0.33831852551664776 -0.204130 4
wye pan 5 0.5732889198020006 0.8636244699032729 2.264762 0.38139939387114097 0.191890 5 2.585086 0.13418874328430463 0.729436 5
zee pan 6 0.5271261600918548 0.49322128674835697 2.791888 0.5732889198020006 -0.046163 6 3.078307 0.8636244699032729 -0.370403 6
eks zee 7 0.6117840605678454 0.1878849191181694 3.403672 0.5271261600918548 0.084658 7 3.266192 0.49322128674835697 -0.305336 7
zee wye 8 0.5985540091064224 0.976181385699006 4.002226 0.6117840605678454 -0.013230 8 4.242373 0.1878849191181694 0.788296 8
hat wye 9 0.03144187646093577 0.7495507603507059 4.033668 0.5985540091064224 -0.567112 9 4.991924 0.976181385699006 -0.226631 9
pan wye 10 0.5026260055412137 0.9526183602969864 4.536294 0.03144187646093577 0.471184 10 5.944542 0.7495507603507059 0.203068 10
mlr --opprint step -a rsum,shift,delta,counter -f x,y -g a ./reg_test/input/abixy
a b i x y x_rsum x_shift x_delta x_counter y_rsum y_shift y_delta y_counter
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790 - 0 1 0.726803 - 0 1
eks pan 2 0.7586799647899636 0.5221511083334797 0.758680 - 0 1 0.522151 - 0 1
wye wye 3 0.20460330576630303 0.33831852551664776 0.204603 - 0 1 0.338319 - 0 1
eks wye 4 0.38139939387114097 0.13418874328430463 1.140079 0.7586799647899636 -0.377281 2 0.656340 0.5221511083334797 -0.387962 2
wye pan 5 0.5732889198020006 0.8636244699032729 0.777892 0.20460330576630303 0.368686 2 1.201943 0.33831852551664776 0.525306 2
zee pan 6 0.5271261600918548 0.49322128674835697 0.527126 - 0 1 0.493221 - 0 1
eks zee 7 0.6117840605678454 0.1878849191181694 1.751863 0.38139939387114097 0.230385 3 0.844225 0.13418874328430463 0.053696 3
zee wye 8 0.5985540091064224 0.976181385699006 1.125680 0.5271261600918548 0.071428 2 1.469403 0.49322128674835697 0.482960 2
hat wye 9 0.03144187646093577 0.7495507603507059 0.031442 - 0 1 0.749551 - 0 1
pan wye 10 0.5026260055412137 0.9526183602969864 0.849416 0.3467901443380824 0.155836 2 1.679421 0.7268028627434533 0.225815 2
mlr --opprint step -a ewma -d 0.1,0.9 -f x,y -g a ./reg_test/input/abixy
a b i x y x_ewma_0.1 x_ewma_0.9 y_ewma_0.1 y_ewma_0.9
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790 0.346790 0.726803 0.726803
eks pan 2 0.7586799647899636 0.5221511083334797 0.758680 0.758680 0.522151 0.522151
wye wye 3 0.20460330576630303 0.33831852551664776 0.204603 0.204603 0.338319 0.338319
eks wye 4 0.38139939387114097 0.13418874328430463 0.720952 0.419127 0.483355 0.172985
wye pan 5 0.5732889198020006 0.8636244699032729 0.241472 0.536420 0.390849 0.811094
zee pan 6 0.5271261600918548 0.49322128674835697 0.527126 0.527126 0.493221 0.493221
eks zee 7 0.6117840605678454 0.1878849191181694 0.710035 0.592518 0.453808 0.186395
zee wye 8 0.5985540091064224 0.976181385699006 0.534269 0.591411 0.541517 0.927885
hat wye 9 0.03144187646093577 0.7495507603507059 0.031442 0.031442 0.749551 0.749551
pan wye 10 0.5026260055412137 0.9526183602969864 0.362374 0.487042 0.749384 0.930037
mlr --opprint step -a ewma -d 0.1,0.9 -o smooth,rough -f x,y -g a ./reg_test/input/abixy
a b i x y x_ewma_smooth x_ewma_rough y_ewma_smooth y_ewma_rough
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790 0.346790 0.726803 0.726803
eks pan 2 0.7586799647899636 0.5221511083334797 0.758680 0.758680 0.522151 0.522151
wye wye 3 0.20460330576630303 0.33831852551664776 0.204603 0.204603 0.338319 0.338319
eks wye 4 0.38139939387114097 0.13418874328430463 0.720952 0.419127 0.483355 0.172985
wye pan 5 0.5732889198020006 0.8636244699032729 0.241472 0.536420 0.390849 0.811094
zee pan 6 0.5271261600918548 0.49322128674835697 0.527126 0.527126 0.493221 0.493221
eks zee 7 0.6117840605678454 0.1878849191181694 0.710035 0.592518 0.453808 0.186395
zee wye 8 0.5985540091064224 0.976181385699006 0.534269 0.591411 0.541517 0.927885
hat wye 9 0.03144187646093577 0.7495507603507059 0.031442 0.031442 0.749551 0.749551
pan wye 10 0.5026260055412137 0.9526183602969864 0.362374 0.487042 0.749384 0.930037
mlr --odkvp step -a rsum,shift,delta,counter -f x,y ./reg_test/input/abixy-het
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,x_rsum=0.346790,x_shift=,x_delta=0,x_counter=1,y_rsum=0.726803,y_shift=,y_delta=0,y_counter=1
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,x_rsum=1.105470,x_shift=0.3467901443380824,x_delta=0.411890,x_counter=2,y_rsum=1.248954,y_shift=0.7268028627434533,y_delta=-0.204652,y_counter=2
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,x_rsum=1.310073,x_shift=0.7586799647899636,x_delta=-0.554077,x_counter=3,y_rsum=1.587272,y_shift=0.5221511083334797,y_delta=-0.183833,y_counter=3
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,x_rsum=1.691473,x_shift=0.20460330576630303,x_delta=0.176796,x_counter=4,y_rsum=1.721461,y_shift=0.33831852551664776,y_delta=-0.204130,y_counter=4
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729,y_rsum=2.585086,y_shift=0.13418874328430463,y_delta=0.729436,y_counter=5
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,x_rsum=2.218599,x_shift=0.38139939387114097,x_delta=0.145727,x_counter=5,y_rsum=3.078307,y_shift=0.8636244699032729,y_delta=-0.370403,y_counter=6
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694,x_rsum=2.830383,x_shift=0.5271261600918548,x_delta=0.084658,x_counter=6,y_rsum=3.266192,y_shift=0.49322128674835697,y_delta=-0.305336,y_counter=7
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006,x_rsum=3.428937,x_shift=0.6117840605678454,x_delta=-0.013230,x_counter=7
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,x_rsum=3.460379,x_shift=0.5985540091064224,x_delta=-0.567112,x_counter=8,y_rsum=4.015743,y_shift=0.1878849191181694,y_delta=0.561666,y_counter=8
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,x_rsum=3.963005,x_shift=0.03144187646093577,x_delta=0.471184,x_counter=9,y_rsum=4.968361,y_shift=0.7495507603507059,y_delta=0.203068,y_counter=9
mlr --odkvp step -a rsum,shift,delta,counter -f x,y -g a ./reg_test/input/abixy-het
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,x_rsum=0.346790,x_shift=,x_delta=0,x_counter=1,y_rsum=0.726803,y_shift=,y_delta=0,y_counter=1
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,x_rsum=0.758680,x_shift=,x_delta=0,x_counter=1,y_rsum=0.522151,y_shift=,y_delta=0,y_counter=1
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,x_rsum=1.140079,x_shift=0.7586799647899636,x_delta=-0.377281,x_counter=2,y_rsum=0.656340,y_shift=0.5221511083334797,y_delta=-0.387962,y_counter=2
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729,y_rsum=0.863624,y_shift=,y_delta=0,y_counter=1
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,x_rsum=0.527126,x_shift=,x_delta=0,x_counter=1,y_rsum=0.493221,y_shift=,y_delta=0,y_counter=1
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694,x_rsum=1.751863,x_shift=0.38139939387114097,x_delta=0.230385,x_counter=3,y_rsum=0.844225,y_shift=0.13418874328430463,y_delta=0.053696,y_counter=3
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006,x_rsum=1.125680,x_shift=0.5271261600918548,x_delta=0.071428,x_counter=2
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,x_rsum=0.849416,x_shift=0.3467901443380824,x_delta=0.155836,x_counter=2,y_rsum=1.679421,y_shift=0.7268028627434533,y_delta=0.225815,y_counter=2
mlr --opprint step -a ewma -d 0.1,0.9 -f x,y -g a ./reg_test/input/abixy-het
a b i x y x_ewma_0.1 x_ewma_0.9 y_ewma_0.1 y_ewma_0.9
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790 0.346790 0.726803 0.726803
eks pan 2 0.7586799647899636 0.5221511083334797 0.758680 0.758680 0.522151 0.522151
aaa b i x y
wye wye 3 0.20460330576630303 0.33831852551664776
a bbb i x y x_ewma_0.1 x_ewma_0.9 y_ewma_0.1 y_ewma_0.9
eks wye 4 0.38139939387114097 0.13418874328430463 0.720952 0.419127 0.483355 0.172985
a b i xxx y y_ewma_0.1 y_ewma_0.9
wye pan 5 0.5732889198020006 0.8636244699032729 0.863624 0.863624
a b i x y x_ewma_0.1 x_ewma_0.9 y_ewma_0.1 y_ewma_0.9
zee pan 6 0.5271261600918548 0.49322128674835697 0.527126 0.527126 0.493221 0.493221
a b iii x y x_ewma_0.1 x_ewma_0.9 y_ewma_0.1 y_ewma_0.9
eks zee 7 0.6117840605678454 0.1878849191181694 0.710035 0.592518 0.453808 0.186395
a b i x yyy x_ewma_0.1 x_ewma_0.9
zee wye 8 0.5985540091064224 0.976181385699006 0.534269 0.591411
aaa bbb i x y
hat wye 9 0.03144187646093577 0.7495507603507059
a b i x y x_ewma_0.1 x_ewma_0.9 y_ewma_0.1 y_ewma_0.9
pan wye 10 0.5026260055412137 0.9526183602969864 0.362374 0.487042 0.749384 0.930037
mlr --opprint step -a ewma -d 0.1,0.9 -o smooth,rough -f x,y -g a ./reg_test/input/abixy-het
a b i x y x_ewma_smooth x_ewma_rough y_ewma_smooth y_ewma_rough
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790 0.346790 0.726803 0.726803
eks pan 2 0.7586799647899636 0.5221511083334797 0.758680 0.758680 0.522151 0.522151
aaa b i x y
wye wye 3 0.20460330576630303 0.33831852551664776
a bbb i x y x_ewma_smooth x_ewma_rough y_ewma_smooth y_ewma_rough
eks wye 4 0.38139939387114097 0.13418874328430463 0.720952 0.419127 0.483355 0.172985
a b i xxx y y_ewma_smooth y_ewma_rough
wye pan 5 0.5732889198020006 0.8636244699032729 0.863624 0.863624
a b i x y x_ewma_smooth x_ewma_rough y_ewma_smooth y_ewma_rough
zee pan 6 0.5271261600918548 0.49322128674835697 0.527126 0.527126 0.493221 0.493221
a b iii x y x_ewma_smooth x_ewma_rough y_ewma_smooth y_ewma_rough
eks zee 7 0.6117840605678454 0.1878849191181694 0.710035 0.592518 0.453808 0.186395
a b i x yyy x_ewma_smooth x_ewma_rough
zee wye 8 0.5985540091064224 0.976181385699006 0.534269 0.591411
aaa bbb i x y
hat wye 9 0.03144187646093577 0.7495507603507059
a b i x y x_ewma_smooth x_ewma_rough y_ewma_smooth y_ewma_rough
pan wye 10 0.5026260055412137 0.9526183602969864 0.362374 0.487042 0.749384 0.930037
mlr --icsvlite --opprint step -a from-first -f x ./reg_test/input/from-first.csv
x g x_from_first
100 red 0
203 red 103
101 green 1
307 red 207
209 green 109
314 green 214
mlr --icsvlite --opprint step -a from-first -f x -g g ./reg_test/input/from-first.csv
x g x_from_first
100 red 0
203 red 103
101 green 0
307 red 207
209 green 108
314 green 213
mlr --opprint histogram -f x,y --lo 0 --hi 1 --nbins 20 ./reg_test/input/small
bin_lo bin_hi x_count y_count
0.000000 0.050000 1 0
0.050000 0.100000 0 0
0.100000 0.150000 0 1
0.150000 0.200000 0 1
0.200000 0.250000 1 0
0.250000 0.300000 0 0
0.300000 0.350000 1 1
0.350000 0.400000 1 0
0.400000 0.450000 0 0
0.450000 0.500000 0 1
0.500000 0.550000 2 1
0.550000 0.600000 2 0
0.600000 0.650000 1 0
0.650000 0.700000 0 0
0.700000 0.750000 0 2
0.750000 0.800000 1 0
0.800000 0.850000 0 0
0.850000 0.900000 0 1
0.900000 0.950000 0 0
0.950000 1.000000 0 2
mlr --opprint histogram --nbins 9 --auto -f x,y ./reg_test/input/ints.dkvp
bin_lo bin_hi x_count y_count
0.000000 1.000000 8 1
1.000000 2.000000 2 2
2.000000 3.000000 5 5
3.000000 4.000000 4 1
4.000000 5.000000 3 2
5.000000 6.000000 1 4
6.000000 7.000000 3 4
7.000000 8.000000 2 4
8.000000 9.000000 2 7
mlr --csvlite --opprint merge-fields -a p0,min,p29,max,p100,sum -c _in,_out ./reg_test/input/merge-fields-in-out.csv
a_p0 a_min a_p29 a_max a_p100 a_sum b_p0 b_min b_p29 b_max b_p100 b_sum
436 436 436 490 490 926 195 195 195 446 446 641
320 320 320 526 526 846 780 780 780 963 963 1743
220 220 220 888 888 1108 705 705 705 831 831 1536
mlr --csvlite --opprint merge-fields -k -a p0,min,p29,max,p100,sum -c _in,_out ./reg_test/input/merge-fields-in-out.csv
a_in a_out b_in b_out a_p0 a_min a_p29 a_max a_p100 a_sum b_p0 b_min b_p29 b_max b_p100 b_sum
436 490 446 195 436 436 436 490 490 926 195 195 195 446 446 641
526 320 963 780 320 320 320 526 526 846 780 780 780 963 963 1743
220 888 705 831 220 220 220 888 888 1108 705 705 705 831 831 1536
mlr --csvlite --opprint merge-fields -i -a p0,min,p29,max,p100,sum -c _in,_out ./reg_test/input/merge-fields-in-out.csv
a_p0 a_min a_p29 a_max a_p100 a_sum b_p0 b_min b_p29 b_max b_p100 b_sum
436.000000 436 451.660000 490 490 926 195.000000 195 267.790000 446 446 641
320.000000 320 379.740000 526 526 846 780.000000 780 833.070000 963 963 1743
220.000000 220 413.720000 888 888 1108 705.000000 705 741.540000 831 831 1536
mlr --csvlite --opprint merge-fields -i -k -a p0,min,p29,max,p100,sum -c _in,_out ./reg_test/input/merge-fields-in-out.csv
a_in a_out b_in b_out a_p0 a_min a_p29 a_max a_p100 a_sum b_p0 b_min b_p29 b_max b_p100 b_sum
436 490 446 195 436.000000 436 451.660000 490 490 926 195.000000 195 267.790000 446 446 641
526 320 963 780 320.000000 320 379.740000 526 526 846 780.000000 780 833.070000 963 963 1743
220 888 705 831 220.000000 220 413.720000 888 888 1108 705.000000 705 741.540000 831 831 1536
mlr --oxtab merge-fields -k -a p0,min,p29,max,p100,sum,count -f a_in_x,a_out_x -o foo ./reg_test/input/merge-fields-abxy.dkvp
a_in_x 1
a_out_x 2
b_in_y 4
b_out_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 2
foo_p100 2
foo_sum 3
foo_count 2
z 1
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_out_x 2
b_in_y 4
b_out_x 8
foo_p0 2
foo_min 2
foo_p29 2
foo_max 2
foo_p100 2
foo_sum 2
foo_count 1
a_in_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 1
foo_p100 1
foo_sum 1
foo_count 1
a_in_x 1
a_out_x 2
b_on_y 4
b_out_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 2
foo_p100 2
foo_sum 3
foo_count 2
a_in_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 2
foo_p100 2
foo_sum 3
foo_count 2
z 2
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_out_x 2
b_on_y 4
b_out_x 8
foo_p0 2
foo_min 2
foo_p29 2
foo_max 2
foo_p100 2
foo_sum 2
foo_count 1
a_on_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
foo_p0 2
foo_min 2
foo_p29 2
foo_max 2
foo_p100 2
foo_sum 2
foo_count 1
a_in_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 1
foo_p100 1
foo_sum 1
foo_count 1
a_in_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 1
foo_p100 1
foo_sum 1
foo_count 1
a_in_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 2
foo_p100 2
foo_sum 3
foo_count 2
z 3
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_in_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 1
foo_p100 1
foo_sum 1
foo_count 1
a_on_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
foo_p0 2
foo_min 2
foo_p29 2
foo_max 2
foo_p100 2
foo_sum 2
foo_count 1
a_on_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
z 4
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
mlr --oxtab merge-fields -k -a p0,min,p29,max,p100,sum,count -r in_,out_ -o bar ./reg_test/input/merge-fields-abxy.dkvp
a_in_x 1
a_out_x 2
b_in_y 4
b_out_x 8
bar_p0 1
bar_min 1
bar_p29 2
bar_max 8
bar_p100 8
bar_sum 15
bar_count 4
z 1
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
a_on_x 1
a_out_x 2
b_in_y 4
b_out_x 8
bar_p0 2
bar_min 2
bar_p29 2
bar_max 8
bar_p100 8
bar_sum 14
bar_count 3
a_in_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
bar_p0 1
bar_min 1
bar_p29 1
bar_max 8
bar_p100 8
bar_sum 13
bar_count 3
a_in_x 1
a_out_x 2
b_on_y 4
b_out_x 8
bar_p0 1
bar_min 1
bar_p29 1
bar_max 8
bar_p100 8
bar_sum 11
bar_count 3
a_in_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
bar_p0 1
bar_min 1
bar_p29 1
bar_max 4
bar_p100 4
bar_sum 7
bar_count 3
z 2
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
a_on_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
bar_p0 4
bar_min 4
bar_p29 4
bar_max 8
bar_p100 8
bar_sum 12
bar_count 2
a_on_x 1
a_out_x 2
b_on_y 4
b_out_x 8
bar_p0 2
bar_min 2
bar_p29 2
bar_max 8
bar_p100 8
bar_sum 10
bar_count 2
a_on_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
bar_p0 2
bar_min 2
bar_p29 2
bar_max 4
bar_p100 4
bar_sum 6
bar_count 2
a_in_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
bar_p0 1
bar_min 1
bar_p29 1
bar_max 8
bar_p100 8
bar_sum 9
bar_count 2
a_in_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
bar_p0 1
bar_min 1
bar_p29 1
bar_max 4
bar_p100 4
bar_sum 5
bar_count 2
a_in_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
bar_p0 1
bar_min 1
bar_p29 1
bar_max 2
bar_p100 2
bar_sum 3
bar_count 2
z 3
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
a_in_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
bar_p0 1
bar_min 1
bar_p29 1
bar_max 1
bar_p100 1
bar_sum 1
bar_count 1
a_on_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
bar_p0 2
bar_min 2
bar_p29 2
bar_max 2
bar_p100 2
bar_sum 2
bar_count 1
a_on_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
bar_p0 4
bar_min 4
bar_p29 4
bar_max 4
bar_p100 4
bar_sum 4
bar_count 1
a_on_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
bar_p0 8
bar_min 8
bar_p29 8
bar_max 8
bar_p100 8
bar_sum 8
bar_count 1
z 4
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
a_on_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
mlr --oxtab merge-fields -k -a p0,min,p29,max,p100,sum,count -c in_,out_ ./reg_test/input/merge-fields-abxy.dkvp
a_in_x 1
a_out_x 2
b_in_y 4
b_out_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 2
a_x_p100 2
a_x_sum 3
a_x_count 2
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
z 1
a_on_x 1
a_out_x 2
b_in_y 4
b_out_x 8
a_x_p0 2
a_x_min 2
a_x_p29 2
a_x_max 2
a_x_p100 2
a_x_sum 2
a_x_count 1
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_in_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 1
a_x_p100 1
a_x_sum 1
a_x_count 1
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_in_x 1
a_out_x 2
b_on_y 4
b_out_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 2
a_x_p100 2
a_x_sum 3
a_x_count 2
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_in_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 2
a_x_p100 2
a_x_sum 3
a_x_count 2
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
z 2
a_on_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_on_x 1
a_out_x 2
b_on_y 4
b_out_x 8
a_x_p0 2
a_x_min 2
a_x_p29 2
a_x_max 2
a_x_p100 2
a_x_sum 2
a_x_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_on_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
a_x_p0 2
a_x_min 2
a_x_p29 2
a_x_max 2
a_x_p100 2
a_x_sum 2
a_x_count 1
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
a_in_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 1
a_x_p100 1
a_x_sum 1
a_x_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_in_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 1
a_x_p100 1
a_x_sum 1
a_x_count 1
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
a_in_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 2
a_x_p100 2
a_x_sum 3
a_x_count 2
z 3
a_in_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 1
a_x_p100 1
a_x_sum 1
a_x_count 1
a_on_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
a_x_p0 2
a_x_min 2
a_x_p29 2
a_x_max 2
a_x_p100 2
a_x_sum 2
a_x_count 1
a_on_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
a_on_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
z 4
a_on_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
mlr --oxtab merge-fields -i -k -a p0,min,p29,max,p100,sum,count -f a_in_x,a_out_x -o foo ./reg_test/input/merge-fields-abxy.dkvp
a_in_x 1
a_out_x 2
b_in_y 4
b_out_x 8
foo_p0 1.000000
foo_min 1
foo_p29 1.290000
foo_max 2
foo_p100 2
foo_sum 3
foo_count 2
z 1
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_out_x 2
b_in_y 4
b_out_x 8
foo_p0 2
foo_min 2
foo_p29 2
foo_max 2
foo_p100 2
foo_sum 2
foo_count 1
a_in_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 1
foo_p100 1
foo_sum 1
foo_count 1
a_in_x 1
a_out_x 2
b_on_y 4
b_out_x 8
foo_p0 1.000000
foo_min 1
foo_p29 1.290000
foo_max 2
foo_p100 2
foo_sum 3
foo_count 2
a_in_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
foo_p0 1.000000
foo_min 1
foo_p29 1.290000
foo_max 2
foo_p100 2
foo_sum 3
foo_count 2
z 2
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_out_x 2
b_on_y 4
b_out_x 8
foo_p0 2
foo_min 2
foo_p29 2
foo_max 2
foo_p100 2
foo_sum 2
foo_count 1
a_on_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
foo_p0 2
foo_min 2
foo_p29 2
foo_max 2
foo_p100 2
foo_sum 2
foo_count 1
a_in_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 1
foo_p100 1
foo_sum 1
foo_count 1
a_in_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 1
foo_p100 1
foo_sum 1
foo_count 1
a_in_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
foo_p0 1.000000
foo_min 1
foo_p29 1.290000
foo_max 2
foo_p100 2
foo_sum 3
foo_count 2
z 3
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_in_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
foo_p0 1
foo_min 1
foo_p29 1
foo_max 1
foo_p100 1
foo_sum 1
foo_count 1
a_on_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
foo_p0 2
foo_min 2
foo_p29 2
foo_max 2
foo_p100 2
foo_sum 2
foo_count 1
a_on_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
z 4
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
a_on_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
foo_p0
foo_min
foo_p29
foo_max
foo_p100
foo_sum 0
foo_count 0
mlr --oxtab merge-fields -i -k -a p0,min,p29,max,p100,sum,count -r in_,out_ -o bar ./reg_test/input/merge-fields-abxy.dkvp
a_in_x 1
a_out_x 2
b_in_y 4
b_out_x 8
bar_p0 1.000000
bar_min 1
bar_p29 1.870000
bar_max 8
bar_p100 8
bar_sum 15
bar_count 4
z 1
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
a_on_x 1
a_out_x 2
b_in_y 4
b_out_x 8
bar_p0 2.000000
bar_min 2
bar_p29 3.160000
bar_max 8
bar_p100 8
bar_sum 14
bar_count 3
a_in_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
bar_p0 1.000000
bar_min 1
bar_p29 2.740000
bar_max 8
bar_p100 8
bar_sum 13
bar_count 3
a_in_x 1
a_out_x 2
b_on_y 4
b_out_x 8
bar_p0 1.000000
bar_min 1
bar_p29 1.580000
bar_max 8
bar_p100 8
bar_sum 11
bar_count 3
a_in_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
bar_p0 1.000000
bar_min 1
bar_p29 1.580000
bar_max 4
bar_p100 4
bar_sum 7
bar_count 3
z 2
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
a_on_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
bar_p0 4.000000
bar_min 4
bar_p29 5.160000
bar_max 8
bar_p100 8
bar_sum 12
bar_count 2
a_on_x 1
a_out_x 2
b_on_y 4
b_out_x 8
bar_p0 2.000000
bar_min 2
bar_p29 3.740000
bar_max 8
bar_p100 8
bar_sum 10
bar_count 2
a_on_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
bar_p0 2.000000
bar_min 2
bar_p29 2.580000
bar_max 4
bar_p100 4
bar_sum 6
bar_count 2
a_in_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
bar_p0 1.000000
bar_min 1
bar_p29 3.030000
bar_max 8
bar_p100 8
bar_sum 9
bar_count 2
a_in_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
bar_p0 1.000000
bar_min 1
bar_p29 1.870000
bar_max 4
bar_p100 4
bar_sum 5
bar_count 2
a_in_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
bar_p0 1.000000
bar_min 1
bar_p29 1.290000
bar_max 2
bar_p100 2
bar_sum 3
bar_count 2
z 3
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
a_in_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
bar_p0 1
bar_min 1
bar_p29 1
bar_max 1
bar_p100 1
bar_sum 1
bar_count 1
a_on_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
bar_p0 2
bar_min 2
bar_p29 2
bar_max 2
bar_p100 2
bar_sum 2
bar_count 1
a_on_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
bar_p0 4
bar_min 4
bar_p29 4
bar_max 4
bar_p100 4
bar_sum 4
bar_count 1
a_on_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
bar_p0 8
bar_min 8
bar_p29 8
bar_max 8
bar_p100 8
bar_sum 8
bar_count 1
z 4
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
a_on_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
bar_p0
bar_min
bar_p29
bar_max
bar_p100
bar_sum 0
bar_count 0
mlr --oxtab merge-fields -i -k -a p0,min,p29,max,p100,sum,count -c in_,out_ ./reg_test/input/merge-fields-abxy.dkvp
a_in_x 1
a_out_x 2
b_in_y 4
b_out_x 8
a_x_p0 1.000000
a_x_min 1
a_x_p29 1.290000
a_x_max 2
a_x_p100 2
a_x_sum 3
a_x_count 2
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
z 1
a_on_x 1
a_out_x 2
b_in_y 4
b_out_x 8
a_x_p0 2
a_x_min 2
a_x_p29 2
a_x_max 2
a_x_p100 2
a_x_sum 2
a_x_count 1
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_in_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 1
a_x_p100 1
a_x_sum 1
a_x_count 1
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_in_x 1
a_out_x 2
b_on_y 4
b_out_x 8
a_x_p0 1.000000
a_x_min 1
a_x_p29 1.290000
a_x_max 2
a_x_p100 2
a_x_sum 3
a_x_count 2
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_in_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
a_x_p0 1.000000
a_x_min 1
a_x_p29 1.290000
a_x_max 2
a_x_p100 2
a_x_sum 3
a_x_count 2
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
z 2
a_on_x 1
a_oot_x 2
b_in_y 4
b_out_x 8
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_on_x 1
a_out_x 2
b_on_y 4
b_out_x 8
a_x_p0 2
a_x_min 2
a_x_p29 2
a_x_max 2
a_x_p100 2
a_x_sum 2
a_x_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_on_x 1
a_out_x 2
b_in_y 4
b_oot_x 8
a_x_p0 2
a_x_min 2
a_x_p29 2
a_x_max 2
a_x_p100 2
a_x_sum 2
a_x_count 1
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
a_in_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 1
a_x_p100 1
a_x_sum 1
a_x_count 1
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
a_in_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 1
a_x_p100 1
a_x_sum 1
a_x_count 1
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
a_in_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
a_x_p0 1.000000
a_x_min 1
a_x_p29 1.290000
a_x_max 2
a_x_p100 2
a_x_sum 3
a_x_count 2
z 3
a_in_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
a_x_p0 1
a_x_min 1
a_x_p29 1
a_x_max 1
a_x_p100 1
a_x_sum 1
a_x_count 1
a_on_x 1
a_out_x 2
b_on_y 4
b_oot_x 8
a_x_p0 2
a_x_min 2
a_x_p29 2
a_x_max 2
a_x_p100 2
a_x_sum 2
a_x_count 1
a_on_x 1
a_oot_x 2
b_in_y 4
b_oot_x 8
b_y_p0 4
b_y_min 4
b_y_p29 4
b_y_max 4
b_y_p100 4
b_y_sum 4
b_y_count 1
a_on_x 1
a_oot_x 2
b_on_y 4
b_out_x 8
b_x_p0 8
b_x_min 8
b_x_p29 8
b_x_max 8
b_x_p100 8
b_x_sum 8
b_x_count 1
z 4
a_on_x 1
a_oot_x 2
b_on_y 4
b_oot_x 8
================================================================
MOST/LEAST FREQUENT
mlr --opprint --from ./reg_test/input/freq.dkvp most-frequent -f a -n 3
a count
apple 6
bat 5
cat 4
mlr --opprint --from ./reg_test/input/freq.dkvp most-frequent -f a,b -n 3
a b count
apple apple 6
bat cat 5
cat bat 3
mlr --opprint --from ./reg_test/input/freq.dkvp most-frequent -f a,b -n 3 -b
a b
apple apple
bat cat
cat bat
mlr --opprint --from ./reg_test/input/freq.dkvp most-frequent -f nonesuch -n 3
mlr --opprint --from ./reg_test/input/freq.dkvp least-frequent -f a -n 3
a count
dog 2
cat 4
bat 5
mlr --opprint --from ./reg_test/input/freq.dkvp least-frequent -f a,b -n 3
a b count
cat cat 1
dog dog 2
cat bat 3
mlr --opprint --from ./reg_test/input/freq.dkvp least-frequent -f a,b -n 3 -b
a b
cat cat
dog dog
cat bat
mlr --opprint --from ./reg_test/input/freq.dkvp least-frequent -f nonesuch -n 3
================================================================
NON-INTERPOLATED AND INTERPOLATED PERCENTILES
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 1 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 0
x_p14 0
x_p15 0
x_p16 0
x_p17 0
x_p18 0
x_p19 0
x_p20 0
x_p21 0
x_p22 0
x_p23 0
x_p24 0
x_p25 0
x_p26 0
x_p27 0
x_p28 0
x_p29 0
x_p30 0
x_p31 0
x_p32 0
x_p33 0
x_p34 0
x_p35 0
x_p36 0
x_p37 0
x_p38 0
x_p39 0
x_p40 0
x_p41 0
x_p42 0
x_p43 0
x_p44 0
x_p45 0
x_p46 0
x_p47 0
x_p48 0
x_p49 0
x_p50 0
x_p51 0
x_p52 0
x_p53 0
x_p54 0
x_p55 0
x_p56 0
x_p57 0
x_p58 0
x_p59 0
x_p60 0
x_p61 0
x_p62 0
x_p63 0
x_p64 0
x_p65 0
x_p66 0
x_p67 0
x_p68 0
x_p69 0
x_p70 0
x_p71 0
x_p72 0
x_p73 0
x_p74 0
x_p75 0
x_p76 0
x_p77 0
x_p78 0
x_p79 0
x_p80 0
x_p81 0
x_p82 0
x_p83 0
x_p84 0
x_p85 0
x_p86 0
x_p87 0
x_p88 0
x_p89 0
x_p90 0
x_p91 0
x_p92 0
x_p93 0
x_p94 0
x_p95 0
x_p96 0
x_p97 0
x_p98 0
x_p99 0
x_p100 0
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 2 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 0
x_p14 0
x_p15 0
x_p16 0
x_p17 0
x_p18 0
x_p19 0
x_p20 0
x_p21 0
x_p22 0
x_p23 0
x_p24 0
x_p25 0
x_p26 0
x_p27 0
x_p28 0
x_p29 0
x_p30 0
x_p31 0
x_p32 0
x_p33 0
x_p34 0
x_p35 0
x_p36 0
x_p37 0
x_p38 0
x_p39 0
x_p40 0
x_p41 0
x_p42 0
x_p43 0
x_p44 0
x_p45 0
x_p46 0
x_p47 0
x_p48 0
x_p49 0
x_p50 1
x_p51 1
x_p52 1
x_p53 1
x_p54 1
x_p55 1
x_p56 1
x_p57 1
x_p58 1
x_p59 1
x_p60 1
x_p61 1
x_p62 1
x_p63 1
x_p64 1
x_p65 1
x_p66 1
x_p67 1
x_p68 1
x_p69 1
x_p70 1
x_p71 1
x_p72 1
x_p73 1
x_p74 1
x_p75 1
x_p76 1
x_p77 1
x_p78 1
x_p79 1
x_p80 1
x_p81 1
x_p82 1
x_p83 1
x_p84 1
x_p85 1
x_p86 1
x_p87 1
x_p88 1
x_p89 1
x_p90 1
x_p91 1
x_p92 1
x_p93 1
x_p94 1
x_p95 1
x_p96 1
x_p97 1
x_p98 1
x_p99 1
x_p100 1
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 3 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 0
x_p14 0
x_p15 0
x_p16 0
x_p17 0
x_p18 0
x_p19 0
x_p20 0
x_p21 0
x_p22 0
x_p23 0
x_p24 0
x_p25 0
x_p26 0
x_p27 0
x_p28 0
x_p29 0
x_p30 0
x_p31 0
x_p32 0
x_p33 0
x_p34 1
x_p35 1
x_p36 1
x_p37 1
x_p38 1
x_p39 1
x_p40 1
x_p41 1
x_p42 1
x_p43 1
x_p44 1
x_p45 1
x_p46 1
x_p47 1
x_p48 1
x_p49 1
x_p50 1
x_p51 1
x_p52 1
x_p53 1
x_p54 1
x_p55 1
x_p56 1
x_p57 1
x_p58 1
x_p59 1
x_p60 1
x_p61 1
x_p62 1
x_p63 1
x_p64 1
x_p65 1
x_p66 1
x_p67 2
x_p68 2
x_p69 2
x_p70 2
x_p71 2
x_p72 2
x_p73 2
x_p74 2
x_p75 2
x_p76 2
x_p77 2
x_p78 2
x_p79 2
x_p80 2
x_p81 2
x_p82 2
x_p83 2
x_p84 2
x_p85 2
x_p86 2
x_p87 2
x_p88 2
x_p89 2
x_p90 2
x_p91 2
x_p92 2
x_p93 2
x_p94 2
x_p95 2
x_p96 2
x_p97 2
x_p98 2
x_p99 2
x_p100 2
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 4 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 0
x_p14 0
x_p15 0
x_p16 0
x_p17 0
x_p18 0
x_p19 0
x_p20 0
x_p21 0
x_p22 0
x_p23 0
x_p24 0
x_p25 1
x_p26 1
x_p27 1
x_p28 1
x_p29 1
x_p30 1
x_p31 1
x_p32 1
x_p33 1
x_p34 1
x_p35 1
x_p36 1
x_p37 1
x_p38 1
x_p39 1
x_p40 1
x_p41 1
x_p42 1
x_p43 1
x_p44 1
x_p45 1
x_p46 1
x_p47 1
x_p48 1
x_p49 1
x_p50 2
x_p51 2
x_p52 2
x_p53 2
x_p54 2
x_p55 2
x_p56 2
x_p57 2
x_p58 2
x_p59 2
x_p60 2
x_p61 2
x_p62 2
x_p63 2
x_p64 2
x_p65 2
x_p66 2
x_p67 2
x_p68 2
x_p69 2
x_p70 2
x_p71 2
x_p72 2
x_p73 2
x_p74 2
x_p75 3
x_p76 3
x_p77 3
x_p78 3
x_p79 3
x_p80 3
x_p81 3
x_p82 3
x_p83 3
x_p84 3
x_p85 3
x_p86 3
x_p87 3
x_p88 3
x_p89 3
x_p90 3
x_p91 3
x_p92 3
x_p93 3
x_p94 3
x_p95 3
x_p96 3
x_p97 3
x_p98 3
x_p99 3
x_p100 3
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 5 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 0
x_p14 0
x_p15 0
x_p16 0
x_p17 0
x_p18 0
x_p19 0
x_p20 1
x_p21 1
x_p22 1
x_p23 1
x_p24 1
x_p25 1
x_p26 1
x_p27 1
x_p28 1
x_p29 1
x_p30 1
x_p31 1
x_p32 1
x_p33 1
x_p34 1
x_p35 1
x_p36 1
x_p37 1
x_p38 1
x_p39 1
x_p40 2
x_p41 2
x_p42 2
x_p43 2
x_p44 2
x_p45 2
x_p46 2
x_p47 2
x_p48 2
x_p49 2
x_p50 2
x_p51 2
x_p52 2
x_p53 2
x_p54 2
x_p55 2
x_p56 2
x_p57 2
x_p58 2
x_p59 2
x_p60 3
x_p61 3
x_p62 3
x_p63 3
x_p64 3
x_p65 3
x_p66 3
x_p67 3
x_p68 3
x_p69 3
x_p70 3
x_p71 3
x_p72 3
x_p73 3
x_p74 3
x_p75 3
x_p76 3
x_p77 3
x_p78 3
x_p79 3
x_p80 4
x_p81 4
x_p82 4
x_p83 4
x_p84 4
x_p85 4
x_p86 4
x_p87 4
x_p88 4
x_p89 4
x_p90 4
x_p91 4
x_p92 4
x_p93 4
x_p94 4
x_p95 4
x_p96 4
x_p97 4
x_p98 4
x_p99 4
x_p100 4
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 6 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 0
x_p14 0
x_p15 0
x_p16 0
x_p17 1
x_p18 1
x_p19 1
x_p20 1
x_p21 1
x_p22 1
x_p23 1
x_p24 1
x_p25 1
x_p26 1
x_p27 1
x_p28 1
x_p29 1
x_p30 1
x_p31 1
x_p32 1
x_p33 1
x_p34 2
x_p35 2
x_p36 2
x_p37 2
x_p38 2
x_p39 2
x_p40 2
x_p41 2
x_p42 2
x_p43 2
x_p44 2
x_p45 2
x_p46 2
x_p47 2
x_p48 2
x_p49 2
x_p50 3
x_p51 3
x_p52 3
x_p53 3
x_p54 3
x_p55 3
x_p56 3
x_p57 3
x_p58 3
x_p59 3
x_p60 3
x_p61 3
x_p62 3
x_p63 3
x_p64 3
x_p65 3
x_p66 3
x_p67 4
x_p68 4
x_p69 4
x_p70 4
x_p71 4
x_p72 4
x_p73 4
x_p74 4
x_p75 4
x_p76 4
x_p77 4
x_p78 4
x_p79 4
x_p80 4
x_p81 4
x_p82 4
x_p83 4
x_p84 5
x_p85 5
x_p86 5
x_p87 5
x_p88 5
x_p89 5
x_p90 5
x_p91 5
x_p92 5
x_p93 5
x_p94 5
x_p95 5
x_p96 5
x_p97 5
x_p98 5
x_p99 5
x_p100 5
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 7 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 0
x_p14 0
x_p15 1
x_p16 1
x_p17 1
x_p18 1
x_p19 1
x_p20 1
x_p21 1
x_p22 1
x_p23 1
x_p24 1
x_p25 1
x_p26 1
x_p27 1
x_p28 1
x_p29 2
x_p30 2
x_p31 2
x_p32 2
x_p33 2
x_p34 2
x_p35 2
x_p36 2
x_p37 2
x_p38 2
x_p39 2
x_p40 2
x_p41 2
x_p42 2
x_p43 3
x_p44 3
x_p45 3
x_p46 3
x_p47 3
x_p48 3
x_p49 3
x_p50 3
x_p51 3
x_p52 3
x_p53 3
x_p54 3
x_p55 3
x_p56 3
x_p57 3
x_p58 4
x_p59 4
x_p60 4
x_p61 4
x_p62 4
x_p63 4
x_p64 4
x_p65 4
x_p66 4
x_p67 4
x_p68 4
x_p69 4
x_p70 4
x_p71 4
x_p72 5
x_p73 5
x_p74 5
x_p75 5
x_p76 5
x_p77 5
x_p78 5
x_p79 5
x_p80 5
x_p81 5
x_p82 5
x_p83 5
x_p84 5
x_p85 5
x_p86 6
x_p87 6
x_p88 6
x_p89 6
x_p90 6
x_p91 6
x_p92 6
x_p93 6
x_p94 6
x_p95 6
x_p96 6
x_p97 6
x_p98 6
x_p99 6
x_p100 6
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 8 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 1
x_p14 1
x_p15 1
x_p16 1
x_p17 1
x_p18 1
x_p19 1
x_p20 1
x_p21 1
x_p22 1
x_p23 1
x_p24 1
x_p25 2
x_p26 2
x_p27 2
x_p28 2
x_p29 2
x_p30 2
x_p31 2
x_p32 2
x_p33 2
x_p34 2
x_p35 2
x_p36 2
x_p37 2
x_p38 3
x_p39 3
x_p40 3
x_p41 3
x_p42 3
x_p43 3
x_p44 3
x_p45 3
x_p46 3
x_p47 3
x_p48 3
x_p49 3
x_p50 4
x_p51 4
x_p52 4
x_p53 4
x_p54 4
x_p55 4
x_p56 4
x_p57 4
x_p58 4
x_p59 4
x_p60 4
x_p61 4
x_p62 4
x_p63 5
x_p64 5
x_p65 5
x_p66 5
x_p67 5
x_p68 5
x_p69 5
x_p70 5
x_p71 5
x_p72 5
x_p73 5
x_p74 5
x_p75 6
x_p76 6
x_p77 6
x_p78 6
x_p79 6
x_p80 6
x_p81 6
x_p82 6
x_p83 6
x_p84 6
x_p85 6
x_p86 6
x_p87 6
x_p88 7
x_p89 7
x_p90 7
x_p91 7
x_p92 7
x_p93 7
x_p94 7
x_p95 7
x_p96 7
x_p97 7
x_p98 7
x_p99 7
x_p100 7
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 9 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 1
x_p13 1
x_p14 1
x_p15 1
x_p16 1
x_p17 1
x_p18 1
x_p19 1
x_p20 1
x_p21 1
x_p22 1
x_p23 2
x_p24 2
x_p25 2
x_p26 2
x_p27 2
x_p28 2
x_p29 2
x_p30 2
x_p31 2
x_p32 2
x_p33 2
x_p34 3
x_p35 3
x_p36 3
x_p37 3
x_p38 3
x_p39 3
x_p40 3
x_p41 3
x_p42 3
x_p43 3
x_p44 3
x_p45 4
x_p46 4
x_p47 4
x_p48 4
x_p49 4
x_p50 4
x_p51 4
x_p52 4
x_p53 4
x_p54 4
x_p55 4
x_p56 5
x_p57 5
x_p58 5
x_p59 5
x_p60 5
x_p61 5
x_p62 5
x_p63 5
x_p64 5
x_p65 5
x_p66 5
x_p67 6
x_p68 6
x_p69 6
x_p70 6
x_p71 6
x_p72 6
x_p73 6
x_p74 6
x_p75 6
x_p76 6
x_p77 6
x_p78 7
x_p79 7
x_p80 7
x_p81 7
x_p82 7
x_p83 7
x_p84 7
x_p85 7
x_p86 7
x_p87 7
x_p88 7
x_p89 8
x_p90 8
x_p91 8
x_p92 8
x_p93 8
x_p94 8
x_p95 8
x_p96 8
x_p97 8
x_p98 8
x_p99 8
x_p100 8
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 10 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 1
x_p11 1
x_p12 1
x_p13 1
x_p14 1
x_p15 1
x_p16 1
x_p17 1
x_p18 1
x_p19 1
x_p20 2
x_p21 2
x_p22 2
x_p23 2
x_p24 2
x_p25 2
x_p26 2
x_p27 2
x_p28 2
x_p29 2
x_p30 3
x_p31 3
x_p32 3
x_p33 3
x_p34 3
x_p35 3
x_p36 3
x_p37 3
x_p38 3
x_p39 3
x_p40 4
x_p41 4
x_p42 4
x_p43 4
x_p44 4
x_p45 4
x_p46 4
x_p47 4
x_p48 4
x_p49 4
x_p50 5
x_p51 5
x_p52 5
x_p53 5
x_p54 5
x_p55 5
x_p56 5
x_p57 5
x_p58 5
x_p59 5
x_p60 6
x_p61 6
x_p62 6
x_p63 6
x_p64 6
x_p65 6
x_p66 6
x_p67 6
x_p68 6
x_p69 6
x_p70 7
x_p71 7
x_p72 7
x_p73 7
x_p74 7
x_p75 7
x_p76 7
x_p77 7
x_p78 7
x_p79 7
x_p80 8
x_p81 8
x_p82 8
x_p83 8
x_p84 8
x_p85 8
x_p86 8
x_p87 8
x_p88 8
x_p89 8
x_p90 9
x_p91 9
x_p92 9
x_p93 9
x_p94 9
x_p95 9
x_p96 9
x_p97 9
x_p98 9
x_p99 9
x_p100 9
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 11 then stats1 -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 1
x_p11 1
x_p12 1
x_p13 1
x_p14 1
x_p15 1
x_p16 1
x_p17 1
x_p18 1
x_p19 2
x_p20 2
x_p21 2
x_p22 2
x_p23 2
x_p24 2
x_p25 2
x_p26 2
x_p27 2
x_p28 3
x_p29 3
x_p30 3
x_p31 3
x_p32 3
x_p33 3
x_p34 3
x_p35 3
x_p36 3
x_p37 4
x_p38 4
x_p39 4
x_p40 4
x_p41 4
x_p42 4
x_p43 4
x_p44 4
x_p45 4
x_p46 5
x_p47 5
x_p48 5
x_p49 5
x_p50 5
x_p51 5
x_p52 5
x_p53 5
x_p54 5
x_p55 6
x_p56 6
x_p57 6
x_p58 6
x_p59 6
x_p60 6
x_p61 6
x_p62 6
x_p63 6
x_p64 7
x_p65 7
x_p66 7
x_p67 7
x_p68 7
x_p69 7
x_p70 7
x_p71 7
x_p72 7
x_p73 8
x_p74 8
x_p75 8
x_p76 8
x_p77 8
x_p78 8
x_p79 8
x_p80 8
x_p81 8
x_p82 9
x_p83 9
x_p84 9
x_p85 9
x_p86 9
x_p87 9
x_p88 9
x_p89 9
x_p90 9
x_p91 10
x_p92 10
x_p93 10
x_p94 10
x_p95 10
x_p96 10
x_p97 10
x_p98 10
x_p99 10
x_p100 10
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 1 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0
x_p01 0
x_p02 0
x_p03 0
x_p04 0
x_p05 0
x_p06 0
x_p07 0
x_p08 0
x_p09 0
x_p10 0
x_p11 0
x_p12 0
x_p13 0
x_p14 0
x_p15 0
x_p16 0
x_p17 0
x_p18 0
x_p19 0
x_p20 0
x_p21 0
x_p22 0
x_p23 0
x_p24 0
x_p25 0
x_p26 0
x_p27 0
x_p28 0
x_p29 0
x_p30 0
x_p31 0
x_p32 0
x_p33 0
x_p34 0
x_p35 0
x_p36 0
x_p37 0
x_p38 0
x_p39 0
x_p40 0
x_p41 0
x_p42 0
x_p43 0
x_p44 0
x_p45 0
x_p46 0
x_p47 0
x_p48 0
x_p49 0
x_p50 0
x_p51 0
x_p52 0
x_p53 0
x_p54 0
x_p55 0
x_p56 0
x_p57 0
x_p58 0
x_p59 0
x_p60 0
x_p61 0
x_p62 0
x_p63 0
x_p64 0
x_p65 0
x_p66 0
x_p67 0
x_p68 0
x_p69 0
x_p70 0
x_p71 0
x_p72 0
x_p73 0
x_p74 0
x_p75 0
x_p76 0
x_p77 0
x_p78 0
x_p79 0
x_p80 0
x_p81 0
x_p82 0
x_p83 0
x_p84 0
x_p85 0
x_p86 0
x_p87 0
x_p88 0
x_p89 0
x_p90 0
x_p91 0
x_p92 0
x_p93 0
x_p94 0
x_p95 0
x_p96 0
x_p97 0
x_p98 0
x_p99 0
x_p100 0
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 2 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.010000
x_p02 0.020000
x_p03 0.030000
x_p04 0.040000
x_p05 0.050000
x_p06 0.060000
x_p07 0.070000
x_p08 0.080000
x_p09 0.090000
x_p10 0.100000
x_p11 0.110000
x_p12 0.120000
x_p13 0.130000
x_p14 0.140000
x_p15 0.150000
x_p16 0.160000
x_p17 0.170000
x_p18 0.180000
x_p19 0.190000
x_p20 0.200000
x_p21 0.210000
x_p22 0.220000
x_p23 0.230000
x_p24 0.240000
x_p25 0.250000
x_p26 0.260000
x_p27 0.270000
x_p28 0.280000
x_p29 0.290000
x_p30 0.300000
x_p31 0.310000
x_p32 0.320000
x_p33 0.330000
x_p34 0.340000
x_p35 0.350000
x_p36 0.360000
x_p37 0.370000
x_p38 0.380000
x_p39 0.390000
x_p40 0.400000
x_p41 0.410000
x_p42 0.420000
x_p43 0.430000
x_p44 0.440000
x_p45 0.450000
x_p46 0.460000
x_p47 0.470000
x_p48 0.480000
x_p49 0.490000
x_p50 0.500000
x_p51 0.510000
x_p52 0.520000
x_p53 0.530000
x_p54 0.540000
x_p55 0.550000
x_p56 0.560000
x_p57 0.570000
x_p58 0.580000
x_p59 0.590000
x_p60 0.600000
x_p61 0.610000
x_p62 0.620000
x_p63 0.630000
x_p64 0.640000
x_p65 0.650000
x_p66 0.660000
x_p67 0.670000
x_p68 0.680000
x_p69 0.690000
x_p70 0.700000
x_p71 0.710000
x_p72 0.720000
x_p73 0.730000
x_p74 0.740000
x_p75 0.750000
x_p76 0.760000
x_p77 0.770000
x_p78 0.780000
x_p79 0.790000
x_p80 0.800000
x_p81 0.810000
x_p82 0.820000
x_p83 0.830000
x_p84 0.840000
x_p85 0.850000
x_p86 0.860000
x_p87 0.870000
x_p88 0.880000
x_p89 0.890000
x_p90 0.900000
x_p91 0.910000
x_p92 0.920000
x_p93 0.930000
x_p94 0.940000
x_p95 0.950000
x_p96 0.960000
x_p97 0.970000
x_p98 0.980000
x_p99 0.990000
x_p100 1
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 3 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.020000
x_p02 0.040000
x_p03 0.060000
x_p04 0.080000
x_p05 0.100000
x_p06 0.120000
x_p07 0.140000
x_p08 0.160000
x_p09 0.180000
x_p10 0.200000
x_p11 0.220000
x_p12 0.240000
x_p13 0.260000
x_p14 0.280000
x_p15 0.300000
x_p16 0.320000
x_p17 0.340000
x_p18 0.360000
x_p19 0.380000
x_p20 0.400000
x_p21 0.420000
x_p22 0.440000
x_p23 0.460000
x_p24 0.480000
x_p25 0.500000
x_p26 0.520000
x_p27 0.540000
x_p28 0.560000
x_p29 0.580000
x_p30 0.600000
x_p31 0.620000
x_p32 0.640000
x_p33 0.660000
x_p34 0.680000
x_p35 0.700000
x_p36 0.720000
x_p37 0.740000
x_p38 0.760000
x_p39 0.780000
x_p40 0.800000
x_p41 0.820000
x_p42 0.840000
x_p43 0.860000
x_p44 0.880000
x_p45 0.900000
x_p46 0.920000
x_p47 0.940000
x_p48 0.960000
x_p49 0.980000
x_p50 1.000000
x_p51 1.020000
x_p52 1.040000
x_p53 1.060000
x_p54 1.080000
x_p55 1.100000
x_p56 1.120000
x_p57 1.140000
x_p58 1.160000
x_p59 1.180000
x_p60 1.200000
x_p61 1.220000
x_p62 1.240000
x_p63 1.260000
x_p64 1.280000
x_p65 1.300000
x_p66 1.320000
x_p67 1.340000
x_p68 1.360000
x_p69 1.380000
x_p70 1.400000
x_p71 1.420000
x_p72 1.440000
x_p73 1.460000
x_p74 1.480000
x_p75 1.500000
x_p76 1.520000
x_p77 1.540000
x_p78 1.560000
x_p79 1.580000
x_p80 1.600000
x_p81 1.620000
x_p82 1.640000
x_p83 1.660000
x_p84 1.680000
x_p85 1.700000
x_p86 1.720000
x_p87 1.740000
x_p88 1.760000
x_p89 1.780000
x_p90 1.800000
x_p91 1.820000
x_p92 1.840000
x_p93 1.860000
x_p94 1.880000
x_p95 1.900000
x_p96 1.920000
x_p97 1.940000
x_p98 1.960000
x_p99 1.980000
x_p100 2
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 4 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.030000
x_p02 0.060000
x_p03 0.090000
x_p04 0.120000
x_p05 0.150000
x_p06 0.180000
x_p07 0.210000
x_p08 0.240000
x_p09 0.270000
x_p10 0.300000
x_p11 0.330000
x_p12 0.360000
x_p13 0.390000
x_p14 0.420000
x_p15 0.450000
x_p16 0.480000
x_p17 0.510000
x_p18 0.540000
x_p19 0.570000
x_p20 0.600000
x_p21 0.630000
x_p22 0.660000
x_p23 0.690000
x_p24 0.720000
x_p25 0.750000
x_p26 0.780000
x_p27 0.810000
x_p28 0.840000
x_p29 0.870000
x_p30 0.900000
x_p31 0.930000
x_p32 0.960000
x_p33 0.990000
x_p34 1.020000
x_p35 1.050000
x_p36 1.080000
x_p37 1.110000
x_p38 1.140000
x_p39 1.170000
x_p40 1.200000
x_p41 1.230000
x_p42 1.260000
x_p43 1.290000
x_p44 1.320000
x_p45 1.350000
x_p46 1.380000
x_p47 1.410000
x_p48 1.440000
x_p49 1.470000
x_p50 1.500000
x_p51 1.530000
x_p52 1.560000
x_p53 1.590000
x_p54 1.620000
x_p55 1.650000
x_p56 1.680000
x_p57 1.710000
x_p58 1.740000
x_p59 1.770000
x_p60 1.800000
x_p61 1.830000
x_p62 1.860000
x_p63 1.890000
x_p64 1.920000
x_p65 1.950000
x_p66 1.980000
x_p67 2.010000
x_p68 2.040000
x_p69 2.070000
x_p70 2.100000
x_p71 2.130000
x_p72 2.160000
x_p73 2.190000
x_p74 2.220000
x_p75 2.250000
x_p76 2.280000
x_p77 2.310000
x_p78 2.340000
x_p79 2.370000
x_p80 2.400000
x_p81 2.430000
x_p82 2.460000
x_p83 2.490000
x_p84 2.520000
x_p85 2.550000
x_p86 2.580000
x_p87 2.610000
x_p88 2.640000
x_p89 2.670000
x_p90 2.700000
x_p91 2.730000
x_p92 2.760000
x_p93 2.790000
x_p94 2.820000
x_p95 2.850000
x_p96 2.880000
x_p97 2.910000
x_p98 2.940000
x_p99 2.970000
x_p100 3
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 5 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.040000
x_p02 0.080000
x_p03 0.120000
x_p04 0.160000
x_p05 0.200000
x_p06 0.240000
x_p07 0.280000
x_p08 0.320000
x_p09 0.360000
x_p10 0.400000
x_p11 0.440000
x_p12 0.480000
x_p13 0.520000
x_p14 0.560000
x_p15 0.600000
x_p16 0.640000
x_p17 0.680000
x_p18 0.720000
x_p19 0.760000
x_p20 0.800000
x_p21 0.840000
x_p22 0.880000
x_p23 0.920000
x_p24 0.960000
x_p25 1.000000
x_p26 1.040000
x_p27 1.080000
x_p28 1.120000
x_p29 1.160000
x_p30 1.200000
x_p31 1.240000
x_p32 1.280000
x_p33 1.320000
x_p34 1.360000
x_p35 1.400000
x_p36 1.440000
x_p37 1.480000
x_p38 1.520000
x_p39 1.560000
x_p40 1.600000
x_p41 1.640000
x_p42 1.680000
x_p43 1.720000
x_p44 1.760000
x_p45 1.800000
x_p46 1.840000
x_p47 1.880000
x_p48 1.920000
x_p49 1.960000
x_p50 2.000000
x_p51 2.040000
x_p52 2.080000
x_p53 2.120000
x_p54 2.160000
x_p55 2.200000
x_p56 2.240000
x_p57 2.280000
x_p58 2.320000
x_p59 2.360000
x_p60 2.400000
x_p61 2.440000
x_p62 2.480000
x_p63 2.520000
x_p64 2.560000
x_p65 2.600000
x_p66 2.640000
x_p67 2.680000
x_p68 2.720000
x_p69 2.760000
x_p70 2.800000
x_p71 2.840000
x_p72 2.880000
x_p73 2.920000
x_p74 2.960000
x_p75 3.000000
x_p76 3.040000
x_p77 3.080000
x_p78 3.120000
x_p79 3.160000
x_p80 3.200000
x_p81 3.240000
x_p82 3.280000
x_p83 3.320000
x_p84 3.360000
x_p85 3.400000
x_p86 3.440000
x_p87 3.480000
x_p88 3.520000
x_p89 3.560000
x_p90 3.600000
x_p91 3.640000
x_p92 3.680000
x_p93 3.720000
x_p94 3.760000
x_p95 3.800000
x_p96 3.840000
x_p97 3.880000
x_p98 3.920000
x_p99 3.960000
x_p100 4
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 6 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.050000
x_p02 0.100000
x_p03 0.150000
x_p04 0.200000
x_p05 0.250000
x_p06 0.300000
x_p07 0.350000
x_p08 0.400000
x_p09 0.450000
x_p10 0.500000
x_p11 0.550000
x_p12 0.600000
x_p13 0.650000
x_p14 0.700000
x_p15 0.750000
x_p16 0.800000
x_p17 0.850000
x_p18 0.900000
x_p19 0.950000
x_p20 1.000000
x_p21 1.050000
x_p22 1.100000
x_p23 1.150000
x_p24 1.200000
x_p25 1.250000
x_p26 1.300000
x_p27 1.350000
x_p28 1.400000
x_p29 1.450000
x_p30 1.500000
x_p31 1.550000
x_p32 1.600000
x_p33 1.650000
x_p34 1.700000
x_p35 1.750000
x_p36 1.800000
x_p37 1.850000
x_p38 1.900000
x_p39 1.950000
x_p40 2.000000
x_p41 2.050000
x_p42 2.100000
x_p43 2.150000
x_p44 2.200000
x_p45 2.250000
x_p46 2.300000
x_p47 2.350000
x_p48 2.400000
x_p49 2.450000
x_p50 2.500000
x_p51 2.550000
x_p52 2.600000
x_p53 2.650000
x_p54 2.700000
x_p55 2.750000
x_p56 2.800000
x_p57 2.850000
x_p58 2.900000
x_p59 2.950000
x_p60 3.000000
x_p61 3.050000
x_p62 3.100000
x_p63 3.150000
x_p64 3.200000
x_p65 3.250000
x_p66 3.300000
x_p67 3.350000
x_p68 3.400000
x_p69 3.450000
x_p70 3.500000
x_p71 3.550000
x_p72 3.600000
x_p73 3.650000
x_p74 3.700000
x_p75 3.750000
x_p76 3.800000
x_p77 3.850000
x_p78 3.900000
x_p79 3.950000
x_p80 4.000000
x_p81 4.050000
x_p82 4.100000
x_p83 4.150000
x_p84 4.200000
x_p85 4.250000
x_p86 4.300000
x_p87 4.350000
x_p88 4.400000
x_p89 4.450000
x_p90 4.500000
x_p91 4.550000
x_p92 4.600000
x_p93 4.650000
x_p94 4.700000
x_p95 4.750000
x_p96 4.800000
x_p97 4.850000
x_p98 4.900000
x_p99 4.950000
x_p100 5
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 7 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.060000
x_p02 0.120000
x_p03 0.180000
x_p04 0.240000
x_p05 0.300000
x_p06 0.360000
x_p07 0.420000
x_p08 0.480000
x_p09 0.540000
x_p10 0.600000
x_p11 0.660000
x_p12 0.720000
x_p13 0.780000
x_p14 0.840000
x_p15 0.900000
x_p16 0.960000
x_p17 1.020000
x_p18 1.080000
x_p19 1.140000
x_p20 1.200000
x_p21 1.260000
x_p22 1.320000
x_p23 1.380000
x_p24 1.440000
x_p25 1.500000
x_p26 1.560000
x_p27 1.620000
x_p28 1.680000
x_p29 1.740000
x_p30 1.800000
x_p31 1.860000
x_p32 1.920000
x_p33 1.980000
x_p34 2.040000
x_p35 2.100000
x_p36 2.160000
x_p37 2.220000
x_p38 2.280000
x_p39 2.340000
x_p40 2.400000
x_p41 2.460000
x_p42 2.520000
x_p43 2.580000
x_p44 2.640000
x_p45 2.700000
x_p46 2.760000
x_p47 2.820000
x_p48 2.880000
x_p49 2.940000
x_p50 3.000000
x_p51 3.060000
x_p52 3.120000
x_p53 3.180000
x_p54 3.240000
x_p55 3.300000
x_p56 3.360000
x_p57 3.420000
x_p58 3.480000
x_p59 3.540000
x_p60 3.600000
x_p61 3.660000
x_p62 3.720000
x_p63 3.780000
x_p64 3.840000
x_p65 3.900000
x_p66 3.960000
x_p67 4.020000
x_p68 4.080000
x_p69 4.140000
x_p70 4.200000
x_p71 4.260000
x_p72 4.320000
x_p73 4.380000
x_p74 4.440000
x_p75 4.500000
x_p76 4.560000
x_p77 4.620000
x_p78 4.680000
x_p79 4.740000
x_p80 4.800000
x_p81 4.860000
x_p82 4.920000
x_p83 4.980000
x_p84 5.040000
x_p85 5.100000
x_p86 5.160000
x_p87 5.220000
x_p88 5.280000
x_p89 5.340000
x_p90 5.400000
x_p91 5.460000
x_p92 5.520000
x_p93 5.580000
x_p94 5.640000
x_p95 5.700000
x_p96 5.760000
x_p97 5.820000
x_p98 5.880000
x_p99 5.940000
x_p100 6
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 8 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.070000
x_p02 0.140000
x_p03 0.210000
x_p04 0.280000
x_p05 0.350000
x_p06 0.420000
x_p07 0.490000
x_p08 0.560000
x_p09 0.630000
x_p10 0.700000
x_p11 0.770000
x_p12 0.840000
x_p13 0.910000
x_p14 0.980000
x_p15 1.050000
x_p16 1.120000
x_p17 1.190000
x_p18 1.260000
x_p19 1.330000
x_p20 1.400000
x_p21 1.470000
x_p22 1.540000
x_p23 1.610000
x_p24 1.680000
x_p25 1.750000
x_p26 1.820000
x_p27 1.890000
x_p28 1.960000
x_p29 2.030000
x_p30 2.100000
x_p31 2.170000
x_p32 2.240000
x_p33 2.310000
x_p34 2.380000
x_p35 2.450000
x_p36 2.520000
x_p37 2.590000
x_p38 2.660000
x_p39 2.730000
x_p40 2.800000
x_p41 2.870000
x_p42 2.940000
x_p43 3.010000
x_p44 3.080000
x_p45 3.150000
x_p46 3.220000
x_p47 3.290000
x_p48 3.360000
x_p49 3.430000
x_p50 3.500000
x_p51 3.570000
x_p52 3.640000
x_p53 3.710000
x_p54 3.780000
x_p55 3.850000
x_p56 3.920000
x_p57 3.990000
x_p58 4.060000
x_p59 4.130000
x_p60 4.200000
x_p61 4.270000
x_p62 4.340000
x_p63 4.410000
x_p64 4.480000
x_p65 4.550000
x_p66 4.620000
x_p67 4.690000
x_p68 4.760000
x_p69 4.830000
x_p70 4.900000
x_p71 4.970000
x_p72 5.040000
x_p73 5.110000
x_p74 5.180000
x_p75 5.250000
x_p76 5.320000
x_p77 5.390000
x_p78 5.460000
x_p79 5.530000
x_p80 5.600000
x_p81 5.670000
x_p82 5.740000
x_p83 5.810000
x_p84 5.880000
x_p85 5.950000
x_p86 6.020000
x_p87 6.090000
x_p88 6.160000
x_p89 6.230000
x_p90 6.300000
x_p91 6.370000
x_p92 6.440000
x_p93 6.510000
x_p94 6.580000
x_p95 6.650000
x_p96 6.720000
x_p97 6.790000
x_p98 6.860000
x_p99 6.930000
x_p100 7
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 9 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.080000
x_p02 0.160000
x_p03 0.240000
x_p04 0.320000
x_p05 0.400000
x_p06 0.480000
x_p07 0.560000
x_p08 0.640000
x_p09 0.720000
x_p10 0.800000
x_p11 0.880000
x_p12 0.960000
x_p13 1.040000
x_p14 1.120000
x_p15 1.200000
x_p16 1.280000
x_p17 1.360000
x_p18 1.440000
x_p19 1.520000
x_p20 1.600000
x_p21 1.680000
x_p22 1.760000
x_p23 1.840000
x_p24 1.920000
x_p25 2.000000
x_p26 2.080000
x_p27 2.160000
x_p28 2.240000
x_p29 2.320000
x_p30 2.400000
x_p31 2.480000
x_p32 2.560000
x_p33 2.640000
x_p34 2.720000
x_p35 2.800000
x_p36 2.880000
x_p37 2.960000
x_p38 3.040000
x_p39 3.120000
x_p40 3.200000
x_p41 3.280000
x_p42 3.360000
x_p43 3.440000
x_p44 3.520000
x_p45 3.600000
x_p46 3.680000
x_p47 3.760000
x_p48 3.840000
x_p49 3.920000
x_p50 4.000000
x_p51 4.080000
x_p52 4.160000
x_p53 4.240000
x_p54 4.320000
x_p55 4.400000
x_p56 4.480000
x_p57 4.560000
x_p58 4.640000
x_p59 4.720000
x_p60 4.800000
x_p61 4.880000
x_p62 4.960000
x_p63 5.040000
x_p64 5.120000
x_p65 5.200000
x_p66 5.280000
x_p67 5.360000
x_p68 5.440000
x_p69 5.520000
x_p70 5.600000
x_p71 5.680000
x_p72 5.760000
x_p73 5.840000
x_p74 5.920000
x_p75 6.000000
x_p76 6.080000
x_p77 6.160000
x_p78 6.240000
x_p79 6.320000
x_p80 6.400000
x_p81 6.480000
x_p82 6.560000
x_p83 6.640000
x_p84 6.720000
x_p85 6.800000
x_p86 6.880000
x_p87 6.960000
x_p88 7.040000
x_p89 7.120000
x_p90 7.200000
x_p91 7.280000
x_p92 7.360000
x_p93 7.440000
x_p94 7.520000
x_p95 7.600000
x_p96 7.680000
x_p97 7.760000
x_p98 7.840000
x_p99 7.920000
x_p100 8
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 10 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.090000
x_p02 0.180000
x_p03 0.270000
x_p04 0.360000
x_p05 0.450000
x_p06 0.540000
x_p07 0.630000
x_p08 0.720000
x_p09 0.810000
x_p10 0.900000
x_p11 0.990000
x_p12 1.080000
x_p13 1.170000
x_p14 1.260000
x_p15 1.350000
x_p16 1.440000
x_p17 1.530000
x_p18 1.620000
x_p19 1.710000
x_p20 1.800000
x_p21 1.890000
x_p22 1.980000
x_p23 2.070000
x_p24 2.160000
x_p25 2.250000
x_p26 2.340000
x_p27 2.430000
x_p28 2.520000
x_p29 2.610000
x_p30 2.700000
x_p31 2.790000
x_p32 2.880000
x_p33 2.970000
x_p34 3.060000
x_p35 3.150000
x_p36 3.240000
x_p37 3.330000
x_p38 3.420000
x_p39 3.510000
x_p40 3.600000
x_p41 3.690000
x_p42 3.780000
x_p43 3.870000
x_p44 3.960000
x_p45 4.050000
x_p46 4.140000
x_p47 4.230000
x_p48 4.320000
x_p49 4.410000
x_p50 4.500000
x_p51 4.590000
x_p52 4.680000
x_p53 4.770000
x_p54 4.860000
x_p55 4.950000
x_p56 5.040000
x_p57 5.130000
x_p58 5.220000
x_p59 5.310000
x_p60 5.400000
x_p61 5.490000
x_p62 5.580000
x_p63 5.670000
x_p64 5.760000
x_p65 5.850000
x_p66 5.940000
x_p67 6.030000
x_p68 6.120000
x_p69 6.210000
x_p70 6.300000
x_p71 6.390000
x_p72 6.480000
x_p73 6.570000
x_p74 6.660000
x_p75 6.750000
x_p76 6.840000
x_p77 6.930000
x_p78 7.020000
x_p79 7.110000
x_p80 7.200000
x_p81 7.290000
x_p82 7.380000
x_p83 7.470000
x_p84 7.560000
x_p85 7.650000
x_p86 7.740000
x_p87 7.830000
x_p88 7.920000
x_p89 8.010000
x_p90 8.100000
x_p91 8.190000
x_p92 8.280000
x_p93 8.370000
x_p94 8.460000
x_p95 8.550000
x_p96 8.640000
x_p97 8.730000
x_p98 8.820000
x_p99 8.910000
x_p100 9
mlr --from ./reg_test/input/x0to10.dat --oxtab head -n 11 then stats1 -i -f x -a p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90,p91,p92,p93,p94,p95,p96,p97,p98,p99,p100
x_p00 0.000000
x_p01 0.100000
x_p02 0.200000
x_p03 0.300000
x_p04 0.400000
x_p05 0.500000
x_p06 0.600000
x_p07 0.700000
x_p08 0.800000
x_p09 0.900000
x_p10 1.000000
x_p11 1.100000
x_p12 1.200000
x_p13 1.300000
x_p14 1.400000
x_p15 1.500000
x_p16 1.600000
x_p17 1.700000
x_p18 1.800000
x_p19 1.900000
x_p20 2.000000
x_p21 2.100000
x_p22 2.200000
x_p23 2.300000
x_p24 2.400000
x_p25 2.500000
x_p26 2.600000
x_p27 2.700000
x_p28 2.800000
x_p29 2.900000
x_p30 3.000000
x_p31 3.100000
x_p32 3.200000
x_p33 3.300000
x_p34 3.400000
x_p35 3.500000
x_p36 3.600000
x_p37 3.700000
x_p38 3.800000
x_p39 3.900000
x_p40 4.000000
x_p41 4.100000
x_p42 4.200000
x_p43 4.300000
x_p44 4.400000
x_p45 4.500000
x_p46 4.600000
x_p47 4.700000
x_p48 4.800000
x_p49 4.900000
x_p50 5.000000
x_p51 5.100000
x_p52 5.200000
x_p53 5.300000
x_p54 5.400000
x_p55 5.500000
x_p56 5.600000
x_p57 5.700000
x_p58 5.800000
x_p59 5.900000
x_p60 6.000000
x_p61 6.100000
x_p62 6.200000
x_p63 6.300000
x_p64 6.400000
x_p65 6.500000
x_p66 6.600000
x_p67 6.700000
x_p68 6.800000
x_p69 6.900000
x_p70 7.000000
x_p71 7.100000
x_p72 7.200000
x_p73 7.300000
x_p74 7.400000
x_p75 7.500000
x_p76 7.600000
x_p77 7.700000
x_p78 7.800000
x_p79 7.900000
x_p80 8.000000
x_p81 8.100000
x_p82 8.200000
x_p83 8.300000
x_p84 8.400000
x_p85 8.500000
x_p86 8.600000
x_p87 8.700000
x_p88 8.800000
x_p89 8.900000
x_p90 9.000000
x_p91 9.100000
x_p92 9.200000
x_p93 9.300000
x_p94 9.400000
x_p95 9.500000
x_p96 9.600000
x_p97 9.700000
x_p98 9.800000
x_p99 9.900000
x_p100 10
================================================================
DSL OPERATOR ASSOCIATIVITY
mlr put -v $x = 1 || 2 || 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 || 2 || 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ^^ 2 ^^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^^", type=OPERATOR:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^^", type=OPERATOR:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ^^ 2 ^^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="^^", type=OPERATOR:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="^^", type=OPERATOR:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 && 2 && 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 && 2 && 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 == 2 == 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="==", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="==", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 == 2 == 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="==", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="==", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 != 2 != 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="!=", type=OPERATOR:
text="!=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="!=", type=OPERATOR:
text="!=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 != 2 != 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="!=", type=OPERATOR:
text="!=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="!=", type=OPERATOR:
text="!=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 =~ 2 =~ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="=~", type=OPERATOR:
text="=~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="=~", type=OPERATOR:
text="=~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 =~ 2 =~ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="=~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="=~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 !=~ 2 !=~ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="!=~", type=OPERATOR:
text="!=~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="!=~", type=OPERATOR:
text="!=~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 !=~ 2 !=~ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="!=~", type=OPERATOR:
text="!=~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="!=~", type=OPERATOR:
text="!=~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 == 2 != 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="!=", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="!=", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 == 2 != 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="!=", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="!=", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 != 2 == 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="==", type=OPERATOR:
text="!=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="==", type=OPERATOR:
text="!=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 != 2 == 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="==", type=OPERATOR:
text="!=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="==", type=OPERATOR:
text="!=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 < 2 < 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<", type=OPERATOR:
text="<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<", type=OPERATOR:
text="<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 < 2 < 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="<", type=OPERATOR:
text="<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="<", type=OPERATOR:
text="<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 <= 2 <= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<=", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<=", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 <= 2 <= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="<=", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="<=", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 > 2 > 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=">", type=OPERATOR:
text=">", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=">", type=OPERATOR:
text=">", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 > 2 > 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text=">", type=OPERATOR:
text=">", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text=">", type=OPERATOR:
text=">", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 >= 2 >= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=">=", type=OPERATOR:
text=">=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=">=", type=OPERATOR:
text=">=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 >= 2 >= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text=">=", type=OPERATOR:
text=">=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text=">=", type=OPERATOR:
text=">=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 < 2 <= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<=", type=OPERATOR:
text="<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<=", type=OPERATOR:
text="<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 < 2 <= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="<=", type=OPERATOR:
text="<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="<=", type=OPERATOR:
text="<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 <= 2 < 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 <= 2 < 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="<", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="<", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 | 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 | 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ^ 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ^ 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="^", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="^", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 & 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 & 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 | 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 | 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 | 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 | 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ^ 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ^ 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ^ 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ^ 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 & 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 & 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 & 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 & 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="^", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="^", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 << 2 << 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<<", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<<", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 << 2 << 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="<<", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="<<", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 >> 2 >> 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=">>", type=OPERATOR:
text=">>", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=">>", type=OPERATOR:
text=">>", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 >> 2 >> 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text=">>", type=OPERATOR:
text=">>", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text=">>", type=OPERATOR:
text=">>", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 << 2 >> 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=">>", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=">>", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 << 2 >> 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text=">>", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text=">>", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 >> 2 << 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<<", type=OPERATOR:
text=">>", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<<", type=OPERATOR:
text=">>", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 >> 2 << 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="<<", type=OPERATOR:
text=">>", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="<<", type=OPERATOR:
text=">>", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 + 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 + 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 - 2 - 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="-", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="-", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 - 2 - 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="-", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="-", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 + 2 - 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="-", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="-", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 + 2 - 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="-", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="-", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 - 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 - 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 . 2 . 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 . 2 . 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 / 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 / 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="/", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="/", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 // 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 // 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="//", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="//", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 % 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 % 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="%", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="%", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="/", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="/", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="//", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="//", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="%", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="%", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 / 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 / 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 / 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 / 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="//", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="//", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 / 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 / 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="%", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="%", type=OPERATOR:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 / 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 / 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="/", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 // 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 // 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 // 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 // 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="/", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="/", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 // 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 // 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="%", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="%", type=OPERATOR:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 // 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 // 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="//", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 % 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 % 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 % 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 % 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="/", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="/", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 % 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 % 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="//", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="//", type=OPERATOR:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 % 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 % 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="%", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="/", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** 2 / 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="/", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="/", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="//", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** 2 // 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="//", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="//", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="%", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** 2 % 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="%", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="%", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = ++1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
mlr filter -v ++1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
mlr put -v $x = --1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="-", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="-", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
mlr filter -v --1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="-", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="-", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
mlr put -v $x = !!1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="!", type=OPERATOR:
text="!", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="!", type=OPERATOR:
text="!", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
mlr filter -v !!1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="!", type=OPERATOR:
text="!", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="!", type=OPERATOR:
text="!", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
mlr put -v $x = ~~1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="~", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="~", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
mlr filter -v ~~1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="~", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="~", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ? 2 : 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ? 2 : 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ? 2 ? 3 : 4 : 5 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="? :", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="5", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="? :", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="5", type=NUMERIC_LITERAL.
mlr filter -v 1 ? 2 ? 3 : 4 : 5 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="? :", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="5", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="? :", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="5", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ? 2 : 3 ? 4 : 5 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="? :", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="5", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="? :", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="5", type=NUMERIC_LITERAL.
mlr filter -v 1 ? 2 : 3 ? 4 : 5 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="? :", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="5", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="? :", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="? :", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="5", type=NUMERIC_LITERAL.
================================================================
DSL OPERATOR PRECEDENCE
mlr put -v $x = 1 || 2 ^^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 || 2 ^^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 || 2 && 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 || 2 && 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ^^ 2 || 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ^^ 2 || 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ^^ 2 && 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ^^ 2 && 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="^^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 && 2 || 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 && 2 || 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 && 2 ^^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^^", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^^", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 && 2 ^^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="^^", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="^^", type=OPERATOR:
text="&&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 == 2 <= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="<=", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="<=", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 == 2 <= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="<=", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="<=", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 <= 2 == 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="==", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="==", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 <= 2 == 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="==", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="==", type=OPERATOR:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 <= 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="|", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="|", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 <= 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="|", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="<=", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="|", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 | 2 <= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<=", type=OPERATOR:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="<=", type=OPERATOR:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 | 2 <= 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="<=", type=OPERATOR:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="<=", type=OPERATOR:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 | 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 | 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="^", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ^ 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ^ 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ^ 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ^ 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="^", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 & 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="^", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 & 2 ^ 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="^", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="^", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 & 2 << 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="<<", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="<<", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 & 2 << 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="<<", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="<<", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 << 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 << 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&", type=OPERATOR:
text="<<", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 + 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 + 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 + (2 * 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 + (2 * 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * (2 + 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * (2 + 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = (1 + 2) * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v (1 + 2) * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = (1 * 2) + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v (1 * 2) + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 + 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 + 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 + (2 ** 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 + (2 ** 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** (2 + 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** (2 + 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = (1 + 2) ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v (1 + 2) ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="**", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="**", type=OPERATOR:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = (1 ** 2) + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v (1 ** 2) + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * 2 ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * (2 ** 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * (2 ** 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="**", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 ** (2 * 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 ** (2 * 3) /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = (1 * 2) ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="**", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v (1 * 2) ** 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="**", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="**", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = (1 ** 2) * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v (1 ** 2) * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="*", type=OPERATOR:
text="**", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = -1 + 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v -1 + 2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = -1 * 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v -1 * 2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="-", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 + -2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="-", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="-", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 + -2 * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="-", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="-", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * -2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * -2 + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 + 2 * -3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 + 2 * -3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="*", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 * 2 + -3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 * 2 + -3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="+", type=OPERATOR:
text="*", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="-", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = ~1 | 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v ~1 | 2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = ~1 & 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v ~1 & 2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="~", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 | ~2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="~", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="~", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 | ~2 & 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="~", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="~", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 & ~2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 & ~2 | 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 | 2 & ~3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 | 2 & ~3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="&", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = 1 & 2 | ~3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1 & 2 | ~3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="|", type=OPERATOR:
text="&", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="~", type=OPERATOR:
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = $a==1 && $b == 1 && $c == 1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr filter -v $a==1 && $b == 1 && $c == 1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr put -v $x = $a==1 || $b == 1 && $c == 1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr filter -v $a==1 || $b == 1 && $c == 1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr put -v $x = $a==1 || $b == 1 || $c == 1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr filter -v $a==1 || $b == 1 || $c == 1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr put -v $x = $a==1 && $b == 1 || $c == 1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="||", type=OPERATOR:
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr filter -v $a==1 && $b == 1 || $c == 1 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="&&", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr put -v $x = $a==1 ? $b == 2 : $c == 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
mlr filter -v $a==1 ? $b == 2 : $c == 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="? :", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="? :", type=OPERATOR:
text="==", type=OPERATOR:
text="a", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="b", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="==", type=OPERATOR:
text="c", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
mlr put -v $x = true /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="true", type=BOOLEAN_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="true", type=BOOLEAN_LITERAL.
mlr filter -v true /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="true", type=BOOLEAN_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="true", type=BOOLEAN_LITERAL.
mlr put -v true || 1==0; $x = 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
mlr filter -v true || 1==0 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="0", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="0", type=NUMERIC_LITERAL.
mlr put -v 1==0 || false; $x = 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="false", type=BOOLEAN_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="false", type=BOOLEAN_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
mlr filter -v 1==0 || false /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="false", type=BOOLEAN_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="false", type=BOOLEAN_LITERAL.
mlr put -v true && false; $x = 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&&", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="false", type=BOOLEAN_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&&", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="false", type=BOOLEAN_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
mlr filter -v true && false /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&&", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="false", type=BOOLEAN_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&&", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="false", type=BOOLEAN_LITERAL.
mlr put -v true && false && true; $x = 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="false", type=BOOLEAN_LITERAL.
text="true", type=BOOLEAN_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="false", type=BOOLEAN_LITERAL.
text="true", type=BOOLEAN_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
mlr filter -v true && false && true /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="false", type=BOOLEAN_LITERAL.
text="true", type=BOOLEAN_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="&&", type=OPERATOR:
text="&&", type=OPERATOR:
text="true", type=BOOLEAN_LITERAL.
text="false", type=BOOLEAN_LITERAL.
text="true", type=BOOLEAN_LITERAL.
mlr put -v $y += $x + 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="+", type=OPERATOR:
text="y", type=FIELD_NAME.
text="+", type=OPERATOR:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="+", type=OPERATOR:
text="y", type=FIELD_NAME.
text="+", type=OPERATOR:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
mlr put -v $y += $x * 3 /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="+", type=OPERATOR:
text="y", type=FIELD_NAME.
text="*", type=OPERATOR:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="+", type=OPERATOR:
text="y", type=FIELD_NAME.
text="*", type=OPERATOR:
text="x", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
mlr put -v $y ||= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="||", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="||", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y ^^= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="^^", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="^^", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y &&= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="&&", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="&&", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y |= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="|", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="|", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y ^= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="^", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="^", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y &= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="&", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="&", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y <<= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="<<", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="<<", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y >>= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text=">>", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text=">>", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y += $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="+", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="+", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y -= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="-", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="-", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y .= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text=".", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text=".", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y *= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="*", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="*", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y /= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="/", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="/", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y //= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="//", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="//", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y %= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="%", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="%", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
mlr put -v $y **= $x /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="**", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="**", type=OPERATOR:
text="y", type=FIELD_NAME.
text="x", type=FIELD_NAME.
================================================================
DSL COMMENTS
mlr --from ./reg_test/input/abixy put
$s = 1;
#$t = 2;
$u = 3;
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,s=1,u=3
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,s=1,u=3
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,s=1,u=3
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,s=1,u=3
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,s=1,u=3
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,s=1,u=3
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,s=1,u=3
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,s=1,u=3
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,s=1,u=3
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,s=1,u=3
mlr --from ./reg_test/input/abixy filter
NR == 1 ||
#NR == 2 ||
NR == 3
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
mlr --from ./reg_test/input/abixy put
$s = "here is a pound#sign"; # but this is a comment
#$t = 2;
$u = 3;
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,s=here is a pound#sign,u=3
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,s=here is a pound#sign,u=3
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,s=here is a pound#sign,u=3
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,s=here is a pound#sign,u=3
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,s=here is a pound#sign,u=3
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,s=here is a pound#sign,u=3
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,s=here is a pound#sign,u=3
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,s=here is a pound#sign,u=3
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,s=here is a pound#sign,u=3
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,s=here is a pound#sign,u=3
================================================================
DSL EMPTY STATEMENTS
mlr -n put -v
RAW AST:
AST ROOT:
(null)
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n filter -v
mlr: filter statement must not be empty.
RAW AST:
AST ROOT:
(null)
mlr -n put -v begin {}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v begin {;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v begin {;;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v begin {;;;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v begin {@x=1}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v begin {@x=1;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v begin {;@x=1}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v begin {@x=1;@y=2}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v begin {@x=1;;@y=2}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v true {}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
mlr -n put -v true {;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
mlr -n put -v true {;;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
mlr -n put -v true {;;;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
mlr -n put -v true {@x=1}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr -n put -v true {@x=1;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr -n put -v true {;@x=1}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr -n put -v true {@x=1;@y=2}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
mlr -n put -v true {@x=1;;@y=2}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
mlr -n put -v end {}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v end {;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v end {;;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v end {;;;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v end {@x=1}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v end {@x=1;}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v end {;@x=1}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v end {@x=1;@y=2}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr -n put -v end {@x=1;;@y=2}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="y", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
================================================================
DSL CONTEXT-SPECIFIC VALIDATION
---------------------------------------------------------------- non-top-level begin/end
mlr put -v begin{begin{@x=1}}
mlr: begin statements are only valid at top level.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v true{begin{@x=1}}
mlr: begin statements are only valid at top level.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=3 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v end{end{@x=1}}
mlr: end statements are only valid at top level.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v true{end{@x=1}}
mlr: end statements are only valid at top level.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=3 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
---------------------------------------------------------------- srecs in begin/end
mlr put -v begin{$x=1}
mlr: assignments to $-variables are not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr put -v begin{@x=$y}
mlr: statements involving $-variables are not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="y", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="y", type=FIELD_NAME.
mlr put -v end{$x=1}
mlr: assignments to $-variables are not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
mlr put -v end{@x=$y}
mlr: statements involving $-variables are not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="y", type=FIELD_NAME.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="y", type=FIELD_NAME.
mlr put -v begin{@v=$*}
mlr: assignments from $-variables are not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="$*", type=FULL_SREC.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="$*", type=FULL_SREC.
mlr put -v end{$*=@v}
mlr: assignments to $-variables are not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
mlr put -v begin{unset $x}
mlr: unset of $-variables is not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="x", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="x", type=FIELD_NAME.
mlr put -v end{unset $x}
mlr: unset of $-variables is not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="x", type=FIELD_NAME.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="x", type=FIELD_NAME.
mlr put -v begin{unset $*}
mlr: unset of $-variables is not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="$*", type=FULL_SREC.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="$*", type=FULL_SREC.
mlr put -v end{unset $*}
mlr: unset of $-variables is not valid within begin or end blocks.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="$*", type=FULL_SREC.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="$*", type=FULL_SREC.
---------------------------------------------------------------- break/continue outside loop
mlr put -v break
mlr: break statements are only valid within for, while, or do-while.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="break", type=BREAK.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="break", type=BREAK.
mlr put -v continue
mlr: break statements are only valid within for, while, or do-while.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="continue", type=CONTINUE.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="continue", type=CONTINUE.
---------------------------------------------------------------- oosvars etc. in mlr filter
mlr filter -v break
mlr: filter expressions must end in a final boolean statement.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="break", type=BREAK.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="break", type=BREAK.
mlr filter -v continue
mlr: filter expressions must end in a final boolean statement.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="continue", type=CONTINUE.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="continue", type=CONTINUE.
---------------------------------------------------------------- expanded filter
mlr --from ./reg_test/input/abixy filter
begin {
@avoid = 3
}
NR != @avoid
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=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 filter -x
begin {
@avoid = 3
}
NR != @avoid
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
mlr --from ./reg_test/input/abixy filter
func f(n) {
return n - 1
}
f(NR) == 5
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
mlr --from ./reg_test/input/abixy filter
subr s(n) {
print "NR is ".n
}
call s(NR);
false
NR is 1
NR is 2
NR is 3
NR is 4
NR is 5
NR is 6
NR is 7
NR is 8
NR is 9
NR is 10
mlr --from ./reg_test/input/abixy filter
int a = 5;
int b = 7;
a <= NR && NR <= b
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
mlr --from ./reg_test/input/abixy filter filter false
mlr filter: expressions must not also contain the "filter" keyword.
mlr --from ./reg_test/input/abixy filter filter false; true
mlr filter: expressions must not also contain the "filter" keyword.
================================================================
DSL FUNCTIONAL TESTS
mlr filter $x>.3 ./reg_test/input/abixy
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=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=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr filter $x>.3; ./reg_test/input/abixy
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=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=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr filter $x>0.3 ./reg_test/input/abixy
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=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=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr filter $x>0.3 && $y>0.3 ./reg_test/input/abixy
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=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr filter $x>0.3 || $y>0.3 ./reg_test/input/abixy
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 filter NR>=4 && NR <= 7 ./reg_test/input/abixy
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
mlr filter -x $x>.3 ./reg_test/input/abixy
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr filter -x $x>0.3 ./reg_test/input/abixy
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr filter -x $x>0.3 && $y>0.3 ./reg_test/input/abixy
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=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
mlr filter -x $x>0.3 || $y>0.3 ./reg_test/input/abixy
mlr filter -x NR>=4 && NR <= 7 ./reg_test/input/abixy
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=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 filter $nosuchfield>.3 ./reg_test/input/abixy
mlr put $x2 = $x**2 ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,x2=0.120263
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,x2=0.575595
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,x2=0.041863
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,x2=0.145465
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,x2=0.328660
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,x2=0.277862
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,x2=0.374280
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,x2=0.358267
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,x2=0.000989
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,x2=0.252633
mlr put $x2 = $x**2; ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,x2=0.120263
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,x2=0.575595
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,x2=0.041863
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,x2=0.145465
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,x2=0.328660
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,x2=0.277862
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,x2=0.374280
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,x2=0.358267
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,x2=0.000989
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,x2=0.252633
mlr put $z = -0.024*$x+0.13 ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,z=0.121677
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,z=0.111792
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,z=0.125090
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,z=0.120846
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,z=0.116241
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,z=0.117349
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,z=0.115317
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,z=0.115635
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,z=0.129245
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,z=0.117937
mlr put $c = $a . $b ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,c=panpan
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,c=ekspan
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,c=wyewye
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,c=ekswye
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,c=wyepan
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,c=zeepan
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,c=ekszee
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,c=zeewye
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,c=hatwye
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,c=panwye
mlr put $ii = $i + $i ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,ii=2
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,ii=4
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,ii=6
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,ii=8
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,ii=10
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,ii=12
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,ii=14
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,ii=16
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,ii=18
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,ii=20
mlr put $emptytest = $i + $nosuch ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,emptytest=1
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,emptytest=2
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,emptytest=3
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,emptytest=4
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,emptytest=5
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,emptytest=6
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,emptytest=7
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,emptytest=8
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,emptytest=9
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,emptytest=10
mlr --opprint put $nr=NR;$fnr=FNR;$nf=NF;$filenum=FILENUM ./reg_test/input/abixy ./reg_test/input/abixy
a b i x y nr fnr nf filenum
pan pan 1 0.3467901443380824 0.7268028627434533 1 1 7 1
eks pan 2 0.7586799647899636 0.5221511083334797 2 2 7 1
wye wye 3 0.20460330576630303 0.33831852551664776 3 3 7 1
eks wye 4 0.38139939387114097 0.13418874328430463 4 4 7 1
wye pan 5 0.5732889198020006 0.8636244699032729 5 5 7 1
zee pan 6 0.5271261600918548 0.49322128674835697 6 6 7 1
eks zee 7 0.6117840605678454 0.1878849191181694 7 7 7 1
zee wye 8 0.5985540091064224 0.976181385699006 8 8 7 1
hat wye 9 0.03144187646093577 0.7495507603507059 9 9 7 1
pan wye 10 0.5026260055412137 0.9526183602969864 10 10 7 1
pan pan 1 0.3467901443380824 0.7268028627434533 11 1 7 2
eks pan 2 0.7586799647899636 0.5221511083334797 12 2 7 2
wye wye 3 0.20460330576630303 0.33831852551664776 13 3 7 2
eks wye 4 0.38139939387114097 0.13418874328430463 14 4 7 2
wye pan 5 0.5732889198020006 0.8636244699032729 15 5 7 2
zee pan 6 0.5271261600918548 0.49322128674835697 16 6 7 2
eks zee 7 0.6117840605678454 0.1878849191181694 17 7 7 2
zee wye 8 0.5985540091064224 0.976181385699006 18 8 7 2
hat wye 9 0.03144187646093577 0.7495507603507059 19 9 7 2
pan wye 10 0.5026260055412137 0.9526183602969864 20 10 7 2
mlr --opprint put $y=madd($x,10,37) then put $z=msub($x,10,37) ./reg_test/input/modarith.dat
x y z
-37 10 27
-36 11 28
-35 12 29
-34 13 30
-33 14 31
-32 15 32
-31 16 33
-30 17 34
-29 18 35
-28 19 36
-27 20 0
-26 21 1
-25 22 2
-24 23 3
-23 24 4
-22 25 5
-21 26 6
-20 27 7
-19 28 8
-18 29 9
-17 30 10
-16 31 11
-15 32 12
-14 33 13
-13 34 14
-12 35 15
-11 36 16
-10 0 17
-9 1 18
-8 2 19
-7 3 20
-6 4 21
-5 5 22
-4 6 23
-3 7 24
-2 8 25
-1 9 26
0 10 27
1 11 28
2 12 29
3 13 30
4 14 31
5 15 32
6 16 33
7 17 34
8 18 35
9 19 36
10 20 0
11 21 1
12 22 2
13 23 3
14 24 4
15 25 5
16 26 6
17 27 7
18 28 8
19 29 9
20 30 10
21 31 11
22 32 12
23 33 13
24 34 14
25 35 15
26 36 16
27 0 17
28 1 18
29 2 19
30 3 20
31 4 21
32 5 22
33 6 23
34 7 24
35 8 25
36 9 26
37 10 27
38 11 28
39 12 29
40 13 30
41 14 31
42 15 32
43 16 33
44 17 34
45 18 35
46 19 36
47 20 0
48 21 1
49 22 2
50 23 3
51 24 4
52 25 5
53 26 6
54 27 7
55 28 8
56 29 9
57 30 10
58 31 11
59 32 12
60 33 13
61 34 14
62 35 15
63 36 16
64 0 17
65 1 18
66 2 19
67 3 20
68 4 21
69 5 22
70 6 23
71 7 24
72 8 25
73 9 26
mlr --opprint put $y=mexp($x,35,37) then put $z=mmul($x,$y,37) ./reg_test/input/modarith.dat
x y z
-37 0 0
-36 1 1
-35 19 1
-34 25 1
-33 28 1
-32 15 1
-31 31 1
-30 16 1
-29 14 1
-28 33 1
-27 26 1
-26 27 1
-25 34 1
-24 20 1
-23 8 1
-22 5 1
-21 7 1
-20 24 1
-19 35 1
-18 2 1
-17 13 1
-16 30 1
-15 32 1
-14 29 1
-13 17 1
-12 3 1
-11 10 1
-10 11 1
-9 4 1
-8 23 1
-7 21 1
-6 6 1
-5 22 1
-4 9 1
-3 12 1
-2 18 1
-1 36 1
0 0 0
1 1 1
2 19 1
3 25 1
4 28 1
5 15 1
6 31 1
7 16 1
8 14 1
9 33 1
10 26 1
11 27 1
12 34 1
13 20 1
14 8 1
15 5 1
16 7 1
17 24 1
18 35 1
19 2 1
20 13 1
21 30 1
22 32 1
23 29 1
24 17 1
25 3 1
26 10 1
27 11 1
28 4 1
29 23 1
30 21 1
31 6 1
32 22 1
33 9 1
34 12 1
35 18 1
36 36 1
37 0 0
38 1 1
39 19 1
40 25 1
41 28 1
42 15 1
43 31 1
44 16 1
45 14 1
46 33 1
47 26 1
48 27 1
49 34 1
50 20 1
51 8 1
52 5 1
53 7 1
54 24 1
55 35 1
56 2 1
57 13 1
58 30 1
59 32 1
60 29 1
61 17 1
62 3 1
63 10 1
64 11 1
65 4 1
66 23 1
67 21 1
68 6 1
69 22 1
70 9 1
71 12 1
72 18 1
73 36 1
mlr put $z=min($x, $y) ./reg_test/input/minmax.dkvp
x=1,y=2,z=1
x=1,y=,z=1
x=,y=,z=
x=,y=2,z=2
x=3,y=2,z=2
x=3,y=,z=3
x=,y=,z=
x=,y=2,z=2
mlr put $z=max($x, $y) ./reg_test/input/minmax.dkvp
x=1,y=2,z=2
x=1,y=,z=1
x=,y=,z=
x=,y=2,z=2
x=3,y=2,z=3
x=3,y=,z=3
x=,y=,z=
x=,y=2,z=2
mlr put $o=min()
x=1,y=2,z=3,o=
mlr put $o=max()
x=1,y=2,z=3,o=
mlr put $o=min($x)
x=1,y=2,z=3,o=1
mlr put $o=max($x)
x=1,y=2,z=3,o=1
mlr put $o=min($x,$y)
x=1,y=2,z=3,o=1
mlr put $o=max($x,$y)
x=1,y=2,z=3,o=2
mlr put $o=min($x,$y,$z)
x=1,y=2,z=3,o=1
mlr put $o=max($x,$y,$z)
x=1,y=2,z=3,o=3
mlr --icsvlite --oxtab put ${x+y} = ${name.x} + ${name.y}; ${x*y} = ${name.x} * ${name.y} ./reg_test/input/braced.csv
name.x 1
name.y 2
z 3
x+y 3
x*y 2
name.x 4
name.y 6
z 5
x+y 10
x*y 24
mlr --icsvlite --oxtab filter ${name.y} < ${z} ./reg_test/input/braced.csv
name.x 1
name.y 2
z 3
mlr --opprint put $z = $x < 0.5 ? 0 : 1 ./reg_test/input/abixy
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 0
eks pan 2 0.7586799647899636 0.5221511083334797 1
wye wye 3 0.20460330576630303 0.33831852551664776 0
eks wye 4 0.38139939387114097 0.13418874328430463 0
wye pan 5 0.5732889198020006 0.8636244699032729 1
zee pan 6 0.5271261600918548 0.49322128674835697 1
eks zee 7 0.6117840605678454 0.1878849191181694 1
zee wye 8 0.5985540091064224 0.976181385699006 1
hat wye 9 0.03144187646093577 0.7495507603507059 0
pan wye 10 0.5026260055412137 0.9526183602969864 1
mlr --csvlite filter true && true ./reg_test/input/b.csv
d,e,f
5,6,7
mlr --csvlite filter true && false ./reg_test/input/b.csv
mlr --csvlite filter false && true ./reg_test/input/b.csv
mlr --csvlite filter false && false ./reg_test/input/b.csv
mlr --csvlite filter true || true ./reg_test/input/b.csv
d,e,f
5,6,7
mlr --csvlite filter true || false ./reg_test/input/b.csv
d,e,f
5,6,7
mlr --csvlite filter false || true ./reg_test/input/b.csv
d,e,f
5,6,7
mlr --csvlite filter false || false ./reg_test/input/b.csv
mlr --csvlite filter true ^^ true ./reg_test/input/b.csv
mlr --csvlite filter true ^^ false ./reg_test/input/b.csv
d,e,f
5,6,7
mlr --csvlite filter false ^^ true ./reg_test/input/b.csv
d,e,f
5,6,7
mlr --csvlite filter false ^^ false ./reg_test/input/b.csv
mlr put $x==2 && $a =~ "....." { $y=4 } ./reg_test/input/short-circuit.dkvp
x=1,a="hello"
x=2,a="there",y=4
x=3,a="world"
mlr put $x = ENV["X"]; $y = ENV[$name] ./reg_test/input/env-var.dkvp
name=X,x=97,y=97
name=Y,x=97,y=98
x=97,y=6
mlr put $x = ENV["X"]; $y = ENV[$name] ./reg_test/input/env-var.dkvp
name=X,x=,y=
name=Y,x=,y=
x=,y=6
mlr -n put begin{ENV["HOME"]="foobar"} end{print ENV["HOME"]}
foobar
================================================================
DSL NULL/EMPTY HANDLING
mlr put $z = $s . $s ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,z=hellohello
x=1,y=,s=,z=
x=,y=,s=hurrah,z=hurrahhurrah
mlr put $z = $s == "" ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,z=false
x=1,y=,s=,z=true
x=,y=,s=hurrah,z=false
mlr put $z = $s == $s ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,z=true
x=1,y=,s=,z=true
x=,y=,s=hurrah,z=true
mlr put $z = isempty($s) ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,z=false
x=1,y=,s=,z=true
x=,y=,s=hurrah,z=false
mlr put $z = $x + $y ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,z=3
x=1,y=,s=,z=
x=,y=,s=hurrah,z=
mlr put $z = $y + $y ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,z=4
x=1,y=,s=,z=
x=,y=,s=hurrah,z=
mlr put $z = $x + $nosuch ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,z=1
x=1,y=,s=,z=1
x=,y=,s=hurrah
mlr put $t = sub($s, "ell", "X") ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,t=hXo
x=1,y=,s=,t=
x=,y=,s=hurrah,t=hurrah
mlr put $t = sub($s, "ell", "") ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,t=ho
x=1,y=,s=,t=
x=,y=,s=hurrah,t=hurrah
mlr put $t = sub($nosuch, "ell", "X") ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello
x=1,y=,s=
x=,y=,s=hurrah
mlr put $t = gsub($s, "l", "X") ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,t=heXXo
x=1,y=,s=,t=
x=,y=,s=hurrah,t=hurrah
mlr put $t = gsub($s, "l", "") ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello,t=heo
x=1,y=,s=,t=
x=,y=,s=hurrah,t=hurrah
mlr put $t = gsub($nosuch, "l", "X") ./reg_test/input/null-vs-empty.dkvp
x=1,y=2,s=hello
x=1,y=,s=
x=,y=,s=hurrah
mlr --opprint filter isnull($x) ./reg_test/input/nullvals.dkvp
a x y z
b - 6 -
b - - -
mlr --opprint filter isnull($y) ./reg_test/input/nullvals.dkvp
a x y z
b 5 - -
b - - -
mlr --opprint filter isnull($z) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
b - 6 -
b - - -
mlr --opprint filter isnull($nosuch) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
b - 6 -
b - - -
mlr --opprint filter isnotnull($x) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
mlr --opprint filter isnotnull($y) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b - 6 -
mlr --opprint filter isnotnull($z) ./reg_test/input/nullvals.dkvp
mlr --opprint filter isnotnull($nosuch) ./reg_test/input/nullvals.dkvp
mlr --opprint put $f=isnull($x) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - true
b - - - true
mlr --opprint put $f=isnull($y) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - true
b - 6 - false
b - - - true
mlr --opprint put $f=isnull($z) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put $f=isnull($nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put $f=isnull(@nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put @somesuch=1;$f=isnull(@somesuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isnotnull($x) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - false
b - - - false
mlr --opprint put $f=isnotnull($y) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - false
b - 6 - true
b - - - false
mlr --opprint put $f=isnotnull($z) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isnotnull($nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isnotnull(@nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put @somesuch=1;$f=isnotnull(@somesuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint filter isabsent($x) ./reg_test/input/nullvals.dkvp
mlr --opprint filter isabsent($y) ./reg_test/input/nullvals.dkvp
mlr --opprint filter isabsent($z) ./reg_test/input/nullvals.dkvp
mlr --opprint filter isabsent($nosuch) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
b - 6 -
b - - -
mlr --opprint filter ispresent($x) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
b - 6 -
b - - -
mlr --opprint filter ispresent($y) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
b - 6 -
b - - -
mlr --opprint filter ispresent($z) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
b - 6 -
b - - -
mlr --opprint filter ispresent($nosuch) ./reg_test/input/nullvals.dkvp
mlr --opprint put $f=isabsent($x) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isabsent($y) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isabsent($z) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isabsent($nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put $f=isabsent(@nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put @somesuch=1;$f=isabsent(@somesuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=ispresent($x) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put $f=ispresent($y) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put $f=ispresent($z) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put $f=ispresent($nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=ispresent(@nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put @somesuch=1;$f=ispresent(@somesuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint filter isempty($x) ./reg_test/input/nullvals.dkvp
a x y z
b - 6 -
b - - -
mlr --opprint filter isempty($y) ./reg_test/input/nullvals.dkvp
a x y z
b 5 - -
b - - -
mlr --opprint filter isempty($z) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
b - 6 -
b - - -
mlr --opprint filter isempty($nosuch) ./reg_test/input/nullvals.dkvp
mlr --opprint filter isnotempty($x) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
mlr --opprint filter isnotempty($y) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b - 6 -
mlr --opprint filter isnotempty($z) ./reg_test/input/nullvals.dkvp
mlr --opprint filter isnotempty($nosuch) ./reg_test/input/nullvals.dkvp
a x y z
b 1 2 -
b 3 4 -
b 5 - -
b - 6 -
b - - -
mlr --opprint put $f=isempty($x) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - true
b - - - true
mlr --opprint put $f=isempty($y) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - true
b - 6 - false
b - - - true
mlr --opprint put $f=isempty($z) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put $f=isempty($nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isempty(@nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put @somesuch=1;$f=isempty(@somesuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isnotempty($x) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - false
b - - - false
mlr --opprint put $f=isnotempty($y) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - false
b - 6 - true
b - - - false
mlr --opprint put $f=isnotempty($z) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - false
b 3 4 - false
b 5 - - false
b - 6 - false
b - - - false
mlr --opprint put $f=isnotempty($nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put $f=isnotempty(@nosuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr --opprint put @somesuch=1;$f=isnotempty(@somesuch) ./reg_test/input/nullvals.dkvp
a x y z f
b 1 2 - true
b 3 4 - true
b 5 - - true
b - 6 - true
b - - - true
mlr put -q @v=1; @nonesuch {emit @v} ./reg_test/input/abixy
mlr put -q @v=1; @nonesuch==true {emit @v} ./reg_test/input/abixy
mlr put -q @v=1; $nonesuch {emit @v} ./reg_test/input/abixy
mlr put -q @v=1; $nonesuch==true {emit @v} ./reg_test/input/abixy
---------------------------------------------------------------- PLUS
mlr --ofs tab put begin{}; $xy = $x + $y; $sy = @s + $y; $xt = $x + @t; $st = @s + @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=2 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=2
x= y= xy=
a=1 y=2 xy=2 sy=2
a=1 y=
a= y=2 xy=2 sy=2
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x + $y; $sy = @s + $y; $xt = $x + @t; $st = @s + @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=5 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=5 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=2 sy=5 st=3
a=1 y= sy= st=3
a= y=2 xy=2 sy=5 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x + $y; $sy = @s + $y; $xt = $x + @t; $st = @s + @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=2 xt=5 st=4
x=1 y= xy= xt=5 st=4
x= y=2 xy= sy=2 xt= st=4
x= y= xy= xt= st=4
a=1 y=2 xy=2 sy=2 xt=4 st=4
a=1 y= xt=4 st=4
a= y=2 xy=2 sy=2 xt=4 st=4
a= y= xt=4 st=4
x=1 b=2 xy=1 xt=5 st=4
x=1 b= xy=1 xt=5 st=4
x= b=2 xt= st=4
x= b= xt= st=4
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x + $y; $sy = @s + $y; $xt = $x + @t; $st = @s + @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=5 xt=5 st=7
x=1 y= xy= sy= xt=5 st=7
x= y=2 xy= sy=5 xt= st=7
x= y= xy= sy= xt= st=7
a=1 y=2 xy=2 sy=5 xt=4 st=7
a=1 y= sy= xt=4 st=7
a= y=2 xy=2 sy=5 xt=4 st=7
a= y= sy= xt=4 st=7
x=1 b=2 xy=1 sy=3 xt=5 st=7
x=1 b= xy=1 sy=3 xt=5 st=7
x= b=2 sy=3 xt= st=7
x= b= sy=3 xt= st=7
---------------------------------------------------------------- MINUS
mlr --ofs tab put begin{}; $xy = $x - $y; $sy = @s - $y; $xt = $x - @t; $st = @s - @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=-1 sy=2 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=2
x= y= xy=
a=1 y=2 xy=2 sy=2
a=1 y=
a= y=2 xy=2 sy=2
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x - $y; $sy = @s - $y; $xt = $x - @t; $st = @s - @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=-1 sy=1 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=1 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=2 sy=1 st=3
a=1 y= sy= st=3
a= y=2 xy=2 sy=1 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x - $y; $sy = @s - $y; $xt = $x - @t; $st = @s - @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=-1 sy=2 xt=-3 st=4
x=1 y= xy= xt=-3 st=4
x= y=2 xy= sy=2 xt= st=4
x= y= xy= xt= st=4
a=1 y=2 xy=2 sy=2 xt=4 st=4
a=1 y= xt=4 st=4
a= y=2 xy=2 sy=2 xt=4 st=4
a= y= xt=4 st=4
x=1 b=2 xy=1 xt=-3 st=4
x=1 b= xy=1 xt=-3 st=4
x= b=2 xt= st=4
x= b= xt= st=4
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x - $y; $sy = @s - $y; $xt = $x - @t; $st = @s - @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=-1 sy=1 xt=-3 st=-1
x=1 y= xy= sy= xt=-3 st=-1
x= y=2 xy= sy=1 xt= st=-1
x= y= xy= sy= xt= st=-1
a=1 y=2 xy=2 sy=1 xt=4 st=-1
a=1 y= sy= xt=4 st=-1
a= y=2 xy=2 sy=1 xt=4 st=-1
a= y= sy= xt=4 st=-1
x=1 b=2 xy=1 sy=3 xt=-3 st=-1
x=1 b= xy=1 sy=3 xt=-3 st=-1
x= b=2 sy=3 xt= st=-1
x= b= sy=3 xt= st=-1
---------------------------------------------------------------- TIMES
mlr --ofs tab put begin{}; $xy = $x * $y; $sy = @s * $y; $xt = $x * @t; $st = @s * @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=2 sy=2 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=2
x= y= xy=
a=1 y=2 xy=2 sy=2
a=1 y=
a= y=2 xy=2 sy=2
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x * $y; $sy = @s * $y; $xt = $x * @t; $st = @s * @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=2 sy=6 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=6 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=2 sy=6 st=3
a=1 y= sy= st=3
a= y=2 xy=2 sy=6 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x * $y; $sy = @s * $y; $xt = $x * @t; $st = @s * @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=2 sy=2 xt=4 st=4
x=1 y= xy= xt=4 st=4
x= y=2 xy= sy=2 xt= st=4
x= y= xy= xt= st=4
a=1 y=2 xy=2 sy=2 xt=4 st=4
a=1 y= xt=4 st=4
a= y=2 xy=2 sy=2 xt=4 st=4
a= y= xt=4 st=4
x=1 b=2 xy=1 xt=4 st=4
x=1 b= xy=1 xt=4 st=4
x= b=2 xt= st=4
x= b= xt= st=4
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x * $y; $sy = @s * $y; $xt = $x * @t; $st = @s * @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=2 sy=6 xt=4 st=12
x=1 y= xy= sy= xt=4 st=12
x= y=2 xy= sy=6 xt= st=12
x= y= xy= sy= xt= st=12
a=1 y=2 xy=2 sy=6 xt=4 st=12
a=1 y= sy= xt=4 st=12
a= y=2 xy=2 sy=6 xt=4 st=12
a= y= sy= xt=4 st=12
x=1 b=2 xy=1 sy=3 xt=4 st=12
x=1 b= xy=1 sy=3 xt=4 st=12
x= b=2 sy=3 xt= st=12
x= b= sy=3 xt= st=12
---------------------------------------------------------------- DIVIDE
mlr --ofs tab put begin{}; $xy = $x / $y; $sy = @s / $y; $xt = $x / @t; $st = @s / @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0.500000 sy=0 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=0
x= y= xy=
a=1 y=2 xy=0 sy=0
a=1 y=
a= y=2 xy=0 sy=0
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x / $y; $sy = @s / $y; $xt = $x / @t; $st = @s / @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0.500000 sy=1.500000 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=1.500000 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=0 sy=1.500000 st=3
a=1 y= sy= st=3
a= y=2 xy=0 sy=1.500000 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x / $y; $sy = @s / $y; $xt = $x / @t; $st = @s / @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0.500000 sy=0 xt=0.250000 st=0
x=1 y= xy= xt=0.250000 st=0
x= y=2 xy= sy=0 xt= st=0
x= y= xy= xt= st=0
a=1 y=2 xy=0 sy=0 xt=0 st=0
a=1 y= xt=0 st=0
a= y=2 xy=0 sy=0 xt=0 st=0
a= y= xt=0 st=0
x=1 b=2 xy=1 xt=0.250000 st=0
x=1 b= xy=1 xt=0.250000 st=0
x= b=2 xt= st=0
x= b= xt= st=0
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x / $y; $sy = @s / $y; $xt = $x / @t; $st = @s / @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0.500000 sy=1.500000 xt=0.250000 st=0.750000
x=1 y= xy= sy= xt=0.250000 st=0.750000
x= y=2 xy= sy=1.500000 xt= st=0.750000
x= y= xy= sy= xt= st=0.750000
a=1 y=2 xy=0 sy=1.500000 xt=0 st=0.750000
a=1 y= sy= xt=0 st=0.750000
a= y=2 xy=0 sy=1.500000 xt=0 st=0.750000
a= y= sy= xt=0 st=0.750000
x=1 b=2 xy=1 sy=3 xt=0.250000 st=0.750000
x=1 b= xy=1 sy=3 xt=0.250000 st=0.750000
x= b=2 sy=3 xt= st=0.750000
x= b= sy=3 xt= st=0.750000
---------------------------------------------------------------- INTEGER DIVIDE
mlr --ofs tab put begin{}; $xy = $x // $y; $sy = @s // $y; $xt = $x // @t; $st = @s // @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0 sy=0 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=0
x= y= xy=
a=1 y=2 xy=0 sy=0
a=1 y=
a= y=2 xy=0 sy=0
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x // $y; $sy = @s // $y; $xt = $x // @t; $st = @s // @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0 sy=1 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=1 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=0 sy=1 st=3
a=1 y= sy= st=3
a= y=2 xy=0 sy=1 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x // $y; $sy = @s // $y; $xt = $x // @t; $st = @s // @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0 sy=0 xt=0 st=0
x=1 y= xy= xt=0 st=0
x= y=2 xy= sy=0 xt= st=0
x= y= xy= xt= st=0
a=1 y=2 xy=0 sy=0 xt=0 st=0
a=1 y= xt=0 st=0
a= y=2 xy=0 sy=0 xt=0 st=0
a= y= xt=0 st=0
x=1 b=2 xy=1 xt=0 st=0
x=1 b= xy=1 xt=0 st=0
x= b=2 xt= st=0
x= b= xt= st=0
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x // $y; $sy = @s // $y; $xt = $x // @t; $st = @s // @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0 sy=1 xt=0 st=0
x=1 y= xy= sy= xt=0 st=0
x= y=2 xy= sy=1 xt= st=0
x= y= xy= sy= xt= st=0
a=1 y=2 xy=0 sy=1 xt=0 st=0
a=1 y= sy= xt=0 st=0
a= y=2 xy=0 sy=1 xt=0 st=0
a= y= sy= xt=0 st=0
x=1 b=2 xy=1 sy=3 xt=0 st=0
x=1 b= xy=1 sy=3 xt=0 st=0
x= b=2 sy=3 xt= st=0
x= b= sy=3 xt= st=0
---------------------------------------------------------------- REMAINDER
mlr --ofs tab put begin{}; $xy = $x % $y; $sy = @s % $y; $xt = $x % @t; $st = @s % @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=1 sy=0 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=0
x= y= xy=
a=1 y=2 xy=0 sy=0
a=1 y=
a= y=2 xy=0 sy=0
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x % $y; $sy = @s % $y; $xt = $x % @t; $st = @s % @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=1 sy=1 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=1 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=0 sy=1 st=3
a=1 y= sy= st=3
a= y=2 xy=0 sy=1 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x % $y; $sy = @s % $y; $xt = $x % @t; $st = @s % @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=1 sy=0 xt=1 st=0
x=1 y= xy= xt=1 st=0
x= y=2 xy= sy=0 xt= st=0
x= y= xy= xt= st=0
a=1 y=2 xy=0 sy=0 xt=0 st=0
a=1 y= xt=0 st=0
a= y=2 xy=0 sy=0 xt=0 st=0
a= y= xt=0 st=0
x=1 b=2 xy=1 xt=1 st=0
x=1 b= xy=1 xt=1 st=0
x= b=2 xt= st=0
x= b= xt= st=0
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x % $y; $sy = @s % $y; $xt = $x % @t; $st = @s % @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=1 sy=1 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=1 xt= st=3
x= y= xy= sy= xt= st=3
a=1 y=2 xy=0 sy=1 xt=0 st=3
a=1 y= sy= xt=0 st=3
a= y=2 xy=0 sy=1 xt=0 st=3
a= y= sy= xt=0 st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 xt= st=3
x= b= sy=3 xt= st=3
---------------------------------------------------------------- BITWISE AND
mlr --ofs tab put begin{}; $xy = $x & $y; $sy = @s & $y; $xt = $x & @t; $st = @s & @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0 sy=2 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=2
x= y= xy=
a=1 y=2 xy=2 sy=2
a=1 y=
a= y=2 xy=2 sy=2
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x & $y; $sy = @s & $y; $xt = $x & @t; $st = @s & @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0 sy=2 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=2 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=2 sy=2 st=3
a=1 y= sy= st=3
a= y=2 xy=2 sy=2 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x & $y; $sy = @s & $y; $xt = $x & @t; $st = @s & @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0 sy=2 xt=0 st=4
x=1 y= xy= xt=0 st=4
x= y=2 xy= sy=2 xt= st=4
x= y= xy= xt= st=4
a=1 y=2 xy=2 sy=2 xt=4 st=4
a=1 y= xt=4 st=4
a= y=2 xy=2 sy=2 xt=4 st=4
a= y= xt=4 st=4
x=1 b=2 xy=1 xt=0 st=4
x=1 b= xy=1 xt=0 st=4
x= b=2 xt= st=4
x= b= xt= st=4
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x & $y; $sy = @s & $y; $xt = $x & @t; $st = @s & @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=0 sy=2 xt=0 st=0
x=1 y= xy= sy= xt=0 st=0
x= y=2 xy= sy=2 xt= st=0
x= y= xy= sy= xt= st=0
a=1 y=2 xy=2 sy=2 xt=4 st=0
a=1 y= sy= xt=4 st=0
a= y=2 xy=2 sy=2 xt=4 st=0
a= y= sy= xt=4 st=0
x=1 b=2 xy=1 sy=3 xt=0 st=0
x=1 b= xy=1 sy=3 xt=0 st=0
x= b=2 sy=3 xt= st=0
x= b= sy=3 xt= st=0
---------------------------------------------------------------- BITWISE OR
mlr --ofs tab put begin{}; $xy = $x | $y; $sy = @s | $y; $xt = $x | @t; $st = @s | @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=2 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=2
x= y= xy=
a=1 y=2 xy=2 sy=2
a=1 y=
a= y=2 xy=2 sy=2
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x | $y; $sy = @s | $y; $xt = $x | @t; $st = @s | @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=3 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=3 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=2 sy=3 st=3
a=1 y= sy= st=3
a= y=2 xy=2 sy=3 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x | $y; $sy = @s | $y; $xt = $x | @t; $st = @s | @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=2 xt=5 st=4
x=1 y= xy= xt=5 st=4
x= y=2 xy= sy=2 xt= st=4
x= y= xy= xt= st=4
a=1 y=2 xy=2 sy=2 xt=4 st=4
a=1 y= xt=4 st=4
a= y=2 xy=2 sy=2 xt=4 st=4
a= y= xt=4 st=4
x=1 b=2 xy=1 xt=5 st=4
x=1 b= xy=1 xt=5 st=4
x= b=2 xt= st=4
x= b= xt= st=4
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x | $y; $sy = @s | $y; $xt = $x | @t; $st = @s | @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=3 xt=5 st=7
x=1 y= xy= sy= xt=5 st=7
x= y=2 xy= sy=3 xt= st=7
x= y= xy= sy= xt= st=7
a=1 y=2 xy=2 sy=3 xt=4 st=7
a=1 y= sy= xt=4 st=7
a= y=2 xy=2 sy=3 xt=4 st=7
a= y= sy= xt=4 st=7
x=1 b=2 xy=1 sy=3 xt=5 st=7
x=1 b= xy=1 sy=3 xt=5 st=7
x= b=2 sy=3 xt= st=7
x= b= sy=3 xt= st=7
---------------------------------------------------------------- BITWISE XOR
mlr --ofs tab put begin{}; $xy = $x ^ $y; $sy = @s ^ $y; $xt = $x ^ @t; $st = @s ^ @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=2 xt=1
x=1 y= xy= xt=1
x= y=2 xy= sy=2
x= y= xy=
a=1 y=2 xy=2 sy=2
a=1 y=
a= y=2 xy=2 sy=2
a= y=
x=1 b=2 xy=1 xt=1
x=1 b= xy=1 xt=1
x= b=2
x= b=
mlr --ofs tab put begin{@s=3}; $xy = $x ^ $y; $sy = @s ^ $y; $xt = $x ^ @t; $st = @s ^ @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=1 xt=1 st=3
x=1 y= xy= sy= xt=1 st=3
x= y=2 xy= sy=1 st=3
x= y= xy= sy= st=3
a=1 y=2 xy=2 sy=1 st=3
a=1 y= sy= st=3
a= y=2 xy=2 sy=1 st=3
a= y= sy= st=3
x=1 b=2 xy=1 sy=3 xt=1 st=3
x=1 b= xy=1 sy=3 xt=1 st=3
x= b=2 sy=3 st=3
x= b= sy=3 st=3
mlr --ofs tab put begin{@t=4}; $xy = $x ^ $y; $sy = @s ^ $y; $xt = $x ^ @t; $st = @s ^ @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=2 xt=5 st=4
x=1 y= xy= xt=5 st=4
x= y=2 xy= sy=2 xt= st=4
x= y= xy= xt= st=4
a=1 y=2 xy=2 sy=2 xt=4 st=4
a=1 y= xt=4 st=4
a= y=2 xy=2 sy=2 xt=4 st=4
a= y= xt=4 st=4
x=1 b=2 xy=1 xt=5 st=4
x=1 b= xy=1 xt=5 st=4
x= b=2 xt= st=4
x= b= xt= st=4
mlr --ofs tab put begin{@s=3;@t=4}; $xy = $x ^ $y; $sy = @s ^ $y; $xt = $x ^ @t; $st = @s ^ @t ./reg_test/input/typeof.dkvp
x=1 y=2 xy=3 sy=1 xt=5 st=7
x=1 y= xy= sy= xt=5 st=7
x= y=2 xy= sy=1 xt= st=7
x= y= xy= sy= xt= st=7
a=1 y=2 xy=2 sy=1 xt=4 st=7
a=1 y= sy= xt=4 st=7
a= y=2 xy=2 sy=1 xt=4 st=7
a= y= sy= xt=4 st=7
x=1 b=2 xy=1 sy=3 xt=5 st=7
x=1 b= xy=1 sy=3 xt=5 st=7
x= b=2 sy=3 xt= st=7
x= b= sy=3 xt= st=7
================================================================
DSL TYPE PREDICATES
mlr --from ./reg_test/input/abixy --opprint put for (k, v in $*) { $[k."_type"] = typeof(v) }
a b i x y a_type b_type i_type x_type y_type
pan pan 1 0.3467901443380824 0.7268028627434533 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
eks pan 2 0.7586799647899636 0.5221511083334797 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
wye wye 3 0.20460330576630303 0.33831852551664776 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
eks wye 4 0.38139939387114097 0.13418874328430463 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
wye pan 5 0.5732889198020006 0.8636244699032729 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
zee pan 6 0.5271261600918548 0.49322128674835697 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
eks zee 7 0.6117840605678454 0.1878849191181694 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
zee wye 8 0.5985540091064224 0.976181385699006 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
hat wye 9 0.03144187646093577 0.7495507603507059 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
pan wye 10 0.5026260055412137 0.9526183602969864 MT_STRING MT_STRING MT_INT MT_FLOAT MT_FLOAT
mlr --from ./reg_test/input/abixy-het put -q for (k,v in $*) {if (isfloat(v)) {@float[NR][k] = v}} end{ emit @float, "NR", "k" }
NR=1,k=x,float=0.346790
NR=1,k=y,float=0.726803
NR=2,k=x,float=0.758680
NR=2,k=y,float=0.522151
NR=3,k=x,float=0.204603
NR=3,k=y,float=0.338319
NR=4,k=x,float=0.381399
NR=4,k=y,float=0.134189
NR=5,k=xxx,float=0.573289
NR=5,k=y,float=0.863624
NR=6,k=x,float=0.527126
NR=6,k=y,float=0.493221
NR=7,k=x,float=0.611784
NR=7,k=y,float=0.187885
NR=8,k=x,float=0.598554
NR=8,k=yyy,float=0.976181
NR=9,k=x,float=0.031442
NR=9,k=y,float=0.749551
NR=10,k=x,float=0.502626
NR=10,k=y,float=0.952618
mlr --from ./reg_test/input/abixy-het put -q for (k,v in $*) {if (isint(v)) {@int[NR][k] = v}} end{ emit @int, "NR", "k" }
NR=1,k=i,int=1
NR=2,k=i,int=2
NR=3,k=i,int=3
NR=4,k=i,int=4
NR=5,k=i,int=5
NR=6,k=i,int=6
NR=7,k=iii,int=7
NR=8,k=i,int=8
NR=9,k=i,int=9
NR=10,k=i,int=10
mlr --from ./reg_test/input/abixy-het put -q for (k,v in $*) {if (isnumeric(v)) {@numeric[NR][k] = v}} end{ emit @numeric, "NR", "k" }
NR=1,k=i,numeric=1
NR=1,k=x,numeric=0.346790
NR=1,k=y,numeric=0.726803
NR=2,k=i,numeric=2
NR=2,k=x,numeric=0.758680
NR=2,k=y,numeric=0.522151
NR=3,k=i,numeric=3
NR=3,k=x,numeric=0.204603
NR=3,k=y,numeric=0.338319
NR=4,k=i,numeric=4
NR=4,k=x,numeric=0.381399
NR=4,k=y,numeric=0.134189
NR=5,k=i,numeric=5
NR=5,k=xxx,numeric=0.573289
NR=5,k=y,numeric=0.863624
NR=6,k=i,numeric=6
NR=6,k=x,numeric=0.527126
NR=6,k=y,numeric=0.493221
NR=7,k=iii,numeric=7
NR=7,k=x,numeric=0.611784
NR=7,k=y,numeric=0.187885
NR=8,k=i,numeric=8
NR=8,k=x,numeric=0.598554
NR=8,k=yyy,numeric=0.976181
NR=9,k=i,numeric=9
NR=9,k=x,numeric=0.031442
NR=9,k=y,numeric=0.749551
NR=10,k=i,numeric=10
NR=10,k=x,numeric=0.502626
NR=10,k=y,numeric=0.952618
mlr --from ./reg_test/input/abixy-het put -q for (k,v in $*) {if (isstring(v)) {@string[NR][k] = v}} end{ emit @string, "NR", "k" }
NR=1,k=a,string=pan
NR=1,k=b,string=pan
NR=2,k=a,string=eks
NR=2,k=b,string=pan
NR=3,k=aaa,string=wye
NR=3,k=b,string=wye
NR=4,k=a,string=eks
NR=4,k=bbb,string=wye
NR=5,k=a,string=wye
NR=5,k=b,string=pan
NR=6,k=a,string=zee
NR=6,k=b,string=pan
NR=7,k=a,string=eks
NR=7,k=b,string=zee
NR=8,k=a,string=zee
NR=8,k=b,string=wye
NR=9,k=aaa,string=hat
NR=9,k=bbb,string=wye
NR=10,k=a,string=pan
NR=10,k=b,string=wye
mlr --from ./reg_test/input/abixy-het put -q for (k,v in $*) {if (isbool(v)) {@bool[NR][k] = v}} end{ emit @bool, "NR", "k" }
mlr --from ./reg_test/input/abixy-het put -q for (k,v in $*) {if (isbool(NR==2)) {@bool[NR][k] = "NR==2"}} end{ emit @bool, "NR", "k" }
NR=1,k=a,bool=NR==2
NR=1,k=b,bool=NR==2
NR=1,k=i,bool=NR==2
NR=1,k=x,bool=NR==2
NR=1,k=y,bool=NR==2
NR=2,k=a,bool=NR==2
NR=2,k=b,bool=NR==2
NR=2,k=i,bool=NR==2
NR=2,k=x,bool=NR==2
NR=2,k=y,bool=NR==2
NR=3,k=aaa,bool=NR==2
NR=3,k=b,bool=NR==2
NR=3,k=i,bool=NR==2
NR=3,k=x,bool=NR==2
NR=3,k=y,bool=NR==2
NR=4,k=a,bool=NR==2
NR=4,k=bbb,bool=NR==2
NR=4,k=i,bool=NR==2
NR=4,k=x,bool=NR==2
NR=4,k=y,bool=NR==2
NR=5,k=a,bool=NR==2
NR=5,k=b,bool=NR==2
NR=5,k=i,bool=NR==2
NR=5,k=xxx,bool=NR==2
NR=5,k=y,bool=NR==2
NR=6,k=a,bool=NR==2
NR=6,k=b,bool=NR==2
NR=6,k=i,bool=NR==2
NR=6,k=x,bool=NR==2
NR=6,k=y,bool=NR==2
NR=7,k=a,bool=NR==2
NR=7,k=b,bool=NR==2
NR=7,k=iii,bool=NR==2
NR=7,k=x,bool=NR==2
NR=7,k=y,bool=NR==2
NR=8,k=a,bool=NR==2
NR=8,k=b,bool=NR==2
NR=8,k=i,bool=NR==2
NR=8,k=x,bool=NR==2
NR=8,k=yyy,bool=NR==2
NR=9,k=aaa,bool=NR==2
NR=9,k=bbb,bool=NR==2
NR=9,k=i,bool=NR==2
NR=9,k=x,bool=NR==2
NR=9,k=y,bool=NR==2
NR=10,k=a,bool=NR==2
NR=10,k=b,bool=NR==2
NR=10,k=i,bool=NR==2
NR=10,k=x,bool=NR==2
NR=10,k=y,bool=NR==2
================================================================
DSL TYPE-INFERENCE
mlr --xtab put $y = $pi1 + $pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 151
mlr --xtab put -F $y = $pi1 + $pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 151.000000
mlr --xtab put -S $y = $pi1 . $pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 7576
mlr --xtab filter 999 != $pi1 + $pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
mlr --xtab filter -F 999 != $pi1 + $pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
mlr --xtab filter -S "999" != $pi1 . $pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
mlr --xtab put $y=abs($pf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 71.200000
mlr --xtab put $y=abs($nf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 71.200000
mlr --xtab put $y=abs($zf) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put $y=abs($pi1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 75
mlr --xtab put $y=abs($ni1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 75
mlr --xtab put $y=abs($zi) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0
mlr --xtab put -F $y=abs($pf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 71.200000
mlr --xtab put -F $y=abs($nf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 71.200000
mlr --xtab put -F $y=abs($zf) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put -F $y=abs($pi1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 75.000000
mlr --xtab put -F $y=abs($ni1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 75.000000
mlr --xtab put -F $y=abs($zi) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put $y=ceil($pf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 72.000000
mlr --xtab put $y=ceil($nf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -71.000000
mlr --xtab put $y=ceil($zf) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put $y=ceil($pi1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 75
mlr --xtab put $y=ceil($ni1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -75
mlr --xtab put $y=ceil($zi) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0
mlr --xtab put -F $y=floor($pf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 71.000000
mlr --xtab put -F $y=floor($nf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -72.000000
mlr --xtab put -F $y=floor($zf) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put -F $y=floor($pi1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 75.000000
mlr --xtab put -F $y=floor($ni1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -75.000000
mlr --xtab put -F $y=floor($zi) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put $y=round($pf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 71.000000
mlr --xtab put $y=round($nf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -71.000000
mlr --xtab put $y=round($zf) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put $y=round($pi1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 75
mlr --xtab put $y=round($ni1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -75
mlr --xtab put $y=round($zi) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0
mlr --xtab put -F $y=round($pf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 71.000000
mlr --xtab put -F $y=round($nf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -71.000000
mlr --xtab put -F $y=round($zf) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put -F $y=round($pi1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 75.000000
mlr --xtab put -F $y=round($ni1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -75.000000
mlr --xtab put -F $y=round($zi) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put $y=sgn($pf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 1.000000
mlr --xtab put $y=sgn($nf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -1.000000
mlr --xtab put $y=sgn($zf) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put $y=sgn($pi1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 1
mlr --xtab put $y=sgn($ni1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -1
mlr --xtab put $y=sgn($zi) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0
mlr --xtab put -F $y=sgn($pf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 1.000000
mlr --xtab put -F $y=sgn($nf1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -1.000000
mlr --xtab put -F $y=sgn($zf) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put -F $y=sgn($pi1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 1.000000
mlr --xtab put -F $y=sgn($ni1) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y -1.000000
mlr --xtab put -F $y=sgn($zi) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
y 0.000000
mlr --xtab put $min=min($pf1,$pf2);$max=max($pf1,$pf2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 71.200000
max 73.400000
mlr --xtab put $min=min($pf1,$pi2);$max=max($pf1,$pi2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 71.200000
max 76.000000
mlr --xtab put $min=min($pi1,$pf2);$max=max($pi1,$pf2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 73.400000
max 75.000000
mlr --xtab put $min=min($pi1,$pi2);$max=max($pi1,$pi2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 75
max 76
mlr --xtab put -F $min=min($pf1,$pf2);$max=max($pf1,$pf2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 71.200000
max 73.400000
mlr --xtab put -F $min=min($pf1,$pi2);$max=max($pf1,$pi2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 71.200000
max 76.000000
mlr --xtab put -F $min=min($pi1,$pf2);$max=max($pi1,$pf2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 73.400000
max 75.000000
mlr --xtab put -F $min=min($pi1,$pi2);$max=max($pi1,$pi2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 75.000000
max 76.000000
mlr --xtab put $min=min($pf1,$pf2);$max=max($pf1,$pf2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 71.200000
max 73.400000
mlr --xtab put $min=min($pf1,$pi2);$max=max($pf1,$pi2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 71.200000
max 76.000000
mlr --xtab put $min=min($pi1,$pf2);$max=max($pi1,$pf2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 73.400000
max 75.000000
mlr --xtab put $min=min($pi1,$pi2);$max=max($pi1,$pi2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 75
max 76
mlr --xtab put -F $min=min($pf1,$pf2);$max=max($pf1,$pf2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 71.200000
max 73.400000
mlr --xtab put -F $min=min($pf1,$pi2);$max=max($pf1,$pi2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 71.200000
max 76.000000
mlr --xtab put -F $min=min($pi1,$pf2);$max=max($pi1,$pf2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 73.400000
max 75.000000
mlr --xtab put -F $min=min($pi1,$pi2);$max=max($pi1,$pi2) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
min 75.000000
max 76.000000
mlr --xtab put $sum=$pf1+$pf2;$diff=$pf1-$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
sum 144.600000
diff -2.200000
mlr --xtab put $sum=$pf1+$pi2;$diff=$pf1-$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
sum 147.200000
diff -4.800000
mlr --xtab put $sum=$pi1+$pf2;$diff=$pi1-$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
sum 148.400000
diff 1.600000
mlr --xtab put $sum=$pi1+$pi2;$diff=$pi1-$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
sum 151
diff -1
mlr --xtab put -F $sum=$pf1+$pf2;$diff=$pf1-$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
sum 144.600000
diff -2.200000
mlr --xtab put -F $sum=$pf1+$pi2;$diff=$pf1-$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
sum 147.200000
diff -4.800000
mlr --xtab put -F $sum=$pi1+$pf2;$diff=$pi1-$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
sum 148.400000
diff 1.600000
mlr --xtab put -F $sum=$pi1+$pi2;$diff=$pi1-$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
sum 151.000000
diff -1.000000
mlr --xtab put $prod=$pf1*$pf2;$quot=$pf1/$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
prod 5226.080000
quot 0.970027
mlr --xtab put $prod=$pf1*$pi2;$quot=$pf1/$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
prod 5411.200000
quot 0.936842
mlr --xtab put $prod=$pi1*$pf2;$quot=$pi1/$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
prod 5505.000000
quot 1.021798
mlr --xtab put $prod=$pi1*$pi2;$quot=$pi1/$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
prod 5700
quot 0.986842
mlr --xtab put -F $prod=$pf1*$pf2;$quot=$pf1/$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
prod 5226.080000
quot 0.970027
mlr --xtab put -F $prod=$pf1*$pi2;$quot=$pf1/$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
prod 5411.200000
quot 0.936842
mlr --xtab put -F $prod=$pi1*$pf2;$quot=$pi1/$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
prod 5505.000000
quot 1.021798
mlr --xtab put -F $prod=$pi1*$pi2;$quot=$pi1/$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
prod 5700.000000
quot 0.986842
mlr --xtab put $iquot=$pf1//$pf2;$mod=$pf1%$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
iquot 0.000000
mod 71.200000
mlr --xtab put $iquot=$pf1//$pi2;$mod=$pf1%$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
iquot 0.000000
mod 71.200000
mlr --xtab put $iquot=$pi1//$pf2;$mod=$pi1%$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
iquot 1.000000
mod 1.600000
mlr --xtab put $iquot=$pi1//$pi2;$mod=$pi1%$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
iquot 0
mod 75
mlr --xtab put -F $iquot=$pf1//$pf2;$mod=$pf1%$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
iquot 0.000000
mod 71.200000
mlr --xtab put -F $iquot=$pf1//$pi2;$mod=$pf1%$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
iquot 0.000000
mod 71.200000
mlr --xtab put -F $iquot=$pi1//$pf2;$mod=$pi1%$pf2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
iquot 1.000000
mod 1.600000
mlr --xtab put -F $iquot=$pi1//$pi2;$mod=$pi1%$pi2 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
iquot 0.000000
mod 75.000000
mlr --xtab put $a=roundm($pf1,10.0);$b=roundm($pf1,-10.0) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
a 70.000000
b 70.000000
mlr --xtab put $a=roundm($pf1,10) ;$b=roundm($pf1,-10) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
a 70.000000
b 70.000000
mlr --xtab put $a=roundm($pi1,10.0);$b=roundm($pi1,-10.0) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
a 80.000000
b 80.000000
mlr --xtab put $a=roundm($pi1,10) ;$b=roundm($pi1,-10) ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
a 70
b 70
mlr --oxtab put $z=$x+$y; $a=3+4; $b="3"."4"; $c="3"+4
x 3
y 4
z 7
a 7
b 34
c (error)
================================================================
DSL SCIENTIFIC NOTATION IN FIELD VALUES
mlr --opprint put $y=$x+1 ./reg_test/input/scinot.dkvp
x y
123 124
123. 124.000000
123.4 124.400000
.234 1.234000
1e2 101.000000
1e-2 1.010000
1.2e3 1201.000000
1.e3 1001.000000
1.2e-3 1.001200
1.e-3 1.001000
.2e3 201.000000
.2e-3 1.000200
1.e-3 1.001000
-123 -122
-123. -122.000000
-123.4 -122.400000
-.234 0.766000
-1e2 -99.000000
-1e-2 0.990000
-1.2e3 -1199.000000
-1.e3 -999.000000
-1.2e-3 0.998800
-1.e-3 0.999000
-.2e3 -199.000000
-.2e-3 0.999800
-1.e-3 0.999000
================================================================
DSL SCIENTIFIC NOTATION IN EXPRESSION LITERALS
mlr --opprint put $y = 123 + $i ./reg_test/input/scinot1.dkvp
i y
1 124
mlr --opprint put $y = 123. + $i ./reg_test/input/scinot1.dkvp
i y
1 124.000000
mlr --opprint put $y = 123.4 + $i ./reg_test/input/scinot1.dkvp
i y
1 124.400000
mlr --opprint put $y = .234 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.234000
mlr --opprint put $y = 1e2 + $i ./reg_test/input/scinot1.dkvp
i y
1 101.000000
mlr --opprint put $y = 1e-2 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.010000
mlr --opprint put $y = 1.2e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1201.000000
mlr --opprint put $y = 1.e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1001.000000
mlr --opprint put $y = 1.2e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.001200
mlr --opprint put $y = 1.e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.001000
mlr --opprint put $y = .2e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 201.000000
mlr --opprint put $y = .2e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.000200
mlr --opprint put $y = 1.e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.001000
mlr --opprint put $y = -123 + $i ./reg_test/input/scinot1.dkvp
i y
1 -122
mlr --opprint put $y = -123. + $i ./reg_test/input/scinot1.dkvp
i y
1 -122.000000
mlr --opprint put $y = -123.4 + $i ./reg_test/input/scinot1.dkvp
i y
1 -122.400000
mlr --opprint put $y = -.234 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.766000
mlr --opprint put $y = -1e2 + $i ./reg_test/input/scinot1.dkvp
i y
1 -99.000000
mlr --opprint put $y = -1e-2 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.990000
mlr --opprint put $y = -1.2e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 -1199.000000
mlr --opprint put $y = -1.e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 -999.000000
mlr --opprint put $y = -1.2e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.998800
mlr --opprint put $y = -1.e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.999000
mlr --opprint put $y = -.2e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 -199.000000
mlr --opprint put $y = -.2e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.999800
mlr --opprint put $y = -1.e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.999000
================================================================
DSL FROM-FILE FEATURE
mlr put -f ./reg_test/input/put-example.dsl ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,xy=0.252048,ab=panpan
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,xy=0.396146,ab=ekspan
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,xy=0.069221,ab=wyewye
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,xy=0.051180,ab=ekswye
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,xy=0.495106,ab=wyepan
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,xy=0.259990,ab=zeepan
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,xy=0.114945,ab=ekszee
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,xy=0.584297,ab=zeewye
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,xy=0.023567,ab=hatwye
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,xy=0.478811,ab=panwye
mlr filter -f ./reg_test/input/filter-example.dsl ./reg_test/input/abixy
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
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 -f ./reg_test/input/put-example.dsl
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,xy=0.252048,ab=panpan
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,xy=0.396146,ab=ekspan
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,xy=0.069221,ab=wyewye
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,xy=0.051180,ab=ekswye
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,xy=0.495106,ab=wyepan
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,xy=0.259990,ab=zeepan
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,xy=0.114945,ab=ekszee
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,xy=0.584297,ab=zeewye
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,xy=0.023567,ab=hatwye
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,xy=0.478811,ab=panwye
mlr --from ./reg_test/input/abixy filter -f ./reg_test/input/filter-example.dsl
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
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 --from ./reg_test/input/abixy-het put -f ./reg_test/input/put-example.dsl
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,xy=0.252048,ab=panpan
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,xy=0.396146,ab=ekspan
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,xy=0.069221,ab=wyewye
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,xy=0.051180,ab=ekswye
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,xy=0.495106,ab=wyepan
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,xy=0.259990,ab=zeepan
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,xy=0.114945,ab=ekszee
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,xy=0.584297,ab=zeewye
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,xy=0.023567,ab=hatwye
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,xy=0.478811,ab=panwye
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,xy=0.252048,ab=panpan
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,xy=0.396146,ab=ekspan
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,xy=0.069221,ab=wye
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,xy=0.051180,ab=eks
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729,xy=0.863624,ab=wyepan
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,xy=0.259990,ab=zeepan
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694,xy=0.114945,ab=ekszee
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006,xy=0.598554,ab=zeewye
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,xy=0.023567
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,xy=0.478811,ab=panwye
mlr --from ./reg_test/input/abixy --from ./reg_test/input/abixy-het filter -f ./reg_test/input/filter-example.dsl
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
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
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
================================================================
DSL MULTI-PART SCRIPTS
mlr --opprint --from ./reg_test/input/abixy put -f ./reg_test/input/put-script-piece-1
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put -f ./reg_test/input/put-script-piece-1 -f ./reg_test/input/put-script-piece-2
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put -f ./reg_test/input/put-script-piece-1 -f ./reg_test/input/put-script-piece-2 -f ./reg_test/input/put-script-piece-3
a b i x y o W DID
pan pan 1 0.3467901443380824 0.7268028627434533 2.073593 1 YES
eks pan 2 0.7586799647899636 0.5221511083334797 3.280831 2 YES
wye wye 3 0.20460330576630303 0.33831852551664776 3.542922 3 YES
eks wye 4 0.38139939387114097 0.13418874328430463 4.515588 4 YES
wye pan 5 0.5732889198020006 0.8636244699032729 6.436913 5 YES
zee pan 6 0.5271261600918548 0.49322128674835697 7.020347 6 YES
eks zee 7 0.6117840605678454 0.1878849191181694 7.799669 7 YES
zee wye 8 0.5985540091064224 0.976181385699006 9.574735 8 YES
hat wye 9 0.03144187646093577 0.7495507603507059 9.780993 9 YES
pan wye 10 0.5026260055412137 0.9526183602969864 11.455244 10 YES
mlr --opprint --from ./reg_test/input/abixy put -e $xy = $x**2 + $y**2
a b i x y xy
pan pan 1 0.3467901443380824 0.7268028627434533 0.648506
eks pan 2 0.7586799647899636 0.5221511083334797 0.848237
wye wye 3 0.20460330576630303 0.33831852551664776 0.156322
eks wye 4 0.38139939387114097 0.13418874328430463 0.163472
wye pan 5 0.5732889198020006 0.8636244699032729 1.074507
zee pan 6 0.5271261600918548 0.49322128674835697 0.521129
eks zee 7 0.6117840605678454 0.1878849191181694 0.409580
zee wye 8 0.5985540091064224 0.976181385699006 1.311197
hat wye 9 0.03144187646093577 0.7495507603507059 0.562815
pan wye 10 0.5026260055412137 0.9526183602969864 1.160115
mlr --opprint --from ./reg_test/input/abixy filter -e NR == 7
a b i x y
eks zee 7 0.6117840605678454 0.1878849191181694
mlr --opprint --from ./reg_test/input/abixy put -e print "PRE"; -f ./reg_test/input/put-script-piece-1 -f ./reg_test/input/put-script-piece-2 -f ./reg_test/input/put-script-piece-3 -e print "POST"
PRE
POST
PRE
POST
PRE
POST
PRE
POST
PRE
POST
PRE
POST
PRE
POST
PRE
POST
PRE
POST
PRE
POST
a b i x y o W DID
pan pan 1 0.3467901443380824 0.7268028627434533 2.073593 1 YES
eks pan 2 0.7586799647899636 0.5221511083334797 3.280831 2 YES
wye wye 3 0.20460330576630303 0.33831852551664776 3.542922 3 YES
eks wye 4 0.38139939387114097 0.13418874328430463 4.515588 4 YES
wye pan 5 0.5732889198020006 0.8636244699032729 6.436913 5 YES
zee pan 6 0.5271261600918548 0.49322128674835697 7.020347 6 YES
eks zee 7 0.6117840605678454 0.1878849191181694 7.799669 7 YES
zee wye 8 0.5985540091064224 0.976181385699006 9.574735 8 YES
hat wye 9 0.03144187646093577 0.7495507603507059 9.780993 9 YES
pan wye 10 0.5026260055412137 0.9526183602969864 11.455244 10 YES
mlr --opprint --from ./reg_test/input/abixy filter -f ./reg_test/input/filter-script-piece-1
a b i x y
eks pan 2 0.7586799647899636 0.5221511083334797
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy filter -f ./reg_test/input/filter-script-piece-1 -f ./reg_test/input/filter-script-piece-2
a b i x y
eks pan 2 0.7586799647899636 0.5221511083334797
================================================================
UTF-8 STRLEN
mlr --inidx --ifs comma --oxtab put $s1=strlen($1);$s2=strlen($2);$s3=strlen($3);$s4=strlen($4) ./reg_test/input/utf8-align.dkvp
1 191º=test
2 1912=test2
3 cois=çais
4 çois=cais
s1 9
s2 10
s3 9
s4 9
1 191º=test
2 1912=test2
3 ois=çais
4 çois=cais
s1 9
s2 10
s3 8
s4 9
1 191º=test
2 1912=test2
3 coise=çais
4 çois=cais
s1 9
s2 10
s3 10
s4 9
================================================================
STATS1/STEP INT/FLOAT
mlr --opprint step -a rsum,delta,counter -f x,y,z ./reg_test/input/int-float.dkvp
x y z x_rsum x_delta x_counter y_rsum y_delta y_counter z_rsum z_delta z_counter
1 10.1 20 1 0 1 10.100000 0 1 20 0 1
2 10.2 30 3 1 2 20.300000 0.100000 2 50 10 2
3 10.3 40.8 6 1 3 30.600000 0.100000 3 90.800000 10.800000 3
mlr --opprint step -F -a rsum,delta,counter -f x,y,z ./reg_test/input/int-float.dkvp
x y z x_rsum x_delta x_counter y_rsum y_delta y_counter z_rsum z_delta z_counter
1 10.1 20 1.000000 0.000000 1.000000 10.100000 0.000000 1.000000 20.000000 0.000000 1.000000
2 10.2 30 3.000000 1.000000 2.000000 20.300000 0.100000 2.000000 50.000000 10.000000 2.000000
3 10.3 40.8 6.000000 1.000000 3.000000 30.600000 0.100000 3.000000 90.800000 10.800000 3.000000
mlr --oxtab stats1 -a min,max,sum,count -f x,y,z ./reg_test/input/int-float.dkvp
x_min 1
x_max 3
x_sum 6
x_count 3
y_min 10.100000
y_max 10.300000
y_sum 30.600000
y_count 3
z_min 20.000000
z_max 40.800000
z_sum 90.800000
z_count 3
mlr --oxtab stats1 -F -a min,max,sum,count -f x,y,z ./reg_test/input/int-float.dkvp
x_min 1.000000
x_max 3.000000
x_sum 6.000000
x_count 3.000000
y_min 10.100000
y_max 10.300000
y_sum 30.600000
y_count 3.000000
z_min 20.000000
z_max 40.800000
z_sum 90.800000
z_count 3.000000
================================================================
DSL PYTHONIC DIVISION
mlr --xtab put $quot=$pf1/10.0;$iquot=$pf1//10.0;$mod=$pf1%10.0 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot 7.120000
iquot 7.000000
mod 1.200000
mlr --xtab put $quot=$pi1/10 ;$iquot=$pi1//10 ;$mod=$pi1%10 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot 7.500000
iquot 7
mod 5
mlr --xtab put $quot=$nf1/10.0;$iquot=$nf1//10.0;$mod=$nf1%10.0 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot -7.120000
iquot -8.000000
mod 8.800000
mlr --xtab put $quot=$ni1/10 ;$iquot=$ni1//10 ;$mod=$ni1%10 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot -7.500000
iquot -8
mod 5
mlr --xtab put -F $quot=$pf1/10.0;$iquot=$pf1//10.0;$mod=$pf1%10.0 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot 7.120000
iquot 7.000000
mod 1.200000
mlr --xtab put -F $quot=$pi1/10 ;$iquot=$pi1//10 ;$mod=$pi1%10 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot 7.500000
iquot 7.000000
mod 5.000000
mlr --xtab put -F $quot=$nf1/10.0;$iquot=$nf1//10.0;$mod=$nf1%10.0 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot -7.120000
iquot -8.000000
mod 8.800000
mlr --xtab put -F $quot=$ni1/10 ;$iquot=$ni1//10 ;$mod=$ni1%10 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot -7.500000
iquot -8.000000
mod 5.000000
mlr --xtab put $quot=$pf1/-10.0;$iquot=$pf1//-10.0;$mod=$pf1%-10.0 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot -7.120000
iquot -8.000000
mod -8.800000
mlr --xtab put $quot=$pi1/-10 ;$iquot=$pi1//-10 ;$mod=$pi1%-10 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot -7.500000
iquot -8
mod -5
mlr --xtab put $quot=$nf1/-10.0;$iquot=$nf1//-10.0;$mod=$nf1%-10.0 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot 7.120000
iquot 7.000000
mod -1.200000
mlr --xtab put $quot=$ni1/-10 ;$iquot=$ni1//-10 ;$mod=$ni1%-10 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot 7.500000
iquot 7
mod -5
mlr --xtab put -F $quot=$pf1/-10.0;$iquot=$pf1//-10.0;$mod=$pf1%-10.0 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot -7.120000
iquot -8.000000
mod -8.800000
mlr --xtab put -F $quot=$pi1/-10 ;$iquot=$pi1//-10 ;$mod=$pi1%-10 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot -7.500000
iquot -8.000000
mod -5.000000
mlr --xtab put -F $quot=$nf1/-10.0;$iquot=$nf1//-10.0;$mod=$nf1%-10.0 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot 7.120000
iquot 7.000000
mod -1.200000
mlr --xtab put -F $quot=$ni1/-10 ;$iquot=$ni1//-10 ;$mod=$ni1%-10 ./reg_test/input/mixed-types.xtab
pf1 71.2
nf1 -71.2
zf 0.0
pf2 73.4
nf2 -73.4
pi1 75
ni1 -75
zi 0
pi2 76
ni2 -76
quot 7.500000
iquot 7.000000
mod -5.000000
================================================================
DSL REGEX MATCHING
mlr filter -v $x =~ "bcd" ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="bcd", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="bcd", type=STRING_LITERAL.
x=abcd,y=ghi
x=abcde,y=ghi
mlr filter -v $x =~ "^bcd" ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^bcd", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^bcd", type=STRING_LITERAL.
mlr filter -v $x =~ "^abc" ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^abc", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^abc", type=STRING_LITERAL.
x=abc,y=def
x=abcd,y=ghi
x=abcde,y=ghi
mlr filter -v $x =~ "^abc$" ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^abc$", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^abc$", type=STRING_LITERAL.
x=abc,y=def
mlr filter -v $x =~ "^a.*d$" ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^a.*d$", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^a.*d$", type=STRING_LITERAL.
x=abcd,y=ghi
mlr filter -v $x =~ "^a.*"."d$" ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text=".", type=OPERATOR:
text="^a.*", type=STRING_LITERAL.
text="d$", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text=".", type=OPERATOR:
text="^a.*", type=STRING_LITERAL.
text="d$", type=STRING_LITERAL.
x=abcd,y=ghi
mlr filter -v $y =~ "\".." ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="y", type=FIELD_NAME.
text=""..", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="y", type=FIELD_NAME.
text=""..", type=STRING_LITERAL.
x=ABCDE,y="GHI"
mlr filter -v $x =~ "bcd"i ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="bcd", type=REGEXI.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="bcd", type=REGEXI.
x=abcd,y=ghi
x=ABCD,y=GHI
x=abcde,y=ghi
x=ABCDE,y=GHI
x=ABCDE,y="GHI"
mlr filter -v $x =~ "^bcd"i ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^bcd", type=REGEXI.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^bcd", type=REGEXI.
mlr filter -v $x =~ "^abc"i ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^abc", type=REGEXI.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^abc", type=REGEXI.
x=abc,y=def
x=ABC,y=DEF
x=abcd,y=ghi
x=ABCD,y=GHI
x=abcde,y=ghi
x=ABCDE,y=GHI
x=ABCDE,y="GHI"
mlr filter -v $x =~ "^abc$"i ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^abc$", type=REGEXI.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^abc$", type=REGEXI.
x=abc,y=def
x=ABC,y=DEF
mlr filter -v $x =~ "^a.*d$"i ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^a.*d$", type=REGEXI.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text="^a.*d$", type=REGEXI.
x=abcd,y=ghi
x=ABCD,y=GHI
mlr filter -v $x =~ "^a.*"."d$"i ./reg_test/input/regex.dkvp
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text=".", type=OPERATOR:
text="^a.*", type=STRING_LITERAL.
text="d$", type=REGEXI.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=~", type=OPERATOR:
text="x", type=FIELD_NAME.
text=".", type=OPERATOR:
text="^a.*", type=STRING_LITERAL.
text="d$", type=REGEXI.
x=abcd,y=ghi
================================================================
DSL TYPED OVERLAY
mlr put $y = string($x); $z=$y.$y ./reg_test/input/int-float.dkvp
x=1,y=1,z=11
x=2,y=2,z=22
x=3,y=3,z=33
mlr put $z=string($x).string($x) ./reg_test/input/int-float.dkvp
x=1,y=10.1,z=11
x=2,y=10.2,z=22
x=3,y=10.3,z=33
mlr put $y = string($x) then put $z=$y.$y ./reg_test/input/int-float.dkvp
x=1,y=1,z=11
x=2,y=2,z=22
x=3,y=3,z=33
mlr put $a="hello" then put $b=$a." world";$z=$x+$y;$c=$b;$a=sub($b,"hello","farewell") ./reg_test/input/int-float.dkvp
x=1,y=10.1,z=11.100000,a=farewell world,b=hello world,c=hello world
x=2,y=10.2,z=12.200000,a=farewell world,b=hello world,c=hello world
x=3,y=10.3,z=13.300000,a=farewell world,b=hello world,c=hello world
================================================================
DSL REGEX CAPTURES
mlr --opprint put $FIELD =~ "([A-Z]+)([0-9]+)"; $F1="\1"; $F2="\2"; $F3="\3" ./reg_test/input/capture.dkvp
FIELD F1 F2 F3
ABC123 ABC 123 -
ABC..123 - - -
..ABC..123.. - - -
none of the above - - -
mlr --opprint put $FIELD =~ "([A-Z]+)[^0-9]*([0-9]+)"; $F1="\1"; $F2="\2"; $F3="\3" ./reg_test/input/capture.dkvp
FIELD F1 F2 F3
ABC123 ABC 123 -
ABC..123 ABC 123 -
..ABC..123.. ABC 123 -
none of the above - - -
mlr --opprint put $FIELD =~ "([A-Z]+)([0-9]+)" then put $F1="\1"; $F2="\2"; $F3="\3" ./reg_test/input/capture.dkvp
FIELD F1 F2 F3
ABC123 \1 \2 \3
ABC..123 \1 \2 \3
..ABC..123.. \1 \2 \3
none of the above \1 \2 \3
mlr --opprint put $FIELD =~ "([A-Z]+)[^0-9]*([0-9]+)" then put $F1="\1"; $F2="\2"; $F3="\3" ./reg_test/input/capture.dkvp
FIELD F1 F2 F3
ABC123 \1 \2 \3
ABC..123 \1 \2 \3
..ABC..123.. \1 \2 \3
none of the above \1 \2 \3
mlr --opprint put $FIELD =~ "....."; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc - - - - - - - - - -
abcd - - - - - - - - - -
abcde abcde - - - - - - - - -
abcdef abcde - - - - - - - - -
abcdefg abcde - - - - - - - - -
abcdefgh abcde - - - - - - - - -
abcdefghi abcde - - - - - - - - -
abcdefghij abcde - - - - - - - - -
abcdefghijk abcde - - - - - - - - -
abcdefghijkl abcde - - - - - - - - -
mlr --opprint put $FIELD =~ "....." {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
abc
abcd
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcde abcde - - - - - - - - -
abcdef abcde - - - - - - - - -
abcdefg abcde - - - - - - - - -
abcdefgh abcde - - - - - - - - -
abcdefghi abcde - - - - - - - - -
abcdefghij abcde - - - - - - - - -
abcdefghijk abcde - - - - - - - - -
abcdefghijkl abcde - - - - - - - - -
mlr --opprint put filter $FIELD =~ "....."; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcde abcde - - - - - - - - -
abcdef abcde - - - - - - - - -
abcdefg abcde - - - - - - - - -
abcdefgh abcde - - - - - - - - -
abcdefghi abcde - - - - - - - - -
abcdefghij abcde - - - - - - - - -
abcdefghijk abcde - - - - - - - - -
abcdefghijkl abcde - - - - - - - - -
mlr --opprint put $FIELD =~ "(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a a a - - - - - - - -
ab a a - - - - - - - -
abc a a - - - - - - - -
abcd a a - - - - - - - -
abcde a a - - - - - - - -
abcdef a a - - - - - - - -
abcdefg a a - - - - - - - -
abcdefgh a a - - - - - - - -
abcdefghi a a - - - - - - - -
abcdefghij a a - - - - - - - -
abcdefghijk a a - - - - - - - -
abcdefghijkl a a - - - - - - - -
mlr --opprint put $FIELD =~ "(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab ab a b - - - - - - -
abc ab a b - - - - - - -
abcd ab a b - - - - - - -
abcde ab a b - - - - - - -
abcdef ab a b - - - - - - -
abcdefg ab a b - - - - - - -
abcdefgh ab a b - - - - - - -
abcdefghi ab a b - - - - - - -
abcdefghij ab a b - - - - - - -
abcdefghijk ab a b - - - - - - -
abcdefghijkl ab a b - - - - - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc abc a b c - - - - - -
abcd abc a b c - - - - - -
abcde abc a b c - - - - - -
abcdef abc a b c - - - - - -
abcdefg abc a b c - - - - - -
abcdefgh abc a b c - - - - - -
abcdefghi abc a b c - - - - - -
abcdefghij abc a b c - - - - - -
abcdefghijk abc a b c - - - - - -
abcdefghijkl abc a b c - - - - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc - - - - - - - - - -
abcd abcd a b c d - - - - -
abcde abcd a b c d - - - - -
abcdef abcd a b c d - - - - -
abcdefg abcd a b c d - - - - -
abcdefgh abcd a b c d - - - - -
abcdefghi abcd a b c d - - - - -
abcdefghij abcd a b c d - - - - -
abcdefghijk abcd a b c d - - - - -
abcdefghijkl abcd a b c d - - - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc - - - - - - - - - -
abcd - - - - - - - - - -
abcde abcde a b c d e - - - -
abcdef abcde a b c d e - - - -
abcdefg abcde a b c d e - - - -
abcdefgh abcde a b c d e - - - -
abcdefghi abcde a b c d e - - - -
abcdefghij abcde a b c d e - - - -
abcdefghijk abcde a b c d e - - - -
abcdefghijkl abcde a b c d e - - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc - - - - - - - - - -
abcd - - - - - - - - - -
abcde - - - - - - - - - -
abcdef abcdef a b c d e f - - -
abcdefg abcdef a b c d e f - - -
abcdefgh abcdef a b c d e f - - -
abcdefghi abcdef a b c d e f - - -
abcdefghij abcdef a b c d e f - - -
abcdefghijk abcdef a b c d e f - - -
abcdefghijkl abcdef a b c d e f - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc - - - - - - - - - -
abcd - - - - - - - - - -
abcde - - - - - - - - - -
abcdef - - - - - - - - - -
abcdefg abcdefg a b c d e f g - -
abcdefgh abcdefg a b c d e f g - -
abcdefghi abcdefg a b c d e f g - -
abcdefghij abcdefg a b c d e f g - -
abcdefghijk abcdefg a b c d e f g - -
abcdefghijkl abcdefg a b c d e f g - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc - - - - - - - - - -
abcd - - - - - - - - - -
abcde - - - - - - - - - -
abcdef - - - - - - - - - -
abcdefg - - - - - - - - - -
abcdefgh abcdefgh a b c d e f g h -
abcdefghi abcdefgh a b c d e f g h -
abcdefghij abcdefgh a b c d e f g h -
abcdefghijk abcdefgh a b c d e f g h -
abcdefghijkl abcdefgh a b c d e f g h -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc - - - - - - - - - -
abcd - - - - - - - - - -
abcde - - - - - - - - - -
abcdef - - - - - - - - - -
abcdefg - - - - - - - - - -
abcdefgh - - - - - - - - - -
abcdefghi abcdefghi a b c d e f g h i
abcdefghij abcdefghi a b c d e f g h i
abcdefghijk abcdefghi a b c d e f g h i
abcdefghijkl abcdefghi a b c d e f g h i
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
- - - - - - - - - - -
a - - - - - - - - - -
ab - - - - - - - - - -
abc - - - - - - - - - -
abcd - - - - - - - - - -
abcde - - - - - - - - - -
abcdef - - - - - - - - - -
abcdefg - - - - - - - - - -
abcdefgh - - - - - - - - - -
abcdefghi - - - - - - - - - -
abcdefghij abcdefghij a b c d e f g h i
abcdefghijk abcdefghij a b c d e f g h i
abcdefghijkl abcdefghij a b c d e f g h i
mlr --opprint put $FIELD =~ "(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
a a a - - - - - - - -
ab a a - - - - - - - -
abc a a - - - - - - - -
abcd a a - - - - - - - -
abcde a a - - - - - - - -
abcdef a a - - - - - - - -
abcdefg a a - - - - - - - -
abcdefgh a a - - - - - - - -
abcdefghi a a - - - - - - - -
abcdefghij a a - - - - - - - -
abcdefghijk a a - - - - - - - -
abcdefghijkl a a - - - - - - - -
mlr --opprint put $FIELD =~ "(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
ab ab a b - - - - - - -
abc ab a b - - - - - - -
abcd ab a b - - - - - - -
abcde ab a b - - - - - - -
abcdef ab a b - - - - - - -
abcdefg ab a b - - - - - - -
abcdefgh ab a b - - - - - - -
abcdefghi ab a b - - - - - - -
abcdefghij ab a b - - - - - - -
abcdefghijk ab a b - - - - - - -
abcdefghijkl ab a b - - - - - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abc abc a b c - - - - - -
abcd abc a b c - - - - - -
abcde abc a b c - - - - - -
abcdef abc a b c - - - - - -
abcdefg abc a b c - - - - - -
abcdefgh abc a b c - - - - - -
abcdefghi abc a b c - - - - - -
abcdefghij abc a b c - - - - - -
abcdefghijk abc a b c - - - - - -
abcdefghijkl abc a b c - - - - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
abc
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcd abcd a b c d - - - - -
abcde abcd a b c d - - - - -
abcdef abcd a b c d - - - - -
abcdefg abcd a b c d - - - - -
abcdefgh abcd a b c d - - - - -
abcdefghi abcd a b c d - - - - -
abcdefghij abcd a b c d - - - - -
abcdefghijk abcd a b c d - - - - -
abcdefghijkl abcd a b c d - - - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
abc
abcd
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcde abcde a b c d e - - - -
abcdef abcde a b c d e - - - -
abcdefg abcde a b c d e - - - -
abcdefgh abcde a b c d e - - - -
abcdefghi abcde a b c d e - - - -
abcdefghij abcde a b c d e - - - -
abcdefghijk abcde a b c d e - - - -
abcdefghijkl abcde a b c d e - - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
abc
abcd
abcde
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdef abcdef a b c d e f - - -
abcdefg abcdef a b c d e f - - -
abcdefgh abcdef a b c d e f - - -
abcdefghi abcdef a b c d e f - - -
abcdefghij abcdef a b c d e f - - -
abcdefghijk abcdef a b c d e f - - -
abcdefghijkl abcdef a b c d e f - - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
abc
abcd
abcde
abcdef
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdefg abcdefg a b c d e f g - -
abcdefgh abcdefg a b c d e f g - -
abcdefghi abcdefg a b c d e f g - -
abcdefghij abcdefg a b c d e f g - -
abcdefghijk abcdefg a b c d e f g - -
abcdefghijkl abcdefg a b c d e f g - -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
abc
abcd
abcde
abcdef
abcdefg
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdefgh abcdefgh a b c d e f g h -
abcdefghi abcdefgh a b c d e f g h -
abcdefghij abcdefgh a b c d e f g h -
abcdefghijk abcdefgh a b c d e f g h -
abcdefghijkl abcdefgh a b c d e f g h -
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdefghi abcdefghi a b c d e f g h i
abcdefghij abcdefghi a b c d e f g h i
abcdefghijk abcdefghi a b c d e f g h i
abcdefghijkl abcdefghi a b c d e f g h i
mlr --opprint put $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)" {$F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9"} ./reg_test/input/capture-lengths.dkvp
FIELD
-
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdefghij abcdefghij a b c d e f g h i
abcdefghijk abcdefghij a b c d e f g h i
abcdefghijkl abcdefghij a b c d e f g h i
mlr --opprint put filter $FIELD =~ "(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
a a a - - - - - - - -
ab a a - - - - - - - -
abc a a - - - - - - - -
abcd a a - - - - - - - -
abcde a a - - - - - - - -
abcdef a a - - - - - - - -
abcdefg a a - - - - - - - -
abcdefgh a a - - - - - - - -
abcdefghi a a - - - - - - - -
abcdefghij a a - - - - - - - -
abcdefghijk a a - - - - - - - -
abcdefghijkl a a - - - - - - - -
mlr --opprint put filter $FIELD =~ "(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
ab ab a b - - - - - - -
abc ab a b - - - - - - -
abcd ab a b - - - - - - -
abcde ab a b - - - - - - -
abcdef ab a b - - - - - - -
abcdefg ab a b - - - - - - -
abcdefgh ab a b - - - - - - -
abcdefghi ab a b - - - - - - -
abcdefghij ab a b - - - - - - -
abcdefghijk ab a b - - - - - - -
abcdefghijkl ab a b - - - - - - -
mlr --opprint put filter $FIELD =~ "(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abc abc a b c - - - - - -
abcd abc a b c - - - - - -
abcde abc a b c - - - - - -
abcdef abc a b c - - - - - -
abcdefg abc a b c - - - - - -
abcdefgh abc a b c - - - - - -
abcdefghi abc a b c - - - - - -
abcdefghij abc a b c - - - - - -
abcdefghijk abc a b c - - - - - -
abcdefghijkl abc a b c - - - - - -
mlr --opprint put filter $FIELD =~ "(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcd abcd a b c d - - - - -
abcde abcd a b c d - - - - -
abcdef abcd a b c d - - - - -
abcdefg abcd a b c d - - - - -
abcdefgh abcd a b c d - - - - -
abcdefghi abcd a b c d - - - - -
abcdefghij abcd a b c d - - - - -
abcdefghijk abcd a b c d - - - - -
abcdefghijkl abcd a b c d - - - - -
mlr --opprint put filter $FIELD =~ "(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcde abcde a b c d e - - - -
abcdef abcde a b c d e - - - -
abcdefg abcde a b c d e - - - -
abcdefgh abcde a b c d e - - - -
abcdefghi abcde a b c d e - - - -
abcdefghij abcde a b c d e - - - -
abcdefghijk abcde a b c d e - - - -
abcdefghijkl abcde a b c d e - - - -
mlr --opprint put filter $FIELD =~ "(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdef abcdef a b c d e f - - -
abcdefg abcdef a b c d e f - - -
abcdefgh abcdef a b c d e f - - -
abcdefghi abcdef a b c d e f - - -
abcdefghij abcdef a b c d e f - - -
abcdefghijk abcdef a b c d e f - - -
abcdefghijkl abcdef a b c d e f - - -
mlr --opprint put filter $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdefg abcdefg a b c d e f g - -
abcdefgh abcdefg a b c d e f g - -
abcdefghi abcdefg a b c d e f g - -
abcdefghij abcdefg a b c d e f g - -
abcdefghijk abcdefg a b c d e f g - -
abcdefghijkl abcdefg a b c d e f g - -
mlr --opprint put filter $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdefgh abcdefgh a b c d e f g h -
abcdefghi abcdefgh a b c d e f g h -
abcdefghij abcdefgh a b c d e f g h -
abcdefghijk abcdefgh a b c d e f g h -
abcdefghijkl abcdefgh a b c d e f g h -
mlr --opprint put filter $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdefghi abcdefghi a b c d e f g h i
abcdefghij abcdefghi a b c d e f g h i
abcdefghijk abcdefghi a b c d e f g h i
abcdefghijkl abcdefghi a b c d e f g h i
mlr --opprint put filter $FIELD =~ "(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)"; $F0="";$F1="\1";$F2="\2";$F3="\3";$F4="\4";$F5="\5";$F6="\6";$F7="\7";$F8="\8";$F9="\9" ./reg_test/input/capture-lengths.dkvp
FIELD F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
abcdefghij abcdefghij a b c d e f g h i
abcdefghijk abcdefghij a b c d e f g h i
abcdefghijkl abcdefghij a b c d e f g h i
================================================================
DSL FILTER/PATTERN-ACTION
mlr --opprint put $x > 0.5; $z = "flag" ./reg_test/input/abixy
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 flag
eks pan 2 0.7586799647899636 0.5221511083334797 flag
wye wye 3 0.20460330576630303 0.33831852551664776 flag
eks wye 4 0.38139939387114097 0.13418874328430463 flag
wye pan 5 0.5732889198020006 0.8636244699032729 flag
zee pan 6 0.5271261600918548 0.49322128674835697 flag
eks zee 7 0.6117840605678454 0.1878849191181694 flag
zee wye 8 0.5985540091064224 0.976181385699006 flag
hat wye 9 0.03144187646093577 0.7495507603507059 flag
pan wye 10 0.5026260055412137 0.9526183602969864 flag
mlr --opprint put !($x > 0.5); $z = "flag" ./reg_test/input/abixy
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 flag
eks pan 2 0.7586799647899636 0.5221511083334797 flag
wye wye 3 0.20460330576630303 0.33831852551664776 flag
eks wye 4 0.38139939387114097 0.13418874328430463 flag
wye pan 5 0.5732889198020006 0.8636244699032729 flag
zee pan 6 0.5271261600918548 0.49322128674835697 flag
eks zee 7 0.6117840605678454 0.1878849191181694 flag
zee wye 8 0.5985540091064224 0.976181385699006 flag
hat wye 9 0.03144187646093577 0.7495507603507059 flag
pan wye 10 0.5026260055412137 0.9526183602969864 flag
mlr --opprint put filter $x > 0.5; $z = "flag" ./reg_test/input/abixy
a b i x y z
eks pan 2 0.7586799647899636 0.5221511083334797 flag
wye pan 5 0.5732889198020006 0.8636244699032729 flag
zee pan 6 0.5271261600918548 0.49322128674835697 flag
eks zee 7 0.6117840605678454 0.1878849191181694 flag
zee wye 8 0.5985540091064224 0.976181385699006 flag
pan wye 10 0.5026260055412137 0.9526183602969864 flag
mlr --opprint put $x > 0.5 {$z = "flag"} ./reg_test/input/abixy
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
a b i x y z
eks pan 2 0.7586799647899636 0.5221511083334797 flag
a b i x y
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
a b i x y z
wye pan 5 0.5732889198020006 0.8636244699032729 flag
zee pan 6 0.5271261600918548 0.49322128674835697 flag
eks zee 7 0.6117840605678454 0.1878849191181694 flag
zee wye 8 0.5985540091064224 0.976181385699006 flag
a b i x y
hat wye 9 0.03144187646093577 0.7495507603507059
a b i x y z
pan wye 10 0.5026260055412137 0.9526183602969864 flag
mlr --opprint put filter !($x > 0.5); $z = "flag" ./reg_test/input/abixy
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 flag
wye wye 3 0.20460330576630303 0.33831852551664776 flag
eks wye 4 0.38139939387114097 0.13418874328430463 flag
hat wye 9 0.03144187646093577 0.7495507603507059 flag
mlr --opprint put !($x > 0.5) {$z = "flag"} ./reg_test/input/abixy
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 flag
a b i x y
eks pan 2 0.7586799647899636 0.5221511083334797
a b i x y z
wye wye 3 0.20460330576630303 0.33831852551664776 flag
eks wye 4 0.38139939387114097 0.13418874328430463 flag
a b i x y
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
a b i x y z
hat wye 9 0.03144187646093577 0.7495507603507059 flag
a b i x y
pan wye 10 0.5026260055412137 0.9526183602969864
================================================================
DSL DATETIME FUNCTIONS
mlr --csvlite put $gmt = sec2gmt($sec) ./reg_test/input/sec2gmt
n,sec,gmt
1,0,1970-01-01T00:00:00Z
2,1,1970-01-01T00:00:01Z
3,10,1970-01-01T00:00:10Z
4,100,1970-01-01T00:01:40Z
5,1000,1970-01-01T00:16:40Z
6,10000,1970-01-01T02:46:40Z
7,100000,1970-01-02T03:46:40Z
8,1000000,1970-01-12T13:46:40Z
9,10000000,1970-04-26T17:46:40Z
10,100000000,1973-03-03T09:46:40Z
11,1000000000,2001-09-09T01:46:40Z
12,1432036180,2015-05-19T11:49:40Z
13,1500000000,2017-07-14T02:40:00Z
14,2000000000,2033-05-18T03:33:20Z
15,,
16,x,x
17,123x,123x
mlr --csvlite put $sec = gmt2sec($gmt) ./reg_test/input/gmt2sec
gmt,sec
1970-01-01T00:00:00Z,0
1970-01-01T00:00:01Z,1
1970-01-01T00:00:10Z,10
1970-01-01T00:01:40Z,100
1970-01-01T00:16:40Z,1000
1970-01-01T02:46:40Z,10000
1970-01-02T03:46:40Z,100000
1970-01-12T13:46:40Z,1000000
1970-04-26T17:46:40Z,10000000
1973-03-03T09:46:40Z,100000000
2001-09-09T01:46:40Z,1000000000
2015-05-19T11:49:40Z,1432036180
2017-07-14T02:40:00Z,1500000000
2033-05-18T03:33:20Z,2000000000
mlr --csvlite put $gmtdate = sec2gmtdate($sec) ./reg_test/input/sec2gmt
n,sec,gmtdate
1,0,1970-01-01
2,1,1970-01-01
3,10,1970-01-01
4,100,1970-01-01
5,1000,1970-01-01
6,10000,1970-01-01
7,100000,1970-01-02
8,1000000,1970-01-12
9,10000000,1970-04-26
10,100000000,1973-03-03
11,1000000000,2001-09-09
12,1432036180,2015-05-19
13,1500000000,2017-07-14
14,2000000000,2033-05-18
15,,
16,x,x
17,123x,123x
mlr --csvlite put $gmt = strftime($sec, "%Y-%m-%dT%H:%M:%SZ") ./reg_test/input/sec2gmt
n,sec,gmt
1,0,1970-01-01T00:00:00Z
2,1,1970-01-01T00:00:01Z
3,10,1970-01-01T00:00:10Z
4,100,1970-01-01T00:01:40Z
5,1000,1970-01-01T00:16:40Z
6,10000,1970-01-01T02:46:40Z
7,100000,1970-01-02T03:46:40Z
8,1000000,1970-01-12T13:46:40Z
9,10000000,1970-04-26T17:46:40Z
10,100000000,1973-03-03T09:46:40Z
11,1000000000,2001-09-09T01:46:40Z
12,1432036180,2015-05-19T11:49:40Z
13,1500000000,2017-07-14T02:40:00Z
14,2000000000,2033-05-18T03:33:20Z
15,,
16,x,(error)
17,123x,(error)
mlr --csvlite put $sec = strptime($gmt, "%Y-%m-%dT%H:%M:%SZ") ./reg_test/input/gmt2sec
gmt,sec
1970-01-01T00:00:00Z,0
1970-01-01T00:00:01Z,1
1970-01-01T00:00:10Z,10
1970-01-01T00:01:40Z,100
1970-01-01T00:16:40Z,1000
1970-01-01T02:46:40Z,10000
1970-01-02T03:46:40Z,100000
1970-01-12T13:46:40Z,1000000
1970-04-26T17:46:40Z,10000000
1973-03-03T09:46:40Z,100000000
2001-09-09T01:46:40Z,1000000000
2015-05-19T11:49:40Z,1432036180
2017-07-14T02:40:00Z,1500000000
2033-05-18T03:33:20Z,2000000000
mlr --csvlite sec2gmt sec ./reg_test/input/sec2gmt
n,sec
1,1970-01-01T00:00:00Z
2,1970-01-01T00:00:01Z
3,1970-01-01T00:00:10Z
4,1970-01-01T00:01:40Z
5,1970-01-01T00:16:40Z
6,1970-01-01T02:46:40Z
7,1970-01-02T03:46:40Z
8,1970-01-12T13:46:40Z
9,1970-04-26T17:46:40Z
10,1973-03-03T09:46:40Z
11,2001-09-09T01:46:40Z
12,2015-05-19T11:49:40Z
13,2017-07-14T02:40:00Z
14,2033-05-18T03:33:20Z
15,
16,x
17,123x
mlr --opprint put $hms=sec2hms($sec); $resec=hms2sec($hms); $diff=$resec-$sec ./reg_test/input/sec2xhms
sec hms resec diff
0 00:00:00 0 0
1 00:00:01 1 0
59 00:00:59 59 0
60 00:01:00 60 0
61 00:01:01 61 0
3599 00:59:59 3599 0
3600 01:00:00 3600 0
3601 01:00:01 3601 0
86399 23:59:59 86399 0
86400 24:00:00 86400 0
86401 24:00:01 86401 0
863999 239:59:59 863999 0
864000 240:00:00 864000 0
864001 240:00:01 864001 0
-1 -00:00:01 -1 0
-59 -00:00:59 -59 0
-60 -00:01:00 -60 0
-61 -00:01:01 -61 0
-3599 -00:59:59 -3599 0
-3600 -01:00:00 -3600 0
-3601 -01:00:01 -3601 0
-86399 -23:59:59 -86399 0
-86400 -24:00:00 -86400 0
-86401 -24:00:01 -86401 0
-863999 -239:59:59 -863999 0
-864000 -240:00:00 -864000 0
-864001 -240:00:01 -864001 0
mlr --opprint put $hms=fsec2hms($sec); $resec=hms2fsec($hms); $diff=$resec-$sec ./reg_test/input/fsec2xhms
sec hms resec diff
0.25 0:00:00.250000 0.250000 0.000000
1.25 0:00:01.250000 1.250000 0.000000
59.25 0:00:59.250000 59.250000 0.000000
60.25 0:01:00.250000 60.250000 0.000000
61.25 0:01:01.250000 61.250000 0.000000
3599.25 0:59:59.250000 3599.250000 0.000000
3600.25 1:00:00.250000 3600.250000 0.000000
3601.25 1:00:01.250000 3601.250000 0.000000
86399.25 23:59:59.250000 86399.250000 0.000000
86400.25 24:00:00.250000 86400.250000 0.000000
86401.25 24:00:01.250000 86401.250000 0.000000
863999.25 239:59:59.250000 863999.250000 0.000000
864000.25 240:00:00.250000 864000.250000 0.000000
864001.25 240:00:01.250000 864001.250000 0.000000
-0.25 -00:00:00.250000 -0.250000 0.000000
-1.25 -00:00:01.250000 -1.250000 0.000000
-59.25 -00:00:59.250000 -59.250000 0.000000
-60.25 -00:01:00.250000 -60.250000 0.000000
-61.25 -00:01:01.250000 -61.250000 0.000000
-3599.25 -00:59:59.250000 -3599.250000 0.000000
-3600.25 -01:00:00.250000 -3600.250000 0.000000
-3601.25 -01:00:01.250000 -3601.250000 0.000000
-86399.25 -23:59:59.250000 -86399.250000 0.000000
-86400.25 -24:00:00.250000 -86400.250000 0.000000
-86401.25 -24:00:01.250000 -86401.250000 0.000000
-863999.25 -239:59:59.250000 -863999.250000 0.000000
-864000.25 -240:00:00.250000 -864000.250000 0.000000
-864001.25 -240:00:01.250000 -864001.250000 0.000000
mlr --opprint put $hms=sec2dhms($sec); $resec=dhms2sec($hms); $diff=$resec-$sec ./reg_test/input/sec2xhms
sec hms resec diff
0 0s 0 0
1 1s 1 0
59 59s 59 0
60 1m00s 60 0
61 1m01s 61 0
3599 59m59s 3599 0
3600 1h00m00s 3600 0
3601 1h00m01s 3601 0
86399 23h59m59s 86399 0
86400 1d00h00m00s 86400 0
86401 1d00h00m01s 86401 0
863999 9d23h59m59s 863999 0
864000 10d00h00m00s 864000 0
864001 10d00h00m01s 864001 0
-1 -1s -1 0
-59 -59s -59 0
-60 -1m00s -60 0
-61 -1m01s -61 0
-3599 -59m59s -3599 0
-3600 -1h00m00s -3600 0
-3601 -1h00m01s -3601 0
-86399 -23h59m59s -86399 0
-86400 -1d00h00m00s -86400 0
-86401 -1d00h00m01s -86401 0
-863999 -9d23h59m59s -863999 0
-864000 -10d00h00m00s -864000 0
-864001 -10d00h00m01s -864001 0
mlr --opprint put $hms=fsec2dhms($sec); $resec=dhms2fsec($hms); $diff=$resec-$sec ./reg_test/input/fsec2xhms
sec hms resec diff
0.25 0.250000s 0.250000 0.000000
1.25 1.250000s 1.250000 0.000000
59.25 59.250000s 59.250000 0.000000
60.25 1m00.250000s 60.250000 0.000000
61.25 1m01.250000s 61.250000 0.000000
3599.25 59m59.250000s 3599.250000 0.000000
3600.25 1h00m00.250000s 3600.250000 0.000000
3601.25 1h00m01.250000s 3601.250000 0.000000
86399.25 23h59m59.250000s 86399.250000 0.000000
86400.25 1d00h00m00.250000s 86400.250000 0.000000
86401.25 1d00h00m01.250000s 86401.250000 0.000000
863999.25 9d23h59m59.250000s 863999.250000 0.000000
864000.25 10d00h00m00.250000s 864000.250000 0.000000
864001.25 10d00h00m01.250000s 864001.250000 0.000000
-0.25 -0.250000s -0.250000 0.000000
-1.25 -1.250000s -1.250000 0.000000
-59.25 -59.250000s -59.250000 0.000000
-60.25 -1m00.250000s -60.250000 0.000000
-61.25 -1m01.250000s -61.250000 0.000000
-3599.25 -59m59.250000s -3599.250000 0.000000
-3600.25 -1h00m00.250000s -3600.250000 0.000000
-3601.25 -1h00m01.250000s -3601.250000 0.000000
-86399.25 -23h59m59.250000s -86399.250000 0.000000
-86400.25 -1d00h00m00.250000s -86400.250000 0.000000
-86401.25 -1d00h00m01.250000s -86401.250000 0.000000
-863999.25 -9d23h59m59.250000s -863999.250000 0.000000
-864000.25 -10d00h00m00.250000s -864000.250000 0.000000
-864001.25 -10d00h00m01.250000s -864001.250000 0.000000
mlr --csvlite sec2gmt sec ./reg_test/input/sec2gmt
n,sec
1,1970-01-01T00:00:00Z
2,1970-01-01T00:00:01Z
3,1970-01-01T00:00:10Z
4,1970-01-01T00:01:40Z
5,1970-01-01T00:16:40Z
6,1970-01-01T02:46:40Z
7,1970-01-02T03:46:40Z
8,1970-01-12T13:46:40Z
9,1970-04-26T17:46:40Z
10,1973-03-03T09:46:40Z
11,2001-09-09T01:46:40Z
12,2015-05-19T11:49:40Z
13,2017-07-14T02:40:00Z
14,2033-05-18T03:33:20Z
15,
16,x
17,123x
mlr --csvlite sec2gmtdate sec ./reg_test/input/sec2gmt
n,sec
1,1970-01-01
2,1970-01-01
3,1970-01-01
4,1970-01-01
5,1970-01-01
6,1970-01-01
7,1970-01-02
8,1970-01-12
9,1970-04-26
10,1973-03-03
11,2001-09-09
12,2015-05-19
13,2017-07-14
14,2033-05-18
15,
16,x
17,123x
================================================================
DSL SUB/GSUB
mlr --opprint put $y = sub($x, "e.*l", "") ./reg_test/input/sub.dat
x y
hello ho
HELLO HELLO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "e.*l"i, "") ./reg_test/input/sub.dat
x y
hello ho
HELLO HO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "e.*"."l", "") ./reg_test/input/sub.dat
x y
hello ho
HELLO HELLO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "e.*l", "y123y") ./reg_test/input/sub.dat
x y
hello hy123yo
HELLO HELLO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "e.*l"i, "y123y") ./reg_test/input/sub.dat
x y
hello hy123yo
HELLO Hy123yO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "e.*"."l", "y123y") ./reg_test/input/sub.dat
x y
hello hy123yo
HELLO HELLO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "([hg])e.*l(.)", "y\1y123\2y") ./reg_test/input/sub.dat
x y
hello yhy123oy
HELLO HELLO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "([hg])e.*l.", "y\1y123\2y") ./reg_test/input/sub.dat
x y
hello yhy123\2y
HELLO HELLO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "([hg])e.*l(.)", "y\1y123.y") ./reg_test/input/sub.dat
x y
hello yhy123.y
HELLO HELLO
world world
WORLD WORLD
mlr --opprint put $y = sub($x, "a", "aa") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg aabcdefg
ababbabbba aababbabbba
LMNOP LMNOP
ABCDEFG ABCDEFG
ABABBABBBA ABABBABBBA
mlr --opprint put $y = gsub($x, "a", "aa") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg aabcdefg
ababbabbba aabaabbaabbbaa
LMNOP LMNOP
ABCDEFG ABCDEFG
ABABBABBBA ABABBABBBA
mlr --opprint put $y = gsub($x, "A", "Aa") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg abcdefg
ababbabbba ababbabbba
LMNOP LMNOP
ABCDEFG AaBCDEFG
ABABBABBBA AaBAaBBAaBBBAa
mlr --opprint put $y = gsub($x, "a"i, "Aa") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg Aabcdefg
ababbabbba AabAabbAabbbAa
LMNOP LMNOP
ABCDEFG AaBCDEFG
ABABBABBBA AaBAaBBAaBBBAa
mlr --opprint put $y = gsub($x, "A"i, "Aa") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg Aabcdefg
ababbabbba AabAabbAabbbAa
LMNOP LMNOP
ABCDEFG AaBCDEFG
ABABBABBBA AaBAaBBAaBBBAa
mlr --opprint put $y = gsub($x, "a(.)", "aa\1\1\1") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg aabbbcdefg
ababbabbba aabbbaabbbbaabbbbba
LMNOP LMNOP
ABCDEFG ABCDEFG
ABABBABBBA ABABBABBBA
mlr --opprint put $y = sub($x, "a", "") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg bcdefg
ababbabbba babbabbba
LMNOP LMNOP
ABCDEFG ABCDEFG
ABABBABBBA ABABBABBBA
mlr --opprint put $y = gsub($x, "a", "") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg bcdefg
ababbabbba bbbbbb
LMNOP LMNOP
ABCDEFG ABCDEFG
ABABBABBBA ABABBABBBA
mlr --opprint put $y = gsub($x, "A", "") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg abcdefg
ababbabbba ababbabbba
LMNOP LMNOP
ABCDEFG BCDEFG
ABABBABBBA BBBBBB
mlr --opprint put $y = gsub($x, "a"i, "") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg bcdefg
ababbabbba bbbbbb
LMNOP LMNOP
ABCDEFG BCDEFG
ABABBABBBA BBBBBB
mlr --opprint put $y = gsub($x, "A"i, "") ./reg_test/input/gsub.dat
x y
lmnop lmnop
abcdefg bcdefg
ababbabbba bbbbbb
LMNOP LMNOP
ABCDEFG BCDEFG
ABABBABBBA BBBBBB
mlr --oxtab cat ./reg_test/input/subtab.dkvp
x afoob
x a\tb
x a\\tb
x a b
z
x
mlr --oxtab put -f ./reg_test/input/subtab1.mlr ./reg_test/input/subtab.dkvp
x afoob
y afoob
x a\tb
y a\tb
x a\\tb
y a\\tb
x a b
y aTABb
z
x
y
mlr --oxtab put -f ./reg_test/input/subtab2.mlr ./reg_test/input/subtab.dkvp
x afoob
y afoob
x a\tb
y aTABb
x a\\tb
y a\TABb
x a b
y a b
z
x
y
mlr --oxtab put -f ./reg_test/input/subtab3.mlr ./reg_test/input/subtab.dkvp
x afoob
y afoob
x a\tb
y a\tb
x a\\tb
y a\\tb
x a b
y a b
z
x
y
mlr --oxtab put -f ./reg_test/input/subtab4.mlr ./reg_test/input/subtab.dkvp
x afoob
y afoob
x a\tb
y a b
x a\\tb
y a\ b
x a b
y a b
z
x
y
================================================================
DSL SUBSTR
mlr put -q
int n = strlen($x);
print "input= <<".$x.">>";
for (i = -n-2; i <= n+2; i += 1) {
for (j = -n-2; j <= n+2; j += 1) {
print "i: ".fmtnum(i,"%3d")
." j:".fmtnum(j,"%3d")
." substr(".$x.",".fmtnum(i,"%3d").",".fmtnum(j,"%3d")."): <<"
.substr($x, i, j) .">>";
}
print;
}
input= <<>>
i: -2 j: -2 substr(, -2, -2): <<>>
i: -2 j: -1 substr(, -2, -1): <<>>
i: -2 j: 0 substr(, -2, 0): <<>>
i: -2 j: 1 substr(, -2, 1): <<>>
i: -2 j: 2 substr(, -2, 2): <<>>
i: -1 j: -2 substr(, -1, -2): <<>>
i: -1 j: -1 substr(, -1, -1): <<>>
i: -1 j: 0 substr(, -1, 0): <<>>
i: -1 j: 1 substr(, -1, 1): <<>>
i: -1 j: 2 substr(, -1, 2): <<>>
i: 0 j: -2 substr(, 0, -2): <<>>
i: 0 j: -1 substr(, 0, -1): <<>>
i: 0 j: 0 substr(, 0, 0): <<>>
i: 0 j: 1 substr(, 0, 1): <<>>
i: 0 j: 2 substr(, 0, 2): <<>>
i: 1 j: -2 substr(, 1, -2): <<>>
i: 1 j: -1 substr(, 1, -1): <<>>
i: 1 j: 0 substr(, 1, 0): <<>>
i: 1 j: 1 substr(, 1, 1): <<>>
i: 1 j: 2 substr(, 1, 2): <<>>
i: 2 j: -2 substr(, 2, -2): <<>>
i: 2 j: -1 substr(, 2, -1): <<>>
i: 2 j: 0 substr(, 2, 0): <<>>
i: 2 j: 1 substr(, 2, 1): <<>>
i: 2 j: 2 substr(, 2, 2): <<>>
input= <<o>>
i: -3 j: -3 substr(o, -3, -3): <<>>
i: -3 j: -2 substr(o, -3, -2): <<>>
i: -3 j: -1 substr(o, -3, -1): <<>>
i: -3 j: 0 substr(o, -3, 0): <<>>
i: -3 j: 1 substr(o, -3, 1): <<>>
i: -3 j: 2 substr(o, -3, 2): <<>>
i: -3 j: 3 substr(o, -3, 3): <<>>
i: -2 j: -3 substr(o, -2, -3): <<>>
i: -2 j: -2 substr(o, -2, -2): <<>>
i: -2 j: -1 substr(o, -2, -1): <<>>
i: -2 j: 0 substr(o, -2, 0): <<>>
i: -2 j: 1 substr(o, -2, 1): <<>>
i: -2 j: 2 substr(o, -2, 2): <<>>
i: -2 j: 3 substr(o, -2, 3): <<>>
i: -1 j: -3 substr(o, -1, -3): <<>>
i: -1 j: -2 substr(o, -1, -2): <<>>
i: -1 j: -1 substr(o, -1, -1): <<o>>
i: -1 j: 0 substr(o, -1, 0): <<o>>
i: -1 j: 1 substr(o, -1, 1): <<>>
i: -1 j: 2 substr(o, -1, 2): <<>>
i: -1 j: 3 substr(o, -1, 3): <<>>
i: 0 j: -3 substr(o, 0, -3): <<>>
i: 0 j: -2 substr(o, 0, -2): <<>>
i: 0 j: -1 substr(o, 0, -1): <<o>>
i: 0 j: 0 substr(o, 0, 0): <<o>>
i: 0 j: 1 substr(o, 0, 1): <<>>
i: 0 j: 2 substr(o, 0, 2): <<>>
i: 0 j: 3 substr(o, 0, 3): <<>>
i: 1 j: -3 substr(o, 1, -3): <<>>
i: 1 j: -2 substr(o, 1, -2): <<>>
i: 1 j: -1 substr(o, 1, -1): <<>>
i: 1 j: 0 substr(o, 1, 0): <<>>
i: 1 j: 1 substr(o, 1, 1): <<>>
i: 1 j: 2 substr(o, 1, 2): <<>>
i: 1 j: 3 substr(o, 1, 3): <<>>
i: 2 j: -3 substr(o, 2, -3): <<>>
i: 2 j: -2 substr(o, 2, -2): <<>>
i: 2 j: -1 substr(o, 2, -1): <<>>
i: 2 j: 0 substr(o, 2, 0): <<>>
i: 2 j: 1 substr(o, 2, 1): <<>>
i: 2 j: 2 substr(o, 2, 2): <<>>
i: 2 j: 3 substr(o, 2, 3): <<>>
i: 3 j: -3 substr(o, 3, -3): <<>>
i: 3 j: -2 substr(o, 3, -2): <<>>
i: 3 j: -1 substr(o, 3, -1): <<>>
i: 3 j: 0 substr(o, 3, 0): <<>>
i: 3 j: 1 substr(o, 3, 1): <<>>
i: 3 j: 2 substr(o, 3, 2): <<>>
i: 3 j: 3 substr(o, 3, 3): <<>>
input= <<o1>>
i: -4 j: -4 substr(o1, -4, -4): <<>>
i: -4 j: -3 substr(o1, -4, -3): <<>>
i: -4 j: -2 substr(o1, -4, -2): <<>>
i: -4 j: -1 substr(o1, -4, -1): <<>>
i: -4 j: 0 substr(o1, -4, 0): <<>>
i: -4 j: 1 substr(o1, -4, 1): <<>>
i: -4 j: 2 substr(o1, -4, 2): <<>>
i: -4 j: 3 substr(o1, -4, 3): <<>>
i: -4 j: 4 substr(o1, -4, 4): <<>>
i: -3 j: -4 substr(o1, -3, -4): <<>>
i: -3 j: -3 substr(o1, -3, -3): <<>>
i: -3 j: -2 substr(o1, -3, -2): <<>>
i: -3 j: -1 substr(o1, -3, -1): <<>>
i: -3 j: 0 substr(o1, -3, 0): <<>>
i: -3 j: 1 substr(o1, -3, 1): <<>>
i: -3 j: 2 substr(o1, -3, 2): <<>>
i: -3 j: 3 substr(o1, -3, 3): <<>>
i: -3 j: 4 substr(o1, -3, 4): <<>>
i: -2 j: -4 substr(o1, -2, -4): <<>>
i: -2 j: -3 substr(o1, -2, -3): <<>>
i: -2 j: -2 substr(o1, -2, -2): <<o>>
i: -2 j: -1 substr(o1, -2, -1): <<o1>>
i: -2 j: 0 substr(o1, -2, 0): <<o>>
i: -2 j: 1 substr(o1, -2, 1): <<o1>>
i: -2 j: 2 substr(o1, -2, 2): <<>>
i: -2 j: 3 substr(o1, -2, 3): <<>>
i: -2 j: 4 substr(o1, -2, 4): <<>>
i: -1 j: -4 substr(o1, -1, -4): <<>>
i: -1 j: -3 substr(o1, -1, -3): <<>>
i: -1 j: -2 substr(o1, -1, -2): <<>>
i: -1 j: -1 substr(o1, -1, -1): <<1>>
i: -1 j: 0 substr(o1, -1, 0): <<>>
i: -1 j: 1 substr(o1, -1, 1): <<1>>
i: -1 j: 2 substr(o1, -1, 2): <<>>
i: -1 j: 3 substr(o1, -1, 3): <<>>
i: -1 j: 4 substr(o1, -1, 4): <<>>
i: 0 j: -4 substr(o1, 0, -4): <<>>
i: 0 j: -3 substr(o1, 0, -3): <<>>
i: 0 j: -2 substr(o1, 0, -2): <<o>>
i: 0 j: -1 substr(o1, 0, -1): <<o1>>
i: 0 j: 0 substr(o1, 0, 0): <<o>>
i: 0 j: 1 substr(o1, 0, 1): <<o1>>
i: 0 j: 2 substr(o1, 0, 2): <<>>
i: 0 j: 3 substr(o1, 0, 3): <<>>
i: 0 j: 4 substr(o1, 0, 4): <<>>
i: 1 j: -4 substr(o1, 1, -4): <<>>
i: 1 j: -3 substr(o1, 1, -3): <<>>
i: 1 j: -2 substr(o1, 1, -2): <<>>
i: 1 j: -1 substr(o1, 1, -1): <<1>>
i: 1 j: 0 substr(o1, 1, 0): <<>>
i: 1 j: 1 substr(o1, 1, 1): <<1>>
i: 1 j: 2 substr(o1, 1, 2): <<>>
i: 1 j: 3 substr(o1, 1, 3): <<>>
i: 1 j: 4 substr(o1, 1, 4): <<>>
i: 2 j: -4 substr(o1, 2, -4): <<>>
i: 2 j: -3 substr(o1, 2, -3): <<>>
i: 2 j: -2 substr(o1, 2, -2): <<>>
i: 2 j: -1 substr(o1, 2, -1): <<>>
i: 2 j: 0 substr(o1, 2, 0): <<>>
i: 2 j: 1 substr(o1, 2, 1): <<>>
i: 2 j: 2 substr(o1, 2, 2): <<>>
i: 2 j: 3 substr(o1, 2, 3): <<>>
i: 2 j: 4 substr(o1, 2, 4): <<>>
i: 3 j: -4 substr(o1, 3, -4): <<>>
i: 3 j: -3 substr(o1, 3, -3): <<>>
i: 3 j: -2 substr(o1, 3, -2): <<>>
i: 3 j: -1 substr(o1, 3, -1): <<>>
i: 3 j: 0 substr(o1, 3, 0): <<>>
i: 3 j: 1 substr(o1, 3, 1): <<>>
i: 3 j: 2 substr(o1, 3, 2): <<>>
i: 3 j: 3 substr(o1, 3, 3): <<>>
i: 3 j: 4 substr(o1, 3, 4): <<>>
i: 4 j: -4 substr(o1, 4, -4): <<>>
i: 4 j: -3 substr(o1, 4, -3): <<>>
i: 4 j: -2 substr(o1, 4, -2): <<>>
i: 4 j: -1 substr(o1, 4, -1): <<>>
i: 4 j: 0 substr(o1, 4, 0): <<>>
i: 4 j: 1 substr(o1, 4, 1): <<>>
i: 4 j: 2 substr(o1, 4, 2): <<>>
i: 4 j: 3 substr(o1, 4, 3): <<>>
i: 4 j: 4 substr(o1, 4, 4): <<>>
input= <<o123456789>>
i: -12 j:-12 substr(o123456789,-12,-12): <<>>
i: -12 j:-11 substr(o123456789,-12,-11): <<>>
i: -12 j:-10 substr(o123456789,-12,-10): <<>>
i: -12 j: -9 substr(o123456789,-12, -9): <<>>
i: -12 j: -8 substr(o123456789,-12, -8): <<>>
i: -12 j: -7 substr(o123456789,-12, -7): <<>>
i: -12 j: -6 substr(o123456789,-12, -6): <<>>
i: -12 j: -5 substr(o123456789,-12, -5): <<>>
i: -12 j: -4 substr(o123456789,-12, -4): <<>>
i: -12 j: -3 substr(o123456789,-12, -3): <<>>
i: -12 j: -2 substr(o123456789,-12, -2): <<>>
i: -12 j: -1 substr(o123456789,-12, -1): <<>>
i: -12 j: 0 substr(o123456789,-12, 0): <<>>
i: -12 j: 1 substr(o123456789,-12, 1): <<>>
i: -12 j: 2 substr(o123456789,-12, 2): <<>>
i: -12 j: 3 substr(o123456789,-12, 3): <<>>
i: -12 j: 4 substr(o123456789,-12, 4): <<>>
i: -12 j: 5 substr(o123456789,-12, 5): <<>>
i: -12 j: 6 substr(o123456789,-12, 6): <<>>
i: -12 j: 7 substr(o123456789,-12, 7): <<>>
i: -12 j: 8 substr(o123456789,-12, 8): <<>>
i: -12 j: 9 substr(o123456789,-12, 9): <<>>
i: -12 j: 10 substr(o123456789,-12, 10): <<>>
i: -12 j: 11 substr(o123456789,-12, 11): <<>>
i: -12 j: 12 substr(o123456789,-12, 12): <<>>
i: -11 j:-12 substr(o123456789,-11,-12): <<>>
i: -11 j:-11 substr(o123456789,-11,-11): <<>>
i: -11 j:-10 substr(o123456789,-11,-10): <<>>
i: -11 j: -9 substr(o123456789,-11, -9): <<>>
i: -11 j: -8 substr(o123456789,-11, -8): <<>>
i: -11 j: -7 substr(o123456789,-11, -7): <<>>
i: -11 j: -6 substr(o123456789,-11, -6): <<>>
i: -11 j: -5 substr(o123456789,-11, -5): <<>>
i: -11 j: -4 substr(o123456789,-11, -4): <<>>
i: -11 j: -3 substr(o123456789,-11, -3): <<>>
i: -11 j: -2 substr(o123456789,-11, -2): <<>>
i: -11 j: -1 substr(o123456789,-11, -1): <<>>
i: -11 j: 0 substr(o123456789,-11, 0): <<>>
i: -11 j: 1 substr(o123456789,-11, 1): <<>>
i: -11 j: 2 substr(o123456789,-11, 2): <<>>
i: -11 j: 3 substr(o123456789,-11, 3): <<>>
i: -11 j: 4 substr(o123456789,-11, 4): <<>>
i: -11 j: 5 substr(o123456789,-11, 5): <<>>
i: -11 j: 6 substr(o123456789,-11, 6): <<>>
i: -11 j: 7 substr(o123456789,-11, 7): <<>>
i: -11 j: 8 substr(o123456789,-11, 8): <<>>
i: -11 j: 9 substr(o123456789,-11, 9): <<>>
i: -11 j: 10 substr(o123456789,-11, 10): <<>>
i: -11 j: 11 substr(o123456789,-11, 11): <<>>
i: -11 j: 12 substr(o123456789,-11, 12): <<>>
i: -10 j:-12 substr(o123456789,-10,-12): <<>>
i: -10 j:-11 substr(o123456789,-10,-11): <<>>
i: -10 j:-10 substr(o123456789,-10,-10): <<o>>
i: -10 j: -9 substr(o123456789,-10, -9): <<o1>>
i: -10 j: -8 substr(o123456789,-10, -8): <<o12>>
i: -10 j: -7 substr(o123456789,-10, -7): <<o123>>
i: -10 j: -6 substr(o123456789,-10, -6): <<o1234>>
i: -10 j: -5 substr(o123456789,-10, -5): <<o12345>>
i: -10 j: -4 substr(o123456789,-10, -4): <<o123456>>
i: -10 j: -3 substr(o123456789,-10, -3): <<o1234567>>
i: -10 j: -2 substr(o123456789,-10, -2): <<o12345678>>
i: -10 j: -1 substr(o123456789,-10, -1): <<o123456789>>
i: -10 j: 0 substr(o123456789,-10, 0): <<o>>
i: -10 j: 1 substr(o123456789,-10, 1): <<o1>>
i: -10 j: 2 substr(o123456789,-10, 2): <<o12>>
i: -10 j: 3 substr(o123456789,-10, 3): <<o123>>
i: -10 j: 4 substr(o123456789,-10, 4): <<o1234>>
i: -10 j: 5 substr(o123456789,-10, 5): <<o12345>>
i: -10 j: 6 substr(o123456789,-10, 6): <<o123456>>
i: -10 j: 7 substr(o123456789,-10, 7): <<o1234567>>
i: -10 j: 8 substr(o123456789,-10, 8): <<o12345678>>
i: -10 j: 9 substr(o123456789,-10, 9): <<o123456789>>
i: -10 j: 10 substr(o123456789,-10, 10): <<>>
i: -10 j: 11 substr(o123456789,-10, 11): <<>>
i: -10 j: 12 substr(o123456789,-10, 12): <<>>
i: -9 j:-12 substr(o123456789, -9,-12): <<>>
i: -9 j:-11 substr(o123456789, -9,-11): <<>>
i: -9 j:-10 substr(o123456789, -9,-10): <<>>
i: -9 j: -9 substr(o123456789, -9, -9): <<1>>
i: -9 j: -8 substr(o123456789, -9, -8): <<12>>
i: -9 j: -7 substr(o123456789, -9, -7): <<123>>
i: -9 j: -6 substr(o123456789, -9, -6): <<1234>>
i: -9 j: -5 substr(o123456789, -9, -5): <<12345>>
i: -9 j: -4 substr(o123456789, -9, -4): <<123456>>
i: -9 j: -3 substr(o123456789, -9, -3): <<1234567>>
i: -9 j: -2 substr(o123456789, -9, -2): <<12345678>>
i: -9 j: -1 substr(o123456789, -9, -1): <<123456789>>
i: -9 j: 0 substr(o123456789, -9, 0): <<>>
i: -9 j: 1 substr(o123456789, -9, 1): <<1>>
i: -9 j: 2 substr(o123456789, -9, 2): <<12>>
i: -9 j: 3 substr(o123456789, -9, 3): <<123>>
i: -9 j: 4 substr(o123456789, -9, 4): <<1234>>
i: -9 j: 5 substr(o123456789, -9, 5): <<12345>>
i: -9 j: 6 substr(o123456789, -9, 6): <<123456>>
i: -9 j: 7 substr(o123456789, -9, 7): <<1234567>>
i: -9 j: 8 substr(o123456789, -9, 8): <<12345678>>
i: -9 j: 9 substr(o123456789, -9, 9): <<123456789>>
i: -9 j: 10 substr(o123456789, -9, 10): <<>>
i: -9 j: 11 substr(o123456789, -9, 11): <<>>
i: -9 j: 12 substr(o123456789, -9, 12): <<>>
i: -8 j:-12 substr(o123456789, -8,-12): <<>>
i: -8 j:-11 substr(o123456789, -8,-11): <<>>
i: -8 j:-10 substr(o123456789, -8,-10): <<>>
i: -8 j: -9 substr(o123456789, -8, -9): <<>>
i: -8 j: -8 substr(o123456789, -8, -8): <<2>>
i: -8 j: -7 substr(o123456789, -8, -7): <<23>>
i: -8 j: -6 substr(o123456789, -8, -6): <<234>>
i: -8 j: -5 substr(o123456789, -8, -5): <<2345>>
i: -8 j: -4 substr(o123456789, -8, -4): <<23456>>
i: -8 j: -3 substr(o123456789, -8, -3): <<234567>>
i: -8 j: -2 substr(o123456789, -8, -2): <<2345678>>
i: -8 j: -1 substr(o123456789, -8, -1): <<23456789>>
i: -8 j: 0 substr(o123456789, -8, 0): <<>>
i: -8 j: 1 substr(o123456789, -8, 1): <<>>
i: -8 j: 2 substr(o123456789, -8, 2): <<2>>
i: -8 j: 3 substr(o123456789, -8, 3): <<23>>
i: -8 j: 4 substr(o123456789, -8, 4): <<234>>
i: -8 j: 5 substr(o123456789, -8, 5): <<2345>>
i: -8 j: 6 substr(o123456789, -8, 6): <<23456>>
i: -8 j: 7 substr(o123456789, -8, 7): <<234567>>
i: -8 j: 8 substr(o123456789, -8, 8): <<2345678>>
i: -8 j: 9 substr(o123456789, -8, 9): <<23456789>>
i: -8 j: 10 substr(o123456789, -8, 10): <<>>
i: -8 j: 11 substr(o123456789, -8, 11): <<>>
i: -8 j: 12 substr(o123456789, -8, 12): <<>>
i: -7 j:-12 substr(o123456789, -7,-12): <<>>
i: -7 j:-11 substr(o123456789, -7,-11): <<>>
i: -7 j:-10 substr(o123456789, -7,-10): <<>>
i: -7 j: -9 substr(o123456789, -7, -9): <<>>
i: -7 j: -8 substr(o123456789, -7, -8): <<>>
i: -7 j: -7 substr(o123456789, -7, -7): <<3>>
i: -7 j: -6 substr(o123456789, -7, -6): <<34>>
i: -7 j: -5 substr(o123456789, -7, -5): <<345>>
i: -7 j: -4 substr(o123456789, -7, -4): <<3456>>
i: -7 j: -3 substr(o123456789, -7, -3): <<34567>>
i: -7 j: -2 substr(o123456789, -7, -2): <<345678>>
i: -7 j: -1 substr(o123456789, -7, -1): <<3456789>>
i: -7 j: 0 substr(o123456789, -7, 0): <<>>
i: -7 j: 1 substr(o123456789, -7, 1): <<>>
i: -7 j: 2 substr(o123456789, -7, 2): <<>>
i: -7 j: 3 substr(o123456789, -7, 3): <<3>>
i: -7 j: 4 substr(o123456789, -7, 4): <<34>>
i: -7 j: 5 substr(o123456789, -7, 5): <<345>>
i: -7 j: 6 substr(o123456789, -7, 6): <<3456>>
i: -7 j: 7 substr(o123456789, -7, 7): <<34567>>
i: -7 j: 8 substr(o123456789, -7, 8): <<345678>>
i: -7 j: 9 substr(o123456789, -7, 9): <<3456789>>
i: -7 j: 10 substr(o123456789, -7, 10): <<>>
i: -7 j: 11 substr(o123456789, -7, 11): <<>>
i: -7 j: 12 substr(o123456789, -7, 12): <<>>
i: -6 j:-12 substr(o123456789, -6,-12): <<>>
i: -6 j:-11 substr(o123456789, -6,-11): <<>>
i: -6 j:-10 substr(o123456789, -6,-10): <<>>
i: -6 j: -9 substr(o123456789, -6, -9): <<>>
i: -6 j: -8 substr(o123456789, -6, -8): <<>>
i: -6 j: -7 substr(o123456789, -6, -7): <<>>
i: -6 j: -6 substr(o123456789, -6, -6): <<4>>
i: -6 j: -5 substr(o123456789, -6, -5): <<45>>
i: -6 j: -4 substr(o123456789, -6, -4): <<456>>
i: -6 j: -3 substr(o123456789, -6, -3): <<4567>>
i: -6 j: -2 substr(o123456789, -6, -2): <<45678>>
i: -6 j: -1 substr(o123456789, -6, -1): <<456789>>
i: -6 j: 0 substr(o123456789, -6, 0): <<>>
i: -6 j: 1 substr(o123456789, -6, 1): <<>>
i: -6 j: 2 substr(o123456789, -6, 2): <<>>
i: -6 j: 3 substr(o123456789, -6, 3): <<>>
i: -6 j: 4 substr(o123456789, -6, 4): <<4>>
i: -6 j: 5 substr(o123456789, -6, 5): <<45>>
i: -6 j: 6 substr(o123456789, -6, 6): <<456>>
i: -6 j: 7 substr(o123456789, -6, 7): <<4567>>
i: -6 j: 8 substr(o123456789, -6, 8): <<45678>>
i: -6 j: 9 substr(o123456789, -6, 9): <<456789>>
i: -6 j: 10 substr(o123456789, -6, 10): <<>>
i: -6 j: 11 substr(o123456789, -6, 11): <<>>
i: -6 j: 12 substr(o123456789, -6, 12): <<>>
i: -5 j:-12 substr(o123456789, -5,-12): <<>>
i: -5 j:-11 substr(o123456789, -5,-11): <<>>
i: -5 j:-10 substr(o123456789, -5,-10): <<>>
i: -5 j: -9 substr(o123456789, -5, -9): <<>>
i: -5 j: -8 substr(o123456789, -5, -8): <<>>
i: -5 j: -7 substr(o123456789, -5, -7): <<>>
i: -5 j: -6 substr(o123456789, -5, -6): <<>>
i: -5 j: -5 substr(o123456789, -5, -5): <<5>>
i: -5 j: -4 substr(o123456789, -5, -4): <<56>>
i: -5 j: -3 substr(o123456789, -5, -3): <<567>>
i: -5 j: -2 substr(o123456789, -5, -2): <<5678>>
i: -5 j: -1 substr(o123456789, -5, -1): <<56789>>
i: -5 j: 0 substr(o123456789, -5, 0): <<>>
i: -5 j: 1 substr(o123456789, -5, 1): <<>>
i: -5 j: 2 substr(o123456789, -5, 2): <<>>
i: -5 j: 3 substr(o123456789, -5, 3): <<>>
i: -5 j: 4 substr(o123456789, -5, 4): <<>>
i: -5 j: 5 substr(o123456789, -5, 5): <<5>>
i: -5 j: 6 substr(o123456789, -5, 6): <<56>>
i: -5 j: 7 substr(o123456789, -5, 7): <<567>>
i: -5 j: 8 substr(o123456789, -5, 8): <<5678>>
i: -5 j: 9 substr(o123456789, -5, 9): <<56789>>
i: -5 j: 10 substr(o123456789, -5, 10): <<>>
i: -5 j: 11 substr(o123456789, -5, 11): <<>>
i: -5 j: 12 substr(o123456789, -5, 12): <<>>
i: -4 j:-12 substr(o123456789, -4,-12): <<>>
i: -4 j:-11 substr(o123456789, -4,-11): <<>>
i: -4 j:-10 substr(o123456789, -4,-10): <<>>
i: -4 j: -9 substr(o123456789, -4, -9): <<>>
i: -4 j: -8 substr(o123456789, -4, -8): <<>>
i: -4 j: -7 substr(o123456789, -4, -7): <<>>
i: -4 j: -6 substr(o123456789, -4, -6): <<>>
i: -4 j: -5 substr(o123456789, -4, -5): <<>>
i: -4 j: -4 substr(o123456789, -4, -4): <<6>>
i: -4 j: -3 substr(o123456789, -4, -3): <<67>>
i: -4 j: -2 substr(o123456789, -4, -2): <<678>>
i: -4 j: -1 substr(o123456789, -4, -1): <<6789>>
i: -4 j: 0 substr(o123456789, -4, 0): <<>>
i: -4 j: 1 substr(o123456789, -4, 1): <<>>
i: -4 j: 2 substr(o123456789, -4, 2): <<>>
i: -4 j: 3 substr(o123456789, -4, 3): <<>>
i: -4 j: 4 substr(o123456789, -4, 4): <<>>
i: -4 j: 5 substr(o123456789, -4, 5): <<>>
i: -4 j: 6 substr(o123456789, -4, 6): <<6>>
i: -4 j: 7 substr(o123456789, -4, 7): <<67>>
i: -4 j: 8 substr(o123456789, -4, 8): <<678>>
i: -4 j: 9 substr(o123456789, -4, 9): <<6789>>
i: -4 j: 10 substr(o123456789, -4, 10): <<>>
i: -4 j: 11 substr(o123456789, -4, 11): <<>>
i: -4 j: 12 substr(o123456789, -4, 12): <<>>
i: -3 j:-12 substr(o123456789, -3,-12): <<>>
i: -3 j:-11 substr(o123456789, -3,-11): <<>>
i: -3 j:-10 substr(o123456789, -3,-10): <<>>
i: -3 j: -9 substr(o123456789, -3, -9): <<>>
i: -3 j: -8 substr(o123456789, -3, -8): <<>>
i: -3 j: -7 substr(o123456789, -3, -7): <<>>
i: -3 j: -6 substr(o123456789, -3, -6): <<>>
i: -3 j: -5 substr(o123456789, -3, -5): <<>>
i: -3 j: -4 substr(o123456789, -3, -4): <<>>
i: -3 j: -3 substr(o123456789, -3, -3): <<7>>
i: -3 j: -2 substr(o123456789, -3, -2): <<78>>
i: -3 j: -1 substr(o123456789, -3, -1): <<789>>
i: -3 j: 0 substr(o123456789, -3, 0): <<>>
i: -3 j: 1 substr(o123456789, -3, 1): <<>>
i: -3 j: 2 substr(o123456789, -3, 2): <<>>
i: -3 j: 3 substr(o123456789, -3, 3): <<>>
i: -3 j: 4 substr(o123456789, -3, 4): <<>>
i: -3 j: 5 substr(o123456789, -3, 5): <<>>
i: -3 j: 6 substr(o123456789, -3, 6): <<>>
i: -3 j: 7 substr(o123456789, -3, 7): <<7>>
i: -3 j: 8 substr(o123456789, -3, 8): <<78>>
i: -3 j: 9 substr(o123456789, -3, 9): <<789>>
i: -3 j: 10 substr(o123456789, -3, 10): <<>>
i: -3 j: 11 substr(o123456789, -3, 11): <<>>
i: -3 j: 12 substr(o123456789, -3, 12): <<>>
i: -2 j:-12 substr(o123456789, -2,-12): <<>>
i: -2 j:-11 substr(o123456789, -2,-11): <<>>
i: -2 j:-10 substr(o123456789, -2,-10): <<>>
i: -2 j: -9 substr(o123456789, -2, -9): <<>>
i: -2 j: -8 substr(o123456789, -2, -8): <<>>
i: -2 j: -7 substr(o123456789, -2, -7): <<>>
i: -2 j: -6 substr(o123456789, -2, -6): <<>>
i: -2 j: -5 substr(o123456789, -2, -5): <<>>
i: -2 j: -4 substr(o123456789, -2, -4): <<>>
i: -2 j: -3 substr(o123456789, -2, -3): <<>>
i: -2 j: -2 substr(o123456789, -2, -2): <<8>>
i: -2 j: -1 substr(o123456789, -2, -1): <<89>>
i: -2 j: 0 substr(o123456789, -2, 0): <<>>
i: -2 j: 1 substr(o123456789, -2, 1): <<>>
i: -2 j: 2 substr(o123456789, -2, 2): <<>>
i: -2 j: 3 substr(o123456789, -2, 3): <<>>
i: -2 j: 4 substr(o123456789, -2, 4): <<>>
i: -2 j: 5 substr(o123456789, -2, 5): <<>>
i: -2 j: 6 substr(o123456789, -2, 6): <<>>
i: -2 j: 7 substr(o123456789, -2, 7): <<>>
i: -2 j: 8 substr(o123456789, -2, 8): <<8>>
i: -2 j: 9 substr(o123456789, -2, 9): <<89>>
i: -2 j: 10 substr(o123456789, -2, 10): <<>>
i: -2 j: 11 substr(o123456789, -2, 11): <<>>
i: -2 j: 12 substr(o123456789, -2, 12): <<>>
i: -1 j:-12 substr(o123456789, -1,-12): <<>>
i: -1 j:-11 substr(o123456789, -1,-11): <<>>
i: -1 j:-10 substr(o123456789, -1,-10): <<>>
i: -1 j: -9 substr(o123456789, -1, -9): <<>>
i: -1 j: -8 substr(o123456789, -1, -8): <<>>
i: -1 j: -7 substr(o123456789, -1, -7): <<>>
i: -1 j: -6 substr(o123456789, -1, -6): <<>>
i: -1 j: -5 substr(o123456789, -1, -5): <<>>
i: -1 j: -4 substr(o123456789, -1, -4): <<>>
i: -1 j: -3 substr(o123456789, -1, -3): <<>>
i: -1 j: -2 substr(o123456789, -1, -2): <<>>
i: -1 j: -1 substr(o123456789, -1, -1): <<9>>
i: -1 j: 0 substr(o123456789, -1, 0): <<>>
i: -1 j: 1 substr(o123456789, -1, 1): <<>>
i: -1 j: 2 substr(o123456789, -1, 2): <<>>
i: -1 j: 3 substr(o123456789, -1, 3): <<>>
i: -1 j: 4 substr(o123456789, -1, 4): <<>>
i: -1 j: 5 substr(o123456789, -1, 5): <<>>
i: -1 j: 6 substr(o123456789, -1, 6): <<>>
i: -1 j: 7 substr(o123456789, -1, 7): <<>>
i: -1 j: 8 substr(o123456789, -1, 8): <<>>
i: -1 j: 9 substr(o123456789, -1, 9): <<9>>
i: -1 j: 10 substr(o123456789, -1, 10): <<>>
i: -1 j: 11 substr(o123456789, -1, 11): <<>>
i: -1 j: 12 substr(o123456789, -1, 12): <<>>
i: 0 j:-12 substr(o123456789, 0,-12): <<>>
i: 0 j:-11 substr(o123456789, 0,-11): <<>>
i: 0 j:-10 substr(o123456789, 0,-10): <<o>>
i: 0 j: -9 substr(o123456789, 0, -9): <<o1>>
i: 0 j: -8 substr(o123456789, 0, -8): <<o12>>
i: 0 j: -7 substr(o123456789, 0, -7): <<o123>>
i: 0 j: -6 substr(o123456789, 0, -6): <<o1234>>
i: 0 j: -5 substr(o123456789, 0, -5): <<o12345>>
i: 0 j: -4 substr(o123456789, 0, -4): <<o123456>>
i: 0 j: -3 substr(o123456789, 0, -3): <<o1234567>>
i: 0 j: -2 substr(o123456789, 0, -2): <<o12345678>>
i: 0 j: -1 substr(o123456789, 0, -1): <<o123456789>>
i: 0 j: 0 substr(o123456789, 0, 0): <<o>>
i: 0 j: 1 substr(o123456789, 0, 1): <<o1>>
i: 0 j: 2 substr(o123456789, 0, 2): <<o12>>
i: 0 j: 3 substr(o123456789, 0, 3): <<o123>>
i: 0 j: 4 substr(o123456789, 0, 4): <<o1234>>
i: 0 j: 5 substr(o123456789, 0, 5): <<o12345>>
i: 0 j: 6 substr(o123456789, 0, 6): <<o123456>>
i: 0 j: 7 substr(o123456789, 0, 7): <<o1234567>>
i: 0 j: 8 substr(o123456789, 0, 8): <<o12345678>>
i: 0 j: 9 substr(o123456789, 0, 9): <<o123456789>>
i: 0 j: 10 substr(o123456789, 0, 10): <<>>
i: 0 j: 11 substr(o123456789, 0, 11): <<>>
i: 0 j: 12 substr(o123456789, 0, 12): <<>>
i: 1 j:-12 substr(o123456789, 1,-12): <<>>
i: 1 j:-11 substr(o123456789, 1,-11): <<>>
i: 1 j:-10 substr(o123456789, 1,-10): <<>>
i: 1 j: -9 substr(o123456789, 1, -9): <<1>>
i: 1 j: -8 substr(o123456789, 1, -8): <<12>>
i: 1 j: -7 substr(o123456789, 1, -7): <<123>>
i: 1 j: -6 substr(o123456789, 1, -6): <<1234>>
i: 1 j: -5 substr(o123456789, 1, -5): <<12345>>
i: 1 j: -4 substr(o123456789, 1, -4): <<123456>>
i: 1 j: -3 substr(o123456789, 1, -3): <<1234567>>
i: 1 j: -2 substr(o123456789, 1, -2): <<12345678>>
i: 1 j: -1 substr(o123456789, 1, -1): <<123456789>>
i: 1 j: 0 substr(o123456789, 1, 0): <<>>
i: 1 j: 1 substr(o123456789, 1, 1): <<1>>
i: 1 j: 2 substr(o123456789, 1, 2): <<12>>
i: 1 j: 3 substr(o123456789, 1, 3): <<123>>
i: 1 j: 4 substr(o123456789, 1, 4): <<1234>>
i: 1 j: 5 substr(o123456789, 1, 5): <<12345>>
i: 1 j: 6 substr(o123456789, 1, 6): <<123456>>
i: 1 j: 7 substr(o123456789, 1, 7): <<1234567>>
i: 1 j: 8 substr(o123456789, 1, 8): <<12345678>>
i: 1 j: 9 substr(o123456789, 1, 9): <<123456789>>
i: 1 j: 10 substr(o123456789, 1, 10): <<>>
i: 1 j: 11 substr(o123456789, 1, 11): <<>>
i: 1 j: 12 substr(o123456789, 1, 12): <<>>
i: 2 j:-12 substr(o123456789, 2,-12): <<>>
i: 2 j:-11 substr(o123456789, 2,-11): <<>>
i: 2 j:-10 substr(o123456789, 2,-10): <<>>
i: 2 j: -9 substr(o123456789, 2, -9): <<>>
i: 2 j: -8 substr(o123456789, 2, -8): <<2>>
i: 2 j: -7 substr(o123456789, 2, -7): <<23>>
i: 2 j: -6 substr(o123456789, 2, -6): <<234>>
i: 2 j: -5 substr(o123456789, 2, -5): <<2345>>
i: 2 j: -4 substr(o123456789, 2, -4): <<23456>>
i: 2 j: -3 substr(o123456789, 2, -3): <<234567>>
i: 2 j: -2 substr(o123456789, 2, -2): <<2345678>>
i: 2 j: -1 substr(o123456789, 2, -1): <<23456789>>
i: 2 j: 0 substr(o123456789, 2, 0): <<>>
i: 2 j: 1 substr(o123456789, 2, 1): <<>>
i: 2 j: 2 substr(o123456789, 2, 2): <<2>>
i: 2 j: 3 substr(o123456789, 2, 3): <<23>>
i: 2 j: 4 substr(o123456789, 2, 4): <<234>>
i: 2 j: 5 substr(o123456789, 2, 5): <<2345>>
i: 2 j: 6 substr(o123456789, 2, 6): <<23456>>
i: 2 j: 7 substr(o123456789, 2, 7): <<234567>>
i: 2 j: 8 substr(o123456789, 2, 8): <<2345678>>
i: 2 j: 9 substr(o123456789, 2, 9): <<23456789>>
i: 2 j: 10 substr(o123456789, 2, 10): <<>>
i: 2 j: 11 substr(o123456789, 2, 11): <<>>
i: 2 j: 12 substr(o123456789, 2, 12): <<>>
i: 3 j:-12 substr(o123456789, 3,-12): <<>>
i: 3 j:-11 substr(o123456789, 3,-11): <<>>
i: 3 j:-10 substr(o123456789, 3,-10): <<>>
i: 3 j: -9 substr(o123456789, 3, -9): <<>>
i: 3 j: -8 substr(o123456789, 3, -8): <<>>
i: 3 j: -7 substr(o123456789, 3, -7): <<3>>
i: 3 j: -6 substr(o123456789, 3, -6): <<34>>
i: 3 j: -5 substr(o123456789, 3, -5): <<345>>
i: 3 j: -4 substr(o123456789, 3, -4): <<3456>>
i: 3 j: -3 substr(o123456789, 3, -3): <<34567>>
i: 3 j: -2 substr(o123456789, 3, -2): <<345678>>
i: 3 j: -1 substr(o123456789, 3, -1): <<3456789>>
i: 3 j: 0 substr(o123456789, 3, 0): <<>>
i: 3 j: 1 substr(o123456789, 3, 1): <<>>
i: 3 j: 2 substr(o123456789, 3, 2): <<>>
i: 3 j: 3 substr(o123456789, 3, 3): <<3>>
i: 3 j: 4 substr(o123456789, 3, 4): <<34>>
i: 3 j: 5 substr(o123456789, 3, 5): <<345>>
i: 3 j: 6 substr(o123456789, 3, 6): <<3456>>
i: 3 j: 7 substr(o123456789, 3, 7): <<34567>>
i: 3 j: 8 substr(o123456789, 3, 8): <<345678>>
i: 3 j: 9 substr(o123456789, 3, 9): <<3456789>>
i: 3 j: 10 substr(o123456789, 3, 10): <<>>
i: 3 j: 11 substr(o123456789, 3, 11): <<>>
i: 3 j: 12 substr(o123456789, 3, 12): <<>>
i: 4 j:-12 substr(o123456789, 4,-12): <<>>
i: 4 j:-11 substr(o123456789, 4,-11): <<>>
i: 4 j:-10 substr(o123456789, 4,-10): <<>>
i: 4 j: -9 substr(o123456789, 4, -9): <<>>
i: 4 j: -8 substr(o123456789, 4, -8): <<>>
i: 4 j: -7 substr(o123456789, 4, -7): <<>>
i: 4 j: -6 substr(o123456789, 4, -6): <<4>>
i: 4 j: -5 substr(o123456789, 4, -5): <<45>>
i: 4 j: -4 substr(o123456789, 4, -4): <<456>>
i: 4 j: -3 substr(o123456789, 4, -3): <<4567>>
i: 4 j: -2 substr(o123456789, 4, -2): <<45678>>
i: 4 j: -1 substr(o123456789, 4, -1): <<456789>>
i: 4 j: 0 substr(o123456789, 4, 0): <<>>
i: 4 j: 1 substr(o123456789, 4, 1): <<>>
i: 4 j: 2 substr(o123456789, 4, 2): <<>>
i: 4 j: 3 substr(o123456789, 4, 3): <<>>
i: 4 j: 4 substr(o123456789, 4, 4): <<4>>
i: 4 j: 5 substr(o123456789, 4, 5): <<45>>
i: 4 j: 6 substr(o123456789, 4, 6): <<456>>
i: 4 j: 7 substr(o123456789, 4, 7): <<4567>>
i: 4 j: 8 substr(o123456789, 4, 8): <<45678>>
i: 4 j: 9 substr(o123456789, 4, 9): <<456789>>
i: 4 j: 10 substr(o123456789, 4, 10): <<>>
i: 4 j: 11 substr(o123456789, 4, 11): <<>>
i: 4 j: 12 substr(o123456789, 4, 12): <<>>
i: 5 j:-12 substr(o123456789, 5,-12): <<>>
i: 5 j:-11 substr(o123456789, 5,-11): <<>>
i: 5 j:-10 substr(o123456789, 5,-10): <<>>
i: 5 j: -9 substr(o123456789, 5, -9): <<>>
i: 5 j: -8 substr(o123456789, 5, -8): <<>>
i: 5 j: -7 substr(o123456789, 5, -7): <<>>
i: 5 j: -6 substr(o123456789, 5, -6): <<>>
i: 5 j: -5 substr(o123456789, 5, -5): <<5>>
i: 5 j: -4 substr(o123456789, 5, -4): <<56>>
i: 5 j: -3 substr(o123456789, 5, -3): <<567>>
i: 5 j: -2 substr(o123456789, 5, -2): <<5678>>
i: 5 j: -1 substr(o123456789, 5, -1): <<56789>>
i: 5 j: 0 substr(o123456789, 5, 0): <<>>
i: 5 j: 1 substr(o123456789, 5, 1): <<>>
i: 5 j: 2 substr(o123456789, 5, 2): <<>>
i: 5 j: 3 substr(o123456789, 5, 3): <<>>
i: 5 j: 4 substr(o123456789, 5, 4): <<>>
i: 5 j: 5 substr(o123456789, 5, 5): <<5>>
i: 5 j: 6 substr(o123456789, 5, 6): <<56>>
i: 5 j: 7 substr(o123456789, 5, 7): <<567>>
i: 5 j: 8 substr(o123456789, 5, 8): <<5678>>
i: 5 j: 9 substr(o123456789, 5, 9): <<56789>>
i: 5 j: 10 substr(o123456789, 5, 10): <<>>
i: 5 j: 11 substr(o123456789, 5, 11): <<>>
i: 5 j: 12 substr(o123456789, 5, 12): <<>>
i: 6 j:-12 substr(o123456789, 6,-12): <<>>
i: 6 j:-11 substr(o123456789, 6,-11): <<>>
i: 6 j:-10 substr(o123456789, 6,-10): <<>>
i: 6 j: -9 substr(o123456789, 6, -9): <<>>
i: 6 j: -8 substr(o123456789, 6, -8): <<>>
i: 6 j: -7 substr(o123456789, 6, -7): <<>>
i: 6 j: -6 substr(o123456789, 6, -6): <<>>
i: 6 j: -5 substr(o123456789, 6, -5): <<>>
i: 6 j: -4 substr(o123456789, 6, -4): <<6>>
i: 6 j: -3 substr(o123456789, 6, -3): <<67>>
i: 6 j: -2 substr(o123456789, 6, -2): <<678>>
i: 6 j: -1 substr(o123456789, 6, -1): <<6789>>
i: 6 j: 0 substr(o123456789, 6, 0): <<>>
i: 6 j: 1 substr(o123456789, 6, 1): <<>>
i: 6 j: 2 substr(o123456789, 6, 2): <<>>
i: 6 j: 3 substr(o123456789, 6, 3): <<>>
i: 6 j: 4 substr(o123456789, 6, 4): <<>>
i: 6 j: 5 substr(o123456789, 6, 5): <<>>
i: 6 j: 6 substr(o123456789, 6, 6): <<6>>
i: 6 j: 7 substr(o123456789, 6, 7): <<67>>
i: 6 j: 8 substr(o123456789, 6, 8): <<678>>
i: 6 j: 9 substr(o123456789, 6, 9): <<6789>>
i: 6 j: 10 substr(o123456789, 6, 10): <<>>
i: 6 j: 11 substr(o123456789, 6, 11): <<>>
i: 6 j: 12 substr(o123456789, 6, 12): <<>>
i: 7 j:-12 substr(o123456789, 7,-12): <<>>
i: 7 j:-11 substr(o123456789, 7,-11): <<>>
i: 7 j:-10 substr(o123456789, 7,-10): <<>>
i: 7 j: -9 substr(o123456789, 7, -9): <<>>
i: 7 j: -8 substr(o123456789, 7, -8): <<>>
i: 7 j: -7 substr(o123456789, 7, -7): <<>>
i: 7 j: -6 substr(o123456789, 7, -6): <<>>
i: 7 j: -5 substr(o123456789, 7, -5): <<>>
i: 7 j: -4 substr(o123456789, 7, -4): <<>>
i: 7 j: -3 substr(o123456789, 7, -3): <<7>>
i: 7 j: -2 substr(o123456789, 7, -2): <<78>>
i: 7 j: -1 substr(o123456789, 7, -1): <<789>>
i: 7 j: 0 substr(o123456789, 7, 0): <<>>
i: 7 j: 1 substr(o123456789, 7, 1): <<>>
i: 7 j: 2 substr(o123456789, 7, 2): <<>>
i: 7 j: 3 substr(o123456789, 7, 3): <<>>
i: 7 j: 4 substr(o123456789, 7, 4): <<>>
i: 7 j: 5 substr(o123456789, 7, 5): <<>>
i: 7 j: 6 substr(o123456789, 7, 6): <<>>
i: 7 j: 7 substr(o123456789, 7, 7): <<7>>
i: 7 j: 8 substr(o123456789, 7, 8): <<78>>
i: 7 j: 9 substr(o123456789, 7, 9): <<789>>
i: 7 j: 10 substr(o123456789, 7, 10): <<>>
i: 7 j: 11 substr(o123456789, 7, 11): <<>>
i: 7 j: 12 substr(o123456789, 7, 12): <<>>
i: 8 j:-12 substr(o123456789, 8,-12): <<>>
i: 8 j:-11 substr(o123456789, 8,-11): <<>>
i: 8 j:-10 substr(o123456789, 8,-10): <<>>
i: 8 j: -9 substr(o123456789, 8, -9): <<>>
i: 8 j: -8 substr(o123456789, 8, -8): <<>>
i: 8 j: -7 substr(o123456789, 8, -7): <<>>
i: 8 j: -6 substr(o123456789, 8, -6): <<>>
i: 8 j: -5 substr(o123456789, 8, -5): <<>>
i: 8 j: -4 substr(o123456789, 8, -4): <<>>
i: 8 j: -3 substr(o123456789, 8, -3): <<>>
i: 8 j: -2 substr(o123456789, 8, -2): <<8>>
i: 8 j: -1 substr(o123456789, 8, -1): <<89>>
i: 8 j: 0 substr(o123456789, 8, 0): <<>>
i: 8 j: 1 substr(o123456789, 8, 1): <<>>
i: 8 j: 2 substr(o123456789, 8, 2): <<>>
i: 8 j: 3 substr(o123456789, 8, 3): <<>>
i: 8 j: 4 substr(o123456789, 8, 4): <<>>
i: 8 j: 5 substr(o123456789, 8, 5): <<>>
i: 8 j: 6 substr(o123456789, 8, 6): <<>>
i: 8 j: 7 substr(o123456789, 8, 7): <<>>
i: 8 j: 8 substr(o123456789, 8, 8): <<8>>
i: 8 j: 9 substr(o123456789, 8, 9): <<89>>
i: 8 j: 10 substr(o123456789, 8, 10): <<>>
i: 8 j: 11 substr(o123456789, 8, 11): <<>>
i: 8 j: 12 substr(o123456789, 8, 12): <<>>
i: 9 j:-12 substr(o123456789, 9,-12): <<>>
i: 9 j:-11 substr(o123456789, 9,-11): <<>>
i: 9 j:-10 substr(o123456789, 9,-10): <<>>
i: 9 j: -9 substr(o123456789, 9, -9): <<>>
i: 9 j: -8 substr(o123456789, 9, -8): <<>>
i: 9 j: -7 substr(o123456789, 9, -7): <<>>
i: 9 j: -6 substr(o123456789, 9, -6): <<>>
i: 9 j: -5 substr(o123456789, 9, -5): <<>>
i: 9 j: -4 substr(o123456789, 9, -4): <<>>
i: 9 j: -3 substr(o123456789, 9, -3): <<>>
i: 9 j: -2 substr(o123456789, 9, -2): <<>>
i: 9 j: -1 substr(o123456789, 9, -1): <<9>>
i: 9 j: 0 substr(o123456789, 9, 0): <<>>
i: 9 j: 1 substr(o123456789, 9, 1): <<>>
i: 9 j: 2 substr(o123456789, 9, 2): <<>>
i: 9 j: 3 substr(o123456789, 9, 3): <<>>
i: 9 j: 4 substr(o123456789, 9, 4): <<>>
i: 9 j: 5 substr(o123456789, 9, 5): <<>>
i: 9 j: 6 substr(o123456789, 9, 6): <<>>
i: 9 j: 7 substr(o123456789, 9, 7): <<>>
i: 9 j: 8 substr(o123456789, 9, 8): <<>>
i: 9 j: 9 substr(o123456789, 9, 9): <<9>>
i: 9 j: 10 substr(o123456789, 9, 10): <<>>
i: 9 j: 11 substr(o123456789, 9, 11): <<>>
i: 9 j: 12 substr(o123456789, 9, 12): <<>>
i: 10 j:-12 substr(o123456789, 10,-12): <<>>
i: 10 j:-11 substr(o123456789, 10,-11): <<>>
i: 10 j:-10 substr(o123456789, 10,-10): <<>>
i: 10 j: -9 substr(o123456789, 10, -9): <<>>
i: 10 j: -8 substr(o123456789, 10, -8): <<>>
i: 10 j: -7 substr(o123456789, 10, -7): <<>>
i: 10 j: -6 substr(o123456789, 10, -6): <<>>
i: 10 j: -5 substr(o123456789, 10, -5): <<>>
i: 10 j: -4 substr(o123456789, 10, -4): <<>>
i: 10 j: -3 substr(o123456789, 10, -3): <<>>
i: 10 j: -2 substr(o123456789, 10, -2): <<>>
i: 10 j: -1 substr(o123456789, 10, -1): <<>>
i: 10 j: 0 substr(o123456789, 10, 0): <<>>
i: 10 j: 1 substr(o123456789, 10, 1): <<>>
i: 10 j: 2 substr(o123456789, 10, 2): <<>>
i: 10 j: 3 substr(o123456789, 10, 3): <<>>
i: 10 j: 4 substr(o123456789, 10, 4): <<>>
i: 10 j: 5 substr(o123456789, 10, 5): <<>>
i: 10 j: 6 substr(o123456789, 10, 6): <<>>
i: 10 j: 7 substr(o123456789, 10, 7): <<>>
i: 10 j: 8 substr(o123456789, 10, 8): <<>>
i: 10 j: 9 substr(o123456789, 10, 9): <<>>
i: 10 j: 10 substr(o123456789, 10, 10): <<>>
i: 10 j: 11 substr(o123456789, 10, 11): <<>>
i: 10 j: 12 substr(o123456789, 10, 12): <<>>
i: 11 j:-12 substr(o123456789, 11,-12): <<>>
i: 11 j:-11 substr(o123456789, 11,-11): <<>>
i: 11 j:-10 substr(o123456789, 11,-10): <<>>
i: 11 j: -9 substr(o123456789, 11, -9): <<>>
i: 11 j: -8 substr(o123456789, 11, -8): <<>>
i: 11 j: -7 substr(o123456789, 11, -7): <<>>
i: 11 j: -6 substr(o123456789, 11, -6): <<>>
i: 11 j: -5 substr(o123456789, 11, -5): <<>>
i: 11 j: -4 substr(o123456789, 11, -4): <<>>
i: 11 j: -3 substr(o123456789, 11, -3): <<>>
i: 11 j: -2 substr(o123456789, 11, -2): <<>>
i: 11 j: -1 substr(o123456789, 11, -1): <<>>
i: 11 j: 0 substr(o123456789, 11, 0): <<>>
i: 11 j: 1 substr(o123456789, 11, 1): <<>>
i: 11 j: 2 substr(o123456789, 11, 2): <<>>
i: 11 j: 3 substr(o123456789, 11, 3): <<>>
i: 11 j: 4 substr(o123456789, 11, 4): <<>>
i: 11 j: 5 substr(o123456789, 11, 5): <<>>
i: 11 j: 6 substr(o123456789, 11, 6): <<>>
i: 11 j: 7 substr(o123456789, 11, 7): <<>>
i: 11 j: 8 substr(o123456789, 11, 8): <<>>
i: 11 j: 9 substr(o123456789, 11, 9): <<>>
i: 11 j: 10 substr(o123456789, 11, 10): <<>>
i: 11 j: 11 substr(o123456789, 11, 11): <<>>
i: 11 j: 12 substr(o123456789, 11, 12): <<>>
i: 12 j:-12 substr(o123456789, 12,-12): <<>>
i: 12 j:-11 substr(o123456789, 12,-11): <<>>
i: 12 j:-10 substr(o123456789, 12,-10): <<>>
i: 12 j: -9 substr(o123456789, 12, -9): <<>>
i: 12 j: -8 substr(o123456789, 12, -8): <<>>
i: 12 j: -7 substr(o123456789, 12, -7): <<>>
i: 12 j: -6 substr(o123456789, 12, -6): <<>>
i: 12 j: -5 substr(o123456789, 12, -5): <<>>
i: 12 j: -4 substr(o123456789, 12, -4): <<>>
i: 12 j: -3 substr(o123456789, 12, -3): <<>>
i: 12 j: -2 substr(o123456789, 12, -2): <<>>
i: 12 j: -1 substr(o123456789, 12, -1): <<>>
i: 12 j: 0 substr(o123456789, 12, 0): <<>>
i: 12 j: 1 substr(o123456789, 12, 1): <<>>
i: 12 j: 2 substr(o123456789, 12, 2): <<>>
i: 12 j: 3 substr(o123456789, 12, 3): <<>>
i: 12 j: 4 substr(o123456789, 12, 4): <<>>
i: 12 j: 5 substr(o123456789, 12, 5): <<>>
i: 12 j: 6 substr(o123456789, 12, 6): <<>>
i: 12 j: 7 substr(o123456789, 12, 7): <<>>
i: 12 j: 8 substr(o123456789, 12, 8): <<>>
i: 12 j: 9 substr(o123456789, 12, 9): <<>>
i: 12 j: 10 substr(o123456789, 12, 10): <<>>
i: 12 j: 11 substr(o123456789, 12, 11): <<>>
i: 12 j: 12 substr(o123456789, 12, 12): <<>>
================================================================
DSL OOSVARS
mlr --opprint put -v begin{@ox=0}; $d=$x-@ox; @ox=$x ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="-", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="-", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
a b i x y d
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790
eks pan 2 0.7586799647899636 0.5221511083334797 0.411890
wye wye 3 0.20460330576630303 0.33831852551664776 -0.554077
eks wye 4 0.38139939387114097 0.13418874328430463 0.176796
wye pan 5 0.5732889198020006 0.8636244699032729 0.191890
zee pan 6 0.5271261600918548 0.49322128674835697 -0.046163
eks zee 7 0.6117840605678454 0.1878849191181694 0.084658
zee wye 8 0.5985540091064224 0.976181385699006 -0.013230
hat wye 9 0.03144187646093577 0.7495507603507059 -0.567112
pan wye 10 0.5026260055412137 0.9526183602969864 0.471184
mlr --opprint put -v begin{@ox="no"}; $d=@ox == "no" ? 1.0 : $x/@ox; @ox=$x then step -a ratio -f x ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="no", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="==", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="no", type=STRING_LITERAL.
text="1.0", type=NUMERIC_LITERAL.
text="/", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="no", type=STRING_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="==", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="no", type=STRING_LITERAL.
text="1.0", type=NUMERIC_LITERAL.
text="/", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
a b i x y d x_ratio
pan pan 1 0.3467901443380824 0.7268028627434533 1.000000 1.000000
eks pan 2 0.7586799647899636 0.5221511083334797 2.187721 2.187721
wye wye 3 0.20460330576630303 0.33831852551664776 0.269683 0.269683
eks wye 4 0.38139939387114097 0.13418874328430463 1.864092 1.864092
wye pan 5 0.5732889198020006 0.8636244699032729 1.503120 1.503120
zee pan 6 0.5271261600918548 0.49322128674835697 0.919477 0.919477
eks zee 7 0.6117840605678454 0.1878849191181694 1.160603 1.160603
zee wye 8 0.5985540091064224 0.976181385699006 0.978375 0.978375
hat wye 9 0.03144187646093577 0.7495507603507059 0.052530 0.052530
pan wye 10 0.5026260055412137 0.9526183602969864 15.985878 15.985878
mlr --opprint put -v $d=$x/@ox; @ox=$x then step -a ratio -f x ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="/", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="/", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
a b i x y d x_ratio
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790 1.000000
eks pan 2 0.7586799647899636 0.5221511083334797 2.187721 2.187721
wye wye 3 0.20460330576630303 0.33831852551664776 0.269683 0.269683
eks wye 4 0.38139939387114097 0.13418874328430463 1.864092 1.864092
wye pan 5 0.5732889198020006 0.8636244699032729 1.503120 1.503120
zee pan 6 0.5271261600918548 0.49322128674835697 0.919477 0.919477
eks zee 7 0.6117840605678454 0.1878849191181694 1.160603 1.160603
zee wye 8 0.5985540091064224 0.976181385699006 0.978375 0.978375
hat wye 9 0.03144187646093577 0.7495507603507059 0.052530 0.052530
pan wye 10 0.5026260055412137 0.9526183602969864 15.985878 15.985878
mlr --opprint put -v begin{@ox="no"}; $d=@ox == "no" ? 1.0 : $x/@ox; @ox=$x then step -a ratio -f x ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="no", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="==", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="no", type=STRING_LITERAL.
text="1.0", type=NUMERIC_LITERAL.
text="/", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="no", type=STRING_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="? :", type=OPERATOR:
text="==", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="no", type=STRING_LITERAL.
text="1.0", type=NUMERIC_LITERAL.
text="/", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
a b i x y d x_ratio
pan pan 1 0.3467901443380824 0.7268028627434533 1.000000 1.000000
eks pan 2 0.7586799647899636 0.5221511083334797 2.187721 2.187721
wye wye 3 0.20460330576630303 0.33831852551664776 0.269683 0.269683
eks wye 4 0.38139939387114097 0.13418874328430463 1.864092 1.864092
wye pan 5 0.5732889198020006 0.8636244699032729 1.503120 1.503120
zee pan 6 0.5271261600918548 0.49322128674835697 0.919477 0.919477
eks zee 7 0.6117840605678454 0.1878849191181694 1.160603 1.160603
zee wye 8 0.5985540091064224 0.976181385699006 0.978375 0.978375
hat wye 9 0.03144187646093577 0.7495507603507059 0.052530 0.052530
pan wye 10 0.5026260055412137 0.9526183602969864 15.985878 15.985878
mlr --opprint put -v begin{@rsum = 0}; @rsum = @rsum + $x; $rsum = @rsum ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="rsum", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="rsum", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="rsum", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="rsum", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="rsum", type=STRING_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="rsum", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="rsum", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="rsum", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="rsum", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="rsum", type=STRING_LITERAL.
a b i x y rsum
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790
eks pan 2 0.7586799647899636 0.5221511083334797 1.105470
wye wye 3 0.20460330576630303 0.33831852551664776 1.310073
eks wye 4 0.38139939387114097 0.13418874328430463 1.691473
wye pan 5 0.5732889198020006 0.8636244699032729 2.264762
zee pan 6 0.5271261600918548 0.49322128674835697 2.791888
eks zee 7 0.6117840605678454 0.1878849191181694 3.403672
zee wye 8 0.5985540091064224 0.976181385699006 4.002226
hat wye 9 0.03144187646093577 0.7495507603507059 4.033668
pan wye 10 0.5026260055412137 0.9526183602969864 4.536294
mlr --opprint put -v begin{@a=0; @b=0; @c=0}; $za=@a; $zb=@b; $zc=@c; $d=@a+@b+@c; @a=@b; @b=@c; @c=$i ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="za", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="zb", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="zc", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="i", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="za", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="zb", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="zc", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="i", type=FIELD_NAME.
a b i x y za zb zc d
pan pan 1 0.3467901443380824 0.7268028627434533 0 0 0 0
eks pan 2 0.7586799647899636 0.5221511083334797 0 0 1 1
wye wye 3 0.20460330576630303 0.33831852551664776 0 1 2 3
eks wye 4 0.38139939387114097 0.13418874328430463 1 2 3 6
wye pan 5 0.5732889198020006 0.8636244699032729 2 3 4 9
zee pan 6 0.5271261600918548 0.49322128674835697 3 4 5 12
eks zee 7 0.6117840605678454 0.1878849191181694 4 5 6 15
zee wye 8 0.5985540091064224 0.976181385699006 5 6 7 18
hat wye 9 0.03144187646093577 0.7495507603507059 6 7 8 21
pan wye 10 0.5026260055412137 0.9526183602969864 7 8 9 24
mlr --opprint put -v begin {@a=0; @b=0; @c=0}; $za=@a; $zb=@b; $zc=@c; $d=@a+@b+@c; @a=@b; @b=@c; @c=$i ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="za", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="zb", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="zc", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="i", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="za", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="zb", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="zc", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="+", type=OPERATOR:
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="i", type=FIELD_NAME.
a b i x y za zb zc d
pan pan 1 0.3467901443380824 0.7268028627434533 0 0 0 0
eks pan 2 0.7586799647899636 0.5221511083334797 0 0 1 1
wye wye 3 0.20460330576630303 0.33831852551664776 0 1 2 3
eks wye 4 0.38139939387114097 0.13418874328430463 1 2 3 6
wye pan 5 0.5732889198020006 0.8636244699032729 2 3 4 9
zee pan 6 0.5271261600918548 0.49322128674835697 3 4 5 12
eks zee 7 0.6117840605678454 0.1878849191181694 4 5 6 15
zee wye 8 0.5985540091064224 0.976181385699006 5 6 7 18
hat wye 9 0.03144187646093577 0.7495507603507059 6 7 8 21
pan wye 10 0.5026260055412137 0.9526183602969864 7 8 9 24
mlr --opprint put -v begin{@ox=0}; $d=$x-@ox; @ox=$x ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="-", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="-", type=OPERATOR:
text="x", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="ox", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
a b i x y d
pan pan 1 0.3467901443380824 0.7268028627434533 0.346790
eks pan 2 0.7586799647899636 0.5221511083334797 0.411890
wye wye 3 0.20460330576630303 0.33831852551664776 -0.554077
eks wye 4 0.38139939387114097 0.13418874328430463 0.176796
wye pan 5 0.5732889198020006 0.8636244699032729 0.191890
zee pan 6 0.5271261600918548 0.49322128674835697 -0.046163
eks zee 7 0.6117840605678454 0.1878849191181694 0.084658
zee wye 8 0.5985540091064224 0.976181385699006 -0.013230
hat wye 9 0.03144187646093577 0.7495507603507059 -0.567112
pan wye 10 0.5026260055412137 0.9526183602969864 0.471184
mlr put -v @a=$a; @b=$b; @c=$x; end {emitf @a; emitf @b; emitf @c} ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="a", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="b", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="stream", type=STREAM:
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="stream", type=STREAM:
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="stream", type=STREAM:
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="stream", type=STREAM:
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="stream", type=STREAM:
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="stream", type=STREAM:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="a", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="b", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
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
a=pan
b=wye
c=0.502626
mlr put -v @a=$a; @b=$b; @c=$x; end{emitf @a, @b, @c} ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="a", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="b", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="stream", type=STREAM:
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="stream", type=STREAM:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="a", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="b", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
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
a=pan,b=wye,c=0.502626
mlr --opprint put -v begin {@count=0; @sum=0.0}; @count=@count+1; @sum=@sum+$x; end{@mean=@sum/@count; emitf @mean} ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="0.0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="mean", type=STRING_LITERAL.
text="/", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="mean", type=STRING_LITERAL.
text="stream", type=STREAM:
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="0.0", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="mean", type=STRING_LITERAL.
text="/", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="mean", type=STRING_LITERAL.
text="stream", type=STREAM:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mean
0.453629
mlr --opprint put -v end{@mean=@sum/@count; emitf @mean}; begin {@count=0; @sum=0.0}; @count=@count+1; @sum=@sum+$x ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="mean", type=STRING_LITERAL.
text="/", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="mean", type=STRING_LITERAL.
text="stream", type=STREAM:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="0.0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="0.0", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="mean", type=STRING_LITERAL.
text="/", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="mean", type=STRING_LITERAL.
text="stream", type=STREAM:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="count", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="sum", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mean
0.453629
mlr put -v begin{ @a = @b[1] }; $c = @d; @e[$i][2+$j][3] = $4; end{@f[@g[5][@h]] = 6} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="c", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="d", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="e", type=STRING_LITERAL.
text="i", type=FIELD_NAME.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="j", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
text="4", type=FIELD_NAME.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="f", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="g", type=STRING_LITERAL.
text="5", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="h", type=STRING_LITERAL.
text="6", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="f", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="g", type=STRING_LITERAL.
text="5", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="h", type=STRING_LITERAL.
text="6", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="c", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="d", type=STRING_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="e", type=STRING_LITERAL.
text="i", type=FIELD_NAME.
text="+", type=OPERATOR:
text="2", type=NUMERIC_LITERAL.
text="j", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
text="4", type=FIELD_NAME.
mlr put @y[$a]=$y; end{dump} ./reg_test/input/abixy
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
{
"y": {
"pan": 0.952618,
"eks": 0.187885,
"wye": 0.863624,
"zee": 0.976181,
"hat": 0.749551
}
}
mlr stats1 -a sum -f y -g a ./reg_test/input/abixy
a=pan,y_sum=1.679421
a=eks,y_sum=0.844225
a=wye,y_sum=1.201943
a=zee,y_sum=1.469403
a=hat,y_sum=0.749551
mlr put @y_sum[$a] = $y; end{dump} ./reg_test/input/abixy
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
{
"y_sum": {
"pan": 0.952618,
"eks": 0.187885,
"wye": 0.863624,
"zee": 0.976181,
"hat": 0.749551
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @s ; dump} ./reg_test/input/unset1.dkvp
{
"s": 9,
"t": {
"1": 9
},
"u": {
"1": {
"2": 9
}
}
}
{
"t": {
"1": 9
},
"u": {
"1": {
"2": 9
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @t ; dump} ./reg_test/input/unset1.dkvp
{
"s": 9,
"t": {
"1": 9
},
"u": {
"1": {
"2": 9
}
}
}
{
"s": 9,
"u": {
"1": {
"2": 9
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @t[1] ; dump} ./reg_test/input/unset1.dkvp
{
"s": 9,
"t": {
"1": 9
},
"u": {
"1": {
"2": 9
}
}
}
{
"s": 9,
"t": {
},
"u": {
"1": {
"2": 9
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @u ; dump} ./reg_test/input/unset1.dkvp
{
"s": 9,
"t": {
"1": 9
},
"u": {
"1": {
"2": 9
}
}
}
{
"s": 9,
"t": {
"1": 9
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @u[1] ; dump} ./reg_test/input/unset1.dkvp
{
"s": 9,
"t": {
"1": 9
},
"u": {
"1": {
"2": 9
}
}
}
{
"s": 9,
"t": {
"1": 9
},
"u": {
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @u[1][2]; dump} ./reg_test/input/unset1.dkvp
{
"s": 9,
"t": {
"1": 9
},
"u": {
"1": {
"2": 9
}
}
}
{
"s": 9,
"t": {
"1": 9
},
"u": {
"1": {
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @s ; dump} ./reg_test/input/unset4.dkvp
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
{
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @t ; dump} ./reg_test/input/unset4.dkvp
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
{
"s": 9,
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @t[1] ; dump} ./reg_test/input/unset4.dkvp
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
{
"s": 9,
"t": {
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @u ; dump} ./reg_test/input/unset4.dkvp
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
{
"s": 9,
"t": {
"1": 9,
"4": 9
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @u[1] ; dump} ./reg_test/input/unset4.dkvp
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"4": {
"5": 9,
"6": 9
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @u[1][2]; dump} ./reg_test/input/unset4.dkvp
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset all; dump} ./reg_test/input/unset4.dkvp
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
{
}
mlr put -q @s=$x; @t[$a]=$x; @u[$a][$b]=$x; end{dump; unset @*; dump} ./reg_test/input/unset4.dkvp
{
"s": 9,
"t": {
"1": 9,
"4": 9
},
"u": {
"1": {
"2": 9,
"3": 9
},
"4": {
"5": 9,
"6": 9
}
}
}
{
}
mlr put unset $x ./reg_test/input/unset4.dkvp
a=1,b=2
a=1,b=3
a=4,b=5
a=4,b=6
mlr put unset $*; $aaa = 999 ./reg_test/input/unset4.dkvp
aaa=999
aaa=999
aaa=999
aaa=999
mlr --from ./reg_test/input/abixy put x = 1; print "OX=".x; unset x; print "NX=".x
OX=1
NX=
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
OX=1
NX=
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
OX=1
NX=
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
OX=1
NX=
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
OX=1
NX=
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
OX=1
NX=
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
OX=1
NX=
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
OX=1
NX=
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
OX=1
NX=
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
OX=1
NX=
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr put -q @{variable.name} += $x; end{emit @{variable.name}} ./reg_test/input/abixy
variable.name=4.536294
mlr put -q @{variable.name}[$a] += $x; end{emit @{variable.name},"a"} ./reg_test/input/abixy
a=pan,variable.name=0.849416
a=eks,variable.name=1.751863
a=wye,variable.name=0.777892
a=zee,variable.name=1.125680
a=hat,variable.name=0.031442
mlr put for (k,v in $*) { if (k == "i") {unset $[k]}} ./reg_test/input/abixy
a=pan,b=pan,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,x=0.5026260055412137,y=0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put -q
@output[NR] = $*;
end {
for ((nr, k), v in @output) {
if (nr == 4 || k == "i") {
unset @output[nr][k]
}
}
emitp @output, "NR", "k"
}
NR k output
1 a pan
1 b pan
1 x 0.3467901443380824
1 y 0.7268028627434533
2 a eks
2 b pan
2 x 0.7586799647899636
2 y 0.5221511083334797
3 a wye
3 b wye
3 x 0.20460330576630303
3 y 0.33831852551664776
5 a wye
5 b pan
5 x 0.5732889198020006
5 y 0.8636244699032729
6 a zee
6 b pan
6 x 0.5271261600918548
6 y 0.49322128674835697
7 a eks
7 b zee
7 x 0.6117840605678454
7 y 0.1878849191181694
8 a zee
8 b wye
8 x 0.5985540091064224
8 y 0.976181385699006
9 a hat
9 b wye
9 x 0.03144187646093577
9 y 0.7495507603507059
10 a pan
10 b wye
10 x 0.5026260055412137
10 y 0.9526183602969864
================================================================
DSL PATTERN-ACTION BLOCKS
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {}; $x=6; end{@z=9} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1}; $x=6; end{@z=9} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1;$t=2}; $x=6; end{@z=9} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="t", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="t", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1;$t=2;$u=3}; $x=6; end{@z=9} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="t", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="u", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="t", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="u", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1;@t["u".$5]=2;emitf @v,@w;dump}; $x=6; end{@z=9} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text=".", type=OPERATOR:
text="u", type=STRING_LITERAL.
text="5", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="w", type=STRING_LITERAL.
text="stream", type=STREAM:
text="dump", type=DUMP:
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="all", type=FULL_OOSVAR.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="z", type=STRING_LITERAL.
text="9", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="e", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="||", type=OPERATOR:
text="==", type=OPERATOR:
text="f", type=FIELD_NAME.
text="g", type=FIELD_NAME.
text="==", type=OPERATOR:
text="h", type=FIELD_NAME.
text="i", type=FIELD_NAME.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text=".", type=OPERATOR:
text="u", type=STRING_LITERAL.
text="5", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="emitf", type=EMITF:
text="emitf", type=EMITF:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="w", type=STRING_LITERAL.
text="stream", type=STREAM:
text="dump", type=DUMP:
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="all", type=FULL_OOSVAR.
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
mlr put -v begin{true{@x=1}}; true{@x=2}; end{true{@x=3}} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="3", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="x", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
================================================================
DSL STACK-ALLOCATION
mlr --from ./reg_test/input/abixy put -v -a -f ./reg_test/input/test-dsl-stack-allocation.mlr
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="f", type=FUNC_DEF:
text="f", type=NON_SIGIL_NAME:
text="a", type=UNTYPED_PARAMETER_DEFINITION.
text="b", type=UNTYPED_PARAMETER_DEFINITION.
text="c", type=UNTYPED_PARAMETER_DEFINITION.
text="func_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="*", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1000", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE.
text="while", type=WHILE:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="while_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text=":", type=STRING_LITERAL.
text="a", type=NONINDEXED_LOCAL_VARIABLE.
text=":", type=STRING_LITERAL.
text="b", type=NONINDEXED_LOCAL_VARIABLE.
text=":", type=STRING_LITERAL.
text="c", type=NONINDEXED_LOCAL_VARIABLE.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="f:1:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR_KEY_ONLY:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="f:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="f:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="f:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="break", type=BREAK.
text="s", type=SUBR_DEF:
text="s", type=NON_SIGIL_NAME:
text="a", type=UNTYPED_PARAMETER_DEFINITION.
text="b", type=UNTYPED_PARAMETER_DEFINITION.
text="c", type=UNTYPED_PARAMETER_DEFINITION.
text="subr_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="*", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="2000", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE.
text="while", type=WHILE:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="while_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text=":", type=STRING_LITERAL.
text="a", type=NONINDEXED_LOCAL_VARIABLE.
text=":", type=STRING_LITERAL.
text="b", type=NONINDEXED_LOCAL_VARIABLE.
text=":", type=STRING_LITERAL.
text="c", type=NONINDEXED_LOCAL_VARIABLE.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="s:1:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR_KEY_ONLY:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="s:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="s:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="s:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="break", type=BREAK.
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text="BEGIN", type=STRING_LITERAL.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="456", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE.
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR_KEY_ONLY:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="b:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="b:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="b:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="print", type=PRINT:
text="MAIN", type=STRING_LITERAL.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="*", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4000", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE.
text="while", type=WHILE:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="while_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="m:1:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR_KEY_ONLY:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="m:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="m:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="m:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="break", type=BREAK.
text="=", type=SREC_ASSIGNMENT:
text="o", type=FIELD_NAME.
text="f", type=FUNCTION_CALLSITE:
text="NR", type=CONTEXT_VARIABLE.
text="a", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="subr_call", type=SUBR_CALLSITE:
text="s", type=FUNCTION_CALLSITE:
text="b", type=FIELD_NAME.
text="NR", type=CONTEXT_VARIABLE.
text="**", type=OPERATOR:
text="i", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text="END", type=STRING_LITERAL.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="100", type=NUMERIC_LITERAL.
text="789", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE.
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR_KEY_ONLY:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="e:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="e:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR:
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE.
text="j", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text="sum", type=NONINDEXED_LOCAL_VARIABLE.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="e:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
ALLOCATING RELATIVE (PASS-1) LOCALS FOR DEFINITION BLOCK [f]
ADD FOR ABSENT s @ 0u0
ADD PARAMETER a @ 1s0
ADD PARAMETER b @ 2s0
ADD PARAMETER c @ 3s0
PUSH SUBFRAME cond_block
READ nonesuch ABSENT @ 0s0
ADD DEFINE val @ 0s1
PUSH SUBFRAME while_block
PUSH SUBFRAME if_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
ADD FOR-BIND v @ 1s4
READ v PRESENT @ 1s4
READ a PRESENT @ 1s0
READ b PRESENT @ 2s0
READ c PRESENT @ 3s0
REUSE WRITE val @ 0s1
READ val PRESENT @ 0s1
POP SUBFRAME for subframe_var_count=2
POP SUBFRAME if subframe_var_count=0
PUSH SUBFRAME elif_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
READ k PRESENT @ 0s4
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME elif subframe_var_count=0
PUSH SUBFRAME elif_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
ADD FOR-BIND v @ 1s4
READ k PRESENT @ 0s4
READ v PRESENT @ 1s4
POP SUBFRAME for subframe_var_count=2
POP SUBFRAME elif subframe_var_count=0
PUSH SUBFRAME elif_block
ADD DEFINE sum @ 0s3
PUSH SUBFRAME for
ADD DEFINE i @ 0s4
READ i PRESENT @ 0s4
READ i PRESENT @ 0s4
REUSE WRITE i @ 0s4
PUSH SUBFRAME for
ADD DEFINE j @ 0s5
READ j PRESENT @ 0s5
READ j PRESENT @ 0s5
REUSE WRITE j @ 0s5
READ sum PRESENT @ 0s3
READ i PRESENT @ 0s4
READ j PRESENT @ 0s5
REUSE WRITE sum @ 0s3
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME for subframe_var_count=1
READ sum PRESENT @ 0s3
REUSE WRITE val @ 0s1
READ val PRESENT @ 0s1
POP SUBFRAME elif subframe_var_count=1
POP SUBFRAME while subframe_var_count=0
POP SUBFRAME cond subframe_var_count=1
BLOCK f subframe_var_count=4 max_subframe_depth=6
ALLOCATING RELATIVE (PASS-1) LOCALS FOR DEFINITION BLOCK [s]
ADD FOR ABSENT s @ 0u0
ADD PARAMETER a @ 1s0
ADD PARAMETER b @ 2s0
ADD PARAMETER c @ 3s0
PUSH SUBFRAME cond_block
READ nonesuch ABSENT @ 0s0
ADD DEFINE val @ 0s1
PUSH SUBFRAME while_block
PUSH SUBFRAME if_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
ADD FOR-BIND v @ 1s4
READ v PRESENT @ 1s4
READ a PRESENT @ 1s0
READ b PRESENT @ 2s0
READ c PRESENT @ 3s0
REUSE WRITE val @ 0s1
READ val PRESENT @ 0s1
POP SUBFRAME for subframe_var_count=2
POP SUBFRAME if subframe_var_count=0
PUSH SUBFRAME elif_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
READ k PRESENT @ 0s4
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME elif subframe_var_count=0
PUSH SUBFRAME elif_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
ADD FOR-BIND v @ 1s4
READ k PRESENT @ 0s4
READ v PRESENT @ 1s4
POP SUBFRAME for subframe_var_count=2
POP SUBFRAME elif subframe_var_count=0
PUSH SUBFRAME elif_block
ADD DEFINE sum @ 0s3
PUSH SUBFRAME for
ADD DEFINE i @ 0s4
READ i PRESENT @ 0s4
READ i PRESENT @ 0s4
REUSE WRITE i @ 0s4
PUSH SUBFRAME for
ADD DEFINE j @ 0s5
READ j PRESENT @ 0s5
READ j PRESENT @ 0s5
REUSE WRITE j @ 0s5
READ sum PRESENT @ 0s3
READ i PRESENT @ 0s4
READ j PRESENT @ 0s5
REUSE WRITE sum @ 0s3
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME for subframe_var_count=1
READ sum PRESENT @ 0s3
REUSE WRITE val @ 0s1
READ val PRESENT @ 0s1
POP SUBFRAME elif subframe_var_count=1
POP SUBFRAME while subframe_var_count=0
POP SUBFRAME cond subframe_var_count=1
BLOCK s subframe_var_count=4 max_subframe_depth=6
ALLOCATING RELATIVE (PASS-1) LOCALS FOR begin BLOCK
ADD FOR ABSENT s @ 0u0
PUSH SUBFRAME cond_block
READ nonesuch ABSENT @ 0s0
ADD DEFINE val @ 0s1
PUSH SUBFRAME for
ADD DEFINE idx @ 0s2
READ idx PRESENT @ 0s2
READ idx PRESENT @ 0s2
REUSE WRITE idx @ 0s2
READ idx PRESENT @ 0s2
PUSH SUBFRAME if_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
READ k PRESENT @ 0s4
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME if subframe_var_count=0
READ idx PRESENT @ 0s2
PUSH SUBFRAME elif_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
ADD FOR-BIND v @ 1s4
READ k PRESENT @ 0s4
READ v PRESENT @ 1s4
POP SUBFRAME for subframe_var_count=2
POP SUBFRAME elif subframe_var_count=0
READ idx PRESENT @ 0s2
PUSH SUBFRAME elif_block
ADD DEFINE sum @ 0s3
PUSH SUBFRAME for
ADD DEFINE i @ 0s4
READ i PRESENT @ 0s4
READ i PRESENT @ 0s4
REUSE WRITE i @ 0s4
PUSH SUBFRAME for
ADD DEFINE j @ 0s5
READ j PRESENT @ 0s5
READ j PRESENT @ 0s5
REUSE WRITE j @ 0s5
READ sum PRESENT @ 0s3
READ i PRESENT @ 0s4
READ j PRESENT @ 0s5
REUSE WRITE sum @ 0s3
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME for subframe_var_count=1
READ sum PRESENT @ 0s3
REUSE WRITE val @ 0s1
READ val PRESENT @ 0s1
POP SUBFRAME elif subframe_var_count=1
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME cond subframe_var_count=1
BLOCK begin subframe_var_count=1 max_subframe_depth=6
ALLOCATING RELATIVE (PASS-1) LOCALS FOR MAIN BLOCK
ADD FOR ABSENT s @ 0u0
PUSH SUBFRAME cond_block
READ nonesuch ABSENT @ 0s0
ADD DEFINE val @ 0s1
PUSH SUBFRAME while_block
PUSH SUBFRAME if_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
ADD FOR-BIND v @ 1s4
READ v PRESENT @ 1s4
REUSE WRITE val @ 0s1
READ val PRESENT @ 0s1
POP SUBFRAME for subframe_var_count=2
POP SUBFRAME if subframe_var_count=0
PUSH SUBFRAME elif_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
READ k PRESENT @ 0s4
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME elif subframe_var_count=0
PUSH SUBFRAME elif_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
ADD FOR-BIND v @ 1s4
READ k PRESENT @ 0s4
READ v PRESENT @ 1s4
POP SUBFRAME for subframe_var_count=2
POP SUBFRAME elif subframe_var_count=0
PUSH SUBFRAME elif_block
ADD DEFINE sum @ 0s3
PUSH SUBFRAME for
ADD DEFINE i @ 0s4
READ i PRESENT @ 0s4
READ i PRESENT @ 0s4
REUSE WRITE i @ 0s4
PUSH SUBFRAME for
ADD DEFINE j @ 0s5
READ j PRESENT @ 0s5
READ j PRESENT @ 0s5
REUSE WRITE j @ 0s5
READ sum PRESENT @ 0s3
READ i PRESENT @ 0s4
READ j PRESENT @ 0s5
REUSE WRITE sum @ 0s3
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME for subframe_var_count=1
READ sum PRESENT @ 0s3
REUSE WRITE val @ 0s1
READ val PRESENT @ 0s1
POP SUBFRAME elif subframe_var_count=1
POP SUBFRAME while subframe_var_count=0
POP SUBFRAME cond subframe_var_count=1
BLOCK main_block subframe_var_count=1 max_subframe_depth=6
ALLOCATING RELATIVE (PASS-1) LOCALS FOR end BLOCK
ADD FOR ABSENT s @ 0u0
PUSH SUBFRAME cond_block
READ nonesuch ABSENT @ 0s0
ADD DEFINE val @ 0s1
PUSH SUBFRAME for
ADD DEFINE idx @ 0s2
READ idx PRESENT @ 0s2
READ idx PRESENT @ 0s2
REUSE WRITE idx @ 0s2
READ idx PRESENT @ 0s2
PUSH SUBFRAME if_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
READ k PRESENT @ 0s4
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME if subframe_var_count=0
READ idx PRESENT @ 0s2
PUSH SUBFRAME elif_block
PUSH SUBFRAME for
ADD FOR-BIND k @ 0s4
ADD FOR-BIND v @ 1s4
READ k PRESENT @ 0s4
READ v PRESENT @ 1s4
POP SUBFRAME for subframe_var_count=2
POP SUBFRAME elif subframe_var_count=0
READ idx PRESENT @ 0s2
PUSH SUBFRAME elif_block
ADD DEFINE sum @ 0s3
PUSH SUBFRAME for
ADD DEFINE i @ 0s4
READ i PRESENT @ 0s4
READ i PRESENT @ 0s4
REUSE WRITE i @ 0s4
PUSH SUBFRAME for
ADD DEFINE j @ 0s5
READ j PRESENT @ 0s5
READ j PRESENT @ 0s5
REUSE WRITE j @ 0s5
READ sum PRESENT @ 0s3
READ i PRESENT @ 0s4
READ j PRESENT @ 0s5
REUSE WRITE sum @ 0s3
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME for subframe_var_count=1
READ sum PRESENT @ 0s3
REUSE WRITE val @ 0s1
READ val PRESENT @ 0s1
POP SUBFRAME elif subframe_var_count=1
POP SUBFRAME for subframe_var_count=1
POP SUBFRAME cond subframe_var_count=1
BLOCK end subframe_var_count=1 max_subframe_depth=6
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [f]
SUBFRAME [f] var_count_below=0 var_count_at=4 max_var_depth_so_far=4 subframe_depth=0
NODE a 1s0 (0:0) -> 1
NODE b 2s0 (0:0) -> 2
NODE c 3s0 (0:0) -> 3
SUBFRAME [cond_block] var_count_below=4 var_count_at=1 max_var_depth_so_far=5 subframe_depth=1
NODE val 0s1 (0:0,1:4) -> 4
NODE nonesuch 0s0 (0:0,1:4) -> 0
SUBFRAME [while_block] var_count_below=5 var_count_at=0 max_var_depth_so_far=5 subframe_depth=2
SUBFRAME [if_block] var_count_below=5 var_count_at=0 max_var_depth_so_far=5 subframe_depth=3
SUBFRAME [for] var_count_below=5 var_count_at=2 max_var_depth_so_far=7 subframe_depth=4
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
NODE v 1s4 (0:0,1:4,2:5,3:5,4:5) -> 6
NODE val 0s1 (0:0,1:4,2:5,3:5,4:5) -> 4
NODE v 1s4 (0:0,1:4,2:5,3:5,4:5) -> 6
NODE a 1s0 (0:0,1:4,2:5,3:5,4:5) -> 1
NODE b 2s0 (0:0,1:4,2:5,3:5,4:5) -> 2
NODE c 3s0 (0:0,1:4,2:5,3:5,4:5) -> 3
NODE val 0s1 (0:0,1:4,2:5,3:5,4:5) -> 4
SUBFRAME [elif_block] var_count_below=5 var_count_at=0 max_var_depth_so_far=7 subframe_depth=3
SUBFRAME [for] var_count_below=5 var_count_at=1 max_var_depth_so_far=7 subframe_depth=4
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
SUBFRAME [elif_block] var_count_below=5 var_count_at=0 max_var_depth_so_far=7 subframe_depth=3
SUBFRAME [for] var_count_below=5 var_count_at=2 max_var_depth_so_far=7 subframe_depth=4
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
NODE v 1s4 (0:0,1:4,2:5,3:5,4:5) -> 6
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
NODE v 1s4 (0:0,1:4,2:5,3:5,4:5) -> 6
SUBFRAME [elif_block] var_count_below=5 var_count_at=1 max_var_depth_so_far=7 subframe_depth=3
NODE sum 0s3 (0:0,1:4,2:5,3:5) -> 5
SUBFRAME [for] var_count_below=6 var_count_at=1 max_var_depth_so_far=7 subframe_depth=4
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6) -> 6
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6) -> 6
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6) -> 6
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6) -> 6
SUBFRAME [for] var_count_below=7 var_count_at=1 max_var_depth_so_far=8 subframe_depth=5
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE sum 0s3 (0:0,1:4,2:5,3:5,4:6,5:7) -> 5
NODE sum 0s3 (0:0,1:4,2:5,3:5,4:6,5:7) -> 5
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6,5:7) -> 6
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE val 0s1 (0:0,1:4,2:5,3:5) -> 4
NODE sum 0s3 (0:0,1:4,2:5,3:5) -> 5
NODE val 0s1 (0:0,1:4,2:5,3:5) -> 4
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [s]
SUBFRAME [s] var_count_below=0 var_count_at=4 max_var_depth_so_far=4 subframe_depth=0
NODE a 1s0 (0:0) -> 1
NODE b 2s0 (0:0) -> 2
NODE c 3s0 (0:0) -> 3
SUBFRAME [cond_block] var_count_below=4 var_count_at=1 max_var_depth_so_far=5 subframe_depth=1
NODE val 0s1 (0:0,1:4) -> 4
NODE nonesuch 0s0 (0:0,1:4) -> 0
SUBFRAME [while_block] var_count_below=5 var_count_at=0 max_var_depth_so_far=5 subframe_depth=2
SUBFRAME [if_block] var_count_below=5 var_count_at=0 max_var_depth_so_far=5 subframe_depth=3
SUBFRAME [for] var_count_below=5 var_count_at=2 max_var_depth_so_far=7 subframe_depth=4
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
NODE v 1s4 (0:0,1:4,2:5,3:5,4:5) -> 6
NODE val 0s1 (0:0,1:4,2:5,3:5,4:5) -> 4
NODE v 1s4 (0:0,1:4,2:5,3:5,4:5) -> 6
NODE a 1s0 (0:0,1:4,2:5,3:5,4:5) -> 1
NODE b 2s0 (0:0,1:4,2:5,3:5,4:5) -> 2
NODE c 3s0 (0:0,1:4,2:5,3:5,4:5) -> 3
NODE val 0s1 (0:0,1:4,2:5,3:5,4:5) -> 4
SUBFRAME [elif_block] var_count_below=5 var_count_at=0 max_var_depth_so_far=7 subframe_depth=3
SUBFRAME [for] var_count_below=5 var_count_at=1 max_var_depth_so_far=7 subframe_depth=4
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
SUBFRAME [elif_block] var_count_below=5 var_count_at=0 max_var_depth_so_far=7 subframe_depth=3
SUBFRAME [for] var_count_below=5 var_count_at=2 max_var_depth_so_far=7 subframe_depth=4
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
NODE v 1s4 (0:0,1:4,2:5,3:5,4:5) -> 6
NODE k 0s4 (0:0,1:4,2:5,3:5,4:5) -> 5
NODE v 1s4 (0:0,1:4,2:5,3:5,4:5) -> 6
SUBFRAME [elif_block] var_count_below=5 var_count_at=1 max_var_depth_so_far=7 subframe_depth=3
NODE sum 0s3 (0:0,1:4,2:5,3:5) -> 5
SUBFRAME [for] var_count_below=6 var_count_at=1 max_var_depth_so_far=7 subframe_depth=4
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6) -> 6
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6) -> 6
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6) -> 6
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6) -> 6
SUBFRAME [for] var_count_below=7 var_count_at=1 max_var_depth_so_far=8 subframe_depth=5
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE sum 0s3 (0:0,1:4,2:5,3:5,4:6,5:7) -> 5
NODE sum 0s3 (0:0,1:4,2:5,3:5,4:6,5:7) -> 5
NODE i 0s4 (0:0,1:4,2:5,3:5,4:6,5:7) -> 6
NODE j 0s5 (0:0,1:4,2:5,3:5,4:6,5:7) -> 7
NODE val 0s1 (0:0,1:4,2:5,3:5) -> 4
NODE sum 0s3 (0:0,1:4,2:5,3:5) -> 5
NODE val 0s1 (0:0,1:4,2:5,3:5) -> 4
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [begin]
SUBFRAME [begin] var_count_below=0 var_count_at=1 max_var_depth_so_far=1 subframe_depth=0
SUBFRAME [cond_block] var_count_below=1 var_count_at=1 max_var_depth_so_far=2 subframe_depth=1
NODE val 0s1 (0:0,1:1) -> 1
NODE nonesuch 0s0 (0:0,1:1) -> 0
SUBFRAME [for] var_count_below=2 var_count_at=1 max_var_depth_so_far=3 subframe_depth=2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
SUBFRAME [if_block] var_count_below=3 var_count_at=0 max_var_depth_so_far=3 subframe_depth=3
SUBFRAME [for] var_count_below=3 var_count_at=1 max_var_depth_so_far=4 subframe_depth=4
NODE k 0s4 (0:0,1:1,2:2,3:3,4:3) -> 3
NODE k 0s4 (0:0,1:1,2:2,3:3,4:3) -> 3
NODE idx 0s2 (0:0,1:1,2:2) -> 2
SUBFRAME [elif_block] var_count_below=3 var_count_at=0 max_var_depth_so_far=4 subframe_depth=3
SUBFRAME [for] var_count_below=3 var_count_at=2 max_var_depth_so_far=5 subframe_depth=4
NODE k 0s4 (0:0,1:1,2:2,3:3,4:3) -> 3
NODE v 1s4 (0:0,1:1,2:2,3:3,4:3) -> 4
NODE k 0s4 (0:0,1:1,2:2,3:3,4:3) -> 3
NODE v 1s4 (0:0,1:1,2:2,3:3,4:3) -> 4
NODE idx 0s2 (0:0,1:1,2:2) -> 2
SUBFRAME [elif_block] var_count_below=3 var_count_at=1 max_var_depth_so_far=5 subframe_depth=3
NODE sum 0s3 (0:0,1:1,2:2,3:3) -> 3
SUBFRAME [for] var_count_below=4 var_count_at=1 max_var_depth_so_far=5 subframe_depth=4
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4) -> 4
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4) -> 4
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4) -> 4
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4) -> 4
SUBFRAME [for] var_count_below=5 var_count_at=1 max_var_depth_so_far=6 subframe_depth=5
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE sum 0s3 (0:0,1:1,2:2,3:3,4:4,5:5) -> 3
NODE sum 0s3 (0:0,1:1,2:2,3:3,4:4,5:5) -> 3
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4,5:5) -> 4
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE val 0s1 (0:0,1:1,2:2,3:3) -> 1
NODE sum 0s3 (0:0,1:1,2:2,3:3) -> 3
NODE val 0s1 (0:0,1:1,2:2,3:3) -> 1
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [main_block]
SUBFRAME [main_block] var_count_below=0 var_count_at=1 max_var_depth_so_far=1 subframe_depth=0
SUBFRAME [cond_block] var_count_below=1 var_count_at=1 max_var_depth_so_far=2 subframe_depth=1
NODE val 0s1 (0:0,1:1) -> 1
NODE nonesuch 0s0 (0:0,1:1) -> 0
SUBFRAME [while_block] var_count_below=2 var_count_at=0 max_var_depth_so_far=2 subframe_depth=2
SUBFRAME [if_block] var_count_below=2 var_count_at=0 max_var_depth_so_far=2 subframe_depth=3
SUBFRAME [for] var_count_below=2 var_count_at=2 max_var_depth_so_far=4 subframe_depth=4
NODE k 0s4 (0:0,1:1,2:2,3:2,4:2) -> 2
NODE v 1s4 (0:0,1:1,2:2,3:2,4:2) -> 3
NODE val 0s1 (0:0,1:1,2:2,3:2,4:2) -> 1
NODE v 1s4 (0:0,1:1,2:2,3:2,4:2) -> 3
NODE val 0s1 (0:0,1:1,2:2,3:2,4:2) -> 1
SUBFRAME [elif_block] var_count_below=2 var_count_at=0 max_var_depth_so_far=4 subframe_depth=3
SUBFRAME [for] var_count_below=2 var_count_at=1 max_var_depth_so_far=4 subframe_depth=4
NODE k 0s4 (0:0,1:1,2:2,3:2,4:2) -> 2
NODE k 0s4 (0:0,1:1,2:2,3:2,4:2) -> 2
SUBFRAME [elif_block] var_count_below=2 var_count_at=0 max_var_depth_so_far=4 subframe_depth=3
SUBFRAME [for] var_count_below=2 var_count_at=2 max_var_depth_so_far=4 subframe_depth=4
NODE k 0s4 (0:0,1:1,2:2,3:2,4:2) -> 2
NODE v 1s4 (0:0,1:1,2:2,3:2,4:2) -> 3
NODE k 0s4 (0:0,1:1,2:2,3:2,4:2) -> 2
NODE v 1s4 (0:0,1:1,2:2,3:2,4:2) -> 3
SUBFRAME [elif_block] var_count_below=2 var_count_at=1 max_var_depth_so_far=4 subframe_depth=3
NODE sum 0s3 (0:0,1:1,2:2,3:2) -> 2
SUBFRAME [for] var_count_below=3 var_count_at=1 max_var_depth_so_far=4 subframe_depth=4
NODE i 0s4 (0:0,1:1,2:2,3:2,4:3) -> 3
NODE i 0s4 (0:0,1:1,2:2,3:2,4:3) -> 3
NODE i 0s4 (0:0,1:1,2:2,3:2,4:3) -> 3
NODE i 0s4 (0:0,1:1,2:2,3:2,4:3) -> 3
SUBFRAME [for] var_count_below=4 var_count_at=1 max_var_depth_so_far=5 subframe_depth=5
NODE j 0s5 (0:0,1:1,2:2,3:2,4:3,5:4) -> 4
NODE j 0s5 (0:0,1:1,2:2,3:2,4:3,5:4) -> 4
NODE j 0s5 (0:0,1:1,2:2,3:2,4:3,5:4) -> 4
NODE j 0s5 (0:0,1:1,2:2,3:2,4:3,5:4) -> 4
NODE sum 0s3 (0:0,1:1,2:2,3:2,4:3,5:4) -> 2
NODE sum 0s3 (0:0,1:1,2:2,3:2,4:3,5:4) -> 2
NODE i 0s4 (0:0,1:1,2:2,3:2,4:3,5:4) -> 3
NODE j 0s5 (0:0,1:1,2:2,3:2,4:3,5:4) -> 4
NODE val 0s1 (0:0,1:1,2:2,3:2) -> 1
NODE sum 0s3 (0:0,1:1,2:2,3:2) -> 2
NODE val 0s1 (0:0,1:1,2:2,3:2) -> 1
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [end]
SUBFRAME [end] var_count_below=0 var_count_at=1 max_var_depth_so_far=1 subframe_depth=0
SUBFRAME [cond_block] var_count_below=1 var_count_at=1 max_var_depth_so_far=2 subframe_depth=1
NODE val 0s1 (0:0,1:1) -> 1
NODE nonesuch 0s0 (0:0,1:1) -> 0
SUBFRAME [for] var_count_below=2 var_count_at=1 max_var_depth_so_far=3 subframe_depth=2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
NODE idx 0s2 (0:0,1:1,2:2) -> 2
SUBFRAME [if_block] var_count_below=3 var_count_at=0 max_var_depth_so_far=3 subframe_depth=3
SUBFRAME [for] var_count_below=3 var_count_at=1 max_var_depth_so_far=4 subframe_depth=4
NODE k 0s4 (0:0,1:1,2:2,3:3,4:3) -> 3
NODE k 0s4 (0:0,1:1,2:2,3:3,4:3) -> 3
NODE idx 0s2 (0:0,1:1,2:2) -> 2
SUBFRAME [elif_block] var_count_below=3 var_count_at=0 max_var_depth_so_far=4 subframe_depth=3
SUBFRAME [for] var_count_below=3 var_count_at=2 max_var_depth_so_far=5 subframe_depth=4
NODE k 0s4 (0:0,1:1,2:2,3:3,4:3) -> 3
NODE v 1s4 (0:0,1:1,2:2,3:3,4:3) -> 4
NODE k 0s4 (0:0,1:1,2:2,3:3,4:3) -> 3
NODE v 1s4 (0:0,1:1,2:2,3:3,4:3) -> 4
NODE idx 0s2 (0:0,1:1,2:2) -> 2
SUBFRAME [elif_block] var_count_below=3 var_count_at=1 max_var_depth_so_far=5 subframe_depth=3
NODE sum 0s3 (0:0,1:1,2:2,3:3) -> 3
SUBFRAME [for] var_count_below=4 var_count_at=1 max_var_depth_so_far=5 subframe_depth=4
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4) -> 4
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4) -> 4
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4) -> 4
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4) -> 4
SUBFRAME [for] var_count_below=5 var_count_at=1 max_var_depth_so_far=6 subframe_depth=5
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE sum 0s3 (0:0,1:1,2:2,3:3,4:4,5:5) -> 3
NODE sum 0s3 (0:0,1:1,2:2,3:3,4:4,5:5) -> 3
NODE i 0s4 (0:0,1:1,2:2,3:3,4:4,5:5) -> 4
NODE j 0s5 (0:0,1:1,2:2,3:3,4:4,5:5) -> 5
NODE val 0s1 (0:0,1:1,2:2,3:3) -> 1
NODE sum 0s3 (0:0,1:1,2:2,3:3) -> 3
NODE val 0s1 (0:0,1:1,2:2,3:3) -> 1
BLOCKED AST:
FUNCTION DEFINITION:
text="f", type=FUNC_DEF: subframe_var_count=4 max_subframe_depth=6 max_var_depth=8
text="f", type=NON_SIGIL_NAME:
text="a", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="b", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="c", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="func_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="*", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1000", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="while", type=WHILE:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="while_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=6
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=6
text=":", type=STRING_LITERAL.
text="a", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text=":", type=STRING_LITERAL.
text="b", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text=":", type=STRING_LITERAL.
text="c", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="print", type=PRINT:
text=".", type=OPERATOR:
text="f:1:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR_KEY_ONLY: subframe_var_count=1
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="f:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR: subframe_var_count=2
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=6
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="f:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=6
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=5
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=5
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=5
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=5
text="print", type=PRINT:
text=".", type=OPERATOR:
text="f:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="break", type=BREAK.
SUBROUTINE DEFINITION:
text="s", type=SUBR_DEF: subframe_var_count=4 max_subframe_depth=6 max_var_depth=8
text="s", type=NON_SIGIL_NAME:
text="a", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="b", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="c", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="subr_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="*", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="2000", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="while", type=WHILE:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="while_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=6
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=6
text=":", type=STRING_LITERAL.
text="a", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text=":", type=STRING_LITERAL.
text="b", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text=":", type=STRING_LITERAL.
text="c", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="print", type=PRINT:
text=".", type=OPERATOR:
text="s:1:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR_KEY_ONLY: subframe_var_count=1
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="s:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR: subframe_var_count=2
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=6
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="s:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=5
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=6
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=5
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=5
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=5
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=6
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=7
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=5
text="print", type=PRINT:
text=".", type=OPERATOR:
text="s:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=4
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="break", type=BREAK.
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=6 max_var_depth=6
text="begin_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text="BEGIN", type=STRING_LITERAL.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="456", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="4", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="+", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="2", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR_KEY_ONLY: subframe_var_count=1
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="b:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR: subframe_var_count=2
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=4
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="b:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=4
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=3
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=3
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=3
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=3
text="print", type=PRINT:
text=".", type=OPERATOR:
text="b:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=6 max_var_depth=6
text="end_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text="END", type=STRING_LITERAL.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="100", type=NUMERIC_LITERAL.
text="789", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="4", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="+", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="2", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR_KEY_ONLY: subframe_var_count=1
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="e:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR: subframe_var_count=2
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=4
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="e:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=4
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="idx", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=2 vardef_frame_relative_index=2
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=3
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=3
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=3
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=4
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=5
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=3
text="print", type=PRINT:
text=".", type=OPERATOR:
text="e:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=6 max_var_depth=5
text="print", type=PRINT:
text="MAIN", type=STRING_LITERAL.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="*", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4000", type=NUMERIC_LITERAL.
text="cond", type=CONDITIONAL_BLOCK:
text="true", type=BOOLEAN_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="nonesuch", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="while", type=WHILE:
text="==", type=OPERATOR:
text="1", type=NUMERIC_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="while_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=2
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=3
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=3
text="print", type=PRINT:
text=".", type=OPERATOR:
text="m:1:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR_KEY_ONLY: subframe_var_count=1
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=2
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="m:2:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=2
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="for", type=FOR_OOSVAR: subframe_var_count=2
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=2
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=3
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="m:3:k:", type=STRING_LITERAL.
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=2
text="v:", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=4 vardef_frame_relative_index=3
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=1
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=2
text="0", type=NUMERIC_LITERAL.
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="+", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="for", type=TRIPLE_FOR: subframe_var_count=1
text="triple_for_start_statements", type=STATEMENT_LIST:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=4
text="1", type=NUMERIC_LITERAL.
text="triple_for_continuation_statements", type=STATEMENT_LIST:
text="<=", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=4
text="10", type=NUMERIC_LITERAL.
text="triple_for_update_statements", type=STATEMENT_LIST:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=4
text="+", type=OPERATOR:
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=4
text="1", type=NUMERIC_LITERAL.
text="triple_for_block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=2
text="+", type=OPERATOR:
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=2
text="*", type=OPERATOR:
text="i", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=4 vardef_frame_relative_index=3
text="j", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=5 vardef_frame_relative_index=4
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="sum", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=3 vardef_frame_relative_index=2
text="print", type=PRINT:
text=".", type=OPERATOR:
text="m:val:", type=STRING_LITERAL.
text="val", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="break", type=BREAK.
text="=", type=SREC_ASSIGNMENT:
text="o", type=FIELD_NAME.
text="f", type=FUNCTION_CALLSITE:
text="NR", type=CONTEXT_VARIABLE.
text="a", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="subr_call", type=SUBR_CALLSITE:
text="s", type=FUNCTION_CALLSITE:
text="b", type=FIELD_NAME.
text="NR", type=CONTEXT_VARIABLE.
text="**", type=OPERATOR:
text="i", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
BEGIN
b:2:k:0
b:3:k:0v:456
b:val:3025
MAIN
m:1:val:pan
m:1:val:pan
m:1:val:1
m:1:val:0.346790
m:1:val:0.726803
f:1:val:pan:1:pan:0.726803
f:1:val:pan:1:pan:0.726803
f:1:val:1:1:pan:0.726803
f:1:val:0.346790:1:pan:0.726803
f:1:val:0.726803:1:pan:0.726803
s:1:val:pan:pan:1:1.000000
s:1:val:pan:pan:1:1.000000
s:1:val:1:pan:1:1.000000
s:1:val:0.346790:pan:1:1.000000
s:1:val:0.726803:pan:1:1.000000
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
MAIN
m:2:k:0
m:2:k:1
m:2:k:2
f:2:k:0
f:2:k:1
f:2:k:2
s:2:k:0
s:2:k:1
s:2:k:2
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
MAIN
m:3:k:0v:456
m:3:k:1v:2000
m:3:k:2v:4000
m:3:k:3v:12000
f:3:k:0v:456
f:3:k:1v:2000
f:3:k:2v:4000
f:3:k:3v:3000
s:3:k:0v:456
s:3:k:1v:2000
s:3:k:2v:4000
s:3:k:3v:6000
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
MAIN
m:val:3025
f:val:3025
s:val:3025
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
MAIN
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
MAIN
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
MAIN
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
MAIN
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
MAIN
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
MAIN
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
END
e:2:k:0
e:2:k:1
e:2:k:2
e:2:k:3
e:2:k:4
e:2:k:5
e:2:k:6
e:2:k:7
e:2:k:8
e:2:k:9
e:2:k:10
e:2:k:100
e:3:k:0v:456
e:3:k:1v:2000
e:3:k:2v:4000
e:3:k:3v:6000
e:3:k:4v:8000
e:3:k:5v:10000
e:3:k:6v:12000
e:3:k:7v:14000
e:3:k:8v:16000
e:3:k:9v:18000
e:3:k:10v:20000
e:3:k:100v:789
e:val:3025
mlr --from ./reg_test/input/abixy put a=a; $oa = a
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 a=a; $oa = a; a = a; $ob = a
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 a=a; $oa = a; a = a; $ob = a; a = b; $oc = a
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 a=a; $oa = a; a = a; $ob = a; a = b; $oc = a; b = 3; b = a; $od = a
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 a=a; $oa = a; a = a; $ob = a; a = b; $oc = a; b = 3; b = a; $od = a; b = 4;a = b; $oe= a
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,oe=4
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,oe=4
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,oe=4
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,oe=4
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,oe=4
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,oe=4
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,oe=4
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,oe=4
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,oe=4
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,oe=4
================================================================
DSL IF-CHAINING
---------------------------------------------------------------- IF/ELIF WITH ELSE
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR==1) {
$x = 2;
$y = 3
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
i=1,x=2,y=3
i=2,x=102,y=202
i=3,x=103,y=203
i=4,x=104,y=204
i=5,x=105,y=205
i=6,x=106,y=206
i=7,x=107,y=207
i=8,x=108,y=208
i=9,x=109,y=209
i=10,x=110,y=210
i=11,x=111,y=211
i=12,x=112,y=212
i=13,x=113,y=213
i=14,x=114,y=214
i=15,x=115,y=215
i=16,x=116,y=216
i=17,x=117,y=217
i=18,x=118,y=218
i=19,x=119,y=219
i=20,x=120,y=220
i=21,x=121,y=221
i=22,x=122,y=222
i=23,x=123,y=223
i=24,x=124,y=224
i=25,x=125,y=225
i=26,x=126,y=226
i=27,x=127,y=227
i=28,x=128,y=228
i=29,x=129,y=229
i=30,x=130,y=230
i=31,x=131,y=231
i=32,x=132,y=232
i=33,x=133,y=233
i=34,x=134,y=234
i=35,x=135,y=235
i=36,x=136,y=236
i=37,x=137,y=237
i=38,x=138,y=238
i=39,x=139,y=239
i=40,x=140,y=240
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR == 4) {
$x = 5;
$y = 6
} else {
$x = 1007;
$y = 1008
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="5", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="else", type=IF_ITEM:
text="else_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1007", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="1008", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="5", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="else", type=IF_ITEM:
text="else_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1007", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="1008", type=NUMERIC_LITERAL.
i=1,x=1007,y=1008
i=2,x=1007,y=1008
i=3,x=1007,y=1008
i=4,x=5,y=6
i=5,x=1007,y=1008
i=6,x=1007,y=1008
i=7,x=1007,y=1008
i=8,x=1007,y=1008
i=9,x=1007,y=1008
i=10,x=1007,y=1008
i=11,x=1007,y=1008
i=12,x=1007,y=1008
i=13,x=1007,y=1008
i=14,x=1007,y=1008
i=15,x=1007,y=1008
i=16,x=1007,y=1008
i=17,x=1007,y=1008
i=18,x=1007,y=1008
i=19,x=1007,y=1008
i=20,x=1007,y=1008
i=21,x=1007,y=1008
i=22,x=1007,y=1008
i=23,x=1007,y=1008
i=24,x=1007,y=1008
i=25,x=1007,y=1008
i=26,x=1007,y=1008
i=27,x=1007,y=1008
i=28,x=1007,y=1008
i=29,x=1007,y=1008
i=30,x=1007,y=1008
i=31,x=1007,y=1008
i=32,x=1007,y=1008
i=33,x=1007,y=1008
i=34,x=1007,y=1008
i=35,x=1007,y=1008
i=36,x=1007,y=1008
i=37,x=1007,y=1008
i=38,x=1007,y=1008
i=39,x=1007,y=1008
i=40,x=1007,y=1008
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR == 9) {
$x = 10;
$y = 11
} elif (NR == 12) {
$x = 13;
$y = 14
} else {
$x = 1015;
$y = 1016
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="9", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="10", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="11", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="12", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="13", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="14", type=NUMERIC_LITERAL.
text="else", type=IF_ITEM:
text="else_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1015", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="1016", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="9", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="10", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="11", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="12", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="13", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="14", type=NUMERIC_LITERAL.
text="else", type=IF_ITEM:
text="else_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1015", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="1016", type=NUMERIC_LITERAL.
i=1,x=1015,y=1016
i=2,x=1015,y=1016
i=3,x=1015,y=1016
i=4,x=1015,y=1016
i=5,x=1015,y=1016
i=6,x=1015,y=1016
i=7,x=1015,y=1016
i=8,x=1015,y=1016
i=9,x=10,y=11
i=10,x=1015,y=1016
i=11,x=1015,y=1016
i=12,x=13,y=14
i=13,x=1015,y=1016
i=14,x=1015,y=1016
i=15,x=1015,y=1016
i=16,x=1015,y=1016
i=17,x=1015,y=1016
i=18,x=1015,y=1016
i=19,x=1015,y=1016
i=20,x=1015,y=1016
i=21,x=1015,y=1016
i=22,x=1015,y=1016
i=23,x=1015,y=1016
i=24,x=1015,y=1016
i=25,x=1015,y=1016
i=26,x=1015,y=1016
i=27,x=1015,y=1016
i=28,x=1015,y=1016
i=29,x=1015,y=1016
i=30,x=1015,y=1016
i=31,x=1015,y=1016
i=32,x=1015,y=1016
i=33,x=1015,y=1016
i=34,x=1015,y=1016
i=35,x=1015,y=1016
i=36,x=1015,y=1016
i=37,x=1015,y=1016
i=38,x=1015,y=1016
i=39,x=1015,y=1016
i=40,x=1015,y=1016
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR == 17) {
$x = 18;
$y = 19
} elif (NR == 20) {
$x = 21;
$y = 22
} elif (NR == 23) {
$x = 24;
$y = 25
} else {
$x = 1026;
$y = 1027
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="17", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="18", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="19", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="20", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="21", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="22", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="23", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="24", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="25", type=NUMERIC_LITERAL.
text="else", type=IF_ITEM:
text="else_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1026", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="1027", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="17", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="18", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="19", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="20", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="21", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="22", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="23", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="24", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="25", type=NUMERIC_LITERAL.
text="else", type=IF_ITEM:
text="else_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1026", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="1027", type=NUMERIC_LITERAL.
i=1,x=1026,y=1027
i=2,x=1026,y=1027
i=3,x=1026,y=1027
i=4,x=1026,y=1027
i=5,x=1026,y=1027
i=6,x=1026,y=1027
i=7,x=1026,y=1027
i=8,x=1026,y=1027
i=9,x=1026,y=1027
i=10,x=1026,y=1027
i=11,x=1026,y=1027
i=12,x=1026,y=1027
i=13,x=1026,y=1027
i=14,x=1026,y=1027
i=15,x=1026,y=1027
i=16,x=1026,y=1027
i=17,x=18,y=19
i=18,x=1026,y=1027
i=19,x=1026,y=1027
i=20,x=21,y=22
i=21,x=1026,y=1027
i=22,x=1026,y=1027
i=23,x=24,y=25
i=24,x=1026,y=1027
i=25,x=1026,y=1027
i=26,x=1026,y=1027
i=27,x=1026,y=1027
i=28,x=1026,y=1027
i=29,x=1026,y=1027
i=30,x=1026,y=1027
i=31,x=1026,y=1027
i=32,x=1026,y=1027
i=33,x=1026,y=1027
i=34,x=1026,y=1027
i=35,x=1026,y=1027
i=36,x=1026,y=1027
i=37,x=1026,y=1027
i=38,x=1026,y=1027
i=39,x=1026,y=1027
i=40,x=1026,y=1027
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR == 28) {
$x = 29;
$y = 30
} elif (NR == 31) {
$x = 32;
$y = 33
} elif (NR == 34) {
$x = 35;
$y = 36
} elif (NR == 37) {
$x = 38;
$y = 39
} else {
$x = 1040;
$y = 1041
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="28", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="29", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="30", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="31", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="32", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="33", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="34", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="35", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="36", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="37", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="38", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="39", type=NUMERIC_LITERAL.
text="else", type=IF_ITEM:
text="else_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1040", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="1041", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="28", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="29", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="30", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="31", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="32", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="33", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="34", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="35", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="36", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="37", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="38", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="39", type=NUMERIC_LITERAL.
text="else", type=IF_ITEM:
text="else_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="1040", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="1041", type=NUMERIC_LITERAL.
i=1,x=1040,y=1041
i=2,x=1040,y=1041
i=3,x=1040,y=1041
i=4,x=1040,y=1041
i=5,x=1040,y=1041
i=6,x=1040,y=1041
i=7,x=1040,y=1041
i=8,x=1040,y=1041
i=9,x=1040,y=1041
i=10,x=1040,y=1041
i=11,x=1040,y=1041
i=12,x=1040,y=1041
i=13,x=1040,y=1041
i=14,x=1040,y=1041
i=15,x=1040,y=1041
i=16,x=1040,y=1041
i=17,x=1040,y=1041
i=18,x=1040,y=1041
i=19,x=1040,y=1041
i=20,x=1040,y=1041
i=21,x=1040,y=1041
i=22,x=1040,y=1041
i=23,x=1040,y=1041
i=24,x=1040,y=1041
i=25,x=1040,y=1041
i=26,x=1040,y=1041
i=27,x=1040,y=1041
i=28,x=29,y=30
i=29,x=1040,y=1041
i=30,x=1040,y=1041
i=31,x=32,y=33
i=32,x=1040,y=1041
i=33,x=1040,y=1041
i=34,x=35,y=36
i=35,x=1040,y=1041
i=36,x=1040,y=1041
i=37,x=38,y=39
i=38,x=1040,y=1041
i=39,x=1040,y=1041
i=40,x=1040,y=1041
---------------------------------------------------------------- IF/ELIF WITHOUT ELSE
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR == 1) {
$x = 2;
$y = 3
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="2", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="3", type=NUMERIC_LITERAL.
i=1,x=2,y=3
i=2,x=102,y=202
i=3,x=103,y=203
i=4,x=104,y=204
i=5,x=105,y=205
i=6,x=106,y=206
i=7,x=107,y=207
i=8,x=108,y=208
i=9,x=109,y=209
i=10,x=110,y=210
i=11,x=111,y=211
i=12,x=112,y=212
i=13,x=113,y=213
i=14,x=114,y=214
i=15,x=115,y=215
i=16,x=116,y=216
i=17,x=117,y=217
i=18,x=118,y=218
i=19,x=119,y=219
i=20,x=120,y=220
i=21,x=121,y=221
i=22,x=122,y=222
i=23,x=123,y=223
i=24,x=124,y=224
i=25,x=125,y=225
i=26,x=126,y=226
i=27,x=127,y=227
i=28,x=128,y=228
i=29,x=129,y=229
i=30,x=130,y=230
i=31,x=131,y=231
i=32,x=132,y=232
i=33,x=133,y=233
i=34,x=134,y=234
i=35,x=135,y=235
i=36,x=136,y=236
i=37,x=137,y=237
i=38,x=138,y=238
i=39,x=139,y=239
i=40,x=140,y=240
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR == 4) {
$x = 5;
$y = 6
} elif (NR == 7) {
$x = 8;
$y = 9
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="5", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="7", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="8", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="9", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="4", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="5", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="6", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="7", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="8", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="9", type=NUMERIC_LITERAL.
i=1,x=101,y=201
i=2,x=102,y=202
i=3,x=103,y=203
i=4,x=5,y=6
i=5,x=105,y=205
i=6,x=106,y=206
i=7,x=8,y=9
i=8,x=108,y=208
i=9,x=109,y=209
i=10,x=110,y=210
i=11,x=111,y=211
i=12,x=112,y=212
i=13,x=113,y=213
i=14,x=114,y=214
i=15,x=115,y=215
i=16,x=116,y=216
i=17,x=117,y=217
i=18,x=118,y=218
i=19,x=119,y=219
i=20,x=120,y=220
i=21,x=121,y=221
i=22,x=122,y=222
i=23,x=123,y=223
i=24,x=124,y=224
i=25,x=125,y=225
i=26,x=126,y=226
i=27,x=127,y=227
i=28,x=128,y=228
i=29,x=129,y=229
i=30,x=130,y=230
i=31,x=131,y=231
i=32,x=132,y=232
i=33,x=133,y=233
i=34,x=134,y=234
i=35,x=135,y=235
i=36,x=136,y=236
i=37,x=137,y=237
i=38,x=138,y=238
i=39,x=139,y=239
i=40,x=140,y=240
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR == 10) {
$x = 11;
$y = 12
} elif (NR == 13) {
$x = 14;
$y = 15
} elif (NR == 16) {
$x = 17;
$y = 18
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="11", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="12", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="13", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="14", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="15", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="16", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="17", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="18", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="10", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="11", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="12", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="13", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="14", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="15", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="16", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="17", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="18", type=NUMERIC_LITERAL.
i=1,x=101,y=201
i=2,x=102,y=202
i=3,x=103,y=203
i=4,x=104,y=204
i=5,x=105,y=205
i=6,x=106,y=206
i=7,x=107,y=207
i=8,x=108,y=208
i=9,x=109,y=209
i=10,x=11,y=12
i=11,x=111,y=211
i=12,x=112,y=212
i=13,x=14,y=15
i=14,x=114,y=214
i=15,x=115,y=215
i=16,x=17,y=18
i=17,x=117,y=217
i=18,x=118,y=218
i=19,x=119,y=219
i=20,x=120,y=220
i=21,x=121,y=221
i=22,x=122,y=222
i=23,x=123,y=223
i=24,x=124,y=224
i=25,x=125,y=225
i=26,x=126,y=226
i=27,x=127,y=227
i=28,x=128,y=228
i=29,x=129,y=229
i=30,x=130,y=230
i=31,x=131,y=231
i=32,x=132,y=232
i=33,x=133,y=233
i=34,x=134,y=234
i=35,x=135,y=235
i=36,x=136,y=236
i=37,x=137,y=237
i=38,x=138,y=238
i=39,x=139,y=239
i=40,x=140,y=240
mlr --from ./reg_test/input/xy40.dkvp put -v
if (NR == 19) {
$x = 20;
$y = 21
} elif (NR == 22) {
$x = 23;
$y = 24
} elif (NR == 25) {
$x = 26;
$y = 37
} elif (NR == 28) {
$x = 29;
$y = 30
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="19", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="20", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="21", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="22", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="23", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="24", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="25", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="26", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="37", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="28", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="29", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="30", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="19", type=NUMERIC_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="20", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="21", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="22", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="23", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="24", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="25", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="26", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="37", type=NUMERIC_LITERAL.
text="elif", type=IF_ITEM:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="28", type=NUMERIC_LITERAL.
text="elif_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="x", type=FIELD_NAME.
text="29", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="y", type=FIELD_NAME.
text="30", type=NUMERIC_LITERAL.
i=1,x=101,y=201
i=2,x=102,y=202
i=3,x=103,y=203
i=4,x=104,y=204
i=5,x=105,y=205
i=6,x=106,y=206
i=7,x=107,y=207
i=8,x=108,y=208
i=9,x=109,y=209
i=10,x=110,y=210
i=11,x=111,y=211
i=12,x=112,y=212
i=13,x=113,y=213
i=14,x=114,y=214
i=15,x=115,y=215
i=16,x=116,y=216
i=17,x=117,y=217
i=18,x=118,y=218
i=19,x=20,y=21
i=20,x=120,y=220
i=21,x=121,y=221
i=22,x=23,y=24
i=23,x=123,y=223
i=24,x=124,y=224
i=25,x=26,y=37
i=26,x=126,y=226
i=27,x=127,y=227
i=28,x=29,y=30
i=29,x=129,y=229
i=30,x=130,y=230
i=31,x=131,y=231
i=32,x=132,y=232
i=33,x=133,y=233
i=34,x=134,y=234
i=35,x=135,y=235
i=36,x=136,y=236
i=37,x=137,y=237
i=38,x=138,y=238
i=39,x=139,y=239
i=40,x=140,y=240
================================================================
DSL INDIRECT SREC ASSIGNMENTS
mlr put -v $["a"] = $["b"]; $["x"] = 10 * $["y"] ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text="a", type=STRING_LITERAL.
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="b", type=STRING_LITERAL.
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text="x", type=STRING_LITERAL.
text="*", type=OPERATOR:
text="10", type=NUMERIC_LITERAL.
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="y", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text="a", type=STRING_LITERAL.
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="b", type=STRING_LITERAL.
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text="x", type=STRING_LITERAL.
text="*", type=OPERATOR:
text="10", type=NUMERIC_LITERAL.
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="y", type=STRING_LITERAL.
a=pan,b=pan,i=1,x=7.268029,y=0.7268028627434533
a=pan,b=pan,i=2,x=5.221511,y=0.5221511083334797
a=wye,b=wye,i=3,x=3.383185,y=0.33831852551664776
a=wye,b=wye,i=4,x=1.341887,y=0.13418874328430463
a=pan,b=pan,i=5,x=8.636245,y=0.8636244699032729
a=pan,b=pan,i=6,x=4.932213,y=0.49322128674835697
a=zee,b=zee,i=7,x=1.878849,y=0.1878849191181694
a=wye,b=wye,i=8,x=9.761814,y=0.976181385699006
a=wye,b=wye,i=9,x=7.495508,y=0.7495507603507059
a=wye,b=wye,i=10,x=9.526184,y=0.9526183602969864
mlr --from ./reg_test/input/abixy put while (NF < 256) { $["k".string(NF+1)] = "v".string(NF) }
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,k6=v5,k7=v6,k8=v7,k9=v8,k10=v9,k11=v10,k12=v11,k13=v12,k14=v13,k15=v14,k16=v15,k17=v16,k18=v17,k19=v18,k20=v19,k21=v20,k22=v21,k23=v22,k24=v23,k25=v24,k26=v25,k27=v26,k28=v27,k29=v28,k30=v29,k31=v30,k32=v31,k33=v32,k34=v33,k35=v34,k36=v35,k37=v36,k38=v37,k39=v38,k40=v39,k41=v40,k42=v41,k43=v42,k44=v43,k45=v44,k46=v45,k47=v46,k48=v47,k49=v48,k50=v49,k51=v50,k52=v51,k53=v52,k54=v53,k55=v54,k56=v55,k57=v56,k58=v57,k59=v58,k60=v59,k61=v60,k62=v61,k63=v62,k64=v63,k65=v64,k66=v65,k67=v66,k68=v67,k69=v68,k70=v69,k71=v70,k72=v71,k73=v72,k74=v73,k75=v74,k76=v75,k77=v76,k78=v77,k79=v78,k80=v79,k81=v80,k82=v81,k83=v82,k84=v83,k85=v84,k86=v85,k87=v86,k88=v87,k89=v88,k90=v89,k91=v90,k92=v91,k93=v92,k94=v93,k95=v94,k96=v95,k97=v96,k98=v97,k99=v98,k100=v99,k101=v100,k102=v101,k103=v102,k104=v103,k105=v104,k106=v105,k107=v106,k108=v107,k109=v108,k110=v109,k111=v110,k112=v111,k113=v112,k114=v113,k115=v114,k116=v115,k117=v116,k118=v117,k119=v118,k120=v119,k121=v120,k122=v121,k123=v122,k124=v123,k125=v124,k126=v125,k127=v126,k128=v127,k129=v128,k130=v129,k131=v130,k132=v131,k133=v132,k134=v133,k135=v134,k136=v135,k137=v136,k138=v137,k139=v138,k140=v139,k141=v140,k142=v141,k143=v142,k144=v143,k145=v144,k146=v145,k147=v146,k148=v147,k149=v148,k150=v149,k151=v150,k152=v151,k153=v152,k154=v153,k155=v154,k156=v155,k157=v156,k158=v157,k159=v158,k160=v159,k161=v160,k162=v161,k163=v162,k164=v163,k165=v164,k166=v165,k167=v166,k168=v167,k169=v168,k170=v169,k171=v170,k172=v171,k173=v172,k174=v173,k175=v174,k176=v175,k177=v176,k178=v177,k179=v178,k180=v179,k181=v180,k182=v181,k183=v182,k184=v183,k185=v184,k186=v185,k187=v186,k188=v187,k189=v188,k190=v189,k191=v190,k192=v191,k193=v192,k194=v193,k195=v194,k196=v195,k197=v196,k198=v197,k199=v198,k200=v199,k201=v200,k202=v201,k203=v202,k204=v203,k205=v204,k206=v205,k207=v206,k208=v207,k209=v208,k210=v209,k211=v210,k212=v211,k213=v212,k214=v213,k215=v214,k216=v215,k217=v216,k218=v217,k219=v218,k220=v219,k221=v220,k222=v221,k223=v222,k224=v223,k225=v224,k226=v225,k227=v226,k228=v227,k229=v228,k230=v229,k231=v230,k232=v231,k233=v232,k234=v233,k235=v234,k236=v235,k237=v236,k238=v237,k239=v238,k240=v239,k241=v240,k242=v241,k243=v242,k244=v243,k245=v244,k246=v245,k247=v246,k248=v247,k249=v248,k250=v249,k251=v250,k252=v251,k253=v252,k254=v253,k255=v254,k256=v255
================================================================
DSL INDIRECT OOSVAR ASSIGNMENTS
mlr --opprint put -v @s = NR; $t = @s; $u=@["s"]; $v = $t - $u ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="s", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="t", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="s", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="u", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="s", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="v", type=FIELD_NAME.
text="-", type=OPERATOR:
text="t", type=FIELD_NAME.
text="u", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="s", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="t", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="s", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="u", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="s", type=STRING_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="v", type=FIELD_NAME.
text="-", type=OPERATOR:
text="t", type=FIELD_NAME.
text="u", type=FIELD_NAME.
a b i x y t u v
pan pan 1 0.3467901443380824 0.7268028627434533 1 1 0
eks pan 2 0.7586799647899636 0.5221511083334797 2 2 0
wye wye 3 0.20460330576630303 0.33831852551664776 3 3 0
eks wye 4 0.38139939387114097 0.13418874328430463 4 4 0
wye pan 5 0.5732889198020006 0.8636244699032729 5 5 0
zee pan 6 0.5271261600918548 0.49322128674835697 6 6 0
eks zee 7 0.6117840605678454 0.1878849191181694 7 7 0
zee wye 8 0.5985540091064224 0.976181385699006 8 8 0
hat wye 9 0.03144187646093577 0.7495507603507059 9 9 0
pan wye 10 0.5026260055412137 0.9526183602969864 10 10 0
mlr put -v @t["u"] = NR; $tu = @["t"]["u"]; emitp all ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="tu", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="emitp", type=EMITP:
text="emitp", type=EMITP:
text="all", type=ALL.
text="stream", type=STREAM:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="tu", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="emitp", type=EMITP:
text="emitp", type=EMITP:
text="all", type=ALL.
text="stream", type=STREAM:
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"] = NR; $tu = @["t"]["u"]; emitp @* ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="tu", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="emitp", type=EMITP:
text="emitp", type=EMITP:
text="@*", type=FULL_OOSVAR.
text="stream", type=STREAM:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="tu", type=FIELD_NAME.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="emitp", type=EMITP:
text="emitp", type=EMITP:
text="@*", type=FULL_OOSVAR.
text="stream", type=STREAM:
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 @["s"] = $x; emitp all ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="s", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
text="emitp", type=EMITP:
text="emitp", type=EMITP:
text="all", type=ALL.
text="stream", type=STREAM:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="s", type=STRING_LITERAL.
text="x", type=FIELD_NAME.
text="emitp", type=EMITP:
text="emitp", type=EMITP:
text="all", type=ALL.
text="stream", type=STREAM:
s=0.346790
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
s=0.758680
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
s=0.204603
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
s=0.381399
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
s=0.573289
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
s=0.527126
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
s=0.611784
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
s=0.598554
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
s=0.031442
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
s=0.502626
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr put -v @["t"]["u"] = $y; emitp all ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="y", type=FIELD_NAME.
text="emitp", type=EMITP:
text="emitp", type=EMITP:
text="all", type=ALL.
text="stream", type=STREAM:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="t", type=STRING_LITERAL.
text="u", type=STRING_LITERAL.
text="y", type=FIELD_NAME.
text="emitp", type=EMITP:
text="emitp", type=EMITP:
text="all", type=ALL.
text="stream", type=STREAM:
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
================================================================
DSL WHILE/DO-WHILE LOOPS
mlr put -v while($i < 5) { $i += 1} ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="while", type=WHILE:
text="<", type=OPERATOR:
text="i", type=FIELD_NAME.
text="5", type=NUMERIC_LITERAL.
text="while_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="i", type=FIELD_NAME.
text="+", type=OPERATOR:
text="i", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="while", type=WHILE:
text="<", type=OPERATOR:
text="i", type=FIELD_NAME.
text="5", type=NUMERIC_LITERAL.
text="while_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="i", type=FIELD_NAME.
text="+", type=OPERATOR:
text="i", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
a=pan,b=pan,i=5,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=5,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=5,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=5,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 put -v do {$i += 1} while($i < 5) ./reg_test/input/abixy
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="do", type=DO_WHILE:
text="do_while_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="i", type=FIELD_NAME.
text="+", type=OPERATOR:
text="i", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="<", type=OPERATOR:
text="i", type=FIELD_NAME.
text="5", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="do", type=DO_WHILE:
text="do_while_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="i", type=FIELD_NAME.
text="+", type=OPERATOR:
text="i", type=FIELD_NAME.
text="1", type=NUMERIC_LITERAL.
text="<", type=OPERATOR:
text="i", type=FIELD_NAME.
text="5", type=NUMERIC_LITERAL.
a=pan,b=pan,i=5,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=5,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=5,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=5,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=6,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=7,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=8,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=9,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=10,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=11,x=0.5026260055412137,y=0.9526183602969864
================================================================
DSL FOR-SREC LOOPS
---------------------------------------------------------------- empty for-srec
mlr --from ./reg_test/input/abixy put -v for(k,v in $*) { }
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=3
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="for_full_srec_block", type=STATEMENT_BLOCK:
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
---------------------------------------------------------------- for-srec without boundvars
mlr --from ./reg_test/input/abixy put -v for(k,v in $*) {$nr= NR}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="nr", type=FIELD_NAME.
text="NR", type=CONTEXT_VARIABLE.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=3
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="nr", type=FIELD_NAME.
text="NR", type=CONTEXT_VARIABLE.
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,nr=1
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,nr=2
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,nr=3
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,nr=4
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,nr=5
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,nr=6
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,nr=7
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,nr=8
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,nr=9
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,nr=10
---------------------------------------------------------------- for-srec modifying the srec
mlr --from ./reg_test/input/abixy put -v for(k,v in $*) {unset $[k]}; $j = NR
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="j", type=FIELD_NAME.
text="NR", type=CONTEXT_VARIABLE.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=3
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="=", type=SREC_ASSIGNMENT:
text="j", type=FIELD_NAME.
text="NR", type=CONTEXT_VARIABLE.
j=1
j=2
j=3
j=4
j=5
j=6
j=7
j=8
j=9
j=10
mlr --from ./reg_test/input/abixy put -v for(k,v in $*) {if (k != "x") {unset $[k]}}; $j = NR
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="!=", type=OPERATOR:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="x", type=STRING_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="unset", type=UNSET:
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="j", type=FIELD_NAME.
text="NR", type=CONTEXT_VARIABLE.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=3 max_var_depth=3
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="!=", type=OPERATOR:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="x", type=STRING_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="unset", type=UNSET:
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="=", type=SREC_ASSIGNMENT:
text="j", type=FIELD_NAME.
text="NR", type=CONTEXT_VARIABLE.
x=0.3467901443380824,j=1
x=0.7586799647899636,j=2
x=0.20460330576630303,j=3
x=0.38139939387114097,j=4
x=0.5732889198020006,j=5
x=0.5271261600918548,j=6
x=0.6117840605678454,j=7
x=0.5985540091064224,j=8
x=0.03144187646093577,j=9
x=0.5026260055412137,j=10
mlr --from ./reg_test/input/abixy --opprint put -S -v for(k,v in $*) {$[k."_orig"]=v; $[k] = "other"}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text=".", type=OPERATOR:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="_orig", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="other", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=3
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text=".", type=OPERATOR:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="_orig", type=STRING_LITERAL.
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="other", type=STRING_LITERAL.
a b i x y a_orig b_orig i_orig x_orig y_orig
other other other other other pan pan 1 0.3467901443380824 0.7268028627434533
other other other other other eks pan 2 0.7586799647899636 0.5221511083334797
other other other other other wye wye 3 0.20460330576630303 0.33831852551664776
other other other other other eks wye 4 0.38139939387114097 0.13418874328430463
other other other other other wye pan 5 0.5732889198020006 0.8636244699032729
other other other other other zee pan 6 0.5271261600918548 0.49322128674835697
other other other other other eks zee 7 0.6117840605678454 0.1878849191181694
other other other other other zee wye 8 0.5985540091064224 0.976181385699006
other other other other other hat wye 9 0.03144187646093577 0.7495507603507059
other other other other other pan wye 10 0.5026260055412137 0.9526183602969864
mlr --from ./reg_test/input/abixy put -S -v for(k,v in $*) {$[v]=k}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text="k", type=NONINDEXED_LOCAL_VARIABLE.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=3
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="=", type=INDIRECT_SREC_ASSIGNMENT:
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,pan=b,1=i,0.3467901443380824=x,0.7268028627434533=y
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,eks=a,pan=b,2=i,0.7586799647899636=x,0.5221511083334797=y
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,wye=b,3=i,0.20460330576630303=x,0.33831852551664776=y
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,eks=a,wye=b,4=i,0.38139939387114097=x,0.13418874328430463=y
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,wye=a,pan=b,5=i,0.5732889198020006=x,0.8636244699032729=y
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,zee=a,pan=b,6=i,0.5271261600918548=x,0.49322128674835697=y
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,eks=a,zee=b,7=i,0.6117840605678454=x,0.1878849191181694=y
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,zee=a,wye=b,8=i,0.5985540091064224=x,0.976181385699006=y
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,hat=a,wye=b,9=i,0.03144187646093577=x,0.7495507603507059=y
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,pan=a,wye=b,10=i,0.5026260055412137=x,0.9526183602969864=y
mlr --from ./reg_test/input/abixy put -v
$sum = 0;
for(k,v in $*) {
if (k =~ "^[xy]$") {
$sum += $[k]
}
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="sum", type=FIELD_NAME.
text="0", type=NUMERIC_LITERAL.
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="=~", type=OPERATOR:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="^[xy]$", type=STRING_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="sum", type=FIELD_NAME.
text="+", type=OPERATOR:
text="sum", type=FIELD_NAME.
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=3 max_var_depth=3
text="=", type=SREC_ASSIGNMENT:
text="sum", type=FIELD_NAME.
text="0", type=NUMERIC_LITERAL.
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="=~", type=OPERATOR:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="^[xy]$", type=STRING_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="sum", type=FIELD_NAME.
text="+", type=OPERATOR:
text="sum", type=FIELD_NAME.
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
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 put -S -v
$sum = float(0);
for(k,v in $*) {
if (k =~ "^[xy]$") {
$sum += float($[k])
}
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="sum", type=FIELD_NAME.
text="float", type=FUNCTION_CALLSITE:
text="0", type=NUMERIC_LITERAL.
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="=~", type=OPERATOR:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
text="^[xy]$", type=STRING_LITERAL.
text="if_block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="sum", type=FIELD_NAME.
text="+", type=OPERATOR:
text="sum", type=FIELD_NAME.
text="float", type=FUNCTION_CALLSITE:
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="k", type=NONINDEXED_LOCAL_VARIABLE.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=3 max_var_depth=3
text="=", type=SREC_ASSIGNMENT:
text="sum", type=FIELD_NAME.
text="float", type=FUNCTION_CALLSITE:
text="0", type=NUMERIC_LITERAL.
text="for", type=FOR_SREC: subframe_var_count=2
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="for_full_srec_block", type=STATEMENT_BLOCK:
text="if_head", type=IF_HEAD:
text="if", type=IF_ITEM:
text="=~", type=OPERATOR:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="^[xy]$", type=STRING_LITERAL.
text="if_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=SREC_ASSIGNMENT:
text="sum", type=FIELD_NAME.
text="+", type=OPERATOR:
text="sum", type=FIELD_NAME.
text="float", type=FUNCTION_CALLSITE:
text="indirect_field_name", type=INDIRECT_FIELD_NAME:
text="k", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
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
================================================================
DSL FOR-OOSVAR LOOPS
mlr --opprint -n put -v
@o[1][1]["text1"][NR] = $a;
@o[1][2]["text2"][NR] = $b;
@o[1][2][$a][$i*100] = $x;
for((k1,k2),v in @o[1][2]) {
@n[3][4][k2][k1] = v;
}
end {
emit @n, "a", "b", "c", "d"
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="o", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="text1", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="a", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="o", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="text2", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="b", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="o", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="a", type=FIELD_NAME.
text="*", type=OPERATOR:
text="i", type=FIELD_NAME.
text="100", type=NUMERIC_LITERAL.
text="x", type=FIELD_NAME.
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k1", type=UNTYPED_LOCAL_DEFINITION.
text="k2", type=UNTYPED_LOCAL_DEFINITION.
text="v", type=UNTYPED_LOCAL_DEFINITION.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="o", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="n", type=STRING_LITERAL.
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="k2", type=NONINDEXED_LOCAL_VARIABLE.
text="k1", type=NONINDEXED_LOCAL_VARIABLE.
text="v", type=NONINDEXED_LOCAL_VARIABLE.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="emit", type=EMIT:
text="emit", type=EMIT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="n", type=STRING_LITERAL.
text="emit_namelist", type=EMIT:
text="a", type=STRING_LITERAL.
text="b", type=STRING_LITERAL.
text="c", type=STRING_LITERAL.
text="d", type=STRING_LITERAL.
text="stream", type=STREAM:
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="emit", type=EMIT:
text="emit", type=EMIT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="n", type=STRING_LITERAL.
text="emit_namelist", type=EMIT:
text="a", type=STRING_LITERAL.
text="b", type=STRING_LITERAL.
text="c", type=STRING_LITERAL.
text="d", type=STRING_LITERAL.
text="stream", type=STREAM:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=4
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="o", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="text1", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="a", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="o", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="text2", type=STRING_LITERAL.
text="NR", type=CONTEXT_VARIABLE.
text="b", type=FIELD_NAME.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="o", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="a", type=FIELD_NAME.
text="*", type=OPERATOR:
text="i", type=FIELD_NAME.
text="100", type=NUMERIC_LITERAL.
text="x", type=FIELD_NAME.
text="for", type=FOR_OOSVAR: subframe_var_count=3
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k1", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="k2", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="v", type=UNTYPED_LOCAL_DEFINITION. vardef_subframe_relative_index=2 vardef_subframe_index=1 vardef_frame_relative_index=3
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="o", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="for_loop_oosvar_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="n", type=STRING_LITERAL.
text="3", type=NUMERIC_LITERAL.
text="4", type=NUMERIC_LITERAL.
text="k2", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=1 vardef_frame_relative_index=2
text="k1", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=1 vardef_frame_relative_index=1
text="v", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=2 vardef_subframe_index=1 vardef_frame_relative_index=3
mlr --opprint --from ./reg_test/input/abixy put -q
@o[1][1]["text1"][NR] = $a;
@o[1][2]["text2"][NR] = $b;
@o[1][2][$a][$i*100] = $x;
for((k1,k2),v in @o[1][2]) {
@n[3][4][k2][k1] = v;
}
end {
emit @n, "a", "b", "c", "d"
}
a b c d n
3 4 1 text2 pan
3 4 100 pan 0.346790
3 4 2 text2 pan
3 4 200 eks 0.758680
3 4 3 text2 wye
3 4 300 wye 0.204603
3 4 4 text2 wye
3 4 400 eks 0.381399
3 4 5 text2 pan
3 4 500 wye 0.573289
3 4 6 text2 pan
3 4 600 zee 0.527126
3 4 7 text2 zee
3 4 700 eks 0.611784
3 4 8 text2 wye
3 4 800 zee 0.598554
3 4 9 text2 wye
3 4 900 hat 0.031442
3 4 10 text2 wye
3 4 1000 pan 0.502626
mlr --opprint --from ./reg_test/input/abixy put -q
@sum[$a][$b] += $x;
@count[$a][$b] += 1;
end {
for ((k1, k2), v in @sum) {
@mean[k1][k2] = @sum[k1][k2] / @count[k1][k2]
}
emitp @sum, "a", "b";
emitp @count, "a", "b";
emitp @mean, "a", "b"
}
a b sum
pan pan 0.346790
pan wye 0.502626
eks pan 0.758680
eks wye 0.381399
eks zee 0.611784
wye wye 0.204603
wye pan 0.573289
zee pan 0.527126
zee wye 0.598554
hat wye 0.031442
a b count
pan pan 1
pan wye 1
eks pan 1
eks wye 1
eks zee 1
wye wye 1
wye pan 1
zee pan 1
zee wye 1
hat wye 1
a b mean
pan pan 0.346790
pan wye 0.502626
eks pan 0.758680
eks wye 0.381399
eks zee 0.611784
wye wye 0.204603
wye pan 0.573289
zee pan 0.527126
zee wye 0.598554
hat wye 0.031442
mlr --opprint --from ./reg_test/input/abixy-wide put -q
@value["sum"][$a][$b] += $x;
@value["count"][$a][$b] += 1;
end {
for ((k1, k2), v in @value["sum"]) {
@value["mean"][k1][k2] = @value["sum"][k1][k2] / @value["count"][k1][k2]
}
emitp @value, "stat", "a", "b";
}
stat a b value
sum cat pan 42.327158
sum cat hat 43.184410
sum cat dog 39.241473
sum cat wye 45.196775
sum cat cat 37.894148
sum pan wye 40.135300
sum pan pan 36.226334
sum pan hat 35.115869
sum pan dog 37.817560
sum pan cat 42.235677
sum wye cat 40.805723
sum wye hat 41.166697
sum wye dog 40.619547
sum wye wye 32.490973
sum wye pan 33.027196
sum dog hat 43.515162
sum dog pan 45.614011
sum dog dog 43.545956
sum dog wye 37.223795
sum dog cat 45.642595
sum hat hat 48.058897
sum hat wye 34.054270
sum hat pan 42.538758
sum hat cat 44.325655
sum hat dog 37.114244
count cat pan 89
count cat hat 90
count cat dog 78
count cat wye 77
count cat cat 79
count pan wye 78
count pan pan 77
count pan hat 67
count pan dog 73
count pan cat 89
count wye cat 74
count wye hat 87
count wye dog 76
count wye wye 67
count wye pan 66
count dog hat 88
count dog pan 87
count dog dog 87
count dog wye 79
count dog cat 83
count hat hat 88
count hat wye 70
count hat pan 85
count hat cat 88
count hat dog 78
mean cat pan 0.475586
mean cat hat 0.479827
mean cat dog 0.503096
mean cat wye 0.586971
mean cat cat 0.479673
mean pan wye 0.514555
mean pan pan 0.470472
mean pan hat 0.524117
mean pan dog 0.518049
mean pan cat 0.474558
mean wye cat 0.551429
mean wye hat 0.473180
mean wye dog 0.534468
mean wye wye 0.484940
mean wye pan 0.500412
mean dog hat 0.494490
mean dog pan 0.524299
mean dog dog 0.500528
mean dog wye 0.471187
mean dog cat 0.549911
mean hat hat 0.546124
mean hat wye 0.486490
mean hat pan 0.500456
mean hat cat 0.503701
mean hat dog 0.475824
mlr -n put -v for (k, k in $*) {}
mlr: redefinition of variable k in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_SREC:
text="variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="for_full_srec_block", type=STATEMENT_BLOCK:
mlr -n put -v for (k, k in @*) {}
mlr: redefinition of variable k in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="k", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,a), c in @*) {}
mlr: redefinition of variable a in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="c", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,b), a in @*) {}
mlr: redefinition of variable a in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,b), b in @*) {}
mlr: redefinition of variable b in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,a,c), d in @*) {}
mlr: redefinition of variable a in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="c", type=UNTYPED_LOCAL_DEFINITION.
text="d", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,b,a), d in @*) {}
mlr: redefinition of variable a in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="d", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,b,c), a in @*) {}
mlr: redefinition of variable a in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="c", type=UNTYPED_LOCAL_DEFINITION.
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,b,b), d in @*) {}
mlr: redefinition of variable b in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="d", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,b,c), b in @*) {}
mlr: redefinition of variable b in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="c", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
mlr -n put -v for ((a,b,c), c in @*) {}
mlr: redefinition of variable c in the same scope.
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="for", type=FOR_OOSVAR:
text="key_and_value_variables", type=FOR_VARIABLES:
text="key_variables", type=FOR_VARIABLES:
text="a", type=UNTYPED_LOCAL_DEFINITION.
text="b", type=UNTYPED_LOCAL_DEFINITION.
text="c", type=UNTYPED_LOCAL_DEFINITION.
text="c", type=UNTYPED_LOCAL_DEFINITION.
text="empty_keylist", type=OOSVAR_KEYLIST:
text="for_full_oosvar_block", type=STATEMENT_BLOCK:
================================================================
DSL BREAK/CONTINUE IN SINGLE WHILE/DO-WHILE
mlr --opprint --from ./reg_test/input/abixy put
while ($i < 5) {
$i += 1;
break;
$a = "ERROR";
}
a b i x y
pan pan 2 0.3467901443380824 0.7268028627434533
eks pan 3 0.7586799647899636 0.5221511083334797
wye wye 4 0.20460330576630303 0.33831852551664776
eks wye 5 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put
while ($i < 5) {
$i += 1;
continue;
$a = "ERROR";
}
a b i x y
pan pan 5 0.3467901443380824 0.7268028627434533
eks pan 5 0.7586799647899636 0.5221511083334797
wye wye 5 0.20460330576630303 0.33831852551664776
eks wye 5 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put
do {
$i += 1;
break;
$a = "ERROR";
} while ($i < 5);
a b i x y
pan pan 2 0.3467901443380824 0.7268028627434533
eks pan 3 0.7586799647899636 0.5221511083334797
wye wye 4 0.20460330576630303 0.33831852551664776
eks wye 5 0.38139939387114097 0.13418874328430463
wye pan 6 0.5732889198020006 0.8636244699032729
zee pan 7 0.5271261600918548 0.49322128674835697
eks zee 8 0.6117840605678454 0.1878849191181694
zee wye 9 0.5985540091064224 0.976181385699006
hat wye 10 0.03144187646093577 0.7495507603507059
pan wye 11 0.5026260055412137 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put
do {
$i += 1;
continue;
$a = "ERROR";
} while ($i < 5);
a b i x y
pan pan 5 0.3467901443380824 0.7268028627434533
eks pan 5 0.7586799647899636 0.5221511083334797
wye wye 5 0.20460330576630303 0.33831852551664776
eks wye 5 0.38139939387114097 0.13418874328430463
wye pan 6 0.5732889198020006 0.8636244699032729
zee pan 7 0.5271261600918548 0.49322128674835697
eks zee 8 0.6117840605678454 0.1878849191181694
zee wye 9 0.5985540091064224 0.976181385699006
hat wye 10 0.03144187646093577 0.7495507603507059
pan wye 11 0.5026260055412137 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put
$NR = NR;
while ($i < 5) {
$i += 1;
if (NR == 2) {
break;
}
$a = "reached";
}
a b i x y NR
reached pan 5 0.3467901443380824 0.7268028627434533 1
eks pan 3 0.7586799647899636 0.5221511083334797 2
reached wye 5 0.20460330576630303 0.33831852551664776 3
reached wye 5 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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
$NR = NR;
while ($i < 5) {
$i += 1;
if (NR == 2) {
continue;
}
$a = "reached";
}
a b i x y NR
reached pan 5 0.3467901443380824 0.7268028627434533 1
eks pan 5 0.7586799647899636 0.5221511083334797 2
reached wye 5 0.20460330576630303 0.33831852551664776 3
reached wye 5 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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
$NR = NR;
do {
$i += 1;
if (NR == 2) {
break;
}
$a = "reached";
} while ($i < 5);
a b i x y NR
reached pan 5 0.3467901443380824 0.7268028627434533 1
eks pan 3 0.7586799647899636 0.5221511083334797 2
reached wye 5 0.20460330576630303 0.33831852551664776 3
reached wye 5 0.38139939387114097 0.13418874328430463 4
reached pan 6 0.5732889198020006 0.8636244699032729 5
reached pan 7 0.5271261600918548 0.49322128674835697 6
reached zee 8 0.6117840605678454 0.1878849191181694 7
reached wye 9 0.5985540091064224 0.976181385699006 8
reached wye 10 0.03144187646093577 0.7495507603507059 9
reached wye 11 0.5026260055412137 0.9526183602969864 10
mlr --opprint --from ./reg_test/input/abixy put
$NR = NR;
do {
$i += 1;
if (NR == 2) {
continue;
}
$a = "reached";
} while ($i < 5);
a b i x y NR
reached pan 5 0.3467901443380824 0.7268028627434533 1
eks pan 5 0.7586799647899636 0.5221511083334797 2
reached wye 5 0.20460330576630303 0.33831852551664776 3
reached wye 5 0.38139939387114097 0.13418874328430463 4
reached pan 6 0.5732889198020006 0.8636244699032729 5
reached pan 7 0.5271261600918548 0.49322128674835697 6
reached zee 8 0.6117840605678454 0.1878849191181694 7
reached wye 9 0.5985540091064224 0.976181385699006 8
reached wye 10 0.03144187646093577 0.7495507603507059 9
reached wye 11 0.5026260055412137 0.9526183602969864 10
================================================================
DSL BREAK/CONTINUE IN NESTED WHILE/DO-WHILE
mlr --opprint --from ./reg_test/input/abixy put
$j = NR;
while ($j < 4) {
$k = NR;
$j += 1;
break;
while ($k < 7) {
$k += 1
}
}
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
a b i x y j
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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;
while ($j < 4) {
$k = NR;
$j += 1;
continue;
while ($k < 7) {
$k += 1
}
}
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
a b i x y j
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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;
while ($j < 4) {
$k = NR;
$j += 1;
while ($k < 7) {
$k += 1;
break;
$k += 10000;
}
}
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
a b i x y j
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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;
while ($j < 4) {
$k = NR;
$j += 1;
while ($k < 7) {
$k += 1;
continue;
$k += 10000;
}
}
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
a b i x y j
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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;
while ($j < 4) {
$k = NR;
$j += 1;
if (NR == 2 || NR == 8) {
break;
}
while ($k < 7) {
$k += 1
}
}
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
a b i x y j
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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;
while ($j < 4) {
$k = NR;
$j += 1;
if (NR == 2 || NR == 8) {
continue;
}
while ($k < 7) {
$k += 1
}
}
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
a b i x y j
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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;
while ($j < 4) {
$k = NR;
$j += 1;
while ($k < 7) {
$k += 1;
if (NR == 2 || NR == 8) {
break;
}
$k += 10000;
}
}
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
a b i x y j
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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;
while ($j < 4) {
$k = NR;
$j += 1;
while ($k < 7) {
$k += 1;
if (NR == 2 || NR == 8) {
continue;
}
$k += 10000;
}
}
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
a b i x y j
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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
mlr --opprint --from ./reg_test/input/abixy put -q
for (k,v in $*) {
@logging1[NR][k] = v;
if (k == "x") {
break;
}
}
end {
emitp @logging1, "NR", "k";
}
NR k logging1
1 a pan
1 b pan
1 i 1
1 x 0.346790
2 a eks
2 b pan
2 i 2
2 x 0.758680
3 a wye
3 b wye
3 i 3
3 x 0.204603
4 a eks
4 b wye
4 i 4
4 x 0.381399
5 a wye
5 b pan
5 i 5
5 x 0.573289
6 a zee
6 b pan
6 i 6
6 x 0.527126
7 a eks
7 b zee
7 i 7
7 x 0.611784
8 a zee
8 b wye
8 i 8
8 x 0.598554
9 a hat
9 b wye
9 i 9
9 x 0.031442
10 a pan
10 b wye
10 i 10
10 x 0.502626
mlr --opprint --from ./reg_test/input/abixy put -q
for (k,v in $*) {
if (k == "x") {
break;
}
@logging2[NR][k] = v;
}
end {
emitp @logging2, "NR", "k";
}
NR k logging2
1 a pan
1 b pan
1 i 1
2 a eks
2 b pan
2 i 2
3 a wye
3 b wye
3 i 3
4 a eks
4 b wye
4 i 4
5 a wye
5 b pan
5 i 5
6 a zee
6 b pan
6 i 6
7 a eks
7 b zee
7 i 7
8 a zee
8 b wye
8 i 8
9 a hat
9 b wye
9 i 9
10 a pan
10 b wye
10 i 10
mlr --opprint --from ./reg_test/input/abixy put -q
for (k,v in $*) {
@logging3[NR][k] = v;
if (k == "x") {
continue;
}
}
end {
emitp @logging3, "NR", "k";
}
NR k logging3
1 a pan
1 b pan
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b pan
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b wye
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b wye
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b pan
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b pan
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b zee
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b wye
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b wye
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b wye
10 i 10
10 x 0.502626
10 y 0.952618
mlr --opprint --from ./reg_test/input/abixy put -q
for (k,v in $*) {
if (k == "x") {
continue;
}
@logging4[NR][k] = v;
}
end {
emitp @logging4, "NR", "k"
}
NR k logging4
1 a pan
1 b pan
1 i 1
1 y 0.726803
2 a eks
2 b pan
2 i 2
2 y 0.522151
3 a wye
3 b wye
3 i 3
3 y 0.338319
4 a eks
4 b wye
4 i 4
4 y 0.134189
5 a wye
5 b pan
5 i 5
5 y 0.863624
6 a zee
6 b pan
6 i 6
6 y 0.493221
7 a eks
7 b zee
7 i 7
7 y 0.187885
8 a zee
8 b wye
8 i 8
8 y 0.976181
9 a hat
9 b wye
9 i 9
9 y 0.749551
10 a pan
10 b wye
10 i 10
10 y 0.952618
mlr --opprint --from ./reg_test/input/abixy put -q
for (k,v in $*) {
@logging1[NR][k] = v;
if (k == "x") {
break;
}
}
for (k,v in $*) {
if (k == "x") {
break;
}
@logging2[NR][k] = v;
}
for (k,v in $*) {
@logging3[NR][k] = v;
if (k == "x") {
continue;
}
}
for (k,v in $*) {
if (k == "x") {
continue;
}
@logging4[NR][k] = v;
}
end {
emitp @logging1, "NR", "k";
emitp @logging2, "NR", "k";
emitp @logging3, "NR", "k";
emitp @logging4, "NR", "k"
}
NR k logging1
1 a pan
1 b pan
1 i 1
1 x 0.346790
2 a eks
2 b pan
2 i 2
2 x 0.758680
3 a wye
3 b wye
3 i 3
3 x 0.204603
4 a eks
4 b wye
4 i 4
4 x 0.381399
5 a wye
5 b pan
5 i 5
5 x 0.573289
6 a zee
6 b pan
6 i 6
6 x 0.527126
7 a eks
7 b zee
7 i 7
7 x 0.611784
8 a zee
8 b wye
8 i 8
8 x 0.598554
9 a hat
9 b wye
9 i 9
9 x 0.031442
10 a pan
10 b wye
10 i 10
10 x 0.502626
NR k logging2
1 a pan
1 b pan
1 i 1
2 a eks
2 b pan
2 i 2
3 a wye
3 b wye
3 i 3
4 a eks
4 b wye
4 i 4
5 a wye
5 b pan
5 i 5
6 a zee
6 b pan
6 i 6
7 a eks
7 b zee
7 i 7
8 a zee
8 b wye
8 i 8
9 a hat
9 b wye
9 i 9
10 a pan
10 b wye
10 i 10
NR k logging3
1 a pan
1 b pan
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b pan
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b wye
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b wye
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b pan
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b pan
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b zee
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b wye
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b wye
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b wye
10 i 10
10 x 0.502626
10 y 0.952618
NR k logging4
1 a pan
1 b pan
1 i 1
1 y 0.726803
2 a eks
2 b pan
2 i 2
2 y 0.522151
3 a wye
3 b wye
3 i 3
3 y 0.338319
4 a eks
4 b wye
4 i 4
4 y 0.134189
5 a wye
5 b pan
5 i 5
5 y 0.863624
6 a zee
6 b pan
6 i 6
6 y 0.493221
7 a eks
7 b zee
7 i 7
7 y 0.187885
8 a zee
8 b wye
8 i 8
8 y 0.976181
9 a hat
9 b wye
9 i 9
9 y 0.749551
10 a pan
10 b wye
10 i 10
10 y 0.952618
================================================================
DSL BREAK/CONTINUE IN NESTED FOR-SREC
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
break;
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a before
2 a before
3 a before
4 a before
5 a before
6 a before
7 a before
8 a before
9 a before
10 a before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
continue;
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a before
1 b before
1 i before
1 x before
1 y before
2 a before
2 b before
2 i before
2 x before
2 y before
3 a before
3 b before
3 i before
3 x before
3 y before
4 a before
4 b before
4 i before
4 x before
4 y before
5 a before
5 b before
5 i before
5 x before
5 y before
6 a before
6 b before
6 i before
6 x before
6 y before
7 a before
7 b before
7 i before
7 x before
7 y before
8 a before
8 b before
8 i before
8 x before
8 y before
9 a before
9 b before
9 i before
9 x before
9 y before
10 a before
10 b before
10 i before
10 x before
10 y before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
break;
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b pan
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b pan
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b wye
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b wye
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b pan
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b pan
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b zee
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b wye
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b wye
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b wye
10 i 10
10 x 0.502626
10 y 0.952618
NR names output2
1 a_a before
1 b_a before
1 i_a before
1 x_a before
1 y_a before
2 a_a before
2 b_a before
2 i_a before
2 x_a before
2 y_a before
3 a_a before
3 b_a before
3 i_a before
3 x_a before
3 y_a before
4 a_a before
4 b_a before
4 i_a before
4 x_a before
4 y_a before
5 a_a before
5 b_a before
5 i_a before
5 x_a before
5 y_a before
6 a_a before
6 b_a before
6 i_a before
6 x_a before
6 y_a before
7 a_a before
7 b_a before
7 i_a before
7 x_a before
7 y_a before
8 a_a before
8 b_a before
8 i_a before
8 x_a before
8 y_a before
9 a_a before
9 b_a before
9 i_a before
9 x_a before
9 y_a before
10 a_a before
10 b_a before
10 i_a before
10 x_a before
10 y_a before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
continue;
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b pan
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b pan
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b wye
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b wye
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b pan
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b pan
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b zee
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b wye
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b wye
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b wye
10 i 10
10 x 0.502626
10 y 0.952618
NR names output2
1 a_a before
1 a_b before
1 a_i before
1 a_x before
1 a_y before
1 b_a before
1 b_b before
1 b_i before
1 b_x before
1 b_y before
1 i_a before
1 i_b before
1 i_i before
1 i_x before
1 i_y before
1 x_a before
1 x_b before
1 x_i before
1 x_x before
1 x_y before
1 y_a before
1 y_b before
1 y_i before
1 y_x before
1 y_y before
2 a_a before
2 a_b before
2 a_i before
2 a_x before
2 a_y before
2 b_a before
2 b_b before
2 b_i before
2 b_x before
2 b_y before
2 i_a before
2 i_b before
2 i_i before
2 i_x before
2 i_y before
2 x_a before
2 x_b before
2 x_i before
2 x_x before
2 x_y before
2 y_a before
2 y_b before
2 y_i before
2 y_x before
2 y_y before
3 a_a before
3 a_b before
3 a_i before
3 a_x before
3 a_y before
3 b_a before
3 b_b before
3 b_i before
3 b_x before
3 b_y before
3 i_a before
3 i_b before
3 i_i before
3 i_x before
3 i_y before
3 x_a before
3 x_b before
3 x_i before
3 x_x before
3 x_y before
3 y_a before
3 y_b before
3 y_i before
3 y_x before
3 y_y before
4 a_a before
4 a_b before
4 a_i before
4 a_x before
4 a_y before
4 b_a before
4 b_b before
4 b_i before
4 b_x before
4 b_y before
4 i_a before
4 i_b before
4 i_i before
4 i_x before
4 i_y before
4 x_a before
4 x_b before
4 x_i before
4 x_x before
4 x_y before
4 y_a before
4 y_b before
4 y_i before
4 y_x before
4 y_y before
5 a_a before
5 a_b before
5 a_i before
5 a_x before
5 a_y before
5 b_a before
5 b_b before
5 b_i before
5 b_x before
5 b_y before
5 i_a before
5 i_b before
5 i_i before
5 i_x before
5 i_y before
5 x_a before
5 x_b before
5 x_i before
5 x_x before
5 x_y before
5 y_a before
5 y_b before
5 y_i before
5 y_x before
5 y_y before
6 a_a before
6 a_b before
6 a_i before
6 a_x before
6 a_y before
6 b_a before
6 b_b before
6 b_i before
6 b_x before
6 b_y before
6 i_a before
6 i_b before
6 i_i before
6 i_x before
6 i_y before
6 x_a before
6 x_b before
6 x_i before
6 x_x before
6 x_y before
6 y_a before
6 y_b before
6 y_i before
6 y_x before
6 y_y before
7 a_a before
7 a_b before
7 a_i before
7 a_x before
7 a_y before
7 b_a before
7 b_b before
7 b_i before
7 b_x before
7 b_y before
7 i_a before
7 i_b before
7 i_i before
7 i_x before
7 i_y before
7 x_a before
7 x_b before
7 x_i before
7 x_x before
7 x_y before
7 y_a before
7 y_b before
7 y_i before
7 y_x before
7 y_y before
8 a_a before
8 a_b before
8 a_i before
8 a_x before
8 a_y before
8 b_a before
8 b_b before
8 b_i before
8 b_x before
8 b_y before
8 i_a before
8 i_b before
8 i_i before
8 i_x before
8 i_y before
8 x_a before
8 x_b before
8 x_i before
8 x_x before
8 x_y before
8 y_a before
8 y_b before
8 y_i before
8 y_x before
8 y_y before
9 a_a before
9 a_b before
9 a_i before
9 a_x before
9 a_y before
9 b_a before
9 b_b before
9 b_i before
9 b_x before
9 b_y before
9 i_a before
9 i_b before
9 i_i before
9 i_x before
9 i_y before
9 x_a before
9 x_b before
9 x_i before
9 x_x before
9 x_y before
9 y_a before
9 y_b before
9 y_i before
9 y_x before
9 y_y before
10 a_a before
10 a_b before
10 a_i before
10 a_x before
10 a_y before
10 b_a before
10 b_b before
10 b_i before
10 b_x before
10 b_y before
10 i_a before
10 i_b before
10 i_i before
10 i_x before
10 i_y before
10 x_a before
10 x_b before
10 x_i before
10 x_x before
10 x_y before
10 y_a before
10 y_b before
10 y_i before
10 y_x before
10 y_y before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
break;
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
break;
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a before
2 a before
3 a before
4 a before
5 a before
6 a before
7 a before
8 a before
9 a before
10 a before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
continue;
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
break;
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a before
1 b before
1 i before
1 x before
1 y before
2 a before
2 b before
2 i before
2 x before
2 y before
3 a before
3 b before
3 i before
3 x before
3 y before
4 a before
4 b before
4 i before
4 x before
4 y before
5 a before
5 b before
5 i before
5 x before
5 y before
6 a before
6 b before
6 i before
6 x before
6 y before
7 a before
7 b before
7 i before
7 x before
7 y before
8 a before
8 b before
8 i before
8 x before
8 y before
9 a before
9 b before
9 i before
9 x before
9 y before
10 a before
10 b before
10 i before
10 x before
10 y before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
break;
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
continue;
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a before
2 a before
3 a before
4 a before
5 a before
6 a before
7 a before
8 a before
9 a before
10 a before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
continue;
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
continue;
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a before
1 b before
1 i before
1 x before
1 y before
2 a before
2 b before
2 i before
2 x before
2 y before
3 a before
3 b before
3 i before
3 x before
3 y before
4 a before
4 b before
4 i before
4 x before
4 y before
5 a before
5 b before
5 i before
5 x before
5 y before
6 a before
6 b before
6 i before
6 x before
6 y before
7 a before
7 b before
7 i before
7 x before
7 y before
8 a before
8 b before
8 i before
8 x before
8 y before
9 a before
9 b before
9 i before
9 x before
9 y before
10 a before
10 b before
10 i before
10 x before
10 y before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
if (k1 == "b") {
break
}
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b before
2 a eks
2 b before
3 a wye
3 b before
4 a eks
4 b before
5 a wye
5 b before
6 a zee
6 b before
7 a eks
7 b before
8 a zee
8 b before
9 a hat
9 b before
10 a pan
10 b before
NR names output2
1 a_a pan
1 a_b pan
1 a_i 1
1 a_x 0.346790
1 a_y 0.726803
2 a_a eks
2 a_b pan
2 a_i 2
2 a_x 0.758680
2 a_y 0.522151
3 a_a wye
3 a_b wye
3 a_i 3
3 a_x 0.204603
3 a_y 0.338319
4 a_a eks
4 a_b wye
4 a_i 4
4 a_x 0.381399
4 a_y 0.134189
5 a_a wye
5 a_b pan
5 a_i 5
5 a_x 0.573289
5 a_y 0.863624
6 a_a zee
6 a_b pan
6 a_i 6
6 a_x 0.527126
6 a_y 0.493221
7 a_a eks
7 a_b zee
7 a_i 7
7 a_x 0.611784
7 a_y 0.187885
8 a_a zee
8 a_b wye
8 a_i 8
8 a_x 0.598554
8 a_y 0.976181
9 a_a hat
9 a_b wye
9 a_i 9
9 a_x 0.031442
9 a_y 0.749551
10 a_a pan
10 a_b wye
10 a_i 10
10 a_x 0.502626
10 a_y 0.952618
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
if (k1 == "b") {
continue
}
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b before
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b before
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b before
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b before
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b before
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b before
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b before
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b before
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b before
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b before
10 i 10
10 x 0.502626
10 y 0.952618
NR names output2
1 a_a pan
1 a_b pan
1 a_i 1
1 a_x 0.346790
1 a_y 0.726803
1 i_a pan
1 i_b pan
1 i_i 1
1 i_x 0.346790
1 i_y 0.726803
1 x_a pan
1 x_b pan
1 x_i 1
1 x_x 0.346790
1 x_y 0.726803
1 y_a pan
1 y_b pan
1 y_i 1
1 y_x 0.346790
1 y_y 0.726803
2 a_a eks
2 a_b pan
2 a_i 2
2 a_x 0.758680
2 a_y 0.522151
2 i_a eks
2 i_b pan
2 i_i 2
2 i_x 0.758680
2 i_y 0.522151
2 x_a eks
2 x_b pan
2 x_i 2
2 x_x 0.758680
2 x_y 0.522151
2 y_a eks
2 y_b pan
2 y_i 2
2 y_x 0.758680
2 y_y 0.522151
3 a_a wye
3 a_b wye
3 a_i 3
3 a_x 0.204603
3 a_y 0.338319
3 i_a wye
3 i_b wye
3 i_i 3
3 i_x 0.204603
3 i_y 0.338319
3 x_a wye
3 x_b wye
3 x_i 3
3 x_x 0.204603
3 x_y 0.338319
3 y_a wye
3 y_b wye
3 y_i 3
3 y_x 0.204603
3 y_y 0.338319
4 a_a eks
4 a_b wye
4 a_i 4
4 a_x 0.381399
4 a_y 0.134189
4 i_a eks
4 i_b wye
4 i_i 4
4 i_x 0.381399
4 i_y 0.134189
4 x_a eks
4 x_b wye
4 x_i 4
4 x_x 0.381399
4 x_y 0.134189
4 y_a eks
4 y_b wye
4 y_i 4
4 y_x 0.381399
4 y_y 0.134189
5 a_a wye
5 a_b pan
5 a_i 5
5 a_x 0.573289
5 a_y 0.863624
5 i_a wye
5 i_b pan
5 i_i 5
5 i_x 0.573289
5 i_y 0.863624
5 x_a wye
5 x_b pan
5 x_i 5
5 x_x 0.573289
5 x_y 0.863624
5 y_a wye
5 y_b pan
5 y_i 5
5 y_x 0.573289
5 y_y 0.863624
6 a_a zee
6 a_b pan
6 a_i 6
6 a_x 0.527126
6 a_y 0.493221
6 i_a zee
6 i_b pan
6 i_i 6
6 i_x 0.527126
6 i_y 0.493221
6 x_a zee
6 x_b pan
6 x_i 6
6 x_x 0.527126
6 x_y 0.493221
6 y_a zee
6 y_b pan
6 y_i 6
6 y_x 0.527126
6 y_y 0.493221
7 a_a eks
7 a_b zee
7 a_i 7
7 a_x 0.611784
7 a_y 0.187885
7 i_a eks
7 i_b zee
7 i_i 7
7 i_x 0.611784
7 i_y 0.187885
7 x_a eks
7 x_b zee
7 x_i 7
7 x_x 0.611784
7 x_y 0.187885
7 y_a eks
7 y_b zee
7 y_i 7
7 y_x 0.611784
7 y_y 0.187885
8 a_a zee
8 a_b wye
8 a_i 8
8 a_x 0.598554
8 a_y 0.976181
8 i_a zee
8 i_b wye
8 i_i 8
8 i_x 0.598554
8 i_y 0.976181
8 x_a zee
8 x_b wye
8 x_i 8
8 x_x 0.598554
8 x_y 0.976181
8 y_a zee
8 y_b wye
8 y_i 8
8 y_x 0.598554
8 y_y 0.976181
9 a_a hat
9 a_b wye
9 a_i 9
9 a_x 0.031442
9 a_y 0.749551
9 i_a hat
9 i_b wye
9 i_i 9
9 i_x 0.031442
9 i_y 0.749551
9 x_a hat
9 x_b wye
9 x_i 9
9 x_x 0.031442
9 x_y 0.749551
9 y_a hat
9 y_b wye
9 y_i 9
9 y_x 0.031442
9 y_y 0.749551
10 a_a pan
10 a_b wye
10 a_i 10
10 a_x 0.502626
10 a_y 0.952618
10 i_a pan
10 i_b wye
10 i_i 10
10 i_x 0.502626
10 i_y 0.952618
10 x_a pan
10 x_b wye
10 x_i 10
10 x_x 0.502626
10 x_y 0.952618
10 y_a pan
10 y_b wye
10 y_i 10
10 y_x 0.502626
10 y_y 0.952618
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
if (k2 == "a") {
break
}
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b pan
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b pan
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b wye
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b wye
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b pan
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b pan
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b zee
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b wye
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b wye
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b wye
10 i 10
10 x 0.502626
10 y 0.952618
NR names output2
1 a_a before
1 b_a before
1 i_a before
1 x_a before
1 y_a before
2 a_a before
2 b_a before
2 i_a before
2 x_a before
2 y_a before
3 a_a before
3 b_a before
3 i_a before
3 x_a before
3 y_a before
4 a_a before
4 b_a before
4 i_a before
4 x_a before
4 y_a before
5 a_a before
5 b_a before
5 i_a before
5 x_a before
5 y_a before
6 a_a before
6 b_a before
6 i_a before
6 x_a before
6 y_a before
7 a_a before
7 b_a before
7 i_a before
7 x_a before
7 y_a before
8 a_a before
8 b_a before
8 i_a before
8 x_a before
8 y_a before
9 a_a before
9 b_a before
9 i_a before
9 x_a before
9 y_a before
10 a_a before
10 b_a before
10 i_a before
10 x_a before
10 y_a before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
if (k2 == "b") {
continue
}
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b pan
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b pan
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b wye
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b wye
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b pan
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b pan
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b zee
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b wye
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b wye
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b wye
10 i 10
10 x 0.502626
10 y 0.952618
NR names output2
1 a_a pan
1 a_b before
1 a_i 1
1 a_x 0.346790
1 a_y 0.726803
1 b_a pan
1 b_b before
1 b_i 1
1 b_x 0.346790
1 b_y 0.726803
1 i_a pan
1 i_b before
1 i_i 1
1 i_x 0.346790
1 i_y 0.726803
1 x_a pan
1 x_b before
1 x_i 1
1 x_x 0.346790
1 x_y 0.726803
1 y_a pan
1 y_b before
1 y_i 1
1 y_x 0.346790
1 y_y 0.726803
2 a_a eks
2 a_b before
2 a_i 2
2 a_x 0.758680
2 a_y 0.522151
2 b_a eks
2 b_b before
2 b_i 2
2 b_x 0.758680
2 b_y 0.522151
2 i_a eks
2 i_b before
2 i_i 2
2 i_x 0.758680
2 i_y 0.522151
2 x_a eks
2 x_b before
2 x_i 2
2 x_x 0.758680
2 x_y 0.522151
2 y_a eks
2 y_b before
2 y_i 2
2 y_x 0.758680
2 y_y 0.522151
3 a_a wye
3 a_b before
3 a_i 3
3 a_x 0.204603
3 a_y 0.338319
3 b_a wye
3 b_b before
3 b_i 3
3 b_x 0.204603
3 b_y 0.338319
3 i_a wye
3 i_b before
3 i_i 3
3 i_x 0.204603
3 i_y 0.338319
3 x_a wye
3 x_b before
3 x_i 3
3 x_x 0.204603
3 x_y 0.338319
3 y_a wye
3 y_b before
3 y_i 3
3 y_x 0.204603
3 y_y 0.338319
4 a_a eks
4 a_b before
4 a_i 4
4 a_x 0.381399
4 a_y 0.134189
4 b_a eks
4 b_b before
4 b_i 4
4 b_x 0.381399
4 b_y 0.134189
4 i_a eks
4 i_b before
4 i_i 4
4 i_x 0.381399
4 i_y 0.134189
4 x_a eks
4 x_b before
4 x_i 4
4 x_x 0.381399
4 x_y 0.134189
4 y_a eks
4 y_b before
4 y_i 4
4 y_x 0.381399
4 y_y 0.134189
5 a_a wye
5 a_b before
5 a_i 5
5 a_x 0.573289
5 a_y 0.863624
5 b_a wye
5 b_b before
5 b_i 5
5 b_x 0.573289
5 b_y 0.863624
5 i_a wye
5 i_b before
5 i_i 5
5 i_x 0.573289
5 i_y 0.863624
5 x_a wye
5 x_b before
5 x_i 5
5 x_x 0.573289
5 x_y 0.863624
5 y_a wye
5 y_b before
5 y_i 5
5 y_x 0.573289
5 y_y 0.863624
6 a_a zee
6 a_b before
6 a_i 6
6 a_x 0.527126
6 a_y 0.493221
6 b_a zee
6 b_b before
6 b_i 6
6 b_x 0.527126
6 b_y 0.493221
6 i_a zee
6 i_b before
6 i_i 6
6 i_x 0.527126
6 i_y 0.493221
6 x_a zee
6 x_b before
6 x_i 6
6 x_x 0.527126
6 x_y 0.493221
6 y_a zee
6 y_b before
6 y_i 6
6 y_x 0.527126
6 y_y 0.493221
7 a_a eks
7 a_b before
7 a_i 7
7 a_x 0.611784
7 a_y 0.187885
7 b_a eks
7 b_b before
7 b_i 7
7 b_x 0.611784
7 b_y 0.187885
7 i_a eks
7 i_b before
7 i_i 7
7 i_x 0.611784
7 i_y 0.187885
7 x_a eks
7 x_b before
7 x_i 7
7 x_x 0.611784
7 x_y 0.187885
7 y_a eks
7 y_b before
7 y_i 7
7 y_x 0.611784
7 y_y 0.187885
8 a_a zee
8 a_b before
8 a_i 8
8 a_x 0.598554
8 a_y 0.976181
8 b_a zee
8 b_b before
8 b_i 8
8 b_x 0.598554
8 b_y 0.976181
8 i_a zee
8 i_b before
8 i_i 8
8 i_x 0.598554
8 i_y 0.976181
8 x_a zee
8 x_b before
8 x_i 8
8 x_x 0.598554
8 x_y 0.976181
8 y_a zee
8 y_b before
8 y_i 8
8 y_x 0.598554
8 y_y 0.976181
9 a_a hat
9 a_b before
9 a_i 9
9 a_x 0.031442
9 a_y 0.749551
9 b_a hat
9 b_b before
9 b_i 9
9 b_x 0.031442
9 b_y 0.749551
9 i_a hat
9 i_b before
9 i_i 9
9 i_x 0.031442
9 i_y 0.749551
9 x_a hat
9 x_b before
9 x_i 9
9 x_x 0.031442
9 x_y 0.749551
9 y_a hat
9 y_b before
9 y_i 9
9 y_x 0.031442
9 y_y 0.749551
10 a_a pan
10 a_b before
10 a_i 10
10 a_x 0.502626
10 a_y 0.952618
10 b_a pan
10 b_b before
10 b_i 10
10 b_x 0.502626
10 b_y 0.952618
10 i_a pan
10 i_b before
10 i_i 10
10 i_x 0.502626
10 i_y 0.952618
10 x_a pan
10 x_b before
10 x_i 10
10 x_x 0.502626
10 x_y 0.952618
10 y_a pan
10 y_b before
10 y_i 10
10 y_x 0.502626
10 y_y 0.952618
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
if (k1 == "b") {
break
}
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
if (k2 == "a") {
break
}
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b before
2 a eks
2 b before
3 a wye
3 b before
4 a eks
4 b before
5 a wye
5 b before
6 a zee
6 b before
7 a eks
7 b before
8 a zee
8 b before
9 a hat
9 b before
10 a pan
10 b before
NR names output2
1 a_a before
2 a_a before
3 a_a before
4 a_a before
5 a_a before
6 a_a before
7 a_a before
8 a_a before
9 a_a before
10 a_a before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
if (k1 == "b") {
continue
}
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
if (k2 == "a") {
break
}
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b before
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b before
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b before
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b before
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b before
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b before
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b before
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b before
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b before
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b before
10 i 10
10 x 0.502626
10 y 0.952618
NR names output2
1 a_a before
1 i_a before
1 x_a before
1 y_a before
2 a_a before
2 i_a before
2 x_a before
2 y_a before
3 a_a before
3 i_a before
3 x_a before
3 y_a before
4 a_a before
4 i_a before
4 x_a before
4 y_a before
5 a_a before
5 i_a before
5 x_a before
5 y_a before
6 a_a before
6 i_a before
6 x_a before
6 y_a before
7 a_a before
7 i_a before
7 x_a before
7 y_a before
8 a_a before
8 i_a before
8 x_a before
8 y_a before
9 a_a before
9 i_a before
9 x_a before
9 y_a before
10 a_a before
10 i_a before
10 x_a before
10 y_a before
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
if (k1 == "b") {
break
}
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
if (k2 == "a") {
continue
}
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b before
2 a eks
2 b before
3 a wye
3 b before
4 a eks
4 b before
5 a wye
5 b before
6 a zee
6 b before
7 a eks
7 b before
8 a zee
8 b before
9 a hat
9 b before
10 a pan
10 b before
NR names output2
1 a_a before
1 a_b pan
1 a_i 1
1 a_x 0.346790
1 a_y 0.726803
2 a_a before
2 a_b pan
2 a_i 2
2 a_x 0.758680
2 a_y 0.522151
3 a_a before
3 a_b wye
3 a_i 3
3 a_x 0.204603
3 a_y 0.338319
4 a_a before
4 a_b wye
4 a_i 4
4 a_x 0.381399
4 a_y 0.134189
5 a_a before
5 a_b pan
5 a_i 5
5 a_x 0.573289
5 a_y 0.863624
6 a_a before
6 a_b pan
6 a_i 6
6 a_x 0.527126
6 a_y 0.493221
7 a_a before
7 a_b zee
7 a_i 7
7 a_x 0.611784
7 a_y 0.187885
8 a_a before
8 a_b wye
8 a_i 8
8 a_x 0.598554
8 a_y 0.976181
9 a_a before
9 a_b wye
9 a_i 9
9 a_x 0.031442
9 a_y 0.749551
10 a_a before
10 a_b wye
10 a_i 10
10 a_x 0.502626
10 a_y 0.952618
mlr --opprint --from ./reg_test/input/abixy put -q
for (k1, v1 in $*) {
@output1[NR][k1] = "before";
if (k1 == "b") {
continue
}
@output1[NR][k1] = v1;
for (k2, v2 in $*) {
@output2[NR][k1."_".k2] = "before";
if (k2 == "a") {
continue
}
@output2[NR][k1."_".k2] = v2;
}
}
end {
emit @output1, "NR", "name";
emit @output2, "NR", "names";
}
NR name output1
1 a pan
1 b before
1 i 1
1 x 0.346790
1 y 0.726803
2 a eks
2 b before
2 i 2
2 x 0.758680
2 y 0.522151
3 a wye
3 b before
3 i 3
3 x 0.204603
3 y 0.338319
4 a eks
4 b before
4 i 4
4 x 0.381399
4 y 0.134189
5 a wye
5 b before
5 i 5
5 x 0.573289
5 y 0.863624
6 a zee
6 b before
6 i 6
6 x 0.527126
6 y 0.493221
7 a eks
7 b before
7 i 7
7 x 0.611784
7 y 0.187885
8 a zee
8 b before
8 i 8
8 x 0.598554
8 y 0.976181
9 a hat
9 b before
9 i 9
9 x 0.031442
9 y 0.749551
10 a pan
10 b before
10 i 10
10 x 0.502626
10 y 0.952618
NR names output2
1 a_a before
1 a_b pan
1 a_i 1
1 a_x 0.346790
1 a_y 0.726803
1 i_a before
1 i_b pan
1 i_i 1
1 i_x 0.346790
1 i_y 0.726803
1 x_a before
1 x_b pan
1 x_i 1
1 x_x 0.346790
1 x_y 0.726803
1 y_a before
1 y_b pan
1 y_i 1
1 y_x 0.346790
1 y_y 0.726803
2 a_a before
2 a_b pan
2 a_i 2
2 a_x 0.758680
2 a_y 0.522151
2 i_a before
2 i_b pan
2 i_i 2
2 i_x 0.758680
2 i_y 0.522151
2 x_a before
2 x_b pan
2 x_i 2
2 x_x 0.758680
2 x_y 0.522151
2 y_a before
2 y_b pan
2 y_i 2
2 y_x 0.758680
2 y_y 0.522151
3 a_a before
3 a_b wye
3 a_i 3
3 a_x 0.204603
3 a_y 0.338319
3 i_a before
3 i_b wye
3 i_i 3
3 i_x 0.204603
3 i_y 0.338319
3 x_a before
3 x_b wye
3 x_i 3
3 x_x 0.204603
3 x_y 0.338319
3 y_a before
3 y_b wye
3 y_i 3
3 y_x 0.204603
3 y_y 0.338319
4 a_a before
4 a_b wye
4 a_i 4
4 a_x 0.381399
4 a_y 0.134189
4 i_a before
4 i_b wye
4 i_i 4
4 i_x 0.381399
4 i_y 0.134189
4 x_a before
4 x_b wye
4 x_i 4
4 x_x 0.381399
4 x_y 0.134189
4 y_a before
4 y_b wye
4 y_i 4
4 y_x 0.381399
4 y_y 0.134189
5 a_a before
5 a_b pan
5 a_i 5
5 a_x 0.573289
5 a_y 0.863624
5 i_a before
5 i_b pan
5 i_i 5
5 i_x 0.573289
5 i_y 0.863624
5 x_a before
5 x_b pan
5 x_i 5
5 x_x 0.573289
5 x_y 0.863624
5 y_a before
5 y_b pan
5 y_i 5
5 y_x 0.573289
5 y_y 0.863624
6 a_a before
6 a_b pan
6 a_i 6
6 a_x 0.527126
6 a_y 0.493221
6 i_a before
6 i_b pan
6 i_i 6
6 i_x 0.527126
6 i_y 0.493221
6 x_a before
6 x_b pan
6 x_i 6
6 x_x 0.527126
6 x_y 0.493221
6 y_a before
6 y_b pan
6 y_i 6
6 y_x 0.527126
6 y_y 0.493221
7 a_a before
7 a_b zee
7 a_i 7
7 a_x 0.611784
7 a_y 0.187885
7 i_a before
7 i_b zee
7 i_i 7
7 i_x 0.611784
7 i_y 0.187885
7 x_a before
7 x_b zee
7 x_i 7
7 x_x 0.611784
7 x_y 0.187885
7 y_a before
7 y_b zee
7 y_i 7
7 y_x 0.611784
7 y_y 0.187885
8 a_a before
8 a_b wye
8 a_i 8
8 a_x 0.598554
8 a_y 0.976181
8 i_a before
8 i_b wye
8 i_i 8
8 i_x 0.598554
8 i_y 0.976181
8 x_a before
8 x_b wye
8 x_i 8
8 x_x 0.598554
8 x_y 0.976181
8 y_a before
8 y_b wye
8 y_i 8
8 y_x 0.598554
8 y_y 0.976181
9 a_a before
9 a_b wye
9 a_i 9
9 a_x 0.031442
9 a_y 0.749551
9 i_a before
9 i_b wye
9 i_i 9
9 i_x 0.031442
9 i_y 0.749551
9 x_a before
9 x_b wye
9 x_i 9
9 x_x 0.031442
9 x_y 0.749551
9 y_a before
9 y_b wye
9 y_i 9
9 y_x 0.031442
9 y_y 0.749551
10 a_a before
10 a_b wye
10 a_i 10
10 a_x 0.502626
10 a_y 0.952618
10 i_a before
10 i_b wye
10 i_i 10
10 i_x 0.502626
10 i_y 0.952618
10 x_a before
10 x_b wye
10 x_i 10
10 x_x 0.502626
10 x_y 0.952618
10 y_a before
10 y_b wye
10 y_i 10
10 y_x 0.502626
10 y_y 0.952618
================================================================
FOR-OOSVAR DEPTH TESTS
---------------------------------------------------------------- for full oosvar
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=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
---------------------------------------------------------------- for oosvar submap
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
================================================================
DSL BREAK/CONTINUE IN SINGLE FOR-OOSVAR
---------------------------------------------------------------- single-key tests, direct break/continue
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for (k1, v in @logging[2]) {
break;
@output[k1] = v;
}
emit @output, "NR", "name"
}
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for (k1, v in @logging[2]) {
@output[k1] = v;
break;
@output[k1] = "ERROR";
}
emit @output, "NR", "name"
}
NR output
a eks
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for (k1, v in @logging[2]) {
continue;
@output[k1] = v
}
emit @output, "NR", "name"
}
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for (k1, v in @logging[2]) {
@output[k1] = v;
continue;
@output[k1] = "ERROR";
}
emit @output, "NR", "name"
}
NR output
a eks
b pan
i 2
x 0.7586799647899636
y 0.5221511083334797
---------------------------------------------------------------- single-key tests, indirect break/continue
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for (k1, v in @logging[2]) {
if (k1 == "i") {
break;
}
@output[k1] = v;
}
emit @output, "NR", "name"
}
NR output
a eks
b pan
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for (k1, v in @logging[2]) {
@output[k1] = v;
if (k1 == "i") {
break;
}
}
emit @output, "NR", "name"
}
NR output
a eks
b pan
i 2
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for (k1, v in @logging[2]) {
if (k1 == "i") {
continue;
}
@output[k1] = v
}
emit @output, "NR", "name"
}
NR output
a eks
b pan
x 0.7586799647899636
y 0.5221511083334797
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for (k1, v in @logging[2]) {
@output[k1] = v;
if (k1 == "i") {
continue;
}
@output[k1] = "reached";
}
emit @output, "NR", "name"
}
NR output
a reached
b reached
i 2
x reached
y reached
---------------------------------------------------------------- multiple-key tests, direct break/continue
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
break;
@output[k1][k2] = v;
}
emit @output, "NR", "name"
}
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
@output[k1][k2] = v;
break;
@output[k1][k2] = "ERROR"
}
emit @output, "NR", "name"
}
NR name output
1 a pan
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
continue;
@output[k1][k2] = v
}
emit @output, "NR", "name"
}
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
@output[k1][k2] = v;
continue;
@output[k1][k2] = "ERROR";
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
1 i 1
1 x 0.3467901443380824
1 y 0.7268028627434533
2 a eks
2 b pan
2 i 2
2 x 0.7586799647899636
2 y 0.5221511083334797
3 a wye
3 b wye
3 i 3
3 x 0.20460330576630303
3 y 0.33831852551664776
4 a eks
4 b wye
4 i 4
4 x 0.38139939387114097
4 y 0.13418874328430463
5 a wye
5 b pan
5 i 5
5 x 0.5732889198020006
5 y 0.8636244699032729
6 a zee
6 b pan
6 i 6
6 x 0.5271261600918548
6 y 0.49322128674835697
7 a eks
7 b zee
7 i 7
7 x 0.6117840605678454
7 y 0.1878849191181694
8 a zee
8 b wye
8 i 8
8 x 0.5985540091064224
8 y 0.976181385699006
9 a hat
9 b wye
9 i 9
9 x 0.03144187646093577
9 y 0.7495507603507059
10 a pan
10 b wye
10 i 10
10 x 0.5026260055412137
10 y 0.9526183602969864
---------------------------------------------------------------- multiple-key tests, indirect break/continue
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
if (k1 == 5) {
break;
}
@output[k1][k2] = v;
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
1 i 1
1 x 0.3467901443380824
1 y 0.7268028627434533
2 a eks
2 b pan
2 i 2
2 x 0.7586799647899636
2 y 0.5221511083334797
3 a wye
3 b wye
3 i 3
3 x 0.20460330576630303
3 y 0.33831852551664776
4 a eks
4 b wye
4 i 4
4 x 0.38139939387114097
4 y 0.13418874328430463
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
if (k2 == "i") {
break;
}
@output[k1][k2] = v;
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
@output[k1][k2] = v;
if (k1 == 5) {
break;
}
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
1 i 1
1 x 0.3467901443380824
1 y 0.7268028627434533
2 a eks
2 b pan
2 i 2
2 x 0.7586799647899636
2 y 0.5221511083334797
3 a wye
3 b wye
3 i 3
3 x 0.20460330576630303
3 y 0.33831852551664776
4 a eks
4 b wye
4 i 4
4 x 0.38139939387114097
4 y 0.13418874328430463
5 a wye
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
@output[k1][k2] = v;
if (k2 == "i") {
break;
}
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
1 i 1
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
if (k1 == 5) {
continue;
}
@output[k1][k2] = v
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
1 i 1
1 x 0.3467901443380824
1 y 0.7268028627434533
2 a eks
2 b pan
2 i 2
2 x 0.7586799647899636
2 y 0.5221511083334797
3 a wye
3 b wye
3 i 3
3 x 0.20460330576630303
3 y 0.33831852551664776
4 a eks
4 b wye
4 i 4
4 x 0.38139939387114097
4 y 0.13418874328430463
6 a zee
6 b pan
6 i 6
6 x 0.5271261600918548
6 y 0.49322128674835697
7 a eks
7 b zee
7 i 7
7 x 0.6117840605678454
7 y 0.1878849191181694
8 a zee
8 b wye
8 i 8
8 x 0.5985540091064224
8 y 0.976181385699006
9 a hat
9 b wye
9 i 9
9 x 0.03144187646093577
9 y 0.7495507603507059
10 a pan
10 b wye
10 i 10
10 x 0.5026260055412137
10 y 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
if (k2 == "i") {
continue;
}
@output[k1][k2] = v
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
1 x 0.3467901443380824
1 y 0.7268028627434533
2 a eks
2 b pan
2 x 0.7586799647899636
2 y 0.5221511083334797
3 a wye
3 b wye
3 x 0.20460330576630303
3 y 0.33831852551664776
4 a eks
4 b wye
4 x 0.38139939387114097
4 y 0.13418874328430463
5 a wye
5 b pan
5 x 0.5732889198020006
5 y 0.8636244699032729
6 a zee
6 b pan
6 x 0.5271261600918548
6 y 0.49322128674835697
7 a eks
7 b zee
7 x 0.6117840605678454
7 y 0.1878849191181694
8 a zee
8 b wye
8 x 0.5985540091064224
8 y 0.976181385699006
9 a hat
9 b wye
9 x 0.03144187646093577
9 y 0.7495507603507059
10 a pan
10 b wye
10 x 0.5026260055412137
10 y 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
@output[k1][k2] = "before";
if (k1 == 5) {
continue;
}
@output[k1][k2] = v;
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
1 i 1
1 x 0.3467901443380824
1 y 0.7268028627434533
2 a eks
2 b pan
2 i 2
2 x 0.7586799647899636
2 y 0.5221511083334797
3 a wye
3 b wye
3 i 3
3 x 0.20460330576630303
3 y 0.33831852551664776
4 a eks
4 b wye
4 i 4
4 x 0.38139939387114097
4 y 0.13418874328430463
5 a before
5 b before
5 i before
5 x before
5 y before
6 a zee
6 b pan
6 i 6
6 x 0.5271261600918548
6 y 0.49322128674835697
7 a eks
7 b zee
7 i 7
7 x 0.6117840605678454
7 y 0.1878849191181694
8 a zee
8 b wye
8 i 8
8 x 0.5985540091064224
8 y 0.976181385699006
9 a hat
9 b wye
9 i 9
9 x 0.03144187646093577
9 y 0.7495507603507059
10 a pan
10 b wye
10 i 10
10 x 0.5026260055412137
10 y 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
@output[k1][k2] = "before";
if (k2 == "i") {
continue;
}
@output[k1][k2] = v;
}
emit @output, "NR", "name"
}
NR name output
1 a pan
1 b pan
1 i before
1 x 0.3467901443380824
1 y 0.7268028627434533
2 a eks
2 b pan
2 i before
2 x 0.7586799647899636
2 y 0.5221511083334797
3 a wye
3 b wye
3 i before
3 x 0.20460330576630303
3 y 0.33831852551664776
4 a eks
4 b wye
4 i before
4 x 0.38139939387114097
4 y 0.13418874328430463
5 a wye
5 b pan
5 i before
5 x 0.5732889198020006
5 y 0.8636244699032729
6 a zee
6 b pan
6 i before
6 x 0.5271261600918548
6 y 0.49322128674835697
7 a eks
7 b zee
7 i before
7 x 0.6117840605678454
7 y 0.1878849191181694
8 a zee
8 b wye
8 i before
8 x 0.5985540091064224
8 y 0.976181385699006
9 a hat
9 b wye
9 i before
9 x 0.03144187646093577
9 y 0.7495507603507059
10 a pan
10 b wye
10 i before
10 x 0.5026260055412137
10 y 0.9526183602969864
================================================================
DSL BREAK/CONTINUE IN NESTED FOR-OOSVAR
mlr --opprint --from ./reg_test/input/abixy put -q
@logging[NR] = $*;
end {
for ((k1, k2), v in @logging) {
if (k1 != 2) {
continue
}
for ((k3, k4), v in @logging) {
if (k3 != 4) {
continue
}
@output[k1][k2][k3][k4] = v;
}
}
emit @output, "NR1", "name1", "NR2", "name2"
}
NR1 name1 NR2 name2 output
2 a 4 a eks
2 a 4 b wye
2 a 4 i 4
2 a 4 x 0.38139939387114097
2 a 4 y 0.13418874328430463
2 b 4 a eks
2 b 4 b wye
2 b 4 i 4
2 b 4 x 0.38139939387114097
2 b 4 y 0.13418874328430463
2 i 4 a eks
2 i 4 b wye
2 i 4 i 4
2 i 4 x 0.38139939387114097
2 i 4 y 0.13418874328430463
2 x 4 a eks
2 x 4 b wye
2 x 4 i 4
2 x 4 x 0.38139939387114097
2 x 4 y 0.13418874328430463
2 y 4 a eks
2 y 4 b wye
2 y 4 i 4
2 y 4 x 0.38139939387114097
2 y 4 y 0.13418874328430463
================================================================
DSL PRINT
mlr put -q print 1; print "two"; print $a; print; print $i < 4; print "y is ".string($y); print "" ./reg_test/input/abixy
1
two
pan
true
y is 0.726803
1
two
eks
true
y is 0.522151
1
two
wye
true
y is 0.338319
1
two
eks
false
y is 0.134189
1
two
wye
false
y is 0.863624
1
two
zee
false
y is 0.493221
1
two
eks
false
y is 0.187885
1
two
zee
false
y is 0.976181
1
two
hat
false
y is 0.749551
1
two
pan
false
y is 0.952618
mlr put -q printn 1; printn "two"; printn $a; printn; printn $i < 4; printn "y is ".string($y); print "" ./reg_test/input/abixy
1twopantruey is 0.726803
1twoekstruey is 0.522151
1twowyetruey is 0.338319
1twoeksfalsey is 0.134189
1twowyefalsey is 0.863624
1twozeefalsey is 0.493221
1twoeksfalsey is 0.187885
1twozeefalsey is 0.976181
1twohatfalsey is 0.749551
1twopanfalsey is 0.952618
================================================================
ABSENT/EMPTY
mlr put -q @sum += $x; end{emitp @sum} ./reg_test/input/abixy
sum=4.536294
mlr put -q @sum[$a] += $x; end{emitp @sum, "a"} ./reg_test/input/abixy
a=pan,sum=0.849416
a=eks,sum=1.751863
a=wye,sum=0.777892
a=zee,sum=1.125680
a=hat,sum=0.031442
mlr put $nonesuch = @nonesuch ./reg_test/input/abixy
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 put -q @sum += $x; end{emitp @sum} ./reg_test/input/abixy-het
sum=3.963005
mlr put -q @sum[$a] += $x; end{emitp @sum, "a"} ./reg_test/input/abixy-het
a=pan,sum=0.849416
a=eks,sum=1.751863
a=zee,sum=1.125680
mlr put $nonesuch = @nonesuch ./reg_test/input/abixy-het
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr put -q @sum += $x; @sumtype = typeof(@sum); @xtype = typeof($x); emitf @sumtype, @xtype, @sum; end{emitp @sum} ./reg_test/input/abixy
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=0.346790
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=1.105470
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=1.310073
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=1.691473
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=2.264762
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=2.791888
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=3.403672
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=4.002226
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=4.033668
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=4.536294
sum=4.536294
mlr put -q @sum += $x; @sumtype = typeof(@sum); @xtype = typeof($x); emitf @sumtype, @xtype, @sum; end{emitp @sum} ./reg_test/input/abixy-het
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=0.346790
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=1.105470
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=1.310073
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=1.691473
sumtype=MT_FLOAT,xtype=MT_ABSENT,sum=1.691473
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=2.218599
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=2.830383
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=3.428937
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=3.460379
sumtype=MT_FLOAT,xtype=MT_FLOAT,sum=3.963005
sum=3.963005
mlr put $z = $x + $y ./reg_test/input/typeof.dkvp
x=1,y=2,z=3
x=1,y=,z=
x=,y=2,z=
x=,y=,z=
a=1,y=2,z=2
a=1,y=
a=,y=2,z=2
a=,y=
x=1,b=2,z=1
x=1,b=,z=1
x=,b=2
x=,b=
mlr put $z = $x + $u ./reg_test/input/typeof.dkvp
x=1,y=2,z=1
x=1,y=,z=1
x=,y=2
x=,y=
a=1,y=2
a=1,y=
a=,y=2
a=,y=
x=1,b=2,z=1
x=1,b=,z=1
x=,b=2
x=,b=
mlr put @s = @s + $y; emitp @s ./reg_test/input/typeof.dkvp
s=2
x=1,y=2
s=
x=1,y=
s=
x=,y=2
s=
x=,y=
s=
a=1,y=2
s=
a=1,y=
s=
a=,y=2
s=
a=,y=
s=
x=1,b=2
s=
x=1,b=
s=
x=,b=2
s=
x=,b=
mlr put @s = @s + $u; emitp @s ./reg_test/input/typeof.dkvp
x=1,y=2
x=1,y=
x=,y=2
x=,y=
a=1,y=2
a=1,y=
a=,y=2
a=,y=
x=1,b=2
x=1,b=
x=,b=2
x=,b=
mlr put $z = $x + $y; $x=typeof($x);$y=typeof($y);$z=typeof($z) ./reg_test/input/typeof.dkvp
x=MT_INT,y=MT_INT,z=MT_INT
x=MT_INT,y=MT_EMPTY,z=MT_EMPTY
x=MT_EMPTY,y=MT_INT,z=MT_EMPTY
x=MT_EMPTY,y=MT_EMPTY,z=MT_EMPTY
a=1,y=MT_INT,z=MT_INT,x=MT_ABSENT
a=1,y=MT_EMPTY,x=MT_ABSENT,z=MT_ABSENT
a=,y=MT_INT,z=MT_INT,x=MT_ABSENT
a=,y=MT_EMPTY,x=MT_ABSENT,z=MT_ABSENT
x=MT_INT,b=2,z=MT_INT,y=MT_ABSENT
x=MT_INT,b=,z=MT_INT,y=MT_ABSENT
x=MT_EMPTY,b=2,y=MT_ABSENT,z=MT_ABSENT
x=MT_EMPTY,b=,y=MT_ABSENT,z=MT_ABSENT
mlr put $z = $x + $u; $x=typeof($x);$y=typeof($y);$z=typeof($z) ./reg_test/input/typeof.dkvp
x=MT_INT,y=MT_INT,z=MT_INT
x=MT_INT,y=MT_EMPTY,z=MT_INT
x=MT_EMPTY,y=MT_INT,z=MT_ABSENT
x=MT_EMPTY,y=MT_EMPTY,z=MT_ABSENT
a=1,y=MT_INT,x=MT_ABSENT,z=MT_ABSENT
a=1,y=MT_EMPTY,x=MT_ABSENT,z=MT_ABSENT
a=,y=MT_INT,x=MT_ABSENT,z=MT_ABSENT
a=,y=MT_EMPTY,x=MT_ABSENT,z=MT_ABSENT
x=MT_INT,b=2,z=MT_INT,y=MT_ABSENT
x=MT_INT,b=,z=MT_INT,y=MT_ABSENT
x=MT_EMPTY,b=2,y=MT_ABSENT,z=MT_ABSENT
x=MT_EMPTY,b=,y=MT_ABSENT,z=MT_ABSENT
mlr put @s = @s + $y; $x=typeof($x);$y=typeof($y);$z=typeof($z);$s=typeof(@s) ./reg_test/input/typeof.dkvp
x=MT_INT,y=MT_INT,z=MT_ABSENT,s=MT_INT
x=MT_INT,y=MT_EMPTY,z=MT_ABSENT,s=MT_EMPTY
x=MT_EMPTY,y=MT_INT,z=MT_ABSENT,s=MT_EMPTY
x=MT_EMPTY,y=MT_EMPTY,z=MT_ABSENT,s=MT_EMPTY
a=1,y=MT_INT,x=MT_ABSENT,z=MT_ABSENT,s=MT_EMPTY
a=1,y=MT_EMPTY,x=MT_ABSENT,z=MT_ABSENT,s=MT_EMPTY
a=,y=MT_INT,x=MT_ABSENT,z=MT_ABSENT,s=MT_EMPTY
a=,y=MT_EMPTY,x=MT_ABSENT,z=MT_ABSENT,s=MT_EMPTY
x=MT_INT,b=2,y=MT_ABSENT,z=MT_ABSENT,s=MT_EMPTY
x=MT_INT,b=,y=MT_ABSENT,z=MT_ABSENT,s=MT_EMPTY
x=MT_EMPTY,b=2,y=MT_ABSENT,z=MT_ABSENT,s=MT_EMPTY
x=MT_EMPTY,b=,y=MT_ABSENT,z=MT_ABSENT,s=MT_EMPTY
mlr put @s = @s + $u; $x=typeof($x);$y=typeof($y);$z=typeof($z);$s=typeof(@s) ./reg_test/input/typeof.dkvp
x=MT_INT,y=MT_INT,z=MT_ABSENT,s=MT_ABSENT
x=MT_INT,y=MT_EMPTY,z=MT_ABSENT,s=MT_ABSENT
x=MT_EMPTY,y=MT_INT,z=MT_ABSENT,s=MT_ABSENT
x=MT_EMPTY,y=MT_EMPTY,z=MT_ABSENT,s=MT_ABSENT
a=1,y=MT_INT,x=MT_ABSENT,z=MT_ABSENT,s=MT_ABSENT
a=1,y=MT_EMPTY,x=MT_ABSENT,z=MT_ABSENT,s=MT_ABSENT
a=,y=MT_INT,x=MT_ABSENT,z=MT_ABSENT,s=MT_ABSENT
a=,y=MT_EMPTY,x=MT_ABSENT,z=MT_ABSENT,s=MT_ABSENT
x=MT_INT,b=2,y=MT_ABSENT,z=MT_ABSENT,s=MT_ABSENT
x=MT_INT,b=,y=MT_ABSENT,z=MT_ABSENT,s=MT_ABSENT
x=MT_EMPTY,b=2,y=MT_ABSENT,z=MT_ABSENT,s=MT_ABSENT
x=MT_EMPTY,b=,y=MT_ABSENT,z=MT_ABSENT,s=MT_ABSENT
mlr cat
x=1
x=
x=7
mlr --ofs tab put $osum=@sum; $ostype=typeof(@sum);$xtype=typeof($x);@sum+=$x; $nstype=typeof(@sum);$nsum=@sum; end { emit @sum }
x=1 ostype=MT_ABSENT xtype=MT_INT nstype=MT_INT nsum=1
x= osum=1 ostype=MT_INT xtype=MT_EMPTY nstype=MT_EMPTY nsum=
x=7 osum= ostype=MT_EMPTY xtype=MT_INT nstype=MT_EMPTY nsum=
sum=
mlr --ofs tab put $osum=@sum; $ostype=typeof(@sum);$xtype=typeof($x);ispresent($x){@sum+=$x}; $nstype=typeof(@sum);$nsum=@sum; end { emit @sum }
x=1 ostype=MT_ABSENT xtype=MT_INT nstype=MT_INT nsum=1
x= osum=1 ostype=MT_INT xtype=MT_EMPTY nstype=MT_EMPTY nsum=
x=7 osum= ostype=MT_EMPTY xtype=MT_INT nstype=MT_EMPTY nsum=
sum=
mlr cat
x=1
xxx=
x=7
mlr --ofs tab put $osum=@sum; $ostype=typeof(@sum);$xtype=typeof($x);@sum+=$x; $nstype=typeof(@sum);$nsum=@sum; end { emit @sum }
x=1 ostype=MT_ABSENT xtype=MT_INT nstype=MT_INT nsum=1
xxx= osum=1 ostype=MT_INT xtype=MT_ABSENT nstype=MT_INT nsum=1
x=7 osum=1 ostype=MT_INT xtype=MT_INT nstype=MT_INT nsum=8
sum=8
mlr --ofs tab put $osum=@sum; $ostype=typeof(@sum);$xtype=typeof($x);ispresent($x){@sum+=$x}; $nstype=typeof(@sum);$nsum=@sum; end { emit @sum }
x=1 ostype=MT_ABSENT xtype=MT_INT nstype=MT_INT nsum=1
xxx= osum=1 ostype=MT_INT xtype=MT_ABSENT nstype=MT_INT nsum=1
x=7 osum=1 ostype=MT_INT xtype=MT_INT nstype=MT_INT nsum=8
sum=8
mlr cat
x=1
x=
y=
x=7
mlr --ofs tab put $xtype=typeof($x);$sum = $x + 10; $stype=typeof($sum)
x=1 xtype=MT_INT sum=11 stype=MT_INT
x= xtype=MT_EMPTY sum= stype=MT_EMPTY
y= xtype=MT_ABSENT sum=10 stype=MT_INT
x=7 xtype=MT_INT sum=17 stype=MT_INT
mlr --ofs tab put $xtype=typeof($x);$sum = ispresent($x) ? $x + 10 : 999; $stype=typeof($sum)
x=1 xtype=MT_INT sum=11 stype=MT_INT
x= xtype=MT_EMPTY sum= stype=MT_EMPTY
y= xtype=MT_ABSENT sum=999 stype=MT_INT
x=7 xtype=MT_INT sum=17 stype=MT_INT
================================================================
PARAMETERIZED EMIT
mlr put -q @sum[$a] = $x; end{ emitp @sum; } ./reg_test/input/abixy
sum:pan=0.502626,sum:eks=0.611784,sum:wye=0.573289,sum:zee=0.598554,sum:hat=0.031442
mlr put -q @sum[$a] = $x; end{ emitp @sum,"a"; } ./reg_test/input/abixy
a=pan,sum=0.502626
a=eks,sum=0.611784
a=wye,sum=0.573289
a=zee,sum=0.598554
a=hat,sum=0.031442
mlr put -q @sum[$a] = $x; end{ emitp @sum,"a","b"; } ./reg_test/input/abixy
a=pan,sum=0.502626
a=eks,sum=0.611784
a=wye,sum=0.573289
a=zee,sum=0.598554
a=hat,sum=0.031442
mlr put -q @sum[$a][$b] = $x; end{ emitp @sum; } ./reg_test/input/abixy
sum:pan:pan=0.346790,sum:pan:wye=0.502626,sum:eks:pan=0.758680,sum:eks:wye=0.381399,sum:eks:zee=0.611784,sum:wye:wye=0.204603,sum:wye:pan=0.573289,sum:zee:pan=0.527126,sum:zee:wye=0.598554,sum:hat:wye=0.031442
mlr put -q @sum[$a][$b] = $x; end{ emitp @sum,"a"; } ./reg_test/input/abixy
a=pan,sum:pan=0.346790,sum:wye=0.502626
a=eks,sum:pan=0.758680,sum:wye=0.381399,sum:zee=0.611784
a=wye,sum:wye=0.204603,sum:pan=0.573289
a=zee,sum:pan=0.527126,sum:wye=0.598554
a=hat,sum:wye=0.031442
mlr put -q @sum[$a][$b] = $x; end{ emitp @sum,"a","b"; } ./reg_test/input/abixy
a=pan,b=pan,sum=0.346790
a=pan,b=wye,sum=0.502626
a=eks,b=pan,sum=0.758680
a=eks,b=wye,sum=0.381399
a=eks,b=zee,sum=0.611784
a=wye,b=wye,sum=0.204603
a=wye,b=pan,sum=0.573289
a=zee,b=pan,sum=0.527126
a=zee,b=wye,sum=0.598554
a=hat,b=wye,sum=0.031442
mlr put -q @v = $a; end {emitf @v } ./reg_test/input/abixy
v=pan
mlr put -q @v = $i; end {emitf @v } ./reg_test/input/abixy
v=10
mlr put -q @v = $x; end {emitf @v } ./reg_test/input/abixy
v=0.502626
mlr put -q @v = $nonesuch; end {emitf @v } ./reg_test/input/abixy
v=
mlr put -q @v = $a; end {emitp @v } ./reg_test/input/abixy
v=pan
mlr put -q @v = $i; end {emitp @v } ./reg_test/input/abixy
v=10
mlr put -q @v = $x; end {emitp @v } ./reg_test/input/abixy
v=0.502626
mlr put -q @v = $nonesuch; end {emitp @v } ./reg_test/input/abixy
mlr put -q @sum += $i; end {emitf @sum } ./reg_test/input/abixy
sum=55
mlr put -q @sum += $x; end {emitf @sum } ./reg_test/input/abixy
sum=4.536294
mlr put -q @sum += $nonesuch; end {emitf @sum } ./reg_test/input/abixy
sum=
mlr put -q @sum += $i; end {emitp @sum } ./reg_test/input/abixy
sum=55
mlr put -q @sum += $x; end {emitp @sum } ./reg_test/input/abixy
sum=4.536294
mlr put -q @sum += $nonesuch; end {emitp @sum } ./reg_test/input/abixy
mlr put -q @sum += $i; end {emitp @sum, "extra" } ./reg_test/input/abixy
sum=55
mlr put -q @sum += $x; end {emitp @sum, "extra" } ./reg_test/input/abixy
sum=4.536294
mlr put -q @sum += $nonesuch; end {emitp @sum, "extra" } ./reg_test/input/abixy
mlr put -q @sum[$a] += $i; end {emitp @sum } ./reg_test/input/abixy
sum:pan=11,sum:eks=13,sum:wye=8,sum:zee=14,sum:hat=9
mlr put -q @sum[$a] += $x; end {emitp @sum } ./reg_test/input/abixy
sum:pan=0.849416,sum:eks=1.751863,sum:wye=0.777892,sum:zee=1.125680,sum:hat=0.031442
mlr put -q @sum[$a] += $nonesuch; end {emitp @sum } ./reg_test/input/abixy
mlr put -q @sum[$a] += $i; end {emitp @sum, "a" } ./reg_test/input/abixy
a=pan,sum=11
a=eks,sum=13
a=wye,sum=8
a=zee,sum=14
a=hat,sum=9
mlr put -q @sum[$a] += $x; end {emitp @sum, "a" } ./reg_test/input/abixy
a=pan,sum=0.849416
a=eks,sum=1.751863
a=wye,sum=0.777892
a=zee,sum=1.125680
a=hat,sum=0.031442
mlr put -q @sum[$a] += $nonesuch; end {emitp @sum, "a" } ./reg_test/input/abixy
mlr put -q @sum[$a] += $i; end {emitp @sum, "a", "extra" } ./reg_test/input/abixy
a=pan,sum=11
a=eks,sum=13
a=wye,sum=8
a=zee,sum=14
a=hat,sum=9
mlr put -q @sum[$a] += $x; end {emitp @sum, "a", "extra" } ./reg_test/input/abixy
a=pan,sum=0.849416
a=eks,sum=1.751863
a=wye,sum=0.777892
a=zee,sum=1.125680
a=hat,sum=0.031442
mlr put -q @sum[$a] += $nonesuch; end {emitp @sum, "a", "extra" } ./reg_test/input/abixy
mlr put -q @sum[$a][$b] += $i; end {emitp @sum } ./reg_test/input/abixy
sum:pan:pan=1,sum:pan:wye=10,sum:eks:pan=2,sum:eks:wye=4,sum:eks:zee=7,sum:wye:wye=3,sum:wye:pan=5,sum:zee:pan=6,sum:zee:wye=8,sum:hat:wye=9
mlr put -q @sum[$a][$b] += $x; end {emitp @sum } ./reg_test/input/abixy
sum:pan:pan=0.346790,sum:pan:wye=0.502626,sum:eks:pan=0.758680,sum:eks:wye=0.381399,sum:eks:zee=0.611784,sum:wye:wye=0.204603,sum:wye:pan=0.573289,sum:zee:pan=0.527126,sum:zee:wye=0.598554,sum:hat:wye=0.031442
mlr put -q @sum[$a][$b] += $nonesuch; end {emitp @sum } ./reg_test/input/abixy
mlr put -q @sum[$a][$b] += $i; end {emitp @sum, "a" } ./reg_test/input/abixy
a=pan,sum:pan=1,sum:wye=10
a=eks,sum:pan=2,sum:wye=4,sum:zee=7
a=wye,sum:wye=3,sum:pan=5
a=zee,sum:pan=6,sum:wye=8
a=hat,sum:wye=9
mlr put -q @sum[$a][$b] += $x; end {emitp @sum, "a" } ./reg_test/input/abixy
a=pan,sum:pan=0.346790,sum:wye=0.502626
a=eks,sum:pan=0.758680,sum:wye=0.381399,sum:zee=0.611784
a=wye,sum:wye=0.204603,sum:pan=0.573289
a=zee,sum:pan=0.527126,sum:wye=0.598554
a=hat,sum:wye=0.031442
mlr put -q @sum[$a][$b] += $nonesuch; end {emitp @sum, "a" } ./reg_test/input/abixy
mlr put -q @sum[$a][$b] += $i; end {emitp @sum, "a", "b" } ./reg_test/input/abixy
a=pan,b=pan,sum=1
a=pan,b=wye,sum=10
a=eks,b=pan,sum=2
a=eks,b=wye,sum=4
a=eks,b=zee,sum=7
a=wye,b=wye,sum=3
a=wye,b=pan,sum=5
a=zee,b=pan,sum=6
a=zee,b=wye,sum=8
a=hat,b=wye,sum=9
mlr put -q @sum[$a][$b] += $x; end {emitp @sum, "a", "b" } ./reg_test/input/abixy
a=pan,b=pan,sum=0.346790
a=pan,b=wye,sum=0.502626
a=eks,b=pan,sum=0.758680
a=eks,b=wye,sum=0.381399
a=eks,b=zee,sum=0.611784
a=wye,b=wye,sum=0.204603
a=wye,b=pan,sum=0.573289
a=zee,b=pan,sum=0.527126
a=zee,b=wye,sum=0.598554
a=hat,b=wye,sum=0.031442
mlr put -q @sum[$a][$b] += $nonesuch; end {emitp @sum, "a", "b" } ./reg_test/input/abixy
mlr put -q @sum[$a][$b] += $i; end {emitp @sum, "a", "b", "extra" } ./reg_test/input/abixy
a=pan,b=pan,sum=1
a=pan,b=wye,sum=10
a=eks,b=pan,sum=2
a=eks,b=wye,sum=4
a=eks,b=zee,sum=7
a=wye,b=wye,sum=3
a=wye,b=pan,sum=5
a=zee,b=pan,sum=6
a=zee,b=wye,sum=8
a=hat,b=wye,sum=9
mlr put -q @sum[$a][$b] += $x; end {emitp @sum, "a", "b", "extra" } ./reg_test/input/abixy
a=pan,b=pan,sum=0.346790
a=pan,b=wye,sum=0.502626
a=eks,b=pan,sum=0.758680
a=eks,b=wye,sum=0.381399
a=eks,b=zee,sum=0.611784
a=wye,b=wye,sum=0.204603
a=wye,b=pan,sum=0.573289
a=zee,b=pan,sum=0.527126
a=zee,b=wye,sum=0.598554
a=hat,b=wye,sum=0.031442
mlr put -q @sum[$a][$b] += $nonesuch; end {emitp @sum, "a", "b", "extra" } ./reg_test/input/abixy
mlr --oxtab put -q @sum[$a][$b] += $i; NR == 3 { @x = $x }; NR == 7 { @v = $* }; end {emitp all} ./reg_test/input/abixy-het
sum:pan:pan 1
sum:pan:wye 10
sum:eks:pan 2
sum:wye:pan 5
sum:zee:pan 6
sum:zee:wye 8
x 0.204603
v:a eks
v:b zee
v:iii 7
v:x 0.6117840605678454
v:y 0.1878849191181694
mlr --opprint put -q @v[NR]=$*; end{emitp @v} ./reg_test/input/abixy
v:1:a v:1:b v:1:i v:1:x v:1:y v:2:a v:2:b v:2:i v:2:x v:2:y v:3:a v:3:b v:3:i v:3:x v:3:y v:4:a v:4:b v:4:i v:4:x v:4:y v:5:a v:5:b v:5:i v:5:x v:5:y v:6:a v:6:b v:6:i v:6:x v:6:y v:7:a v:7:b v:7:i v:7:x v:7:y v:8:a v:8:b v:8:i v:8:x v:8:y v:9:a v:9:b v:9:i v:9:x v:9:y v:10:a v:10:b v:10:i v:10:x v:10:y
pan pan 1 0.3467901443380824 0.7268028627434533 eks pan 2 0.7586799647899636 0.5221511083334797 wye wye 3 0.20460330576630303 0.33831852551664776 eks wye 4 0.38139939387114097 0.13418874328430463 wye pan 5 0.5732889198020006 0.8636244699032729 zee pan 6 0.5271261600918548 0.49322128674835697 eks zee 7 0.6117840605678454 0.1878849191181694 zee wye 8 0.5985540091064224 0.976181385699006 hat wye 9 0.03144187646093577 0.7495507603507059 pan wye 10 0.5026260055412137 0.9526183602969864
mlr --opprint put -q @v[NR]=$*; end{emitp @v,"X"} ./reg_test/input/abixy
X v:a v:b v:i v:x v:y
1 pan pan 1 0.3467901443380824 0.7268028627434533
2 eks pan 2 0.7586799647899636 0.5221511083334797
3 wye wye 3 0.20460330576630303 0.33831852551664776
4 eks wye 4 0.38139939387114097 0.13418874328430463
5 wye pan 5 0.5732889198020006 0.8636244699032729
6 zee pan 6 0.5271261600918548 0.49322128674835697
7 eks zee 7 0.6117840605678454 0.1878849191181694
8 zee wye 8 0.5985540091064224 0.976181385699006
9 hat wye 9 0.03144187646093577 0.7495507603507059
10 pan wye 10 0.5026260055412137 0.9526183602969864
mlr --opprint put -q @v[NR]=$*; end{emitp @v[1]} ./reg_test/input/abixy
v:a v:b v:i v:x v:y
pan pan 1 0.3467901443380824 0.7268028627434533
mlr --opprint put -q @v[NR]=$*; end{emitp @v[1],"X"} ./reg_test/input/abixy
X v
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
mlr --opprint put -q @v[NR]=$*; end{emitp @v[1],"X","Y"} ./reg_test/input/abixy
X v
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
mlr --opprint put -q @v[NR][NR]=$*; end{emitp @v[1]} ./reg_test/input/abixy
v:1:a v:1:b v:1:i v:1:x v:1:y
pan pan 1 0.3467901443380824 0.7268028627434533
mlr --opprint put -q @v[NR][NR]=$*; end{emitp @v[1],"X"} ./reg_test/input/abixy
X v:a v:b v:i v:x v:y
1 pan pan 1 0.3467901443380824 0.7268028627434533
mlr --opprint put -q @v[NR][NR]=$*; end{emitp @v[1],"X","Y"} ./reg_test/input/abixy
X Y v
1 a pan
1 b pan
1 i 1
1 x 0.3467901443380824
1 y 0.7268028627434533
mlr --opprint put -q @v[NR][NR]=$*; end{emitp @v[1][1]} ./reg_test/input/abixy
v:a v:b v:i v:x v:y
pan pan 1 0.3467901443380824 0.7268028627434533
mlr --opprint put -q @v[NR][NR]=$*; end{emitp @v[1][1],"X"} ./reg_test/input/abixy
X v
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
mlr --opprint put -q @v[NR][NR]=$*; end{emitp @v[1][1],"X","Y"} ./reg_test/input/abixy
X v
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
mlr put -q @a=$a; @b[1]=$b; @c[1][2]=$x; end{emitp all} ./reg_test/input/abixy-het
a=pan
b:1=wye
c:1:2=0.502626
mlr put -q @a=$a; @b[1]=$b; @c[1][2]=$x; end{emitp all,"one"} ./reg_test/input/abixy-het
a=pan
one=1,b=wye
one=1,c:2=0.502626
mlr put -q @a=$a; @b[1]=$b; @c[1][2]=$x; end{emitp all,"one","two"} ./reg_test/input/abixy-het
a=pan
one=1,b=wye
one=1,two=2,c=0.502626
mlr put -q @a=$a; @b[1]=$b; @c[1][2]=$x; end{emitp all,"one","two","three"} ./reg_test/input/abixy-het
a=pan
one=1,b=wye
one=1,two=2,c=0.502626
mlr --oxtab put --oflatsep @ -q @a=$a; @b[1]=$b; @c[1][2]=$x; end{emitp all} ./reg_test/input/abixy-het
a pan
b@1 wye
c@1@2 0.502626
================================================================
PREFIXED/UNPREFIXED EMIT
mlr --oxtab put -q @sum += $x; end{dump;emitp @sum } ./reg_test/input/abixy-wide
{
"sum": 1009.118181
}
sum 1009.118181
mlr --oxtab put -q @sum += $x; end{dump;emit @sum } ./reg_test/input/abixy-wide
{
"sum": 1009.118181
}
sum 1009.118181
mlr --oxtab put -q @sum[$a] += $x; end{dump;emitp @sum } ./reg_test/input/abixy-wide
{
"sum": {
"cat": 207.843964,
"pan": 191.530740,
"wye": 188.110135,
"dog": 215.541519,
"hat": 206.091824
}
}
sum:cat 207.843964
sum:pan 191.530740
sum:wye 188.110135
sum:dog 215.541519
sum:hat 206.091824
mlr --oxtab put -q @sum[$a] += $x; end{dump;emit @sum } ./reg_test/input/abixy-wide
{
"sum": {
"cat": 207.843964,
"pan": 191.530740,
"wye": 188.110135,
"dog": 215.541519,
"hat": 206.091824
}
}
cat 207.843964
pan 191.530740
wye 188.110135
dog 215.541519
hat 206.091824
mlr --oxtab put -q @sum[$a] += $x; end{dump;emitp @sum, "a"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": 207.843964,
"pan": 191.530740,
"wye": 188.110135,
"dog": 215.541519,
"hat": 206.091824
}
}
a cat
sum 207.843964
a pan
sum 191.530740
a wye
sum 188.110135
a dog
sum 215.541519
a hat
sum 206.091824
mlr --oxtab put -q @sum[$a] += $x; end{dump;emit @sum, "a"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": 207.843964,
"pan": 191.530740,
"wye": 188.110135,
"dog": 215.541519,
"hat": 206.091824
}
}
a cat
sum 207.843964
a pan
sum 191.530740
a wye
sum 188.110135
a dog
sum 215.541519
a hat
sum 206.091824
mlr --oxtab put -q @sum[$a][$b] += $x; end{dump;emitp @sum } ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": 42.327158,
"hat": 43.184410,
"dog": 39.241473,
"wye": 45.196775,
"cat": 37.894148
},
"pan": {
"wye": 40.135300,
"pan": 36.226334,
"hat": 35.115869,
"dog": 37.817560,
"cat": 42.235677
},
"wye": {
"cat": 40.805723,
"hat": 41.166697,
"dog": 40.619547,
"wye": 32.490973,
"pan": 33.027196
},
"dog": {
"hat": 43.515162,
"pan": 45.614011,
"dog": 43.545956,
"wye": 37.223795,
"cat": 45.642595
},
"hat": {
"hat": 48.058897,
"wye": 34.054270,
"pan": 42.538758,
"cat": 44.325655,
"dog": 37.114244
}
}
}
sum:cat:pan 42.327158
sum:cat:hat 43.184410
sum:cat:dog 39.241473
sum:cat:wye 45.196775
sum:cat:cat 37.894148
sum:pan:wye 40.135300
sum:pan:pan 36.226334
sum:pan:hat 35.115869
sum:pan:dog 37.817560
sum:pan:cat 42.235677
sum:wye:cat 40.805723
sum:wye:hat 41.166697
sum:wye:dog 40.619547
sum:wye:wye 32.490973
sum:wye:pan 33.027196
sum:dog:hat 43.515162
sum:dog:pan 45.614011
sum:dog:dog 43.545956
sum:dog:wye 37.223795
sum:dog:cat 45.642595
sum:hat:hat 48.058897
sum:hat:wye 34.054270
sum:hat:pan 42.538758
sum:hat:cat 44.325655
sum:hat:dog 37.114244
mlr --oxtab put -q @sum[$a][$b] += $x; end{dump;emit @sum } ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": 42.327158,
"hat": 43.184410,
"dog": 39.241473,
"wye": 45.196775,
"cat": 37.894148
},
"pan": {
"wye": 40.135300,
"pan": 36.226334,
"hat": 35.115869,
"dog": 37.817560,
"cat": 42.235677
},
"wye": {
"cat": 40.805723,
"hat": 41.166697,
"dog": 40.619547,
"wye": 32.490973,
"pan": 33.027196
},
"dog": {
"hat": 43.515162,
"pan": 45.614011,
"dog": 43.545956,
"wye": 37.223795,
"cat": 45.642595
},
"hat": {
"hat": 48.058897,
"wye": 34.054270,
"pan": 42.538758,
"cat": 44.325655,
"dog": 37.114244
}
}
}
pan 42.327158
hat 43.184410
dog 39.241473
wye 45.196775
cat 37.894148
wye 40.135300
pan 36.226334
hat 35.115869
dog 37.817560
cat 42.235677
cat 40.805723
hat 41.166697
dog 40.619547
wye 32.490973
pan 33.027196
hat 43.515162
pan 45.614011
dog 43.545956
wye 37.223795
cat 45.642595
hat 48.058897
wye 34.054270
pan 42.538758
cat 44.325655
dog 37.114244
mlr --oxtab put -q @sum[$a][$b] += $x; end{dump;emitp @sum, "a"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": 42.327158,
"hat": 43.184410,
"dog": 39.241473,
"wye": 45.196775,
"cat": 37.894148
},
"pan": {
"wye": 40.135300,
"pan": 36.226334,
"hat": 35.115869,
"dog": 37.817560,
"cat": 42.235677
},
"wye": {
"cat": 40.805723,
"hat": 41.166697,
"dog": 40.619547,
"wye": 32.490973,
"pan": 33.027196
},
"dog": {
"hat": 43.515162,
"pan": 45.614011,
"dog": 43.545956,
"wye": 37.223795,
"cat": 45.642595
},
"hat": {
"hat": 48.058897,
"wye": 34.054270,
"pan": 42.538758,
"cat": 44.325655,
"dog": 37.114244
}
}
}
a cat
sum:pan 42.327158
sum:hat 43.184410
sum:dog 39.241473
sum:wye 45.196775
sum:cat 37.894148
a pan
sum:wye 40.135300
sum:pan 36.226334
sum:hat 35.115869
sum:dog 37.817560
sum:cat 42.235677
a wye
sum:cat 40.805723
sum:hat 41.166697
sum:dog 40.619547
sum:wye 32.490973
sum:pan 33.027196
a dog
sum:hat 43.515162
sum:pan 45.614011
sum:dog 43.545956
sum:wye 37.223795
sum:cat 45.642595
a hat
sum:hat 48.058897
sum:wye 34.054270
sum:pan 42.538758
sum:cat 44.325655
sum:dog 37.114244
mlr --oxtab put -q @sum[$a][$b] += $x; end{dump;emit @sum, "a"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": 42.327158,
"hat": 43.184410,
"dog": 39.241473,
"wye": 45.196775,
"cat": 37.894148
},
"pan": {
"wye": 40.135300,
"pan": 36.226334,
"hat": 35.115869,
"dog": 37.817560,
"cat": 42.235677
},
"wye": {
"cat": 40.805723,
"hat": 41.166697,
"dog": 40.619547,
"wye": 32.490973,
"pan": 33.027196
},
"dog": {
"hat": 43.515162,
"pan": 45.614011,
"dog": 43.545956,
"wye": 37.223795,
"cat": 45.642595
},
"hat": {
"hat": 48.058897,
"wye": 34.054270,
"pan": 42.538758,
"cat": 44.325655,
"dog": 37.114244
}
}
}
a cat
pan 42.327158
hat 43.184410
dog 39.241473
wye 45.196775
cat 37.894148
a pan
wye 40.135300
pan 36.226334
hat 35.115869
dog 37.817560
cat 42.235677
a wye
cat 40.805723
hat 41.166697
dog 40.619547
wye 32.490973
pan 33.027196
a dog
hat 43.515162
pan 45.614011
dog 43.545956
wye 37.223795
cat 45.642595
a hat
hat 48.058897
wye 34.054270
pan 42.538758
cat 44.325655
dog 37.114244
mlr --opprint put -q @sum[$a][$b] += $x; end{dump;emitp @sum, "a", "b"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": 42.327158,
"hat": 43.184410,
"dog": 39.241473,
"wye": 45.196775,
"cat": 37.894148
},
"pan": {
"wye": 40.135300,
"pan": 36.226334,
"hat": 35.115869,
"dog": 37.817560,
"cat": 42.235677
},
"wye": {
"cat": 40.805723,
"hat": 41.166697,
"dog": 40.619547,
"wye": 32.490973,
"pan": 33.027196
},
"dog": {
"hat": 43.515162,
"pan": 45.614011,
"dog": 43.545956,
"wye": 37.223795,
"cat": 45.642595
},
"hat": {
"hat": 48.058897,
"wye": 34.054270,
"pan": 42.538758,
"cat": 44.325655,
"dog": 37.114244
}
}
}
a b sum
cat pan 42.327158
cat hat 43.184410
cat dog 39.241473
cat wye 45.196775
cat cat 37.894148
pan wye 40.135300
pan pan 36.226334
pan hat 35.115869
pan dog 37.817560
pan cat 42.235677
wye cat 40.805723
wye hat 41.166697
wye dog 40.619547
wye wye 32.490973
wye pan 33.027196
dog hat 43.515162
dog pan 45.614011
dog dog 43.545956
dog wye 37.223795
dog cat 45.642595
hat hat 48.058897
hat wye 34.054270
hat pan 42.538758
hat cat 44.325655
hat dog 37.114244
mlr --opprint put -q @sum[$a][$b] += $x; end{dump;emit @sum, "a", "b"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": 42.327158,
"hat": 43.184410,
"dog": 39.241473,
"wye": 45.196775,
"cat": 37.894148
},
"pan": {
"wye": 40.135300,
"pan": 36.226334,
"hat": 35.115869,
"dog": 37.817560,
"cat": 42.235677
},
"wye": {
"cat": 40.805723,
"hat": 41.166697,
"dog": 40.619547,
"wye": 32.490973,
"pan": 33.027196
},
"dog": {
"hat": 43.515162,
"pan": 45.614011,
"dog": 43.545956,
"wye": 37.223795,
"cat": 45.642595
},
"hat": {
"hat": 48.058897,
"wye": 34.054270,
"pan": 42.538758,
"cat": 44.325655,
"dog": 37.114244
}
}
}
a b sum
cat pan 42.327158
cat hat 43.184410
cat dog 39.241473
cat wye 45.196775
cat cat 37.894148
pan wye 40.135300
pan pan 36.226334
pan hat 35.115869
pan dog 37.817560
pan cat 42.235677
wye cat 40.805723
wye hat 41.166697
wye dog 40.619547
wye wye 32.490973
wye pan 33.027196
dog hat 43.515162
dog pan 45.614011
dog dog 43.545956
dog wye 37.223795
dog cat 45.642595
hat hat 48.058897
hat wye 34.054270
hat pan 42.538758
hat cat 44.325655
hat dog 37.114244
mlr --oxtab put -q @sum[$a][$b][$a.$b] += $x; end{dump;emitp @sum } ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": {
"catpan": 42.327158
},
"hat": {
"cathat": 43.184410
},
"dog": {
"catdog": 39.241473
},
"wye": {
"catwye": 45.196775
},
"cat": {
"catcat": 37.894148
}
},
"pan": {
"wye": {
"panwye": 40.135300
},
"pan": {
"panpan": 36.226334
},
"hat": {
"panhat": 35.115869
},
"dog": {
"pandog": 37.817560
},
"cat": {
"pancat": 42.235677
}
},
"wye": {
"cat": {
"wyecat": 40.805723
},
"hat": {
"wyehat": 41.166697
},
"dog": {
"wyedog": 40.619547
},
"wye": {
"wyewye": 32.490973
},
"pan": {
"wyepan": 33.027196
}
},
"dog": {
"hat": {
"doghat": 43.515162
},
"pan": {
"dogpan": 45.614011
},
"dog": {
"dogdog": 43.545956
},
"wye": {
"dogwye": 37.223795
},
"cat": {
"dogcat": 45.642595
}
},
"hat": {
"hat": {
"hathat": 48.058897
},
"wye": {
"hatwye": 34.054270
},
"pan": {
"hatpan": 42.538758
},
"cat": {
"hatcat": 44.325655
},
"dog": {
"hatdog": 37.114244
}
}
}
}
sum:cat:pan:catpan 42.327158
sum:cat:hat:cathat 43.184410
sum:cat:dog:catdog 39.241473
sum:cat:wye:catwye 45.196775
sum:cat:cat:catcat 37.894148
sum:pan:wye:panwye 40.135300
sum:pan:pan:panpan 36.226334
sum:pan:hat:panhat 35.115869
sum:pan:dog:pandog 37.817560
sum:pan:cat:pancat 42.235677
sum:wye:cat:wyecat 40.805723
sum:wye:hat:wyehat 41.166697
sum:wye:dog:wyedog 40.619547
sum:wye:wye:wyewye 32.490973
sum:wye:pan:wyepan 33.027196
sum:dog:hat:doghat 43.515162
sum:dog:pan:dogpan 45.614011
sum:dog:dog:dogdog 43.545956
sum:dog:wye:dogwye 37.223795
sum:dog:cat:dogcat 45.642595
sum:hat:hat:hathat 48.058897
sum:hat:wye:hatwye 34.054270
sum:hat:pan:hatpan 42.538758
sum:hat:cat:hatcat 44.325655
sum:hat:dog:hatdog 37.114244
mlr --oxtab put -q @sum[$a][$b][$a.$b] += $x; end{dump;emit @sum } ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": {
"catpan": 42.327158
},
"hat": {
"cathat": 43.184410
},
"dog": {
"catdog": 39.241473
},
"wye": {
"catwye": 45.196775
},
"cat": {
"catcat": 37.894148
}
},
"pan": {
"wye": {
"panwye": 40.135300
},
"pan": {
"panpan": 36.226334
},
"hat": {
"panhat": 35.115869
},
"dog": {
"pandog": 37.817560
},
"cat": {
"pancat": 42.235677
}
},
"wye": {
"cat": {
"wyecat": 40.805723
},
"hat": {
"wyehat": 41.166697
},
"dog": {
"wyedog": 40.619547
},
"wye": {
"wyewye": 32.490973
},
"pan": {
"wyepan": 33.027196
}
},
"dog": {
"hat": {
"doghat": 43.515162
},
"pan": {
"dogpan": 45.614011
},
"dog": {
"dogdog": 43.545956
},
"wye": {
"dogwye": 37.223795
},
"cat": {
"dogcat": 45.642595
}
},
"hat": {
"hat": {
"hathat": 48.058897
},
"wye": {
"hatwye": 34.054270
},
"pan": {
"hatpan": 42.538758
},
"cat": {
"hatcat": 44.325655
},
"dog": {
"hatdog": 37.114244
}
}
}
}
catpan 42.327158
cathat 43.184410
catdog 39.241473
catwye 45.196775
catcat 37.894148
panwye 40.135300
panpan 36.226334
panhat 35.115869
pandog 37.817560
pancat 42.235677
wyecat 40.805723
wyehat 41.166697
wyedog 40.619547
wyewye 32.490973
wyepan 33.027196
doghat 43.515162
dogpan 45.614011
dogdog 43.545956
dogwye 37.223795
dogcat 45.642595
hathat 48.058897
hatwye 34.054270
hatpan 42.538758
hatcat 44.325655
hatdog 37.114244
mlr --oxtab put -q @sum[$a][$b][$a.$b] += $x; end{dump;emitp @sum, "a"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": {
"catpan": 42.327158
},
"hat": {
"cathat": 43.184410
},
"dog": {
"catdog": 39.241473
},
"wye": {
"catwye": 45.196775
},
"cat": {
"catcat": 37.894148
}
},
"pan": {
"wye": {
"panwye": 40.135300
},
"pan": {
"panpan": 36.226334
},
"hat": {
"panhat": 35.115869
},
"dog": {
"pandog": 37.817560
},
"cat": {
"pancat": 42.235677
}
},
"wye": {
"cat": {
"wyecat": 40.805723
},
"hat": {
"wyehat": 41.166697
},
"dog": {
"wyedog": 40.619547
},
"wye": {
"wyewye": 32.490973
},
"pan": {
"wyepan": 33.027196
}
},
"dog": {
"hat": {
"doghat": 43.515162
},
"pan": {
"dogpan": 45.614011
},
"dog": {
"dogdog": 43.545956
},
"wye": {
"dogwye": 37.223795
},
"cat": {
"dogcat": 45.642595
}
},
"hat": {
"hat": {
"hathat": 48.058897
},
"wye": {
"hatwye": 34.054270
},
"pan": {
"hatpan": 42.538758
},
"cat": {
"hatcat": 44.325655
},
"dog": {
"hatdog": 37.114244
}
}
}
}
a cat
sum:pan:catpan 42.327158
sum:hat:cathat 43.184410
sum:dog:catdog 39.241473
sum:wye:catwye 45.196775
sum:cat:catcat 37.894148
a pan
sum:wye:panwye 40.135300
sum:pan:panpan 36.226334
sum:hat:panhat 35.115869
sum:dog:pandog 37.817560
sum:cat:pancat 42.235677
a wye
sum:cat:wyecat 40.805723
sum:hat:wyehat 41.166697
sum:dog:wyedog 40.619547
sum:wye:wyewye 32.490973
sum:pan:wyepan 33.027196
a dog
sum:hat:doghat 43.515162
sum:pan:dogpan 45.614011
sum:dog:dogdog 43.545956
sum:wye:dogwye 37.223795
sum:cat:dogcat 45.642595
a hat
sum:hat:hathat 48.058897
sum:wye:hatwye 34.054270
sum:pan:hatpan 42.538758
sum:cat:hatcat 44.325655
sum:dog:hatdog 37.114244
mlr --oxtab put -q @sum[$a][$b][$a.$b] += $x; end{dump;emit @sum, "a"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": {
"catpan": 42.327158
},
"hat": {
"cathat": 43.184410
},
"dog": {
"catdog": 39.241473
},
"wye": {
"catwye": 45.196775
},
"cat": {
"catcat": 37.894148
}
},
"pan": {
"wye": {
"panwye": 40.135300
},
"pan": {
"panpan": 36.226334
},
"hat": {
"panhat": 35.115869
},
"dog": {
"pandog": 37.817560
},
"cat": {
"pancat": 42.235677
}
},
"wye": {
"cat": {
"wyecat": 40.805723
},
"hat": {
"wyehat": 41.166697
},
"dog": {
"wyedog": 40.619547
},
"wye": {
"wyewye": 32.490973
},
"pan": {
"wyepan": 33.027196
}
},
"dog": {
"hat": {
"doghat": 43.515162
},
"pan": {
"dogpan": 45.614011
},
"dog": {
"dogdog": 43.545956
},
"wye": {
"dogwye": 37.223795
},
"cat": {
"dogcat": 45.642595
}
},
"hat": {
"hat": {
"hathat": 48.058897
},
"wye": {
"hatwye": 34.054270
},
"pan": {
"hatpan": 42.538758
},
"cat": {
"hatcat": 44.325655
},
"dog": {
"hatdog": 37.114244
}
}
}
}
a cat
catpan 42.327158
a cat
cathat 43.184410
a cat
catdog 39.241473
a cat
catwye 45.196775
a cat
catcat 37.894148
a pan
panwye 40.135300
a pan
panpan 36.226334
a pan
panhat 35.115869
a pan
pandog 37.817560
a pan
pancat 42.235677
a wye
wyecat 40.805723
a wye
wyehat 41.166697
a wye
wyedog 40.619547
a wye
wyewye 32.490973
a wye
wyepan 33.027196
a dog
doghat 43.515162
a dog
dogpan 45.614011
a dog
dogdog 43.545956
a dog
dogwye 37.223795
a dog
dogcat 45.642595
a hat
hathat 48.058897
a hat
hatwye 34.054270
a hat
hatpan 42.538758
a hat
hatcat 44.325655
a hat
hatdog 37.114244
mlr --opprint put -q @sum[$a][$b][$a.$b] += $x; end{dump;emitp @sum, "a", "b"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": {
"catpan": 42.327158
},
"hat": {
"cathat": 43.184410
},
"dog": {
"catdog": 39.241473
},
"wye": {
"catwye": 45.196775
},
"cat": {
"catcat": 37.894148
}
},
"pan": {
"wye": {
"panwye": 40.135300
},
"pan": {
"panpan": 36.226334
},
"hat": {
"panhat": 35.115869
},
"dog": {
"pandog": 37.817560
},
"cat": {
"pancat": 42.235677
}
},
"wye": {
"cat": {
"wyecat": 40.805723
},
"hat": {
"wyehat": 41.166697
},
"dog": {
"wyedog": 40.619547
},
"wye": {
"wyewye": 32.490973
},
"pan": {
"wyepan": 33.027196
}
},
"dog": {
"hat": {
"doghat": 43.515162
},
"pan": {
"dogpan": 45.614011
},
"dog": {
"dogdog": 43.545956
},
"wye": {
"dogwye": 37.223795
},
"cat": {
"dogcat": 45.642595
}
},
"hat": {
"hat": {
"hathat": 48.058897
},
"wye": {
"hatwye": 34.054270
},
"pan": {
"hatpan": 42.538758
},
"cat": {
"hatcat": 44.325655
},
"dog": {
"hatdog": 37.114244
}
}
}
}
a b sum:catpan
cat pan 42.327158
a b sum:cathat
cat hat 43.184410
a b sum:catdog
cat dog 39.241473
a b sum:catwye
cat wye 45.196775
a b sum:catcat
cat cat 37.894148
a b sum:panwye
pan wye 40.135300
a b sum:panpan
pan pan 36.226334
a b sum:panhat
pan hat 35.115869
a b sum:pandog
pan dog 37.817560
a b sum:pancat
pan cat 42.235677
a b sum:wyecat
wye cat 40.805723
a b sum:wyehat
wye hat 41.166697
a b sum:wyedog
wye dog 40.619547
a b sum:wyewye
wye wye 32.490973
a b sum:wyepan
wye pan 33.027196
a b sum:doghat
dog hat 43.515162
a b sum:dogpan
dog pan 45.614011
a b sum:dogdog
dog dog 43.545956
a b sum:dogwye
dog wye 37.223795
a b sum:dogcat
dog cat 45.642595
a b sum:hathat
hat hat 48.058897
a b sum:hatwye
hat wye 34.054270
a b sum:hatpan
hat pan 42.538758
a b sum:hatcat
hat cat 44.325655
a b sum:hatdog
hat dog 37.114244
mlr --opprint put -q @sum[$a][$b][$a.$b] += $x; end{dump;emit @sum, "a", "b"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": {
"catpan": 42.327158
},
"hat": {
"cathat": 43.184410
},
"dog": {
"catdog": 39.241473
},
"wye": {
"catwye": 45.196775
},
"cat": {
"catcat": 37.894148
}
},
"pan": {
"wye": {
"panwye": 40.135300
},
"pan": {
"panpan": 36.226334
},
"hat": {
"panhat": 35.115869
},
"dog": {
"pandog": 37.817560
},
"cat": {
"pancat": 42.235677
}
},
"wye": {
"cat": {
"wyecat": 40.805723
},
"hat": {
"wyehat": 41.166697
},
"dog": {
"wyedog": 40.619547
},
"wye": {
"wyewye": 32.490973
},
"pan": {
"wyepan": 33.027196
}
},
"dog": {
"hat": {
"doghat": 43.515162
},
"pan": {
"dogpan": 45.614011
},
"dog": {
"dogdog": 43.545956
},
"wye": {
"dogwye": 37.223795
},
"cat": {
"dogcat": 45.642595
}
},
"hat": {
"hat": {
"hathat": 48.058897
},
"wye": {
"hatwye": 34.054270
},
"pan": {
"hatpan": 42.538758
},
"cat": {
"hatcat": 44.325655
},
"dog": {
"hatdog": 37.114244
}
}
}
}
a b catpan
cat pan 42.327158
a b cathat
cat hat 43.184410
a b catdog
cat dog 39.241473
a b catwye
cat wye 45.196775
a b catcat
cat cat 37.894148
a b panwye
pan wye 40.135300
a b panpan
pan pan 36.226334
a b panhat
pan hat 35.115869
a b pandog
pan dog 37.817560
a b pancat
pan cat 42.235677
a b wyecat
wye cat 40.805723
a b wyehat
wye hat 41.166697
a b wyedog
wye dog 40.619547
a b wyewye
wye wye 32.490973
a b wyepan
wye pan 33.027196
a b doghat
dog hat 43.515162
a b dogpan
dog pan 45.614011
a b dogdog
dog dog 43.545956
a b dogwye
dog wye 37.223795
a b dogcat
dog cat 45.642595
a b hathat
hat hat 48.058897
a b hatwye
hat wye 34.054270
a b hatpan
hat pan 42.538758
a b hatcat
hat cat 44.325655
a b hatdog
hat dog 37.114244
mlr --opprint put -q @sum[$a][$b][$a.$b] += $x; end{dump;emitp @sum, "a", "b", "ab"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": {
"catpan": 42.327158
},
"hat": {
"cathat": 43.184410
},
"dog": {
"catdog": 39.241473
},
"wye": {
"catwye": 45.196775
},
"cat": {
"catcat": 37.894148
}
},
"pan": {
"wye": {
"panwye": 40.135300
},
"pan": {
"panpan": 36.226334
},
"hat": {
"panhat": 35.115869
},
"dog": {
"pandog": 37.817560
},
"cat": {
"pancat": 42.235677
}
},
"wye": {
"cat": {
"wyecat": 40.805723
},
"hat": {
"wyehat": 41.166697
},
"dog": {
"wyedog": 40.619547
},
"wye": {
"wyewye": 32.490973
},
"pan": {
"wyepan": 33.027196
}
},
"dog": {
"hat": {
"doghat": 43.515162
},
"pan": {
"dogpan": 45.614011
},
"dog": {
"dogdog": 43.545956
},
"wye": {
"dogwye": 37.223795
},
"cat": {
"dogcat": 45.642595
}
},
"hat": {
"hat": {
"hathat": 48.058897
},
"wye": {
"hatwye": 34.054270
},
"pan": {
"hatpan": 42.538758
},
"cat": {
"hatcat": 44.325655
},
"dog": {
"hatdog": 37.114244
}
}
}
}
a b ab sum
cat pan catpan 42.327158
cat hat cathat 43.184410
cat dog catdog 39.241473
cat wye catwye 45.196775
cat cat catcat 37.894148
pan wye panwye 40.135300
pan pan panpan 36.226334
pan hat panhat 35.115869
pan dog pandog 37.817560
pan cat pancat 42.235677
wye cat wyecat 40.805723
wye hat wyehat 41.166697
wye dog wyedog 40.619547
wye wye wyewye 32.490973
wye pan wyepan 33.027196
dog hat doghat 43.515162
dog pan dogpan 45.614011
dog dog dogdog 43.545956
dog wye dogwye 37.223795
dog cat dogcat 45.642595
hat hat hathat 48.058897
hat wye hatwye 34.054270
hat pan hatpan 42.538758
hat cat hatcat 44.325655
hat dog hatdog 37.114244
mlr --opprint put -q @sum[$a][$b][$a.$b] += $x; end{dump;emit @sum, "a", "b", "ab"} ./reg_test/input/abixy-wide
{
"sum": {
"cat": {
"pan": {
"catpan": 42.327158
},
"hat": {
"cathat": 43.184410
},
"dog": {
"catdog": 39.241473
},
"wye": {
"catwye": 45.196775
},
"cat": {
"catcat": 37.894148
}
},
"pan": {
"wye": {
"panwye": 40.135300
},
"pan": {
"panpan": 36.226334
},
"hat": {
"panhat": 35.115869
},
"dog": {
"pandog": 37.817560
},
"cat": {
"pancat": 42.235677
}
},
"wye": {
"cat": {
"wyecat": 40.805723
},
"hat": {
"wyehat": 41.166697
},
"dog": {
"wyedog": 40.619547
},
"wye": {
"wyewye": 32.490973
},
"pan": {
"wyepan": 33.027196
}
},
"dog": {
"hat": {
"doghat": 43.515162
},
"pan": {
"dogpan": 45.614011
},
"dog": {
"dogdog": 43.545956
},
"wye": {
"dogwye": 37.223795
},
"cat": {
"dogcat": 45.642595
}
},
"hat": {
"hat": {
"hathat": 48.058897
},
"wye": {
"hatwye": 34.054270
},
"pan": {
"hatpan": 42.538758
},
"cat": {
"hatcat": 44.325655
},
"dog": {
"hatdog": 37.114244
}
}
}
}
a b ab sum
cat pan catpan 42.327158
cat hat cathat 43.184410
cat dog catdog 39.241473
cat wye catwye 45.196775
cat cat catcat 37.894148
pan wye panwye 40.135300
pan pan panpan 36.226334
pan hat panhat 35.115869
pan dog pandog 37.817560
pan cat pancat 42.235677
wye cat wyecat 40.805723
wye hat wyehat 41.166697
wye dog wyedog 40.619547
wye wye wyewye 32.490973
wye pan wyepan 33.027196
dog hat doghat 43.515162
dog pan dogpan 45.614011
dog dog dogdog 43.545956
dog wye dogwye 37.223795
dog cat dogcat 45.642595
hat hat hathat 48.058897
hat wye hatwye 34.054270
hat pan hatpan 42.538758
hat cat hatcat 44.325655
hat dog hatdog 37.114244
mlr --oxtab head -n 2 then put -q @v = $*; end{dump;emitp @v} ./reg_test/input/abixy
{
"v": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
v:a eks
v:b pan
v:i 2
v:x 0.7586799647899636
v:y 0.5221511083334797
mlr --oxtab head -n 2 then put -q @v = $*; end{dump;emit @v} ./reg_test/input/abixy
{
"v": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
a eks
b pan
i 2
x 0.7586799647899636
y 0.5221511083334797
mlr --oxtab head -n 2 then put -q @v[NR] = $*; end{dump;emitp @v } ./reg_test/input/abixy
{
"v": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
},
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
v:1:a pan
v:1:b pan
v:1:i 1
v:1:x 0.3467901443380824
v:1:y 0.7268028627434533
v:2:a eks
v:2:b pan
v:2:i 2
v:2:x 0.7586799647899636
v:2:y 0.5221511083334797
mlr --oxtab head -n 2 then put -q @v[NR] = $*; end{dump;emit @v } ./reg_test/input/abixy
{
"v": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
},
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
a eks
b pan
i 2
x 0.7586799647899636
y 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR] = $*; end{dump;emitp @v, "I"} ./reg_test/input/abixy
{
"v": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
},
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
I v:a v:b v:i v:x v:y
1 pan pan 1 0.3467901443380824 0.7268028627434533
2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR] = $*; end{dump;emit @v, "I"} ./reg_test/input/abixy
{
"v": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
},
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
I a b i x y
1 pan pan 1 0.3467901443380824 0.7268028627434533
2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --oxtab head -n 2 then put -q @v[NR][NR] = $*; end{dump;emitp @v } ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
},
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
v:1:1:a pan
v:1:1:b pan
v:1:1:i 1
v:1:1:x 0.3467901443380824
v:1:1:y 0.7268028627434533
v:2:2:a eks
v:2:2:b pan
v:2:2:i 2
v:2:2:x 0.7586799647899636
v:2:2:y 0.5221511083334797
mlr --oxtab head -n 2 then put -q @v[NR][NR] = $*; end{dump;emit @v } ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
},
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
a eks
b pan
i 2
x 0.7586799647899636
y 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR] = $*; end{dump;emitp @v, "I"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
},
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
I v:1:a v:1:b v:1:i v:1:x v:1:y
1 pan pan 1 0.3467901443380824 0.7268028627434533
I v:2:a v:2:b v:2:i v:2:x v:2:y
2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR] = $*; end{dump;emit @v, "I"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
},
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
I a b i x y
1 pan pan 1 0.3467901443380824 0.7268028627434533
2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR] = $*; end{dump;emitp @v, "I", "J"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
},
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
I J v:a v:b v:i v:x v:y
1 1 pan pan 1 0.3467901443380824 0.7268028627434533
2 2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR] = $*; end{dump;emit @v, "I", "J"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
},
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
I J a b i x y
1 1 pan pan 1 0.3467901443380824 0.7268028627434533
2 2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --oxtab head -n 2 then put -q @v[NR][NR][NR] = $*; end{dump;emitp @v } ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
},
"2": {
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
}
v:1:1:1:a pan
v:1:1:1:b pan
v:1:1:1:i 1
v:1:1:1:x 0.3467901443380824
v:1:1:1:y 0.7268028627434533
v:2:2:2:a eks
v:2:2:2:b pan
v:2:2:2:i 2
v:2:2:2:x 0.7586799647899636
v:2:2:2:y 0.5221511083334797
mlr --oxtab head -n 2 then put -q @v[NR][NR][NR] = $*; end{dump;emit @v } ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
},
"2": {
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
}
a pan
b pan
i 1
x 0.3467901443380824
y 0.7268028627434533
a eks
b pan
i 2
x 0.7586799647899636
y 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR][NR] = $*; end{dump;emitp @v, "I"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
},
"2": {
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
}
I v:1:1:a v:1:1:b v:1:1:i v:1:1:x v:1:1:y
1 pan pan 1 0.3467901443380824 0.7268028627434533
I v:2:2:a v:2:2:b v:2:2:i v:2:2:x v:2:2:y
2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR][NR] = $*; end{dump;emit @v, "I"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
},
"2": {
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
}
I a b i x y
1 pan pan 1 0.3467901443380824 0.7268028627434533
2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR][NR] = $*; end{dump;emitp @v, "I", "J"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
},
"2": {
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
}
I J v:1:a v:1:b v:1:i v:1:x v:1:y
1 1 pan pan 1 0.3467901443380824 0.7268028627434533
I J v:2:a v:2:b v:2:i v:2:x v:2:y
2 2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR][NR] = $*; end{dump;emit @v, "I", "J"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
},
"2": {
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
}
I J a b i x y
1 1 pan pan 1 0.3467901443380824 0.7268028627434533
2 2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR][NR] = $*; end{dump;emitp @v, "I", "J", "K"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
},
"2": {
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
}
I J K v:a v:b v:i v:x v:y
1 1 1 pan pan 1 0.3467901443380824 0.7268028627434533
2 2 2 eks pan 2 0.7586799647899636 0.5221511083334797
mlr --opprint head -n 2 then put -q @v[NR][NR][NR] = $*; end{dump;emit @v, "I", "J", "K"} ./reg_test/input/abixy
{
"v": {
"1": {
"1": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
},
"2": {
"2": {
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
}
}
I J K a b i x y
1 1 1 pan pan 1 0.3467901443380824 0.7268028627434533
2 2 2 eks pan 2 0.7586799647899636 0.5221511083334797
================================================================
LASHED EMITP SINGLES
mlr -n put end {
@a = 111;
emitp @a
}
a=111
mlr -n put end {
@a = 111;
emitp (@a)
}
a=111
mlr -n put end {
@a[111] = 222;
emitp @a, "s"
}
s=111,a=222
mlr -n put end {
@a[111] = 222;
emitp (@a), "s"
}
s=111,a=222
mlr -n put end {
@a[111] = 222;
@a[333] = 444;
emitp @a, "s"
}
s=111,a=222
s=333,a=444
mlr -n put end {
@a[111] = 222;
@a[333] = 444;
emitp (@a), "s"
}
s=111,a=222
s=333,a=444
mlr -n put end {
@a[111][222] = 333;
emitp @a, "s"
}
s=111,a:222=333
mlr -n put end {
@a[111][222] = 333;
emitp (@a), "s"
}
s=111,a:222=333
mlr -n put end {
@a[111][222] = 333;
@a[444][555] = 666;
emitp @a, "s"
}
s=111,a:222=333
s=444,a:555=666
mlr -n put end {
@a[111][222] = 333;
@a[444][555] = 666;
emitp (@a), "s"
}
s=111,a:222=333
s=444,a:555=666
mlr -n put end {
@a[111][222] = 333;
emitp @a, "s", "t"
}
s=111,t=222,a=333
mlr -n put end {
@a[111][222] = 333;
emitp (@a), "s", "t"
}
s=111,t=222,a=333
mlr -n put end {
@a[111][222] = 333;
emitp @a[111], "t"
}
t=222,a=333
mlr -n put end {
@a[111][222] = 333;
emitp (@a[111]), "t"
}
t=222,a=333
================================================================
LASHED EMIT SINGLES
mlr -n put end {
@a = 111;
emit @a
}
a=111
mlr -n put end {
@a = 111;
emit (@a)
}
a=111
mlr -n put end {
@a[111] = 222;
emit @a, "s"
}
s=111,a=222
mlr -n put end {
@a[111] = 222;
emit (@a), "s"
}
s=111,a=222
mlr -n put end {
@a[111] = 222;
@a[333] = 444;
emit @a, "s"
}
s=111,a=222
s=333,a=444
mlr -n put end {
@a[111] = 222;
@a[333] = 444;
emit (@a), "s"
}
s=111,a=222
s=333,a=444
mlr -n put end {
@a[111][222] = 333;
emit @a, "s"
}
s=111,222=333
mlr -n put end {
@a[111][222] = 333;
emit (@a), "s"
}
s=111,222=333
================================================================
LASHED EMITP PAIRS
mlr -n put end {
@a = 111;
@b = 222;
emitp (@a, @b)
}
a=111,b=222
mlr -n put end {
@a[1] = 111;
@b[1] = 222;
emitp (@a[1], @b[1])
}
a=111,b=222
mlr -n put end {
@a[1][2][3] = 4;
@b[1][2][3] = 8;
emitp (@a, @b), "s", "t", "u"
}
s=1,t=2,u=3,a=4,b=8
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emitp (@a[1], @b[5]), "t", "u"
}
t=2,u=3,a=4,b=8
mlr -n put end {
@a[1][2][3] = 4;
@b[5][6][3] = 8;
emitp (@a[1][2], @b[5][6]), "u"
}
u=3,a=4,b=8
================================================================
LASHED EMIT PAIRS
mlr -n put end {
@a = 111;
@b = 222;
emit (@a, @b)
}
a=111,b=222
mlr -n put end {
@a[1] = 111;
@b[1] = 222;
emit (@a[1], @b[1])
}
a=111,b=222
mlr -n put end {
@a[1][2][3] = 4;
@b[1][2][3] = 8;
emit (@a, @b), "s", "t", "u"
}
s=1,t=2,u=3,a=4,b=8
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emit (@a[1], @b[5]), "t", "u"
}
t=2,u=3,a=4,b=8
mlr -n put end {
@a[1][2][3] = 4;
@b[5][6][3] = 8;
emit (@a[1][2], @b[5][6]), "u"
}
u=3,a=4,b=8
================================================================
LASHED EMIT WITH VARYING DEPTH
mlr -n put end {
@a[1][1] = 1;
@a[1][2] = 2;
@a[2][1] = 3;
@a[2][2] = 4;
@b[1][1] = 5;
@b[1][2] = 6;
@b[2][1] = 7;
@b[2][2] = 8;
emit (@a[1], @b[2]), "t"
}
t=1,a=1,b=7
t=2,a=2,b=8
mlr -n put end {
@a[1][1] = 1;
@a[1][2] = 2;
@a[2][1] = 3;
@a[2][2] = 4;
@b[1][1] = 5;
@b[1][2] = 6;
@b[2][1] = 7;
@b[2][2] = 8;
emit (@a, @b), "s", "t"
}
s=1,t=1,a=1,b=5
s=1,t=2,a=2,b=6
s=2,t=1,a=3,b=7
s=2,t=2,a=4,b=8
mlr -n put end {
@a[1][1] = 1;
@a[1][2] = 2;
@a[2][1] = 3;
@a[2][2] = 4;
@a[3] = 10;
@a[4] = 11;
@a[5][6][7] = 12;
@b[1][1] = 5;
@b[1][2] = 6;
@b[2][1] = 7;
@b[2][2] = 8;
emit (@a, @b), "s", "t"
}
s=1,t=1,a=1,b=5
s=1,t=2,a=2,b=6
s=2,t=1,a=3,b=7
s=2,t=2,a=4,b=8
s=3,a=10
s=4,a=11
s=5,t=6,7=12
mlr -n put end {
@a[1][1] = 1;
@a[1][2] = 2;
@a[2][1] = 3;
@a[2][2] = 4;
@a[3] = 10;
@a[4] = 11;
@a[5][6][7] = 12;
@b[1][1] = 5;
@b[1][2] = 6;
@b[2][1] = 7;
@b[2][2] = 8;
emit (@b, @a), "s", "t"
}
s=1,t=1,b=5,a=1
s=1,t=2,b=6,a=2
s=2,t=1,b=7,a=3
s=2,t=2,b=8,a=4
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emit (@a[1], @b[3]), "t", "u"
}
t=2,u=3,a=4
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emit (@a[1][2], @b[5][9]), "t", "u"
}
t=3,a=4
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emit (@a[1][2], @b[9][2]), "t", "u"
}
t=3,a=4
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emit (@a[9], @b[5]), "t", "u"
}
================================================================
LASHED EMITP WITH VARYING DEPTH
mlr -n put end {
@a[1][1] = 1;
@a[1][2] = 2;
@a[2][1] = 3;
@a[2][2] = 4;
@b[1][1] = 5;
@b[1][2] = 6;
@b[2][1] = 7;
@b[2][2] = 8;
emitp (@a[1], @b[2]), "t"
}
t=1,a=1,b=7
t=2,a=2,b=8
mlr -n put end {
@a[1][1] = 1;
@a[1][2] = 2;
@a[2][1] = 3;
@a[2][2] = 4;
@b[1][1] = 5;
@b[1][2] = 6;
@b[2][1] = 7;
@b[2][2] = 8;
emitp (@a, @b), "s", "t"
}
s=1,t=1,a=1,b=5
s=1,t=2,a=2,b=6
s=2,t=1,a=3,b=7
s=2,t=2,a=4,b=8
mlr -n put end {
@a[1][1] = 1;
@a[1][2] = 2;
@a[2][1] = 3;
@a[2][2] = 4;
@a[3] = 10;
@a[4] = 11;
@a[5][6][7] = 12;
@b[1][1] = 5;
@b[1][2] = 6;
@b[2][1] = 7;
@b[2][2] = 8;
emitp (@a, @b), "s", "t"
}
s=1,t=1,a=1,b=5
s=1,t=2,a=2,b=6
s=2,t=1,a=3,b=7
s=2,t=2,a=4,b=8
s=3,a=10
s=4,a=11
s=5,t=6,a:7=12
mlr -n put end {
@a[1][1] = 1;
@a[1][2] = 2;
@a[2][1] = 3;
@a[2][2] = 4;
@a[3] = 10;
@a[4] = 11;
@a[5][6][7] = 12;
@b[1][1] = 5;
@b[1][2] = 6;
@b[2][1] = 7;
@b[2][2] = 8;
emitp (@b, @a), "s", "t"
}
s=1,t=1,b=5,a=1
s=1,t=2,b=6,a=2
s=2,t=1,b=7,a=3
s=2,t=2,b=8,a=4
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emitp (@a[1], @b[3]), "t", "u"
}
t=2,u=3,a=4
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emitp (@a[1][2], @b[5][9]), "t", "u"
}
t=3,a=4
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emitp (@a[1][2], @b[9][2]), "t", "u"
}
t=3,a=4
mlr -n put end {
@a[1][2][3] = 4;
@b[5][2][3] = 8;
emitp (@a[9], @b[5]), "t", "u"
}
================================================================
CANONICAL LASHED EMIT
mlr --from ./reg_test/input/abixy-wide --opprint put -q
@count[$a] += 1;
@sum[$a] += $x;
end {
for (a, c in @count) {
@mean[a] = @sum[a] / @count[a]
}
emit (@sum, @count, @mean), "a"
}
a sum count mean
cat 207.843964 413 0.503254
pan 191.530740 384 0.498778
wye 188.110135 370 0.508406
dog 215.541519 424 0.508353
hat 206.091824 409 0.503892
mlr --from ./reg_test/input/abixy-wide --opprint put -q
@count[$a][$b] += 1;
@sum[$a][$b] += $x;
end {
for ((a, b), c in @count) {
@mean[a][b] = @sum[a][b] / @count[a][b]
}
emit (@sum, @count, @mean), "a", "b"
}
a b sum count mean
cat pan 42.327158 89 0.475586
cat hat 43.184410 90 0.479827
cat dog 39.241473 78 0.503096
cat wye 45.196775 77 0.586971
cat cat 37.894148 79 0.479673
pan wye 40.135300 78 0.514555
pan pan 36.226334 77 0.470472
pan hat 35.115869 67 0.524117
pan dog 37.817560 73 0.518049
pan cat 42.235677 89 0.474558
wye cat 40.805723 74 0.551429
wye hat 41.166697 87 0.473180
wye dog 40.619547 76 0.534468
wye wye 32.490973 67 0.484940
wye pan 33.027196 66 0.500412
dog hat 43.515162 88 0.494490
dog pan 45.614011 87 0.524299
dog dog 43.545956 87 0.500528
dog wye 37.223795 79 0.471187
dog cat 45.642595 83 0.549911
hat hat 48.058897 88 0.546124
hat wye 34.054270 70 0.486490
hat pan 42.538758 85 0.500456
hat cat 44.325655 88 0.503701
hat dog 37.114244 78 0.475824
================================================================
MAPPER NOTHING
mlr cat then nothing
mlr cat then nothing ./reg_test/input/abixy
mlr tac then nothing ./reg_test/input/abixy
mlr cat then nothing ./reg_test/input/abixy ./reg_test/input/abixy
mlr cat then nothing then cat ./reg_test/input/abixy
================================================================
MAPPER TEE REDIRECTS
mlr --from ./reg_test/input/abixy tee ./output-regtest/tee1/out then nothing
cat ./output-regtest/tee1/out
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 tee --no-fflush ./output-regtest/tee1/out then nothing
cat ./output-regtest/tee1/out
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 tee -a ./output-regtest/tee1/out then nothing
cat ./output-regtest/tee1/out
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
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 tee -o json ./output-regtest/tee1/out then nothing
cat ./output-regtest/tee1/out
{ "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 }
================================================================
DSL TEE REDIRECTS
mlr put -q tee > "./output-regtest/tee2/out.".$a, $* ./reg_test/input/abixy
cat ./output-regtest/tee2/out.eks
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
cat ./output-regtest/tee2/out.hat
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
cat ./output-regtest/tee2/out.pan
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
cat ./output-regtest/tee2/out.wye
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
cat ./output-regtest/tee2/out.zee
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
mlr put -q --no-fflush tee > "./output-regtest/tee2/out.".$a, $* ./reg_test/input/abixy
cat ./output-regtest/tee2/out.eks
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
cat ./output-regtest/tee2/out.hat
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
cat ./output-regtest/tee2/out.pan
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
cat ./output-regtest/tee2/out.wye
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
cat ./output-regtest/tee2/out.zee
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
mlr put -q tee >> "./output-regtest/tee2/out.".$a, $* ./reg_test/input/abixy
cat ./output-regtest/tee2/out.eks
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
cat ./output-regtest/tee2/out.hat
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
cat ./output-regtest/tee2/out.pan
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
cat ./output-regtest/tee2/out.wye
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
cat ./output-regtest/tee2/out.zee
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
mlr put -q -o json tee > "./output-regtest/tee2/out.".$a, $* ./reg_test/input/abixy
cat ./output-regtest/tee2/out.eks
{ "a": "eks", "b": "pan", "i": 2, "x": 0.7586799647899636, "y": 0.5221511083334797 }
{ "a": "eks", "b": "wye", "i": 4, "x": 0.38139939387114097, "y": 0.13418874328430463 }
{ "a": "eks", "b": "zee", "i": 7, "x": 0.6117840605678454, "y": 0.1878849191181694 }
cat ./output-regtest/tee2/out.hat
{ "a": "hat", "b": "wye", "i": 9, "x": 0.03144187646093577, "y": 0.7495507603507059 }
cat ./output-regtest/tee2/out.pan
{ "a": "pan", "b": "pan", "i": 1, "x": 0.3467901443380824, "y": 0.7268028627434533 }
{ "a": "pan", "b": "wye", "i": 10, "x": 0.5026260055412137, "y": 0.9526183602969864 }
cat ./output-regtest/tee2/out.wye
{ "a": "wye", "b": "wye", "i": 3, "x": 0.20460330576630303, "y": 0.33831852551664776 }
{ "a": "wye", "b": "pan", "i": 5, "x": 0.5732889198020006, "y": 0.8636244699032729 }
cat ./output-regtest/tee2/out.zee
{ "a": "zee", "b": "pan", "i": 6, "x": 0.5271261600918548, "y": 0.49322128674835697 }
{ "a": "zee", "b": "wye", "i": 8, "x": 0.5985540091064224, "y": 0.976181385699006 }
mlr put -q tee | "tr \[a-z\] \[A-Z\]", $* ./reg_test/input/abixy
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 put -q -o json tee | "tr \[a-z\] \[A-Z\]", $* ./reg_test/input/abixy
{ "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 put -q tee > stdout, $* ./reg_test/input/abixy
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
cat ./output-regtest/tee2/err1
mlr put -q tee > stderr, $* ./reg_test/input/abixy
cat ./output-regtest/tee2/err2
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
================================================================
DSL PRINT REDIRECTS
mlr put -q print > "./output-regtest/print1/out.".$a, "abi:".$a.$b.$i ./reg_test/input/abixy
cat ./output-regtest/print1/out.eks
abi:ekspan2
abi:ekswye4
abi:ekszee7
cat ./output-regtest/print1/out.hat
abi:hatwye9
cat ./output-regtest/print1/out.pan
abi:panpan1
abi:panwye10
cat ./output-regtest/print1/out.wye
abi:wyewye3
abi:wyepan5
cat ./output-regtest/print1/out.zee
abi:zeepan6
abi:zeewye8
mlr put -q print > "./output-regtest/print1/out.".$a, "abi:".$a.$b.$i ./reg_test/input/abixy
cat ./output-regtest/print1/out.eks
abi:ekspan2
abi:ekswye4
abi:ekszee7
cat ./output-regtest/print1/out.hat
abi:hatwye9
cat ./output-regtest/print1/out.pan
abi:panpan1
abi:panwye10
cat ./output-regtest/print1/out.wye
abi:wyewye3
abi:wyepan5
cat ./output-regtest/print1/out.zee
abi:zeepan6
abi:zeewye8
mlr put -q print >> "./output-regtest/print1/out.".$a, "abi:".$a.$b.$i ./reg_test/input/abixy
cat ./output-regtest/print1/out.eks
abi:ekspan2
abi:ekswye4
abi:ekszee7
abi:ekspan2
abi:ekswye4
abi:ekszee7
cat ./output-regtest/print1/out.hat
abi:hatwye9
abi:hatwye9
cat ./output-regtest/print1/out.pan
abi:panpan1
abi:panwye10
abi:panpan1
abi:panwye10
cat ./output-regtest/print1/out.wye
abi:wyewye3
abi:wyepan5
abi:wyewye3
abi:wyepan5
cat ./output-regtest/print1/out.zee
abi:zeepan6
abi:zeewye8
abi:zeepan6
abi:zeewye8
mlr put -q print | "tr \[a-z\] \[A-Z\]", "abi:".$a.$b.$i ./reg_test/input/abixy
ABI:PANPAN1
ABI:EKSPAN2
ABI:WYEWYE3
ABI:EKSWYE4
ABI:WYEPAN5
ABI:ZEEPAN6
ABI:EKSZEE7
ABI:ZEEWYE8
ABI:HATWYE9
ABI:PANWYE10
mlr put -q print > stdout, "abi:".$a.$b.$i ./reg_test/input/abixy
abi:panpan1
abi:ekspan2
abi:wyewye3
abi:ekswye4
abi:wyepan5
abi:zeepan6
abi:ekszee7
abi:zeewye8
abi:hatwye9
abi:panwye10
cat ./output-regtest/print1/err1
mlr put -q print > stderr, "abi:".$a.$b.$i ./reg_test/input/abixy
cat ./output-regtest/print1/err2
abi:panpan1
abi:ekspan2
abi:wyewye3
abi:ekswye4
abi:wyepan5
abi:zeepan6
abi:ekszee7
abi:zeewye8
abi:hatwye9
abi:panwye10
================================================================
DSL PRINTN REDIRECTS
mlr put -q printn > "./output-regtest/printn1/out.".$a, "abi:".$a.$b.$i ./reg_test/input/abixy
cat ./output-regtest/printn1/out.eks
abi:ekspan2abi:ekswye4abi:ekszee7
cat ./output-regtest/printn1/out.hat
abi:hatwye9
cat ./output-regtest/printn1/out.pan
abi:panpan1abi:panwye10
cat ./output-regtest/printn1/out.wye
abi:wyewye3abi:wyepan5
cat ./output-regtest/printn1/out.zee
abi:zeepan6abi:zeewye8
mlr put -q printn > "./output-regtest/printn1/out.".$a, "abi:".$a.$b.$i ./reg_test/input/abixy
cat ./output-regtest/printn1/out.eks
abi:ekspan2abi:ekswye4abi:ekszee7
cat ./output-regtest/printn1/out.hat
abi:hatwye9
cat ./output-regtest/printn1/out.pan
abi:panpan1abi:panwye10
cat ./output-regtest/printn1/out.wye
abi:wyewye3abi:wyepan5
cat ./output-regtest/printn1/out.zee
abi:zeepan6abi:zeewye8
mlr put -q printn >> "./output-regtest/printn1/out.".$a, "abi:".$a.$b.$i ./reg_test/input/abixy
cat ./output-regtest/printn1/out.eks
abi:ekspan2abi:ekswye4abi:ekszee7abi:ekspan2abi:ekswye4abi:ekszee7
cat ./output-regtest/printn1/out.hat
abi:hatwye9abi:hatwye9
cat ./output-regtest/printn1/out.pan
abi:panpan1abi:panwye10abi:panpan1abi:panwye10
cat ./output-regtest/printn1/out.wye
abi:wyewye3abi:wyepan5abi:wyewye3abi:wyepan5
cat ./output-regtest/printn1/out.zee
abi:zeepan6abi:zeewye8abi:zeepan6abi:zeewye8
mlr put -q printn | "tr \[a-z\] \[A-Z\]", "abi:".$a.$b.$i ./reg_test/input/abixy
ABI:PANPAN1ABI:EKSPAN2ABI:WYEWYE3ABI:EKSWYE4ABI:WYEPAN5ABI:ZEEPAN6ABI:EKSZEE7ABI:ZEEWYE8ABI:HATWYE9ABI:PANWYE10
mlr put -q printn > stdout, "abi:".$a.$b.$i ./reg_test/input/abixy
abi:panpan1abi:ekspan2abi:wyewye3abi:ekswye4abi:wyepan5abi:zeepan6abi:ekszee7abi:zeewye8abi:hatwye9abi:panwye10
cat ./output-regtest/printn1/err1
mlr put -q printn > stderr, "abi:".$a.$b.$i ./reg_test/input/abixy
cat ./output-regtest/printn1/err2
abi:panpan1abi:ekspan2abi:wyewye3abi:ekswye4abi:wyepan5abi:zeepan6abi:ekszee7abi:zeewye8abi:hatwye9abi:panwye10
================================================================
DSL DUMP REDIRECTS
mlr put -q @v=$*; dump > "./output-regtest/dump1/out.".$a ./reg_test/input/abixy
cat ./output-regtest/dump1/out.eks
{
"v": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
{
"v": {
"a": "eks",
"b": "wye",
"i": 4,
"x": 0.38139939387114097,
"y": 0.13418874328430463
}
}
{
"v": {
"a": "eks",
"b": "zee",
"i": 7,
"x": 0.6117840605678454,
"y": 0.1878849191181694
}
}
cat ./output-regtest/dump1/out.hat
{
"v": {
"a": "hat",
"b": "wye",
"i": 9,
"x": 0.03144187646093577,
"y": 0.7495507603507059
}
}
cat ./output-regtest/dump1/out.pan
{
"v": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
{
"v": {
"a": "pan",
"b": "wye",
"i": 10,
"x": 0.5026260055412137,
"y": 0.9526183602969864
}
}
cat ./output-regtest/dump1/out.wye
{
"v": {
"a": "wye",
"b": "wye",
"i": 3,
"x": 0.20460330576630303,
"y": 0.33831852551664776
}
}
{
"v": {
"a": "wye",
"b": "pan",
"i": 5,
"x": 0.5732889198020006,
"y": 0.8636244699032729
}
}
cat ./output-regtest/dump1/out.zee
{
"v": {
"a": "zee",
"b": "pan",
"i": 6,
"x": 0.5271261600918548,
"y": 0.49322128674835697
}
}
{
"v": {
"a": "zee",
"b": "wye",
"i": 8,
"x": 0.5985540091064224,
"y": 0.976181385699006
}
}
mlr put -q @v=$*; dump > "./output-regtest/dump1/out.".$a ./reg_test/input/abixy
cat ./output-regtest/dump1/out.eks
{
"v": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
{
"v": {
"a": "eks",
"b": "wye",
"i": 4,
"x": 0.38139939387114097,
"y": 0.13418874328430463
}
}
{
"v": {
"a": "eks",
"b": "zee",
"i": 7,
"x": 0.6117840605678454,
"y": 0.1878849191181694
}
}
cat ./output-regtest/dump1/out.hat
{
"v": {
"a": "hat",
"b": "wye",
"i": 9,
"x": 0.03144187646093577,
"y": 0.7495507603507059
}
}
cat ./output-regtest/dump1/out.pan
{
"v": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
{
"v": {
"a": "pan",
"b": "wye",
"i": 10,
"x": 0.5026260055412137,
"y": 0.9526183602969864
}
}
cat ./output-regtest/dump1/out.wye
{
"v": {
"a": "wye",
"b": "wye",
"i": 3,
"x": 0.20460330576630303,
"y": 0.33831852551664776
}
}
{
"v": {
"a": "wye",
"b": "pan",
"i": 5,
"x": 0.5732889198020006,
"y": 0.8636244699032729
}
}
cat ./output-regtest/dump1/out.zee
{
"v": {
"a": "zee",
"b": "pan",
"i": 6,
"x": 0.5271261600918548,
"y": 0.49322128674835697
}
}
{
"v": {
"a": "zee",
"b": "wye",
"i": 8,
"x": 0.5985540091064224,
"y": 0.976181385699006
}
}
mlr put -q @v=$*; dump >> "./output-regtest/dump1/out.".$a ./reg_test/input/abixy
cat ./output-regtest/dump1/out.eks
{
"v": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
{
"v": {
"a": "eks",
"b": "wye",
"i": 4,
"x": 0.38139939387114097,
"y": 0.13418874328430463
}
}
{
"v": {
"a": "eks",
"b": "zee",
"i": 7,
"x": 0.6117840605678454,
"y": 0.1878849191181694
}
}
{
"v": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
{
"v": {
"a": "eks",
"b": "wye",
"i": 4,
"x": 0.38139939387114097,
"y": 0.13418874328430463
}
}
{
"v": {
"a": "eks",
"b": "zee",
"i": 7,
"x": 0.6117840605678454,
"y": 0.1878849191181694
}
}
cat ./output-regtest/dump1/out.hat
{
"v": {
"a": "hat",
"b": "wye",
"i": 9,
"x": 0.03144187646093577,
"y": 0.7495507603507059
}
}
{
"v": {
"a": "hat",
"b": "wye",
"i": 9,
"x": 0.03144187646093577,
"y": 0.7495507603507059
}
}
cat ./output-regtest/dump1/out.pan
{
"v": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
{
"v": {
"a": "pan",
"b": "wye",
"i": 10,
"x": 0.5026260055412137,
"y": 0.9526183602969864
}
}
{
"v": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
}
}
{
"v": {
"a": "pan",
"b": "wye",
"i": 10,
"x": 0.5026260055412137,
"y": 0.9526183602969864
}
}
cat ./output-regtest/dump1/out.wye
{
"v": {
"a": "wye",
"b": "wye",
"i": 3,
"x": 0.20460330576630303,
"y": 0.33831852551664776
}
}
{
"v": {
"a": "wye",
"b": "pan",
"i": 5,
"x": 0.5732889198020006,
"y": 0.8636244699032729
}
}
{
"v": {
"a": "wye",
"b": "wye",
"i": 3,
"x": 0.20460330576630303,
"y": 0.33831852551664776
}
}
{
"v": {
"a": "wye",
"b": "pan",
"i": 5,
"x": 0.5732889198020006,
"y": 0.8636244699032729
}
}
cat ./output-regtest/dump1/out.zee
{
"v": {
"a": "zee",
"b": "pan",
"i": 6,
"x": 0.5271261600918548,
"y": 0.49322128674835697
}
}
{
"v": {
"a": "zee",
"b": "wye",
"i": 8,
"x": 0.5985540091064224,
"y": 0.976181385699006
}
}
{
"v": {
"a": "zee",
"b": "pan",
"i": 6,
"x": 0.5271261600918548,
"y": 0.49322128674835697
}
}
{
"v": {
"a": "zee",
"b": "wye",
"i": 8,
"x": 0.5985540091064224,
"y": 0.976181385699006
}
}
mlr put -q @v=$*; dump | "tr \[a-z\] \[A-Z\]" ./reg_test/input/abixy
{
"V": {
"A": "PAN",
"B": "PAN",
"I": 1,
"X": 0.3467901443380824,
"Y": 0.7268028627434533
}
}
{
"V": {
"A": "EKS",
"B": "PAN",
"I": 2,
"X": 0.7586799647899636,
"Y": 0.5221511083334797
}
}
{
"V": {
"A": "WYE",
"B": "WYE",
"I": 3,
"X": 0.20460330576630303,
"Y": 0.33831852551664776
}
}
{
"V": {
"A": "EKS",
"B": "WYE",
"I": 4,
"X": 0.38139939387114097,
"Y": 0.13418874328430463
}
}
{
"V": {
"A": "WYE",
"B": "PAN",
"I": 5,
"X": 0.5732889198020006,
"Y": 0.8636244699032729
}
}
{
"V": {
"A": "ZEE",
"B": "PAN",
"I": 6,
"X": 0.5271261600918548,
"Y": 0.49322128674835697
}
}
{
"V": {
"A": "EKS",
"B": "ZEE",
"I": 7,
"X": 0.6117840605678454,
"Y": 0.1878849191181694
}
}
{
"V": {
"A": "ZEE",
"B": "WYE",
"I": 8,
"X": 0.5985540091064224,
"Y": 0.976181385699006
}
}
{
"V": {
"A": "HAT",
"B": "WYE",
"I": 9,
"X": 0.03144187646093577,
"Y": 0.7495507603507059
}
}
{
"V": {
"A": "PAN",
"B": "WYE",
"I": 10,
"X": 0.5026260055412137,
"Y": 0.9526183602969864
}
}
mlr put -q @v[NR] = $*; NR == 2 { dump > stdout } ./reg_test/input/abixy
{
"v": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
},
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
cat ./output-regtest/dump1/err1
mlr put -q @v[NR] = $*; NR == 2 { dump > stderr } ./reg_test/input/abixy
cat ./output-regtest/dump1/err2
{
"v": {
"1": {
"a": "pan",
"b": "pan",
"i": 1,
"x": 0.3467901443380824,
"y": 0.7268028627434533
},
"2": {
"a": "eks",
"b": "pan",
"i": 2,
"x": 0.7586799647899636,
"y": 0.5221511083334797
}
}
}
================================================================
DSL EMITF REDIRECTS
mlr put -q @a=$a; @b=$b; emitf > "./output-regtest/emitf1/out.".$a.$b, @a, @b ./reg_test/input/abixy
cat ./output-regtest/emitf1/out.ekspan
a=eks,b=pan
cat ./output-regtest/emitf1/out.ekswye
a=eks,b=wye
cat ./output-regtest/emitf1/out.ekszee
a=eks,b=zee
cat ./output-regtest/emitf1/out.hatwye
a=hat,b=wye
cat ./output-regtest/emitf1/out.panpan
a=pan,b=pan
cat ./output-regtest/emitf1/out.panwye
a=pan,b=wye
cat ./output-regtest/emitf1/out.wyepan
a=wye,b=pan
cat ./output-regtest/emitf1/out.wyewye
a=wye,b=wye
cat ./output-regtest/emitf1/out.zeepan
a=zee,b=pan
cat ./output-regtest/emitf1/out.zeewye
a=zee,b=wye
mlr put -q @a=$a; @b=$b; emitf > "./output-regtest/emitf1/out.".$a.$b, @a, @b ./reg_test/input/abixy
cat ./output-regtest/emitf1/out.ekspan
a=eks,b=pan
cat ./output-regtest/emitf1/out.ekswye
a=eks,b=wye
cat ./output-regtest/emitf1/out.ekszee
a=eks,b=zee
cat ./output-regtest/emitf1/out.hatwye
a=hat,b=wye
cat ./output-regtest/emitf1/out.panpan
a=pan,b=pan
cat ./output-regtest/emitf1/out.panwye
a=pan,b=wye
cat ./output-regtest/emitf1/out.wyepan
a=wye,b=pan
cat ./output-regtest/emitf1/out.wyewye
a=wye,b=wye
cat ./output-regtest/emitf1/out.zeepan
a=zee,b=pan
cat ./output-regtest/emitf1/out.zeewye
a=zee,b=wye
mlr put -q @a=$a; @b=$b; emitf >> "./output-regtest/emitf1/out.".$a.$b, @a, @b ./reg_test/input/abixy
cat ./output-regtest/emitf1/out.ekspan
a=eks,b=pan
a=eks,b=pan
cat ./output-regtest/emitf1/out.ekswye
a=eks,b=wye
a=eks,b=wye
cat ./output-regtest/emitf1/out.ekszee
a=eks,b=zee
a=eks,b=zee
cat ./output-regtest/emitf1/out.hatwye
a=hat,b=wye
a=hat,b=wye
cat ./output-regtest/emitf1/out.panpan
a=pan,b=pan
a=pan,b=pan
cat ./output-regtest/emitf1/out.panwye
a=pan,b=wye
a=pan,b=wye
cat ./output-regtest/emitf1/out.wyepan
a=wye,b=pan
a=wye,b=pan
cat ./output-regtest/emitf1/out.wyewye
a=wye,b=wye
a=wye,b=wye
cat ./output-regtest/emitf1/out.zeepan
a=zee,b=pan
a=zee,b=pan
cat ./output-regtest/emitf1/out.zeewye
a=zee,b=wye
a=zee,b=wye
mlr put -q -o json @a=$a; @b=$b; emitf > "./output-regtest/emitf1/out.".$a.$b, @a, @b ./reg_test/input/abixy
cat ./output-regtest/emitf1/out.ekspan
{ "a": "eks", "b": "pan" }
cat ./output-regtest/emitf1/out.ekswye
{ "a": "eks", "b": "wye" }
cat ./output-regtest/emitf1/out.ekszee
{ "a": "eks", "b": "zee" }
cat ./output-regtest/emitf1/out.hatwye
{ "a": "hat", "b": "wye" }
cat ./output-regtest/emitf1/out.panpan
{ "a": "pan", "b": "pan" }
cat ./output-regtest/emitf1/out.panwye
{ "a": "pan", "b": "wye" }
cat ./output-regtest/emitf1/out.wyepan
{ "a": "wye", "b": "pan" }
cat ./output-regtest/emitf1/out.wyewye
{ "a": "wye", "b": "wye" }
cat ./output-regtest/emitf1/out.zeepan
{ "a": "zee", "b": "pan" }
cat ./output-regtest/emitf1/out.zeewye
{ "a": "zee", "b": "wye" }
mlr put -q @a=$a; @b=$b; emitf | "tr \[a-z\] \[A-Z\]", @a, @b ./reg_test/input/abixy
A=PAN,B=PAN
A=EKS,B=PAN
A=WYE,B=WYE
A=EKS,B=WYE
A=WYE,B=PAN
A=ZEE,B=PAN
A=EKS,B=ZEE
A=ZEE,B=WYE
A=HAT,B=WYE
A=PAN,B=WYE
mlr put -q @a=$a; @b=$b; emitf > stdout, @a, @b ./reg_test/input/abixy
a=pan,b=pan
a=eks,b=pan
a=wye,b=wye
a=eks,b=wye
a=wye,b=pan
a=zee,b=pan
a=eks,b=zee
a=zee,b=wye
a=hat,b=wye
a=pan,b=wye
cat ./output-regtest/emitf1/err1
mlr put -q @a=$a; @b=$b; emitf > stderr, @a, @b ./reg_test/input/abixy
cat ./output-regtest/emitf1/err2
a=pan,b=pan
a=eks,b=pan
a=wye,b=wye
a=eks,b=wye
a=wye,b=pan
a=zee,b=pan
a=eks,b=zee
a=zee,b=wye
a=hat,b=wye
a=pan,b=wye
================================================================
DSL EMITP REDIRECTS
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp1/out.".$a.$b, @a ./reg_test/input/abixy
cat ./output-regtest/emitp1/out.ekspan
a:1=pan,a:2=eks
cat ./output-regtest/emitp1/out.ekswye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
cat ./output-regtest/emitp1/out.panpan
a:1=pan
cat ./output-regtest/emitp1/out.wyewye
a:1=pan,a:2=eks,a:3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp1/out.".$a.$b, @a ./reg_test/input/abixy
cat ./output-regtest/emitp1/out.ekspan
a:1=pan,a:2=eks
cat ./output-regtest/emitp1/out.ekswye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
cat ./output-regtest/emitp1/out.panpan
a:1=pan
cat ./output-regtest/emitp1/out.wyewye
a:1=pan,a:2=eks,a:3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp >> "./output-regtest/emitp1/out.".$a.$b, @a ./reg_test/input/abixy
cat ./output-regtest/emitp1/out.ekspan
a:1=pan,a:2=eks
a:1=pan,a:2=eks
cat ./output-regtest/emitp1/out.ekswye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
a:1=pan,a:2=eks,a:3=wye,a:4=eks
cat ./output-regtest/emitp1/out.panpan
a:1=pan
a:1=pan
cat ./output-regtest/emitp1/out.wyewye
a:1=pan,a:2=eks,a:3=wye
a:1=pan,a:2=eks,a:3=wye
mlr head -n 4 then put -q -o json @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp1/out.".$a.$b, @a ./reg_test/input/abixy
cat ./output-regtest/emitp1/out.ekspan
{ "a": {"1": "pan", "2": "eks" } }
cat ./output-regtest/emitp1/out.ekswye
{ "a": {"1": "pan", "2": "eks", "3": "wye", "4": "eks" } }
cat ./output-regtest/emitp1/out.panpan
{ "a": {"1": "pan" } }
cat ./output-regtest/emitp1/out.wyewye
{ "a": {"1": "pan", "2": "eks", "3": "wye" } }
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", @a ./reg_test/input/abixy
A:1=PAN
A:1=PAN,A:2=EKS
A:1=PAN,A:2=EKS,A:3=WYE
A:1=PAN,A:2=EKS,A:3=WYE,A:4=EKS
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stdout, @a ./reg_test/input/abixy
a:1=pan
a:1=pan,a:2=eks
a:1=pan,a:2=eks,a:3=wye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
cat ./output-regtest/emitp1/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stderr, @a ./reg_test/input/abixy
cat ./output-regtest/emitp1/err2
a:1=pan
a:1=pan,a:2=eks
a:1=pan,a:2=eks,a:3=wye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp2/out.".$a.$b, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp2/out.ekspan
NR=1,a=pan
NR=2,a=eks
cat ./output-regtest/emitp2/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
cat ./output-regtest/emitp2/out.panpan
NR=1,a=pan
cat ./output-regtest/emitp2/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp2/out.".$a.$b, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp2/out.ekspan
NR=1,a=pan
NR=2,a=eks
cat ./output-regtest/emitp2/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
cat ./output-regtest/emitp2/out.panpan
NR=1,a=pan
cat ./output-regtest/emitp2/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp >> "./output-regtest/emitp2/out.".$a.$b, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp2/out.ekspan
NR=1,a=pan
NR=2,a=eks
NR=1,a=pan
NR=2,a=eks
cat ./output-regtest/emitp2/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
cat ./output-regtest/emitp2/out.panpan
NR=1,a=pan
NR=1,a=pan
cat ./output-regtest/emitp2/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
mlr head -n 4 then put -q -o json @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp2/out.".$a.$b, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp2/out.ekspan
{ "NR": 1, "a": "pan" }
{ "NR": 2, "a": "eks" }
cat ./output-regtest/emitp2/out.ekswye
{ "NR": 1, "a": "pan" }
{ "NR": 2, "a": "eks" }
{ "NR": 3, "a": "wye" }
{ "NR": 4, "a": "eks" }
cat ./output-regtest/emitp2/out.panpan
{ "NR": 1, "a": "pan" }
cat ./output-regtest/emitp2/out.wyewye
{ "NR": 1, "a": "pan" }
{ "NR": 2, "a": "eks" }
{ "NR": 3, "a": "wye" }
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", @a, "NR" ./reg_test/input/abixy
NR=1,A=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=4,A=EKS
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stdout, @a, "NR" ./reg_test/input/abixy
NR=1,a=pan
NR=1,a=pan
NR=2,a=eks
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
cat ./output-regtest/emitp2/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stderr, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp2/err2
NR=1,a=pan
NR=1,a=pan
NR=2,a=eks
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp3/out.".$a.$b, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emitp3/out.ekspan
a:1=pan,b:1=pan,a:2=eks,b:2=pan
cat ./output-regtest/emitp3/out.ekswye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye,a:4=eks,b:4=wye
cat ./output-regtest/emitp3/out.panpan
a:1=pan,b:1=pan
cat ./output-regtest/emitp3/out.wyewye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp3/out.".$a.$b, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emitp3/out.ekspan
a:1=pan,b:1=pan,a:2=eks,b:2=pan
cat ./output-regtest/emitp3/out.ekswye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye,a:4=eks,b:4=wye
cat ./output-regtest/emitp3/out.panpan
a:1=pan,b:1=pan
cat ./output-regtest/emitp3/out.wyewye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp >> "./output-regtest/emitp3/out.".$a.$b, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emitp3/out.ekspan
a:1=pan,b:1=pan,a:2=eks,b:2=pan
a:1=pan,b:1=pan,a:2=eks,b:2=pan
cat ./output-regtest/emitp3/out.ekswye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye,a:4=eks,b:4=wye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye,a:4=eks,b:4=wye
cat ./output-regtest/emitp3/out.panpan
a:1=pan,b:1=pan
a:1=pan,b:1=pan
cat ./output-regtest/emitp3/out.wyewye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye
mlr head -n 4 then put -q -o json @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp3/out.".$a.$b, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emitp3/out.ekspan
{ "a": {"1": "pan", "2": "eks" },"b": {"1": "pan", "2": "pan" } }
cat ./output-regtest/emitp3/out.ekswye
{ "a": {"1": "pan", "2": "eks", "3": "wye", "4": "eks" },"b": {"1": "pan", "2": "pan", "3": "wye", "4": "wye" } }
cat ./output-regtest/emitp3/out.panpan
{ "a": {"1": "pan" },"b": {"1": "pan" } }
cat ./output-regtest/emitp3/out.wyewye
{ "a": {"1": "pan", "2": "eks", "3": "wye" },"b": {"1": "pan", "2": "pan", "3": "wye" } }
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", (@a, @b) ./reg_test/input/abixy
A:1=PAN,B:1=PAN
A:1=PAN,B:1=PAN,A:2=EKS,B:2=PAN
A:1=PAN,B:1=PAN,A:2=EKS,B:2=PAN,A:3=WYE,B:3=WYE
A:1=PAN,B:1=PAN,A:2=EKS,B:2=PAN,A:3=WYE,B:3=WYE,A:4=EKS,B:4=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stdout, (@a, @b) ./reg_test/input/abixy
a:1=pan,b:1=pan
a:1=pan,b:1=pan,a:2=eks,b:2=pan
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye,a:4=eks,b:4=wye
cat ./output-regtest/emitp3/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stderr, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emitp3/err2
a:1=pan,b:1=pan
a:1=pan,b:1=pan,a:2=eks,b:2=pan
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye
a:1=pan,b:1=pan,a:2=eks,b:2=pan,a:3=wye,b:3=wye,a:4=eks,b:4=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp4/out.".$a.$b, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp4/out.ekspan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
cat ./output-regtest/emitp4/out.ekswye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
cat ./output-regtest/emitp4/out.panpan
NR=1,a=pan,b=pan
cat ./output-regtest/emitp4/out.wyewye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp4/out.".$a.$b, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp4/out.ekspan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
cat ./output-regtest/emitp4/out.ekswye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
cat ./output-regtest/emitp4/out.panpan
NR=1,a=pan,b=pan
cat ./output-regtest/emitp4/out.wyewye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp >> "./output-regtest/emitp4/out.".$a.$b, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp4/out.ekspan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
cat ./output-regtest/emitp4/out.ekswye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
cat ./output-regtest/emitp4/out.panpan
NR=1,a=pan,b=pan
NR=1,a=pan,b=pan
cat ./output-regtest/emitp4/out.wyewye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
mlr head -n 4 then put -q -o json @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp4/out.".$a.$b, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp4/out.ekspan
{ "NR": 1, "a": "pan", "b": "pan" }
{ "NR": 2, "a": "eks", "b": "pan" }
cat ./output-regtest/emitp4/out.ekswye
{ "NR": 1, "a": "pan", "b": "pan" }
{ "NR": 2, "a": "eks", "b": "pan" }
{ "NR": 3, "a": "wye", "b": "wye" }
{ "NR": 4, "a": "eks", "b": "wye" }
cat ./output-regtest/emitp4/out.panpan
{ "NR": 1, "a": "pan", "b": "pan" }
cat ./output-regtest/emitp4/out.wyewye
{ "NR": 1, "a": "pan", "b": "pan" }
{ "NR": 2, "a": "eks", "b": "pan" }
{ "NR": 3, "a": "wye", "b": "wye" }
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", (@a, @b), "NR" ./reg_test/input/abixy
NR=1,A=PAN,B=PAN
NR=1,A=PAN,B=PAN
NR=2,A=EKS,B=PAN
NR=1,A=PAN,B=PAN
NR=2,A=EKS,B=PAN
NR=3,A=WYE,B=WYE
NR=1,A=PAN,B=PAN
NR=2,A=EKS,B=PAN
NR=3,A=WYE,B=WYE
NR=4,A=EKS,B=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stdout, (@a, @b), "NR" ./reg_test/input/abixy
NR=1,a=pan,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
cat ./output-regtest/emitp4/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stderr, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp4/err2
NR=1,a=pan,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp5/out.".$a.$b, @* ./reg_test/input/abixy
cat ./output-regtest/emitp5/out.ekspan
a:1=pan,a:2=eks
b:1=pan,b:2=pan
cat ./output-regtest/emitp5/out.ekswye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
b:1=pan,b:2=pan,b:3=wye,b:4=wye
cat ./output-regtest/emitp5/out.panpan
a:1=pan
b:1=pan
cat ./output-regtest/emitp5/out.wyewye
a:1=pan,a:2=eks,a:3=wye
b:1=pan,b:2=pan,b:3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", @* ./reg_test/input/abixy
A:1=PAN
B:1=PAN
A:1=PAN,A:2=EKS
B:1=PAN,B:2=PAN
A:1=PAN,A:2=EKS,A:3=WYE
B:1=PAN,B:2=PAN,B:3=WYE
A:1=PAN,A:2=EKS,A:3=WYE,A:4=EKS
B:1=PAN,B:2=PAN,B:3=WYE,B:4=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stdout, @* ./reg_test/input/abixy
a:1=pan
b:1=pan
a:1=pan,a:2=eks
b:1=pan,b:2=pan
a:1=pan,a:2=eks,a:3=wye
b:1=pan,b:2=pan,b:3=wye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
b:1=pan,b:2=pan,b:3=wye,b:4=wye
cat ./output-regtest/emitp5/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stderr, @* ./reg_test/input/abixy
cat ./output-regtest/emitp5/err2
a:1=pan
b:1=pan
a:1=pan,a:2=eks
b:1=pan,b:2=pan
a:1=pan,a:2=eks,a:3=wye
b:1=pan,b:2=pan,b:3=wye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
b:1=pan,b:2=pan,b:3=wye,b:4=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp6/out.".$a.$b, all ./reg_test/input/abixy
cat ./output-regtest/emitp6/out.ekspan
a:1=pan,a:2=eks
b:1=pan,b:2=pan
cat ./output-regtest/emitp6/out.ekswye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
b:1=pan,b:2=pan,b:3=wye,b:4=wye
cat ./output-regtest/emitp6/out.panpan
a:1=pan
b:1=pan
cat ./output-regtest/emitp6/out.wyewye
a:1=pan,a:2=eks,a:3=wye
b:1=pan,b:2=pan,b:3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", all ./reg_test/input/abixy
A:1=PAN
B:1=PAN
A:1=PAN,A:2=EKS
B:1=PAN,B:2=PAN
A:1=PAN,A:2=EKS,A:3=WYE
B:1=PAN,B:2=PAN,B:3=WYE
A:1=PAN,A:2=EKS,A:3=WYE,A:4=EKS
B:1=PAN,B:2=PAN,B:3=WYE,B:4=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stdout, all ./reg_test/input/abixy
a:1=pan
b:1=pan
a:1=pan,a:2=eks
b:1=pan,b:2=pan
a:1=pan,a:2=eks,a:3=wye
b:1=pan,b:2=pan,b:3=wye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
b:1=pan,b:2=pan,b:3=wye,b:4=wye
cat ./output-regtest/emitp6/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stderr, all ./reg_test/input/abixy
cat ./output-regtest/emitp6/err2
a:1=pan
b:1=pan
a:1=pan,a:2=eks
b:1=pan,b:2=pan
a:1=pan,a:2=eks,a:3=wye
b:1=pan,b:2=pan,b:3=wye
a:1=pan,a:2=eks,a:3=wye,a:4=eks
b:1=pan,b:2=pan,b:3=wye,b:4=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp7/out.".$a.$b, @*, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp7/out.ekspan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
cat ./output-regtest/emitp7/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
cat ./output-regtest/emitp7/out.panpan
NR=1,a=pan
NR=1,b=pan
cat ./output-regtest/emitp7/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", @*, "NR" ./reg_test/input/abixy
NR=1,A=PAN
NR=1,B=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=1,B=PAN
NR=2,B=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=1,B=PAN
NR=2,B=PAN
NR=3,B=WYE
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=4,A=EKS
NR=1,B=PAN
NR=2,B=PAN
NR=3,B=WYE
NR=4,B=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stdout, @*, "NR" ./reg_test/input/abixy
NR=1,a=pan
NR=1,b=pan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
cat ./output-regtest/emitp7/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stderr, @*, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp7/err2
NR=1,a=pan
NR=1,b=pan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > "./output-regtest/emitp8/out.".$a.$b, all, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp8/out.ekspan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
cat ./output-regtest/emitp8/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
cat ./output-regtest/emitp8/out.panpan
NR=1,a=pan
NR=1,b=pan
cat ./output-regtest/emitp8/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", all, "NR" ./reg_test/input/abixy
NR=1,A=PAN
NR=1,B=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=1,B=PAN
NR=2,B=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=1,B=PAN
NR=2,B=PAN
NR=3,B=WYE
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=4,A=EKS
NR=1,B=PAN
NR=2,B=PAN
NR=3,B=WYE
NR=4,B=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stdout, all, "NR" ./reg_test/input/abixy
NR=1,a=pan
NR=1,b=pan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
cat ./output-regtest/emitp8/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emitp > stderr, all, "NR" ./reg_test/input/abixy
cat ./output-regtest/emitp8/err2
NR=1,a=pan
NR=1,b=pan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
================================================================
DSL EMIT REDIRECTS
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit1/out.".$a.$b, @a ./reg_test/input/abixy
cat ./output-regtest/emit1/out.ekspan
1=pan,2=eks
cat ./output-regtest/emit1/out.ekswye
1=pan,2=eks,3=wye,4=eks
cat ./output-regtest/emit1/out.panpan
1=pan
cat ./output-regtest/emit1/out.wyewye
1=pan,2=eks,3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit1/out.".$a.$b, @a ./reg_test/input/abixy
cat ./output-regtest/emit1/out.ekspan
1=pan,2=eks
cat ./output-regtest/emit1/out.ekswye
1=pan,2=eks,3=wye,4=eks
cat ./output-regtest/emit1/out.panpan
1=pan
cat ./output-regtest/emit1/out.wyewye
1=pan,2=eks,3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit >> "./output-regtest/emit1/out.".$a.$b, @a ./reg_test/input/abixy
cat ./output-regtest/emit1/out.ekspan
1=pan,2=eks
1=pan,2=eks
cat ./output-regtest/emit1/out.ekswye
1=pan,2=eks,3=wye,4=eks
1=pan,2=eks,3=wye,4=eks
cat ./output-regtest/emit1/out.panpan
1=pan
1=pan
cat ./output-regtest/emit1/out.wyewye
1=pan,2=eks,3=wye
1=pan,2=eks,3=wye
mlr head -n 4 then put -q -o json @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit1/out.".$a.$b, @a ./reg_test/input/abixy
cat ./output-regtest/emit1/out.ekspan
{ "1": "pan", "2": "eks" }
cat ./output-regtest/emit1/out.ekswye
{ "1": "pan", "2": "eks", "3": "wye", "4": "eks" }
cat ./output-regtest/emit1/out.panpan
{ "1": "pan" }
cat ./output-regtest/emit1/out.wyewye
{ "1": "pan", "2": "eks", "3": "wye" }
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", @a ./reg_test/input/abixy
1=PAN
1=PAN,2=EKS
1=PAN,2=EKS,3=WYE
1=PAN,2=EKS,3=WYE,4=EKS
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stdout, @a ./reg_test/input/abixy
1=pan
1=pan,2=eks
1=pan,2=eks,3=wye
1=pan,2=eks,3=wye,4=eks
cat ./output-regtest/emit1/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stderr, @a ./reg_test/input/abixy
cat ./output-regtest/emit1/err2
1=pan
1=pan,2=eks
1=pan,2=eks,3=wye
1=pan,2=eks,3=wye,4=eks
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit2/out.".$a.$b, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit2/out.ekspan
NR=1,a=pan
NR=2,a=eks
cat ./output-regtest/emit2/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
cat ./output-regtest/emit2/out.panpan
NR=1,a=pan
cat ./output-regtest/emit2/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit2/out.".$a.$b, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit2/out.ekspan
NR=1,a=pan
NR=2,a=eks
cat ./output-regtest/emit2/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
cat ./output-regtest/emit2/out.panpan
NR=1,a=pan
cat ./output-regtest/emit2/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit >> "./output-regtest/emit2/out.".$a.$b, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit2/out.ekspan
NR=1,a=pan
NR=2,a=eks
NR=1,a=pan
NR=2,a=eks
cat ./output-regtest/emit2/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
cat ./output-regtest/emit2/out.panpan
NR=1,a=pan
NR=1,a=pan
cat ./output-regtest/emit2/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
mlr head -n 4 then put -q -o pprint @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit2/out.".$a.$b, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit2/out.ekspan
NR a
1 pan
2 eks
cat ./output-regtest/emit2/out.ekswye
NR a
1 pan
2 eks
3 wye
4 eks
cat ./output-regtest/emit2/out.panpan
NR a
1 pan
cat ./output-regtest/emit2/out.wyewye
NR a
1 pan
2 eks
3 wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", @a, "NR" ./reg_test/input/abixy
NR=1,A=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=4,A=EKS
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stdout, @a, "NR" ./reg_test/input/abixy
NR=1,a=pan
NR=1,a=pan
NR=2,a=eks
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
cat ./output-regtest/emit2/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stderr, @a, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit2/err2
NR=1,a=pan
NR=1,a=pan
NR=2,a=eks
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit3/out.".$a.$b, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emit3/out.ekspan
1=pan,2=pan
cat ./output-regtest/emit3/out.ekswye
1=pan,2=pan,3=wye,4=wye
cat ./output-regtest/emit3/out.panpan
1=pan
cat ./output-regtest/emit3/out.wyewye
1=pan,2=pan,3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit3/out.".$a.$b, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emit3/out.ekspan
1=pan,2=pan
cat ./output-regtest/emit3/out.ekswye
1=pan,2=pan,3=wye,4=wye
cat ./output-regtest/emit3/out.panpan
1=pan
cat ./output-regtest/emit3/out.wyewye
1=pan,2=pan,3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit >> "./output-regtest/emit3/out.".$a.$b, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emit3/out.ekspan
1=pan,2=pan
1=pan,2=pan
cat ./output-regtest/emit3/out.ekswye
1=pan,2=pan,3=wye,4=wye
1=pan,2=pan,3=wye,4=wye
cat ./output-regtest/emit3/out.panpan
1=pan
1=pan
cat ./output-regtest/emit3/out.wyewye
1=pan,2=pan,3=wye
1=pan,2=pan,3=wye
mlr head -n 4 then put -q --oxtab @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit3/out.".$a.$b, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emit3/out.ekspan
1 pan
2 pan
cat ./output-regtest/emit3/out.ekswye
1 pan
2 pan
3 wye
4 wye
cat ./output-regtest/emit3/out.panpan
1 pan
cat ./output-regtest/emit3/out.wyewye
1 pan
2 pan
3 wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", (@a, @b) ./reg_test/input/abixy
1=PAN
1=PAN,2=PAN
1=PAN,2=PAN,3=WYE
1=PAN,2=PAN,3=WYE,4=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stdout, (@a, @b) ./reg_test/input/abixy
1=pan
1=pan,2=pan
1=pan,2=pan,3=wye
1=pan,2=pan,3=wye,4=wye
cat ./output-regtest/emit3/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stderr, (@a, @b) ./reg_test/input/abixy
cat ./output-regtest/emit3/err2
1=pan
1=pan,2=pan
1=pan,2=pan,3=wye
1=pan,2=pan,3=wye,4=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit4/out.".$a.$b, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emit4/out.ekspan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
cat ./output-regtest/emit4/out.ekswye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
cat ./output-regtest/emit4/out.panpan
NR=1,a=pan,b=pan
cat ./output-regtest/emit4/out.wyewye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit4/out.".$a.$b, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emit4/out.ekspan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
cat ./output-regtest/emit4/out.ekswye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
cat ./output-regtest/emit4/out.panpan
NR=1,a=pan,b=pan
cat ./output-regtest/emit4/out.wyewye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit >> "./output-regtest/emit4/out.".$a.$b, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emit4/out.ekspan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
cat ./output-regtest/emit4/out.ekswye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
cat ./output-regtest/emit4/out.panpan
NR=1,a=pan,b=pan
NR=1,a=pan,b=pan
cat ./output-regtest/emit4/out.wyewye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
mlr head -n 4 then put -q --ojson @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit4/out.".$a.$b, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emit4/out.ekspan
{ "NR": 1, "a": "pan", "b": "pan" }
{ "NR": 2, "a": "eks", "b": "pan" }
cat ./output-regtest/emit4/out.ekswye
{ "NR": 1, "a": "pan", "b": "pan" }
{ "NR": 2, "a": "eks", "b": "pan" }
{ "NR": 3, "a": "wye", "b": "wye" }
{ "NR": 4, "a": "eks", "b": "wye" }
cat ./output-regtest/emit4/out.panpan
{ "NR": 1, "a": "pan", "b": "pan" }
cat ./output-regtest/emit4/out.wyewye
{ "NR": 1, "a": "pan", "b": "pan" }
{ "NR": 2, "a": "eks", "b": "pan" }
{ "NR": 3, "a": "wye", "b": "wye" }
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", (@a, @b), "NR" ./reg_test/input/abixy
NR=1,A=PAN,B=PAN
NR=1,A=PAN,B=PAN
NR=2,A=EKS,B=PAN
NR=1,A=PAN,B=PAN
NR=2,A=EKS,B=PAN
NR=3,A=WYE,B=WYE
NR=1,A=PAN,B=PAN
NR=2,A=EKS,B=PAN
NR=3,A=WYE,B=WYE
NR=4,A=EKS,B=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stdout, (@a, @b), "NR" ./reg_test/input/abixy
NR=1,a=pan,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
cat ./output-regtest/emit4/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stderr, (@a, @b), "NR" ./reg_test/input/abixy
cat ./output-regtest/emit4/err2
NR=1,a=pan,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=1,a=pan,b=pan
NR=2,a=eks,b=pan
NR=3,a=wye,b=wye
NR=4,a=eks,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit5/out.".$a.$b, @* ./reg_test/input/abixy
cat ./output-regtest/emit5/out.ekspan
1=pan,2=eks
1=pan,2=pan
cat ./output-regtest/emit5/out.ekswye
1=pan,2=eks,3=wye,4=eks
1=pan,2=pan,3=wye,4=wye
cat ./output-regtest/emit5/out.panpan
1=pan
1=pan
cat ./output-regtest/emit5/out.wyewye
1=pan,2=eks,3=wye
1=pan,2=pan,3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", @* ./reg_test/input/abixy
1=PAN
1=PAN
1=PAN,2=EKS
1=PAN,2=PAN
1=PAN,2=EKS,3=WYE
1=PAN,2=PAN,3=WYE
1=PAN,2=EKS,3=WYE,4=EKS
1=PAN,2=PAN,3=WYE,4=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stdout, @* ./reg_test/input/abixy
1=pan
1=pan
1=pan,2=eks
1=pan,2=pan
1=pan,2=eks,3=wye
1=pan,2=pan,3=wye
1=pan,2=eks,3=wye,4=eks
1=pan,2=pan,3=wye,4=wye
cat ./output-regtest/emit5/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stderr, @* ./reg_test/input/abixy
cat ./output-regtest/emit5/err2
1=pan
1=pan
1=pan,2=eks
1=pan,2=pan
1=pan,2=eks,3=wye
1=pan,2=pan,3=wye
1=pan,2=eks,3=wye,4=eks
1=pan,2=pan,3=wye,4=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit6/out.".$a.$b, all ./reg_test/input/abixy
cat ./output-regtest/emit6/out.ekspan
1=pan,2=eks
1=pan,2=pan
cat ./output-regtest/emit6/out.ekswye
1=pan,2=eks,3=wye,4=eks
1=pan,2=pan,3=wye,4=wye
cat ./output-regtest/emit6/out.panpan
1=pan
1=pan
cat ./output-regtest/emit6/out.wyewye
1=pan,2=eks,3=wye
1=pan,2=pan,3=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", all ./reg_test/input/abixy
1=PAN
1=PAN
1=PAN,2=EKS
1=PAN,2=PAN
1=PAN,2=EKS,3=WYE
1=PAN,2=PAN,3=WYE
1=PAN,2=EKS,3=WYE,4=EKS
1=PAN,2=PAN,3=WYE,4=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stdout, all ./reg_test/input/abixy
1=pan
1=pan
1=pan,2=eks
1=pan,2=pan
1=pan,2=eks,3=wye
1=pan,2=pan,3=wye
1=pan,2=eks,3=wye,4=eks
1=pan,2=pan,3=wye,4=wye
cat ./output-regtest/emit6/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stderr, all ./reg_test/input/abixy
cat ./output-regtest/emit6/err2
1=pan
1=pan
1=pan,2=eks
1=pan,2=pan
1=pan,2=eks,3=wye
1=pan,2=pan,3=wye
1=pan,2=eks,3=wye,4=eks
1=pan,2=pan,3=wye,4=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit7/out.".$a.$b, @*, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit7/out.ekspan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
cat ./output-regtest/emit7/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
cat ./output-regtest/emit7/out.panpan
NR=1,a=pan
NR=1,b=pan
cat ./output-regtest/emit7/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", @*, "NR" ./reg_test/input/abixy
NR=1,A=PAN
NR=1,B=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=1,B=PAN
NR=2,B=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=1,B=PAN
NR=2,B=PAN
NR=3,B=WYE
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=4,A=EKS
NR=1,B=PAN
NR=2,B=PAN
NR=3,B=WYE
NR=4,B=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stdout, @*, "NR" ./reg_test/input/abixy
NR=1,a=pan
NR=1,b=pan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
cat ./output-regtest/emit7/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stderr, @*, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit7/err2
NR=1,a=pan
NR=1,b=pan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > "./output-regtest/emit8/out.".$a.$b, all, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit8/out.ekspan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
cat ./output-regtest/emit8/out.ekswye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
cat ./output-regtest/emit8/out.panpan
NR=1,a=pan
NR=1,b=pan
cat ./output-regtest/emit8/out.wyewye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", all, "NR" ./reg_test/input/abixy
NR=1,A=PAN
NR=1,B=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=1,B=PAN
NR=2,B=PAN
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=1,B=PAN
NR=2,B=PAN
NR=3,B=WYE
NR=1,A=PAN
NR=2,A=EKS
NR=3,A=WYE
NR=4,A=EKS
NR=1,B=PAN
NR=2,B=PAN
NR=3,B=WYE
NR=4,B=WYE
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stdout, all, "NR" ./reg_test/input/abixy
NR=1,a=pan
NR=1,b=pan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
cat ./output-regtest/emit8/err1
mlr head -n 4 then put -q @a[NR]=$a; @b[NR]=$b; emit > stderr, all, "NR" ./reg_test/input/abixy
cat ./output-regtest/emit8/err2
NR=1,a=pan
NR=1,b=pan
NR=1,a=pan
NR=2,a=eks
NR=1,b=pan
NR=2,b=pan
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=1,a=pan
NR=2,a=eks
NR=3,a=wye
NR=4,a=eks
NR=1,b=pan
NR=2,b=pan
NR=3,b=wye
NR=4,b=wye
================================================================
OOSVAR-FROM-SREC ASSIGNMENT
mlr put -v @v = $* /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="$*", type=FULL_SREC.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="$*", type=FULL_SREC.
mlr put -v @v[1] = $* /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="$*", type=FULL_SREC.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="$*", type=FULL_SREC.
mlr put -v @v[$2] = $* /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="2", type=FIELD_NAME.
text="$*", type=FULL_SREC.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="2", type=FIELD_NAME.
text="$*", type=FULL_SREC.
mlr put -v NR == 3 {@v = $*} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="$*", type=FULL_SREC.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="$*", type=FULL_SREC.
mlr put -v NR == 3 {@v[1] = $*} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="$*", type=FULL_SREC.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="$*", type=FULL_SREC.
mlr put -v NR == 3 {@v[$2] = $*} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="2", type=FIELD_NAME.
text="$*", type=FULL_SREC.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_FROM_FULL_SREC_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="2", type=FIELD_NAME.
text="$*", type=FULL_SREC.
mlr --oxtab put -q @v = $*; end {emitp @v } ./reg_test/input/abixy-het
v:a pan
v:b wye
v:i 10
v:x 0.5026260055412137
v:y 0.9526183602969864
mlr --oxtab put -q @v[$a] = $*; end {emitp @v } ./reg_test/input/abixy-het
v:pan:a pan
v:pan:b wye
v:pan:i 10
v:pan:x 0.5026260055412137
v:pan:y 0.9526183602969864
v:eks:a eks
v:eks:b zee
v:eks:iii 7
v:eks:x 0.6117840605678454
v:eks:y 0.1878849191181694
v:wye:a wye
v:wye:b pan
v:wye:i 5
v:wye:xxx 0.5732889198020006
v:wye:y 0.8636244699032729
v:zee:a zee
v:zee:b wye
v:zee:i 8
v:zee:x 0.5985540091064224
v:zee:yyy 0.976181385699006
mlr --oxtab put -q @v[$a] = $*; end {emitp @v, "a" } ./reg_test/input/abixy-het
a pan
v:a pan
v:b wye
v:i 10
v:x 0.5026260055412137
v:y 0.9526183602969864
a eks
v:a eks
v:b zee
v:iii 7
v:x 0.6117840605678454
v:y 0.1878849191181694
a wye
v:a wye
v:b pan
v:i 5
v:xxx 0.5732889198020006
v:y 0.8636244699032729
a zee
v:a zee
v:b wye
v:i 8
v:x 0.5985540091064224
v:yyy 0.976181385699006
mlr --oxtab put -q @v[$a][$b] = $*; end {emitp @v } ./reg_test/input/abixy-het
v:pan:pan:a pan
v:pan:pan:b pan
v:pan:pan:i 1
v:pan:pan:x 0.3467901443380824
v:pan:pan:y 0.7268028627434533
v:pan:wye:a pan
v:pan:wye:b wye
v:pan:wye:i 10
v:pan:wye:x 0.5026260055412137
v:pan:wye:y 0.9526183602969864
v:eks:pan:a eks
v:eks:pan:b pan
v:eks:pan:i 2
v:eks:pan:x 0.7586799647899636
v:eks:pan:y 0.5221511083334797
v:eks:zee:a eks
v:eks:zee:b zee
v:eks:zee:iii 7
v:eks:zee:x 0.6117840605678454
v:eks:zee:y 0.1878849191181694
v:wye:pan:a wye
v:wye:pan:b pan
v:wye:pan:i 5
v:wye:pan:xxx 0.5732889198020006
v:wye:pan:y 0.8636244699032729
v:zee:pan:a zee
v:zee:pan:b pan
v:zee:pan:i 6
v:zee:pan:x 0.5271261600918548
v:zee:pan:y 0.49322128674835697
v:zee:wye:a zee
v:zee:wye:b wye
v:zee:wye:i 8
v:zee:wye:x 0.5985540091064224
v:zee:wye:yyy 0.976181385699006
mlr --oxtab put -q @v[$a][$b] = $*; end {emitp @v, "a" } ./reg_test/input/abixy-het
a pan
v:pan:a pan
v:pan:b pan
v:pan:i 1
v:pan:x 0.3467901443380824
v:pan:y 0.7268028627434533
v:wye:a pan
v:wye:b wye
v:wye:i 10
v:wye:x 0.5026260055412137
v:wye:y 0.9526183602969864
a eks
v:pan:a eks
v:pan:b pan
v:pan:i 2
v:pan:x 0.7586799647899636
v:pan:y 0.5221511083334797
v:zee:a eks
v:zee:b zee
v:zee:iii 7
v:zee:x 0.6117840605678454
v:zee:y 0.1878849191181694
a wye
v:pan:a wye
v:pan:b pan
v:pan:i 5
v:pan:xxx 0.5732889198020006
v:pan:y 0.8636244699032729
a zee
v:pan:a zee
v:pan:b pan
v:pan:i 6
v:pan:x 0.5271261600918548
v:pan:y 0.49322128674835697
v:wye:a zee
v:wye:b wye
v:wye:i 8
v:wye:x 0.5985540091064224
v:wye:yyy 0.976181385699006
mlr --oxtab put -q @v[$a][$b] = $*; end {emitp @v, "a", "b"} ./reg_test/input/abixy-het
a pan
b pan
v:a pan
v:b pan
v:i 1
v:x 0.3467901443380824
v:y 0.7268028627434533
a pan
b wye
v:a pan
v:b wye
v:i 10
v:x 0.5026260055412137
v:y 0.9526183602969864
a eks
b pan
v:a eks
v:b pan
v:i 2
v:x 0.7586799647899636
v:y 0.5221511083334797
a eks
b zee
v:a eks
v:b zee
v:iii 7
v:x 0.6117840605678454
v:y 0.1878849191181694
a wye
b pan
v:a wye
v:b pan
v:i 5
v:xxx 0.5732889198020006
v:y 0.8636244699032729
a zee
b pan
v:a zee
v:b pan
v:i 6
v:x 0.5271261600918548
v:y 0.49322128674835697
a zee
b wye
v:a zee
v:b wye
v:i 8
v:x 0.5985540091064224
v:yyy 0.976181385699006
================================================================
SREC-FROM-OOSVAR ASSIGNMENT
mlr put -v $* = @v /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
mlr put -v $* = @v[1] /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v $* = @v[$2] /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="2", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="2", type=FIELD_NAME.
mlr put -v NR == 3 {$* = @v } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
mlr put -v NR == 3 {$* = @v[1] } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v NR == 3 {$* = @v[$2]} /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="2", type=FIELD_NAME.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=FULL_SREC_ASSIGNMENT:
text="$*", type=FULL_SREC.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="2", type=FIELD_NAME.
mlr put @v[NR] = $a; NR == 7 { @v = $*} ; $* = @v ./reg_test/input/abixy-het
1=pan
1=pan,2=eks
1=pan,2=eks
1=pan,2=eks,4=eks
1=pan,2=eks,4=eks,5=wye
1=pan,2=eks,4=eks,5=wye,6=zee
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694,8=zee
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694,8=zee
a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694,8=zee,10=pan
================================================================
OOSVAR-FROM-OOSVAR ASSIGNMENT
mlr put -v @u = @v /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
mlr put -v @u = @v[1] /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v @u[2] = @v /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
mlr put -v @u[2] = @v[1] /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v begin { @u = @v } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr put -v begin { @u = @v[1] } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr put -v begin { @u[2] = @v } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr put -v begin { @u[2] = @v[1] } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr put -v NR == 3 { @u = @v } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
mlr put -v NR == 3 { @u = @v[1] } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v NR == 3 { @u[2] = @v } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
mlr put -v NR == 3 { @u[2] = @v[1] } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=2 max_var_depth=1
text="cond", type=CONDITIONAL_BLOCK:
text="==", type=OPERATOR:
text="NR", type=CONTEXT_VARIABLE.
text="3", type=NUMERIC_LITERAL.
text="cond_block", type=STATEMENT_BLOCK: subframe_var_count=0
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
mlr put -v end { @u = @v } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr put -v end { @u = @v[1] } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr put -v end { @u[2] = @v } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr put -v end { @u[2] = @v[1] } /dev/null
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
BLOCKED AST:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="u", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="v", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
mlr put -q @s += $i; @t=@s; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": 55,
"t": 55
}
s=55
t=55
mlr put -q @s[1] += $i; @t=@s; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": 55
},
"t": {
"1": 55
}
}
s:1=55
t:1=55
mlr put -q @s[1] += $i; @t=@s[1]; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": 55
},
"t": 55
}
s:1=55
t=55
mlr put -q @s[1] += $i; @t[3]=@s; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": 55
},
"t": {
"3": {
"1": 55
}
}
}
s:1=55
t:3:1=55
mlr put -q @s[1] += $i; @t[3]=@s[1]; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": 55
},
"t": {
"3": 55
}
}
s:1=55
t:3=55
mlr put -q @s[1][2] += $i; @t=@s; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": {
"1": {
"2": 55
}
}
}
s:1:2=55
t:1:2=55
mlr put -q @s[1][2] += $i; @t=@s[1]; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": {
"2": 55
}
}
s:1:2=55
t:2=55
mlr put -q @s[1][2] += $i; @t=@s[1][2]; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": 55
}
s:1:2=55
t=55
mlr put -q @s[1][2] += $i; @t[3]=@s; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": {
"3": {
"1": {
"2": 55
}
}
}
}
s:1:2=55
t:3:1:2=55
mlr put -q @s[1][2] += $i; @t[3]=@s[1]; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": {
"3": {
"2": 55
}
}
}
s:1:2=55
t:3:2=55
mlr put -q @s[1][2] += $i; @t[3]=@s[1][2]; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": {
"3": 55
}
}
s:1:2=55
t:3=55
mlr put -q @s[1][2] += $i; @t[3][4]=@s; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": {
"3": {
"4": {
"1": {
"2": 55
}
}
}
}
}
s:1:2=55
t:3:4:1:2=55
mlr put -q @s[1][2] += $i; @t[3][4]=@s[1]; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": {
"3": {
"4": {
"2": 55
}
}
}
}
s:1:2=55
t:3:4:2=55
mlr put -q @s[1][2] += $i; @t[3][4]=@s[1][2]; end{dump; emitp@s; emitp @t} ./reg_test/input/abixy
{
"s": {
"1": {
"2": 55
}
},
"t": {
"3": {
"4": 55
}
}
}
s:1:2=55
t:3:4=55
mlr --opprint put -q @s[NR][NR] = $i/100; @t[NR*10]=@s; end{emitp@s,"A","B"; emitp @t,"C","D","E"} ./reg_test/input/abixy
A B s
1 1 0.010000
2 2 0.020000
3 3 0.030000
4 4 0.040000
5 5 0.050000
6 6 0.060000
7 7 0.070000
8 8 0.080000
9 9 0.090000
10 10 0.100000
C D E t
10 1 1 0.010000
20 1 1 0.010000
20 2 2 0.020000
30 1 1 0.010000
30 2 2 0.020000
30 3 3 0.030000
40 1 1 0.010000
40 2 2 0.020000
40 3 3 0.030000
40 4 4 0.040000
50 1 1 0.010000
50 2 2 0.020000
50 3 3 0.030000
50 4 4 0.040000
50 5 5 0.050000
60 1 1 0.010000
60 2 2 0.020000
60 3 3 0.030000
60 4 4 0.040000
60 5 5 0.050000
60 6 6 0.060000
70 1 1 0.010000
70 2 2 0.020000
70 3 3 0.030000
70 4 4 0.040000
70 5 5 0.050000
70 6 6 0.060000
70 7 7 0.070000
80 1 1 0.010000
80 2 2 0.020000
80 3 3 0.030000
80 4 4 0.040000
80 5 5 0.050000
80 6 6 0.060000
80 7 7 0.070000
80 8 8 0.080000
90 1 1 0.010000
90 2 2 0.020000
90 3 3 0.030000
90 4 4 0.040000
90 5 5 0.050000
90 6 6 0.060000
90 7 7 0.070000
90 8 8 0.080000
90 9 9 0.090000
100 1 1 0.010000
100 2 2 0.020000
100 3 3 0.030000
100 4 4 0.040000
100 5 5 0.050000
100 6 6 0.060000
100 7 7 0.070000
100 8 8 0.080000
100 9 9 0.090000
100 10 10 0.100000
================================================================
CHAINING
mlr cat then cat ./reg_test/input/short
a=1
b=2
c=3
mlr cat then tac ./reg_test/input/short
c=3
b=2
a=1
mlr tac then cat ./reg_test/input/short
c=3
b=2
a=1
mlr tac then tac ./reg_test/input/short
a=1
b=2
c=3
mlr cat then cat then cat ./reg_test/input/short
a=1
b=2
c=3
mlr cat then cat then tac ./reg_test/input/short
c=3
b=2
a=1
mlr cat then tac then cat ./reg_test/input/short
c=3
b=2
a=1
mlr cat then tac then tac ./reg_test/input/short
a=1
b=2
c=3
mlr tac then cat then cat ./reg_test/input/short
c=3
b=2
a=1
mlr tac then cat then tac ./reg_test/input/short
a=1
b=2
c=3
mlr tac then tac then cat ./reg_test/input/short
a=1
b=2
c=3
mlr tac then tac then tac ./reg_test/input/short
c=3
b=2
a=1
================================================================
NUMBER FORMATTING
mlr --opprint stats1 -a sum -f x ./reg_test/input/ofmt.dat
x_sum
6
mlr --ofmt %.3lf --opprint stats1 -a sum -f x ./reg_test/input/ofmt.dat
x_sum
6
mlr --opprint --ofmt %.3lf stats1 -a sum -f x ./reg_test/input/ofmt.dat
x_sum
6
================================================================
IMPLICIT-HEADER-CSV INPUT
mlr --irs crlf --no-mmap --icsvlite --ifs , --opprint cut -x -f b/ ./reg_test/input/multi-sep.csv
a/ i/ x/ y/
wye/ 0/ 0.641593543645736508/ 0.262688053894177098
eks/ 1/ 0.827614412562742041/ 0.715431942006308552
zee/ 2/ 0.923068348748175560/ 0.009737410587136359
zee/ 3/ 0.000047786161325772/ 0.803142013402256216
zee/ 4/ 0.676537984365847889/ 0.573903236805416328
mlr --irs crlf --implicit-csv-header --no-mmap --icsvlite --ifs , --opprint cut -x -f 2 ./reg_test/input/multi-sep.csv
1 3 4 5
a/ i/ x/ y/
wye/ 0/ 0.641593543645736508/ 0.262688053894177098
eks/ 1/ 0.827614412562742041/ 0.715431942006308552
zee/ 2/ 0.923068348748175560/ 0.009737410587136359
zee/ 3/ 0.000047786161325772/ 0.803142013402256216
zee/ 4/ 0.676537984365847889/ 0.573903236805416328
mlr --irs crlf --no-mmap --icsvlite --ifs /, --opprint cut -x -f b ./reg_test/input/multi-sep.csv
a i x y/
wye 0 0.641593543645736508 0.262688053894177098
eks 1 0.827614412562742041 0.715431942006308552
zee 2 0.923068348748175560 0.009737410587136359
zee 3 0.000047786161325772 0.803142013402256216
zee 4 0.676537984365847889 0.573903236805416328
mlr --irs crlf --implicit-csv-header --no-mmap --icsvlite --ifs /, --opprint cut -x -f 2 ./reg_test/input/multi-sep.csv
1 3 4 5
a i x y/
wye 0 0.641593543645736508 0.262688053894177098
eks 1 0.827614412562742041 0.715431942006308552
zee 2 0.923068348748175560 0.009737410587136359
zee 3 0.000047786161325772 0.803142013402256216
zee 4 0.676537984365847889 0.573903236805416328
mlr --irs crlf --mmap --icsvlite --ifs , --opprint cut -x -f b/ ./reg_test/input/multi-sep.csv
a/ i/ x/ y/
wye/ 0/ 0.641593543645736508/ 0.262688053894177098
eks/ 1/ 0.827614412562742041/ 0.715431942006308552
zee/ 2/ 0.923068348748175560/ 0.009737410587136359
zee/ 3/ 0.000047786161325772/ 0.803142013402256216
zee/ 4/ 0.676537984365847889/ 0.573903236805416328
mlr --irs crlf --implicit-csv-header --mmap --icsvlite --ifs , --opprint cut -x -f 2 ./reg_test/input/multi-sep.csv
1 3 4 5
a/ i/ x/ y/
wye/ 0/ 0.641593543645736508/ 0.262688053894177098
eks/ 1/ 0.827614412562742041/ 0.715431942006308552
zee/ 2/ 0.923068348748175560/ 0.009737410587136359
zee/ 3/ 0.000047786161325772/ 0.803142013402256216
zee/ 4/ 0.676537984365847889/ 0.573903236805416328
mlr --irs crlf --mmap --icsvlite --ifs /, --opprint cut -x -f b ./reg_test/input/multi-sep.csv
a i x y/
wye 0 0.641593543645736508 0.262688053894177098
eks 1 0.827614412562742041 0.715431942006308552
zee 2 0.923068348748175560 0.009737410587136359
zee 3 0.000047786161325772 0.803142013402256216
zee 4 0.676537984365847889 0.573903236805416328
mlr --irs crlf --implicit-csv-header --mmap --icsvlite --ifs /, --opprint cut -x -f 2 ./reg_test/input/multi-sep.csv
1 3 4 5
a i x y/
wye 0 0.641593543645736508 0.262688053894177098
eks 1 0.827614412562742041 0.715431942006308552
zee 2 0.923068348748175560 0.009737410587136359
zee 3 0.000047786161325772 0.803142013402256216
zee 4 0.676537984365847889 0.573903236805416328
mlr --icsv --ifs , --opprint cut -x -f b/ ./reg_test/input/multi-sep.csv
a/ i/ x/ y/
wye/ 0/ 0.641593543645736508/ 0.262688053894177098
eks/ 1/ 0.827614412562742041/ 0.715431942006308552
zee/ 2/ 0.923068348748175560/ 0.009737410587136359
zee/ 3/ 0.000047786161325772/ 0.803142013402256216
zee/ 4/ 0.676537984365847889/ 0.573903236805416328
mlr --implicit-csv-header --icsv --ifs , --opprint cut -x -f 2 ./reg_test/input/multi-sep.csv
1 3 4 5
a/ i/ x/ y/
wye/ 0/ 0.641593543645736508/ 0.262688053894177098
eks/ 1/ 0.827614412562742041/ 0.715431942006308552
zee/ 2/ 0.923068348748175560/ 0.009737410587136359
zee/ 3/ 0.000047786161325772/ 0.803142013402256216
zee/ 4/ 0.676537984365847889/ 0.573903236805416328
mlr --icsv --ifs /, --opprint cut -x -f b ./reg_test/input/multi-sep.csv
a i x y/
wye 0 0.641593543645736508 0.262688053894177098
eks 1 0.827614412562742041 0.715431942006308552
zee 2 0.923068348748175560 0.009737410587136359
zee 3 0.000047786161325772 0.803142013402256216
zee 4 0.676537984365847889 0.573903236805416328
mlr --implicit-csv-header --icsv --ifs /, --opprint cut -x -f 2 ./reg_test/input/multi-sep.csv
1 3 4 5
a i x y/
wye 0 0.641593543645736508 0.262688053894177098
eks 1 0.827614412562742041 0.715431942006308552
zee 2 0.923068348748175560 0.009737410587136359
zee 3 0.000047786161325772 0.803142013402256216
zee 4 0.676537984365847889 0.573903236805416328
================================================================
HET-CSV INPUT
mlr --icsvlite --odkvp cat ./reg_test/input/a.csv
a=1,b=2,c=3
a=4,b=5,c=6
mlr --icsvlite --odkvp cat ./reg_test/input/b.csv
d=5,e=6,f=7
mlr --icsvlite --odkvp cat ./reg_test/input/c.csv
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
mlr --icsvlite --odkvp cat ./reg_test/input/d.csv
h=3,i=4,j=5
m=8,n=9,o=10
mlr --icsvlite --odkvp cat ./reg_test/input/e.csv
a=1,b=2,c=3
a=4,b=5,c=6
mlr --icsvlite --odkvp cat ./reg_test/input/f.csv
mlr --icsvlite --odkvp cat ./reg_test/input/g.csv
mlr --icsvlite --odkvp cat ./reg_test/input/a.csv ./reg_test/input/a.csv
a=1,b=2,c=3
a=4,b=5,c=6
a=1,b=2,c=3
a=4,b=5,c=6
mlr --icsvlite --odkvp cat ./reg_test/input/b.csv ./reg_test/input/b.csv
d=5,e=6,f=7
d=5,e=6,f=7
mlr --icsvlite --odkvp cat ./reg_test/input/c.csv ./reg_test/input/c.csv
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
mlr --icsvlite --odkvp cat ./reg_test/input/d.csv ./reg_test/input/d.csv
h=3,i=4,j=5
m=8,n=9,o=10
h=3,i=4,j=5
m=8,n=9,o=10
mlr --icsvlite --odkvp cat ./reg_test/input/e.csv ./reg_test/input/e.csv
a=1,b=2,c=3
a=4,b=5,c=6
a=1,b=2,c=3
a=4,b=5,c=6
mlr --icsvlite --odkvp cat ./reg_test/input/f.csv ./reg_test/input/f.csv
mlr --icsvlite --odkvp cat ./reg_test/input/g.csv ./reg_test/input/g.csv
mlr --icsvlite --odkvp cat ./reg_test/input/a.csv ./reg_test/input/b.csv
a=1,b=2,c=3
a=4,b=5,c=6
d=5,e=6,f=7
mlr --icsvlite --odkvp cat ./reg_test/input/b.csv ./reg_test/input/c.csv
d=5,e=6,f=7
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
mlr --icsvlite --odkvp cat ./reg_test/input/c.csv ./reg_test/input/d.csv
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
h=3,i=4,j=5
m=8,n=9,o=10
mlr --icsvlite --odkvp cat ./reg_test/input/d.csv ./reg_test/input/e.csv
h=3,i=4,j=5
m=8,n=9,o=10
a=1,b=2,c=3
a=4,b=5,c=6
mlr --icsvlite --odkvp cat ./reg_test/input/e.csv ./reg_test/input/f.csv
a=1,b=2,c=3
a=4,b=5,c=6
mlr --icsvlite --odkvp cat ./reg_test/input/f.csv ./reg_test/input/g.csv
mlr --icsvlite --odkvp cat ./reg_test/input/a.csv ./reg_test/input/b.csv ./reg_test/input/c.csv ./reg_test/input/d.csv ./reg_test/input/e.csv ./reg_test/input/f.csv ./reg_test/input/g.csv
a=1,b=2,c=3
a=4,b=5,c=6
d=5,e=6,f=7
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
h=3,i=4,j=5
m=8,n=9,o=10
a=1,b=2,c=3
a=4,b=5,c=6
mlr --icsvlite --odkvp tac ./reg_test/input/het.csv
resource=/some/other/path,loadsec=0.97,ok=false
record_count=150,resource=/path/to/second/file
resource=/path/to/second/file,loadsec=0.32,ok=true
record_count=100,resource=/path/to/file
resource=/path/to/file,loadsec=0.45,ok=true
mlr --headerless-csv-output --csvlite tac ./reg_test/input/a.csv
4,5,6
1,2,3
mlr --headerless-csv-output --csvlite tac ./reg_test/input/c.csv
7,8,9
4,5,6
1,2,3
mlr --headerless-csv-output --csvlite tac ./reg_test/input/a.csv ./reg_test/input/c.csv
7,8,9
4,5,6
1,2,3
4,5,6
1,2,3
mlr --headerless-csv-output --csvlite tac ./reg_test/input/het.csv
/some/other/path,0.97,false
150,/path/to/second/file
/path/to/second/file,0.32,true
100,/path/to/file
/path/to/file,0.45,true
mlr --headerless-csv-output --csvlite group-like ./reg_test/input/het.csv
/path/to/file,0.45,true
/path/to/second/file,0.32,true
/some/other/path,0.97,false
100,/path/to/file
150,/path/to/second/file
================================================================
HET-PPRINT INPUT
mlr --ipprint --odkvp cat ./reg_test/input/a.pprint
a=1,b=2,c=3
a=4,b=5,c=6
mlr --ipprint --odkvp cat ./reg_test/input/b.pprint
d=5,e=6,f=7
mlr --ipprint --odkvp cat ./reg_test/input/c.pprint
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
mlr --ipprint --odkvp cat ./reg_test/input/d.pprint
h=3,i=4,j=5
m=8,n=9,o=10
mlr --ipprint --odkvp cat ./reg_test/input/e.pprint
a=1,b=2,c=3
a=4,b=5,c=6
mlr --ipprint --odkvp cat ./reg_test/input/f.pprint
mlr --ipprint --odkvp cat ./reg_test/input/g.pprint
mlr --ipprint --odkvp cat ./reg_test/input/a.pprint ./reg_test/input/a.pprint
a=1,b=2,c=3
a=4,b=5,c=6
a=1,b=2,c=3
a=4,b=5,c=6
mlr --ipprint --odkvp cat ./reg_test/input/b.pprint ./reg_test/input/b.pprint
d=5,e=6,f=7
d=5,e=6,f=7
mlr --ipprint --odkvp cat ./reg_test/input/c.pprint ./reg_test/input/c.pprint
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
mlr --ipprint --odkvp cat ./reg_test/input/d.pprint ./reg_test/input/d.pprint
h=3,i=4,j=5
m=8,n=9,o=10
h=3,i=4,j=5
m=8,n=9,o=10
mlr --ipprint --odkvp cat ./reg_test/input/e.pprint ./reg_test/input/e.pprint
a=1,b=2,c=3
a=4,b=5,c=6
a=1,b=2,c=3
a=4,b=5,c=6
mlr --ipprint --odkvp cat ./reg_test/input/f.pprint ./reg_test/input/f.pprint
mlr --ipprint --odkvp cat ./reg_test/input/g.pprint ./reg_test/input/g.pprint
mlr --ipprint --odkvp cat ./reg_test/input/a.pprint ./reg_test/input/b.pprint
a=1,b=2,c=3
a=4,b=5,c=6
d=5,e=6,f=7
mlr --ipprint --odkvp cat ./reg_test/input/b.pprint ./reg_test/input/c.pprint
d=5,e=6,f=7
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
mlr --ipprint --odkvp cat ./reg_test/input/c.pprint ./reg_test/input/d.pprint
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
h=3,i=4,j=5
m=8,n=9,o=10
mlr --ipprint --odkvp cat ./reg_test/input/d.pprint ./reg_test/input/e.pprint
h=3,i=4,j=5
m=8,n=9,o=10
a=1,b=2,c=3
a=4,b=5,c=6
mlr --ipprint --odkvp cat ./reg_test/input/e.pprint ./reg_test/input/f.pprint
a=1,b=2,c=3
a=4,b=5,c=6
mlr --ipprint --odkvp cat ./reg_test/input/f.pprint ./reg_test/input/g.pprint
mlr --ipprint --odkvp cat ./reg_test/input/a.pprint ./reg_test/input/b.pprint ./reg_test/input/c.pprint ./reg_test/input/d.pprint ./reg_test/input/e.pprint ./reg_test/input/f.pprint ./reg_test/input/g.pprint
a=1,b=2,c=3
a=4,b=5,c=6
d=5,e=6,f=7
a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9
h=3,i=4,j=5
m=8,n=9,o=10
a=1,b=2,c=3
a=4,b=5,c=6
================================================================
NULL-FIELD INPUT
mlr --icsvlite --odkvp cat ./reg_test/input/null-fields.csv
a=1,b=2,c=3,d=4,e=5
a=6,b=,c=,d=,e=10
a=,b=,c=,d=11,e=12
a=13,b=14,c=,d=,e=
a=,b=,c=,d=,e=
mlr --inidx --ifs comma --odkvp cat ./reg_test/input/null-fields.nidx
1=a,2=b,3=c,4=d,5=e
1=f,2=,3=,4=,5=g
1=,2=,3=,4=h,5=i
1=j,2=k,3=,4=,5=
1=,2=,3=,4=,5=
mlr --idkvp --oxtab cat ./reg_test/input/missings.dkvp
a 1
b 2
c 3
d 4
e 5
f 6
1 a
b
x 4
c 3
5 d
6 e
7 f
1 a
b
x 4
c 3
5 d
6 e
f 6
mlr --oxtab stats1 -a sum,min,max,mode -f x ./reg_test/input/nullvals.dkvp
x_sum 9
x_min 1
x_max 5
x_mode 1
mlr --oxtab stats1 -a sum,min,max,mode -f y ./reg_test/input/nullvals.dkvp
y_sum 12
y_min 2
y_max 6
y_mode 2
mlr --oxtab stats1 -a sum,min,max,mode -f z ./reg_test/input/nullvals.dkvp
z_sum 0
z_min
z_max
z_mode
mlr --oxtab stats1 -a sum,min,max,mode -f x,y,z ./reg_test/input/nullvals.dkvp
x_sum 9
x_min 1
x_max 5
x_mode 1
y_sum 12
y_min 2
y_max 6
y_mode 2
z_sum 0
z_min
z_max
z_mode
mlr --oxtab stats1 -a sum,min,max,mode -f x -g a ./reg_test/input/nullvals.dkvp
a b
x_sum 9
x_min 1
x_max 5
x_mode 1
mlr --oxtab stats1 -a sum,min,max,mode -f y -g a ./reg_test/input/nullvals.dkvp
a b
y_sum 12
y_min 2
y_max 6
y_mode 2
mlr --oxtab stats1 -a sum,min,max,mode -f z -g a ./reg_test/input/nullvals.dkvp
a b
z_sum 0
z_min
z_max
z_mode
mlr --oxtab stats1 -a sum,min,max,mode -f x,y,z -g a ./reg_test/input/nullvals.dkvp
a b
x_sum 9
x_min 1
x_max 5
x_mode 1
y_sum 12
y_min 2
y_max 6
y_mode 2
z_sum 0
z_min
z_max
z_mode
mlr --opprint merge-fields -a sum,min,max,mode -f x,y,z -o xyz ./reg_test/input/nullvals.dkvp
a xyz_sum xyz_min xyz_max xyz_mode
b 3 1 2 1
b 7 3 4 3
b 5 5 5 5
b 6 6 6 6
b 0 - - -
mlr --opprint merge-fields -a sum,min,max,mode -r x,y,z -o xyz ./reg_test/input/nullvals.dkvp
a xyz_sum xyz_min xyz_max xyz_mode
b 3 1 2 1
b 7 3 4 3
b 5 5 5 5
b 6 6 6 6
b 0 - - -
mlr --opprint merge-fields -a sum,min,max,mode -c x,y,z ./reg_test/input/nullvals.dkvp
a _sum _min _max _mode
b 3 1 2 1
b 7 3 4 3
b 5 5 5 5
b 6 6 6 6
b 0 - - -
mlr --oxtab stats2 -a cov -f x,y ./reg_test/input/nullvals.dkvp
x_y_cov 2.000000
mlr --oxtab stats2 -a cov -f x,z ./reg_test/input/nullvals.dkvp
mlr --oxtab stats2 -a cov -f y,z ./reg_test/input/nullvals.dkvp
mlr --oxtab stats2 -a cov -f x,y -g a ./reg_test/input/nullvals.dkvp
a b
x_y_cov 2.000000
mlr --oxtab stats2 -a cov -f x,z -g a ./reg_test/input/nullvals.dkvp
a b
mlr --oxtab stats2 -a cov -f y,z -g a ./reg_test/input/nullvals.dkvp
a b
mlr --opprint top -n 5 -f x ./reg_test/input/nullvals.dkvp
top_idx x_top
1 5
2 3
3 1
4 -
5 -
mlr --opprint top -n 5 -f y ./reg_test/input/nullvals.dkvp
top_idx y_top
1 6
2 4
3 2
4 -
5 -
mlr --opprint top -n 5 -f z ./reg_test/input/nullvals.dkvp
top_idx z_top
1 -
2 -
3 -
4 -
5 -
mlr --opprint top -n 5 -f x,y,z ./reg_test/input/nullvals.dkvp
top_idx x_top y_top z_top
1 5 6 -
2 3 4 -
3 1 2 -
4 - - -
5 - - -
mlr --opprint top -n 5 -f x -g a ./reg_test/input/nullvals.dkvp
a top_idx x_top
b 1 5
b 2 3
b 3 1
b 4 -
b 5 -
mlr --opprint top -n 5 -f y -g a ./reg_test/input/nullvals.dkvp
a top_idx y_top
b 1 6
b 2 4
b 3 2
b 4 -
b 5 -
mlr --opprint top -n 5 -f z -g a ./reg_test/input/nullvals.dkvp
a top_idx z_top
b 1 -
b 2 -
b 3 -
b 4 -
b 5 -
mlr --opprint top -n 5 -f x,y,z -g a ./reg_test/input/nullvals.dkvp
a top_idx x_top y_top z_top
b 1 5 6 -
b 2 3 4 -
b 3 1 2 -
b 4 - - -
b 5 - - -
mlr --opprint top -a -n 5 -f x ./reg_test/input/nullvals.dkvp
a x y z
b 5 - -
b 3 4 -
b 1 2 -
mlr --opprint top -a -n 5 -f y ./reg_test/input/nullvals.dkvp
a x y z
b - 6 -
b 3 4 -
b 1 2 -
mlr --opprint top -a -n 5 -f z ./reg_test/input/nullvals.dkvp
mlr --opprint top -a -n 5 -f x -g a ./reg_test/input/nullvals.dkvp
a x y z
b 5 - -
b 3 4 -
b 1 2 -
mlr --opprint top -a -n 5 -f y -g a ./reg_test/input/nullvals.dkvp
a x y z
b - 6 -
b 3 4 -
b 1 2 -
mlr --opprint top -a -n 5 -f z -g a ./reg_test/input/nullvals.dkvp
mlr --opprint step -a counter,rsum -f x ./reg_test/input/nullvals.dkvp
a x y z x_counter x_rsum
b 1 2 - 1 1
b 3 4 - 2 4
b 5 - - 3 9
b - 6 - - -
b - - - - -
mlr --opprint step -a counter,rsum -f y ./reg_test/input/nullvals.dkvp
a x y z y_counter y_rsum
b 1 2 - 1 2
b 3 4 - 2 6
b 5 - - - -
b - 6 - 3 12
b - - - - -
mlr --opprint step -a counter,rsum -f z ./reg_test/input/nullvals.dkvp
a x y z z_counter z_rsum
b 1 2 - - -
b 3 4 - - -
b 5 - - - -
b - 6 - - -
b - - - - -
mlr --opprint step -a counter,rsum -f x,y,z ./reg_test/input/nullvals.dkvp
a x y z x_counter x_rsum y_counter y_rsum z_counter z_rsum
b 1 2 - 1 1 1 2 - -
b 3 4 - 2 4 2 6 - -
b 5 - - 3 9 - - - -
b - 6 - - - 3 12 - -
b - - - - - - - - -
mlr --opprint step -a counter,rsum -f x -g a ./reg_test/input/nullvals.dkvp
a x y z x_counter x_rsum
b 1 2 - 1 1
b 3 4 - 2 4
b 5 - - 3 9
b - 6 - - -
b - - - - -
mlr --opprint step -a counter,rsum -f y -g a ./reg_test/input/nullvals.dkvp
a x y z y_counter y_rsum
b 1 2 - 1 2
b 3 4 - 2 6
b 5 - - - -
b - 6 - 3 12
b - - - - -
mlr --opprint step -a counter,rsum -f z -g a ./reg_test/input/nullvals.dkvp
a x y z z_counter z_rsum
b 1 2 - - -
b 3 4 - - -
b 5 - - - -
b - 6 - - -
b - - - - -
mlr --opprint step -a counter,rsum -f x,y,z -g a ./reg_test/input/nullvals.dkvp
a x y z x_counter x_rsum y_counter y_rsum z_counter z_rsum
b 1 2 - 1 1 1 2 - -
b 3 4 - 2 4 2 6 - -
b 5 - - 3 9 - - - -
b - 6 - - - 3 12 - -
b - - - - - - - - -
================================================================
SPACE-PADDING
mlr --mmap --idkvp --odkvp --ifs space --repifs cat ./reg_test/input/space-pad.dkvp
a=1,b=2
c=3
mlr --no-mmap --idkvp --odkvp --ifs space --repifs cat ./reg_test/input/space-pad.dkvp
a=1,b=2
c=3
mlr --mmap --inidx --odkvp --ifs space --repifs cat ./reg_test/input/space-pad.nidx
1=a,2=b,3=c
1=d,2=e,3=f
mlr --no-mmap --inidx --odkvp --ifs space --repifs cat ./reg_test/input/space-pad.nidx
1=a,2=b,3=c
1=d,2=e,3=f
mlr --mmap --icsvlite --odkvp --ifs space --repifs cat ./reg_test/input/space-pad.pprint
a=1,b=2,c=3
mlr --no-mmap --icsvlite --odkvp --ifs space --repifs cat ./reg_test/input/space-pad.pprint
a=1,b=2,c=3
================================================================
DOUBLE PS
mlr --no-mmap --opprint cat ./reg_test/input/double-ps.dkvp
a b c
pan wy.e 3
pan wy=e 3
mlr --mmap --opprint cat ./reg_test/input/double-ps.dkvp
a b c
pan wy.e 3
pan wy=e 3
================================================================
MISSING FINAL LF
mlr --no-mmap --csvlite cat ./reg_test/input/truncated.csv
a,b,c
1,2,3
4,5,6
7,8,9
mlr --csvlite cat ./reg_test/input/truncated.csv
a,b,c
1,2,3
4,5,6
7,8,9
mlr --no-mmap --dkvp cat ./reg_test/input/truncated.dkvp
a=1,b=2
c=3
mlr --dkvp cat ./reg_test/input/truncated.dkvp
a=1,b=2
c=3
mlr --no-mmap --nidx cat ./reg_test/input/truncated.nidx
1 2 3
4 5
mlr --nidx cat ./reg_test/input/truncated.nidx
1 2 3
4 5
mlr --no-mmap --pprint cat ./reg_test/input/truncated.pprint
a b c
1 2 3
4 5 6
7 8 9
mlr --pprint cat ./reg_test/input/truncated.pprint
a b c
1 2 3
4 5 6
7 8 9
mlr --no-mmap --xtab cat ./reg_test/input/truncated.xtab
a 1
b 2
c 3
d 4
e 5
mlr --xtab cat ./reg_test/input/truncated.xtab
a 1
b 2
c 3
d 4
e 5
================================================================
UTF-8 alignment
mlr --icsvlite --opprint cat ./reg_test/input/utf8-1.csv
langue nom jour
français françois vendredi
mlr --icsvlite --opprint cat ./reg_test/input/utf8-2.csv
français françois vendredi
langue nom jour
mlr --icsvlite --oxtab cat ./reg_test/input/utf8-1.csv
langue français
nom françois
jour vendredi
mlr --icsvlite --oxtab cat ./reg_test/input/utf8-2.csv
français langue
françois nom
vendredi jour
mlr --inidx --ifs space --opprint cat ./reg_test/input/utf8-align.nidx
1 2
191º test
191 test2
francois français
françois francais
mlr --inidx --ifs space --opprint --right cat ./reg_test/input/utf8-align.nidx
1 2
191º test
191 test2
francois français
françois francais
mlr --oxtab cat ./reg_test/input/utf8-align.dkvp
191º test
1912 test2
cois çais
çois cais
191º test
1912 test2
ois çais
çois cais
191º test
1912 test2
coise çais
çois cais
mlr --inidx --ifs space --oxtab --xvright cat ./reg_test/input/utf8-align.nidx
1 191º
2 test
1 191
2 test2
1 francois
2 français
1 françois
2 francais
================================================================
MMAP AT PAGE BOUNDARIES
mlr --dkvp tail -n 4 ./reg_test/input/page-aligned-final-ifs.dkvp
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=
mlr --dkvp tail -n 4 ./reg_test/input/page-aligned-final-irs.dkvp
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
mlr --dkvp tail -n 4 ./reg_test/input/page-aligned-final-no-ifs.dkvp
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,3=z
mlr --dkvp tail -n 4 ./reg_test/input/page-aligned-no-final-irs.dkvp
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=cccccccccccccccccccccccccccccccccccccccccccccccc
x=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,y=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,z=ccccccccccccccccccccccccccccccccccccccccccccccccc
mlr --nidx tail -n 4 ./reg_test/input/page-aligned-no-final-irs.nidx
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,33333333333333333333333333333333333333333333
mlr --csvlite tail -n 4 ./reg_test/input/page-aligned-no-final-irs.csvl
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,ccccccccccccccccccccccccccccccccccccccccccc
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,33333333333333333333333333333333333333333333
mlr --csv --rs lf tail -n 4 ./reg_test/input/page-aligned-no-final-irs.csvl
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,ccccccccccccccccccccccccccccccccccccccccccc
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,3333333333333333333333333333333333333333333
11111111111111111111111111111111111111,22222222222222222222222222222222222222222222,33333333333333333333333333333333333333333333
mlr --xtab tail -n 4 ./reg_test/input/page-aligned-no-final-eol.xtab
aaaaaaaaaaaaaaaaaaaa 111111111111111111111
bbbbbbbbbbbbbbbbbbbb 22222222222222222222
cccccccccccccccccccc 33333333333333333333
aaaaaaaaaaaaaaaaaaaa 111111111111111111111
bbbbbbbbbbbbbbbbbbbb 22222222222222222222
cccccccccccccccccccc 33333333333333333333
aaaaaaaaaaaaaaaaaaaa 111111111111111111111
bbbbbbbbbbbbbbbbbbbb 22222222222222222222
cccccccccccccccccccc 33333333333333333333
aaaaaaaaaaaaaaaaaaaa 111111111111111111111
bbbbbbbbbbbbbbbbbbbb 22222222222222222222
cccccccccccccccccccc 3333333333333333333333
================================================================
INT64 I/O
mlr --oxtab put $c=$a;$d=$b;$e=hexfmt($a);$f=hexfmt($b) ./reg_test/input/int64io.dkvp
a 0x1
b 1
c 1
d 1
e 0x1
f 0x1
a 0x7ffffffffffffffe
b 9223372036854775806
c 9223372036854775806
d 9223372036854775806
e 0x7ffffffffffffffe
f 0x7ffffffffffffffe
a 0x7fffffffffffffff
b 9223372036854775807
c 9223372036854775807
d 9223372036854775807
e 0x7fffffffffffffff
f 0x7fffffffffffffff
a 0x8000000000000000
b -9223372036854775808
c -9223372036854775808
d -9223372036854775808
e 0x8000000000000000
f 0x8000000000000000
a 0xffffffffffffffff
b -1
c -1
d -1
e 0xffffffffffffffff
f 0xffffffffffffffff
mlr --oxtab --ofmt %.8g put $p0=$p+0;$p1=$p+1;$p2=$p+2;$p3=$p+3 ./reg_test/input/int64arith.dkvp
p 0x7ffffffffffff9ff
n 0x8000000000000000
p0 9223372036854774271
p1 9223372036854774272
p2 9223372036854774273
p3 9223372036854774274
p 0x7ffffffffffffa00
n 0x8000000000000001
p0 9223372036854774272
p1 9223372036854774273
p2 9223372036854774274
p3 9223372036854774275
p 0x7ffffffffffffbff
n 0x8000000000000200
p0 9223372036854774783
p1 9223372036854774784
p2 9223372036854774785
p3 9223372036854774786
p 0x7ffffffffffffc00
n 0x8000000000000400
p0 9223372036854774784
p1 9223372036854774785
p2 9223372036854774786
p3 9223372036854774787
p 0x7ffffffffffffe00
n 0x8000000000000401
p0 9223372036854775296
p1 9223372036854775297
p2 9223372036854775298
p3 9223372036854775299
p 0x7ffffffffffffffe
n 0x8000000000000600
p0 9223372036854775806
p1 9223372036854775807
p2 9.223372e+18
p3 9.223372e+18
p 0x7fffffffffffffff
n 0x8000000000000601
p0 9223372036854775807
p1 9.223372e+18
p2 9.223372e+18
p3 9.223372e+18
mlr --oxtab --ofmt %.8g put $p0=$p-0;$p1=$p-1;$p2=$p-2;$p3=$p-3 ./reg_test/input/int64arith.dkvp
p 0x7ffffffffffff9ff
n 0x8000000000000000
p0 9223372036854774271
p1 9223372036854774270
p2 9223372036854774269
p3 9223372036854774268
p 0x7ffffffffffffa00
n 0x8000000000000001
p0 9223372036854774272
p1 9223372036854774271
p2 9223372036854774270
p3 9223372036854774269
p 0x7ffffffffffffbff
n 0x8000000000000200
p0 9223372036854774783
p1 9223372036854774782
p2 9223372036854774781
p3 9223372036854774780
p 0x7ffffffffffffc00
n 0x8000000000000400
p0 9223372036854774784
p1 9223372036854774783
p2 9223372036854774782
p3 9223372036854774781
p 0x7ffffffffffffe00
n 0x8000000000000401
p0 9223372036854775296
p1 9223372036854775295
p2 9223372036854775294
p3 9223372036854775293
p 0x7ffffffffffffffe
n 0x8000000000000600
p0 9223372036854775806
p1 9223372036854775805
p2 9223372036854775804
p3 9223372036854775803
p 0x7fffffffffffffff
n 0x8000000000000601
p0 9223372036854775807
p1 9223372036854775806
p2 9223372036854775805
p3 9223372036854775804
mlr --oxtab --ofmt %.8g put $p0=$p*0;$p1=$p*1;$p2=$p*2;$p3=$p*3 ./reg_test/input/int64arith.dkvp
p 0x7ffffffffffff9ff
n 0x8000000000000000
p0 0
p1 9223372036854774271
p2 1.8446744e+19
p3 2.7670116e+19
p 0x7ffffffffffffa00
n 0x8000000000000001
p0 0
p1 9223372036854774272
p2 1.8446744e+19
p3 2.7670116e+19
p 0x7ffffffffffffbff
n 0x8000000000000200
p0 0
p1 9223372036854774783
p2 1.8446744e+19
p3 2.7670116e+19
p 0x7ffffffffffffc00
n 0x8000000000000400
p0 0
p1 9223372036854774784
p2 1.8446744e+19
p3 2.7670116e+19
p 0x7ffffffffffffe00
n 0x8000000000000401
p0 0
p1 9.223372e+18
p2 1.8446744e+19
p3 2.7670116e+19
p 0x7ffffffffffffffe
n 0x8000000000000600
p0 0
p1 9.223372e+18
p2 1.8446744e+19
p3 2.7670116e+19
p 0x7fffffffffffffff
n 0x8000000000000601
p0 0
p1 9.223372e+18
p2 1.8446744e+19
p3 2.7670116e+19
mlr --oxtab --ofmt %.8g put $n0=$n+0;$n1=$n+1;$n2=$n+2;$n3=$n+3 ./reg_test/input/int64arith.dkvp
p 0x7ffffffffffff9ff
n 0x8000000000000000
n0 -9223372036854775808
n1 -9223372036854775807
n2 -9223372036854775806
n3 -9223372036854775805
p 0x7ffffffffffffa00
n 0x8000000000000001
n0 -9223372036854775807
n1 -9223372036854775806
n2 -9223372036854775805
n3 -9223372036854775804
p 0x7ffffffffffffbff
n 0x8000000000000200
n0 -9223372036854775296
n1 -9223372036854775295
n2 -9223372036854775294
n3 -9223372036854775293
p 0x7ffffffffffffc00
n 0x8000000000000400
n0 -9223372036854774784
n1 -9223372036854774783
n2 -9223372036854774782
n3 -9223372036854774781
p 0x7ffffffffffffe00
n 0x8000000000000401
n0 -9223372036854774783
n1 -9223372036854774782
n2 -9223372036854774781
n3 -9223372036854774780
p 0x7ffffffffffffffe
n 0x8000000000000600
n0 -9223372036854774272
n1 -9223372036854774271
n2 -9223372036854774270
n3 -9223372036854774269
p 0x7fffffffffffffff
n 0x8000000000000601
n0 -9223372036854774271
n1 -9223372036854774270
n2 -9223372036854774269
n3 -9223372036854774268
mlr --oxtab --ofmt %.8g put $n0=$n-0;$n1=$n-1;$n2=$n-2;$n3=$n-3 ./reg_test/input/int64arith.dkvp
p 0x7ffffffffffff9ff
n 0x8000000000000000
n0 -9223372036854775808
n1 -9.223372e+18
n2 -9.223372e+18
n3 -9.223372e+18
p 0x7ffffffffffffa00
n 0x8000000000000001
n0 -9223372036854775807
n1 -9223372036854775808
n2 -9.223372e+18
n3 -9.223372e+18
p 0x7ffffffffffffbff
n 0x8000000000000200
n0 -9223372036854775296
n1 -9223372036854775297
n2 -9223372036854775298
n3 -9223372036854775299
p 0x7ffffffffffffc00
n 0x8000000000000400
n0 -9223372036854774784
n1 -9223372036854774785
n2 -9223372036854774786
n3 -9223372036854774787
p 0x7ffffffffffffe00
n 0x8000000000000401
n0 -9223372036854774783
n1 -9223372036854774784
n2 -9223372036854774785
n3 -9223372036854774786
p 0x7ffffffffffffffe
n 0x8000000000000600
n0 -9223372036854774272
n1 -9223372036854774273
n2 -9223372036854774274
n3 -9223372036854774275
p 0x7fffffffffffffff
n 0x8000000000000601
n0 -9223372036854774271
n1 -9223372036854774272
n2 -9223372036854774273
n3 -9223372036854774274
mlr --oxtab --ofmt %.8g put $n0=$n*0;$n1=$n*1;$n2=$n*2;$n3=$n*3 ./reg_test/input/int64arith.dkvp
p 0x7ffffffffffff9ff
n 0x8000000000000000
n0 0
n1 -9.223372e+18
n2 -1.8446744e+19
n3 -2.7670116e+19
p 0x7ffffffffffffa00
n 0x8000000000000001
n0 0
n1 -9.223372e+18
n2 -1.8446744e+19
n3 -2.7670116e+19
p 0x7ffffffffffffbff
n 0x8000000000000200
n0 0
n1 -9.223372e+18
n2 -1.8446744e+19
n3 -2.7670116e+19
p 0x7ffffffffffffc00
n 0x8000000000000400
n0 0
n1 -9223372036854774784
n2 -1.8446744e+19
n3 -2.7670116e+19
p 0x7ffffffffffffe00
n 0x8000000000000401
n0 0
n1 -9223372036854774783
n2 -1.8446744e+19
n3 -2.7670116e+19
p 0x7ffffffffffffffe
n 0x8000000000000600
n0 0
n1 -9223372036854774272
n2 -1.8446744e+19
n3 -2.7670116e+19
p 0x7fffffffffffffff
n 0x8000000000000601
n0 0
n1 -9223372036854774271
n2 -1.8446744e+19
n3 -2.7670116e+19
================================================================
COMPRESSED INPUT
mlr --csv --prepipe cat cat ./reg_test/input/rfc-csv/simple.csv
a,b,c
1,x,3
4,5,6
x,"y""yy",z
mlr --dkvp --prepipe cat cat ./reg_test/input/abixy
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 --csv --prepipe cat cat
a,b,c
1,x,3
4,5,6
x,"y""yy",z
mlr --dkvp --prepipe cat cat
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
================================================================
STDIN
mlr --csv cat
a,b,c
1,x,3
4,5,6
x,"y""yy",z
================================================================
RFC-CSV
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/simple.csv
a,b,c
1,x,3
4,5,6
x,"y""yy",z
mlr --mmap --csv cat ./reg_test/input/rfc-csv/simple.csv
a,b,c
1,x,3
4,5,6
x,"y""yy",z
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/simple-truncated.csv
a,b,c
1,x,3
4,5,6
mlr --mmap --csv cat ./reg_test/input/rfc-csv/simple-truncated.csv
a,b,c
1,x,3
4,5,6
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/narrow.csv
a
1
2
3
4
mlr --mmap --csv cat ./reg_test/input/rfc-csv/narrow.csv
a
1
2
3
4
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/narrow-truncated.csv
a
1
2
3
4
mlr --mmap --csv cat ./reg_test/input/rfc-csv/narrow-truncated.csv
a
1
2
3
4
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/quoted-comma.csv
a,b,c
1,"x,3",y
4,5,6
mlr --mmap --csv cat ./reg_test/input/rfc-csv/quoted-comma.csv
a,b,c
1,"x,3",y
4,5,6
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/quoted-comma-truncated.csv
a,b,c
1,"x,3",y
4,5,6
mlr --mmap --csv cat ./reg_test/input/rfc-csv/quoted-comma-truncated.csv
a,b,c
1,"x,3",y
4,5,6
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/quoted-crlf.csv
a,b,c
1,"x
3",y
4,5,6
mlr --mmap --csv cat ./reg_test/input/rfc-csv/quoted-crlf.csv
a,b,c
1,"x
3",y
4,5,6
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/quoted-crlf-truncated.csv
a,b,c
1,"x
3",y
4,5,6
mlr --mmap --csv cat ./reg_test/input/rfc-csv/quoted-crlf-truncated.csv
a,b,c
1,"x
3",y
4,5,6
mlr --no-mmap --csv cat ./reg_test/input/rfc-csv/simple-truncated.csv ./reg_test/input/rfc-csv/simple.csv
a,b,c
1,x,3
4,5,6
1,x,3
4,5,6
x,"y""yy",z
mlr --mmap --csv cat ./reg_test/input/rfc-csv/simple-truncated.csv ./reg_test/input/rfc-csv/simple.csv
a,b,c
1,x,3
4,5,6
1,x,3
4,5,6
x,"y""yy",z
mlr --no-mmap --csv --ifs semicolon --ofs pipe --irs lf --ors lflf cut -x -f b ./reg_test/input/rfc-csv/modify-defaults.csv
a|c
1|3
4|6
mlr --mmap --csv --ifs semicolon --ofs pipe --irs lf --ors lflf cut -x -f b ./reg_test/input/rfc-csv/modify-defaults.csv
a|c
1|3
4|6
mlr --no-mmap --csv --rs lf --quote-original cut -o -f c,b,a ./reg_test/input/quote-original.csv
c,b,a
3,2,1
6,"5",4
"9",8,"7"
mlr --mmap --csv --rs lf --quote-original cut -o -f c,b,a ./reg_test/input/quote-original.csv
c,b,a
3,2,1
6,"5",4
"9",8,"7"
mlr --csv --quote-all cat ./reg_test/input/rfc-csv/simple.csv
"a","b","c"
"1","x","3"
"4","5","6"
"x","y""yy","z"
mlr --csv --quote-original cat ./reg_test/input/rfc-csv/simple.csv
a,b,c
1,x,3
4,5,6
"x","y""yy","z"
mlr --itsv --rs lf --oxtab cat ./reg_test/input/simple.tsv
a pan
b pan
i 1
x 2
y 0.989945
a eks
b pan
i 2
x 1
y 0.775159
a wye
b wye
i 3
x 1
y 0.761642
a eks
b wye
i 4
x 5
y 0.322934
a wye
b pan
i 5
x 5
y 0.448283
================================================================
MARKDOWN OUTPUT
mlr --itsv --rs lf --omd cat ./reg_test/input/simple.tsv
| a | b | i | x | y |
| --- | --- | --- | --- | --- |
| pan | pan | 1 | 2 | 0.989945 |
| eks | pan | 2 | 1 | 0.775159 |
| wye | wye | 3 | 1 | 0.761642 |
| eks | wye | 4 | 5 | 0.322934 |
| wye | pan | 5 | 5 | 0.448283 |
================================================================
CSV/RS ENVIRONMENT DEFAULTS
mlr --csv cut -f a ./reg_test/input/rfc-csv/simple.csv
a
1
4
x
mlr --csv --rs crlf cut -f a ./reg_test/input/rfc-csv/simple.csv
a
1
4
x
mlr --csv --rs lf cut -f a ./reg_test/input/rfc-csv/simple.csv
mlr: unmatched double quote at line 3.
a
1
4
mlr --csv cut -f a ./reg_test/input/rfc-csv/simple.csv
mlr: unmatched double quote at line 3.
a
1
4
mlr --csv --rs crlf cut -f a ./reg_test/input/rfc-csv/simple.csv
a
1
4
x
mlr --csv --rs lf cut -f a ./reg_test/input/rfc-csv/simple.csv
mlr: unmatched double quote at line 3.
a
1
4
mlr --csv cut -f a ./reg_test/input/rfc-csv/simple.csv
a
1
4
x
mlr --csv --rs crlf cut -f a ./reg_test/input/rfc-csv/simple.csv
a
1
4
x
mlr --csv --rs lf cut -f a ./reg_test/input/rfc-csv/simple.csv
mlr: unmatched double quote at line 3.
a
1
4
================================================================
MULTI-CHARACTER IRS/IFS/IPS FOR DKVP
mlr --oxtab --idkvp --mmap --irs lf --ifs , --ips = cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x :0.641593543645736508/
a :wye/
i :0/
x :0.827614412562742041/
a :eks/
i :1/
x :0.923068348748175560/
a :zee/
i :2/
x :0.000047786161325772/
a :zee/
i :3/
x :0.676537984365847889/
a :zee/
i :4/
mlr --oxtab --idkvp --mmap --irs lf --ifs /, --ips =: cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
mlr --oxtab --idkvp --mmap --irs crlf --ifs , --ips = cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x :0.641593543645736508/
a :wye/
i :0/
x :0.827614412562742041/
a :eks/
i :1/
x :0.923068348748175560/
a :zee/
i :2/
x :0.000047786161325772/
a :zee/
i :3/
x :0.676537984365847889/
a :zee/
i :4/
mlr --oxtab --idkvp --mmap --irs crlf --ifs /, --ips =: cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
mlr --oxtab --no-mmap --irs lf --ifs , --ips = cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x :0.641593543645736508/
a :wye/
i :0/
x :0.827614412562742041/
a :eks/
i :1/
x :0.923068348748175560/
a :zee/
i :2/
x :0.000047786161325772/
a :zee/
i :3/
x :0.676537984365847889/
a :zee/
i :4/
mlr --oxtab --no-mmap --irs lf --ifs /, --ips =: cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
mlr --oxtab --no-mmap --irs crlf --ifs , --ips = cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x :0.641593543645736508/
a :wye/
i :0/
x :0.827614412562742041/
a :eks/
i :1/
x :0.923068348748175560/
a :zee/
i :2/
x :0.000047786161325772/
a :zee/
i :3/
x :0.676537984365847889/
a :zee/
i :4/
mlr --oxtab --no-mmap --irs crlf --ifs /, --ips =: cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
================================================================
MULTI-CHARACTER IRS/IFS FOR NIDX
mlr --oxtab --inidx --mmap --irs lf --ifs , cut -o -f 4,1,3 ./reg_test/input/multi-sep.dkvp
4 x=:0.641593543645736508/
1 a=:wye/
3 i=:0/
4 x=:0.827614412562742041/
1 a=:eks/
3 i=:1/
4 x=:0.923068348748175560/
1 a=:zee/
3 i=:2/
4 x=:0.000047786161325772/
1 a=:zee/
3 i=:3/
4 x=:0.676537984365847889/
1 a=:zee/
3 i=:4/
mlr --oxtab --inidx --mmap --irs lf --ifs /, cut -o -f 4,1,3 ./reg_test/input/multi-sep.dkvp
4 x=:0.641593543645736508
1 a=:wye
3 i=:0
4 x=:0.827614412562742041
1 a=:eks
3 i=:1
4 x=:0.923068348748175560
1 a=:zee
3 i=:2
4 x=:0.000047786161325772
1 a=:zee
3 i=:3
4 x=:0.676537984365847889
1 a=:zee
3 i=:4
mlr --oxtab --inidx --mmap --irs crlf --ifs , cut -o -f 4,1,3 ./reg_test/input/multi-sep.dkvp
4 x=:0.641593543645736508/
1 a=:wye/
3 i=:0/
4 x=:0.827614412562742041/
1 a=:eks/
3 i=:1/
4 x=:0.923068348748175560/
1 a=:zee/
3 i=:2/
4 x=:0.000047786161325772/
1 a=:zee/
3 i=:3/
4 x=:0.676537984365847889/
1 a=:zee/
3 i=:4/
mlr --oxtab --inidx --mmap --irs crlf --ifs /, cut -o -f 4,1,3 ./reg_test/input/multi-sep.dkvp
4 x=:0.641593543645736508
1 a=:wye
3 i=:0
4 x=:0.827614412562742041
1 a=:eks
3 i=:1
4 x=:0.923068348748175560
1 a=:zee
3 i=:2
4 x=:0.000047786161325772
1 a=:zee
3 i=:3
4 x=:0.676537984365847889
1 a=:zee
3 i=:4
mlr --oxtab --inidx --no-mmap --irs lf --ifs , cut -o -f 4,1,3 ./reg_test/input/multi-sep.dkvp
4 x=:0.641593543645736508/
1 a=:wye/
3 i=:0/
4 x=:0.827614412562742041/
1 a=:eks/
3 i=:1/
4 x=:0.923068348748175560/
1 a=:zee/
3 i=:2/
4 x=:0.000047786161325772/
1 a=:zee/
3 i=:3/
4 x=:0.676537984365847889/
1 a=:zee/
3 i=:4/
mlr --oxtab --inidx --no-mmap --irs lf --ifs /, cut -o -f 4,1,3 ./reg_test/input/multi-sep.dkvp
4 x=:0.641593543645736508
1 a=:wye
3 i=:0
4 x=:0.827614412562742041
1 a=:eks
3 i=:1
4 x=:0.923068348748175560
1 a=:zee
3 i=:2
4 x=:0.000047786161325772
1 a=:zee
3 i=:3
4 x=:0.676537984365847889
1 a=:zee
3 i=:4
mlr --oxtab --inidx --no-mmap --irs crlf --ifs , cut -o -f 4,1,3 ./reg_test/input/multi-sep.dkvp
4 x=:0.641593543645736508/
1 a=:wye/
3 i=:0/
4 x=:0.827614412562742041/
1 a=:eks/
3 i=:1/
4 x=:0.923068348748175560/
1 a=:zee/
3 i=:2/
4 x=:0.000047786161325772/
1 a=:zee/
3 i=:3/
4 x=:0.676537984365847889/
1 a=:zee/
3 i=:4/
mlr --oxtab --inidx --no-mmap --irs crlf --ifs /, cut -o -f 4,1,3 ./reg_test/input/multi-sep.dkvp
4 x=:0.641593543645736508
1 a=:wye
3 i=:0
4 x=:0.827614412562742041
1 a=:eks
3 i=:1
4 x=:0.923068348748175560
1 a=:zee
3 i=:2
4 x=:0.000047786161325772
1 a=:zee
3 i=:3
4 x=:0.676537984365847889
1 a=:zee
3 i=:4
================================================================
MULTI-CHARACTER IRS/IFS FOR CSVLITE
mlr --oxtab --icsvlite --mmap --irs lf --ifs , cut -o -f x/,a/,i/ ./reg_test/input/multi-sep.csv
x/ 0.641593543645736508/
a/ wye/
i/ 0/
x/ 0.827614412562742041/
a/ eks/
i/ 1/
x/ 0.923068348748175560/
a/ zee/
i/ 2/
x/ 0.000047786161325772/
a/ zee/
i/ 3/
x/ 0.676537984365847889/
a/ zee/
i/ 4/
mlr --oxtab --icsvlite --mmap --irs lf --ifs /, cut -o -f x,a,i ./reg_test/input/multi-sep.csv
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
mlr --oxtab --icsvlite --mmap --irs crlf --ifs , cut -o -f x/,a/,i/ ./reg_test/input/multi-sep.csv
x/ 0.641593543645736508/
a/ wye/
i/ 0/
x/ 0.827614412562742041/
a/ eks/
i/ 1/
x/ 0.923068348748175560/
a/ zee/
i/ 2/
x/ 0.000047786161325772/
a/ zee/
i/ 3/
x/ 0.676537984365847889/
a/ zee/
i/ 4/
mlr --oxtab --icsvlite --mmap --irs crlf --ifs /, cut -o -f x,a,i ./reg_test/input/multi-sep.csv
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
mlr --oxtab --icsvlite --no-mmap --irs lf --ifs , cut -o -f x/,a/,i/ ./reg_test/input/multi-sep.csv
x/ 0.641593543645736508/
a/ wye/
i/ 0/
x/ 0.827614412562742041/
a/ eks/
i/ 1/
x/ 0.923068348748175560/
a/ zee/
i/ 2/
x/ 0.000047786161325772/
a/ zee/
i/ 3/
x/ 0.676537984365847889/
a/ zee/
i/ 4/
mlr --oxtab --icsvlite --no-mmap --irs lf --ifs /, cut -o -f x,a,i ./reg_test/input/multi-sep.csv
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
mlr --oxtab --icsvlite --no-mmap --irs crlf --ifs , cut -o -f x/,a/,i/ ./reg_test/input/multi-sep.csv
x/ 0.641593543645736508/
a/ wye/
i/ 0/
x/ 0.827614412562742041/
a/ eks/
i/ 1/
x/ 0.923068348748175560/
a/ zee/
i/ 2/
x/ 0.000047786161325772/
a/ zee/
i/ 3/
x/ 0.676537984365847889/
a/ zee/
i/ 4/
mlr --oxtab --icsvlite --no-mmap --irs crlf --ifs /, cut -o -f x,a,i ./reg_test/input/multi-sep.csv
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
================================================================
MULTI-CHARACTER SEPARATORS FOR XTAB
mlr --mmap --xtab --ifs crlf --ofs Z cut -x -f b ./reg_test/input/truncated.xtab-crlf
a 1Zc 3ZZd 4Ze 5Z
mlr --no-mmap --xtab --ifs crlf --ofs Z cut -x -f b ./reg_test/input/truncated.xtab-crlf
a 1Zc 3ZZd 4Ze 5Z
mlr --mmap --xtab --ips . --ops @ cut -x -f b ./reg_test/input/dots.xtab
a@1
c@345
defg@6
hi@@@78
mlr --no-mmap --xtab --ips . --ops @ cut -x -f b ./reg_test/input/dots.xtab
a@1
c@345
defg@6
hi@@@78
mlr --no-mmap --xtab --ips . --ops := cut -x -f b ./reg_test/input/dots.xtab
a:=1
c:=345
defg:=6
hi:=78
mlr --xtab --ips : --ops @@@@ put $sum=int($a+$b) ./reg_test/input/multi-ips.dkvp
a@@@@1
b@@@@2
sum@@@@3
================================================================
MULTI-CHARACTER IRS FOR PPRINT
mlr --mmap --pprint --irs crlf --ifs / --ofs @ cut -x -f b ./reg_test/input/dots.pprint
a@@@i@@x@@@@@@@@@@@@@@@@@@@y
pan@1@@0.3467901443380824@@0.7268028627434533
eks@2@@0.7586799647899636@@0.5221511083334797
wye@3@@0.20460330576630303@0.33831852551664776
eks@4@@0.38139939387114097@0.13418874328430463
wye@5@@0.5732889198020006@@0.8636244699032729
zee@6@@0.5271261600918548@@0.49322128674835697
eks@7@@0.6117840605678454@@0.1878849191181694
zee@8@@0.5985540091064224@@0.976181385699006
hat@9@@0.03144187646093577@0.7495507603507059
pan@10@0.5026260055412137@@0.9526183602969864
mlr --no-mmap --pprint --irs crlf --ifs / --ofs @ cut -x -f b ./reg_test/input/dots.pprint
a@@@i@@x@@@@@@@@@@@@@@@@@@@y
pan@1@@0.3467901443380824@@0.7268028627434533
eks@2@@0.7586799647899636@@0.5221511083334797
wye@3@@0.20460330576630303@0.33831852551664776
eks@4@@0.38139939387114097@0.13418874328430463
wye@5@@0.5732889198020006@@0.8636244699032729
zee@6@@0.5271261600918548@@0.49322128674835697
eks@7@@0.6117840605678454@@0.1878849191181694
zee@8@@0.5985540091064224@@0.976181385699006
hat@9@@0.03144187646093577@0.7495507603507059
pan@10@0.5026260055412137@@0.9526183602969864
================================================================
BARRED PPRINT
mlr --opprint --barred cat ./reg_test/input/abixy
+-----+-----+----+---------------------+---------------------+
| a | b | i | x | y |
+-----+-----+----+---------------------+---------------------+
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
+-----+-----+----+---------------------+---------------------+
mlr --opprint --barred --right cat ./reg_test/input/abixy
+-----+-----+----+---------------------+---------------------+
| a | b | i | x | y |
+-----+-----+----+---------------------+---------------------+
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
+-----+-----+----+---------------------+---------------------+
mlr --opprint --barred cat ./reg_test/input/abixy-het
+-----+-----+---+--------------------+--------------------+
| a | b | i | x | y |
+-----+-----+---+--------------------+--------------------+
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
+-----+-----+---+--------------------+--------------------+
+-----+-----+---+---------------------+---------------------+
| aaa | b | i | x | y |
+-----+-----+---+---------------------+---------------------+
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
+-----+-----+---+---------------------+---------------------+
+-----+-----+---+---------------------+---------------------+
| a | bbb | i | x | y |
+-----+-----+---+---------------------+---------------------+
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
+-----+-----+---+---------------------+---------------------+
+-----+-----+---+--------------------+--------------------+
| a | b | i | xxx | y |
+-----+-----+---+--------------------+--------------------+
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
+-----+-----+---+--------------------+--------------------+
+-----+-----+---+--------------------+---------------------+
| a | b | i | x | y |
+-----+-----+---+--------------------+---------------------+
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
+-----+-----+---+--------------------+---------------------+
+-----+-----+-----+--------------------+--------------------+
| a | b | iii | x | y |
+-----+-----+-----+--------------------+--------------------+
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
+-----+-----+-----+--------------------+--------------------+
+-----+-----+---+--------------------+-------------------+
| a | b | i | x | yyy |
+-----+-----+---+--------------------+-------------------+
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
+-----+-----+---+--------------------+-------------------+
+-----+-----+---+---------------------+--------------------+
| aaa | bbb | i | x | y |
+-----+-----+---+---------------------+--------------------+
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
+-----+-----+---+---------------------+--------------------+
+-----+-----+----+--------------------+--------------------+
| a | b | i | x | y |
+-----+-----+----+--------------------+--------------------+
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
+-----+-----+----+--------------------+--------------------+
mlr --opprint --barred --right cat ./reg_test/input/abixy-het
+-----+-----+---+--------------------+--------------------+
| a | b | i | x | y |
+-----+-----+---+--------------------+--------------------+
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
+-----+-----+---+--------------------+--------------------+
+-----+-----+---+---------------------+---------------------+
| aaa | b | i | x | y |
+-----+-----+---+---------------------+---------------------+
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
+-----+-----+---+---------------------+---------------------+
+-----+-----+---+---------------------+---------------------+
| a | bbb | i | x | y |
+-----+-----+---+---------------------+---------------------+
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
+-----+-----+---+---------------------+---------------------+
+-----+-----+---+--------------------+--------------------+
| a | b | i | xxx | y |
+-----+-----+---+--------------------+--------------------+
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
+-----+-----+---+--------------------+--------------------+
+-----+-----+---+--------------------+---------------------+
| a | b | i | x | y |
+-----+-----+---+--------------------+---------------------+
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
+-----+-----+---+--------------------+---------------------+
+-----+-----+-----+--------------------+--------------------+
| a | b | iii | x | y |
+-----+-----+-----+--------------------+--------------------+
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
+-----+-----+-----+--------------------+--------------------+
+-----+-----+---+--------------------+-------------------+
| a | b | i | x | yyy |
+-----+-----+---+--------------------+-------------------+
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
+-----+-----+---+--------------------+-------------------+
+-----+-----+---+---------------------+--------------------+
| aaa | bbb | i | x | y |
+-----+-----+---+---------------------+--------------------+
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
+-----+-----+---+---------------------+--------------------+
+-----+-----+----+--------------------+--------------------+
| a | b | i | x | y |
+-----+-----+----+--------------------+--------------------+
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
+-----+-----+----+--------------------+--------------------+
================================================================
MULTI-CHARACTER IXS SPECIFIERS
mlr --oxtab --idkvp --mmap --irs lf --ifs , --ips = cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x :0.641593543645736508/
a :wye/
i :0/
x :0.827614412562742041/
a :eks/
i :1/
x :0.923068348748175560/
a :zee/
i :2/
x :0.000047786161325772/
a :zee/
i :3/
x :0.676537984365847889/
a :zee/
i :4/
mlr --oxtab --idkvp --mmap --irs lf --ifs /, --ips =: cut -o -f x,a,i ./reg_test/input/multi-sep.dkvp
x 0.641593543645736508
a wye
i 0
x 0.827614412562742041
a eks
i 1
x 0.923068348748175560
a zee
i 2
x 0.000047786161325772
a zee
i 3
x 0.676537984365847889
a zee
i 4
================================================================
JSON I/O
mlr --ijson --opprint cat ./reg_test/input/small-non-nested.json
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --ijson --opprint cat ./reg_test/input/small-non-nested-wrapped.json
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --ijson --oxtab cat ./reg_test/input/small-nested.json
z:pan:1 0.726803
z:pan:0 0.952618
z:eks:0 0.134189
z:eks:1 0.187885
z:wye:1 0.863624
z:zee:0 0.976181
z:hat:1 0.749551
mlr --ojson cat ./reg_test/input/json-output-options.dkvp
{ "a": 1, "b": "x", "c": 3 }
{ "d": 4 }
{ "e": 5, "f": 6 }
mlr --ojson --jvstack cat ./reg_test/input/json-output-options.dkvp
{
"a": 1,
"b": "x",
"c": 3
}
{
"d": 4
}
{
"e": 5,
"f": 6
}
mlr --ojson --jlistwrap cat ./reg_test/input/json-output-options.dkvp
[
{ "a": 1, "b": "x", "c": 3 }
,{ "d": 4 }
,{ "e": 5, "f": 6 }
]
mlr --ojson --jvstack --jlistwrap cat ./reg_test/input/json-output-options.dkvp
[
{
"a": 1,
"b": "x",
"c": 3
}
,{
"d": 4
}
,{
"e": 5,
"f": 6
}
]
mlr --ojson --jquoteall cat ./reg_test/input/json-output-options.dkvp
{ "a": "1", "b": "x", "c": "3" }
{ "d": "4" }
{ "e": "5", "f": "6" }
mlr --ojson --jvstack --jquoteall cat ./reg_test/input/json-output-options.dkvp
{
"a": "1",
"b": "x",
"c": "3"
}
{
"d": "4"
}
{
"e": "5",
"f": "6"
}
mlr --ojson --jlistwrap --jquoteall cat ./reg_test/input/json-output-options.dkvp
[
{ "a": "1", "b": "x", "c": "3" }
,{ "d": "4" }
,{ "e": "5", "f": "6" }
]
mlr --ojson --jvstack --jlistwrap --jquoteall cat ./reg_test/input/json-output-options.dkvp
[
{
"a": "1",
"b": "x",
"c": "3"
}
,{
"d": "4"
}
,{
"e": "5",
"f": "6"
}
]
mlr --ijson --opprint cat ./reg_test/input/small-non-nested-wrapped.json ./reg_test/input/small-non-nested-wrapped.json
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --no-mmap --ijson --opprint cat ./reg_test/input/small-non-nested-wrapped.json ./reg_test/input/small-non-nested-wrapped.json
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --icsv --ojson --rs lf cat
{ "col": "abc \"def\" \\ghi" }
================================================================
FORMAT-CONVERSION KEYSTROKE-SAVERS
mlr --d2t cat ./reg_test/input/abixy.dkvp
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --d2n cat ./reg_test/input/abixy.dkvp
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --d2j cat ./reg_test/input/abixy.dkvp
{ "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 --d2p cat ./reg_test/input/abixy.dkvp
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --d2x cat ./reg_test/input/abixy.dkvp
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 --d2m cat ./reg_test/input/abixy.dkvp
| a | b | i | x | y |
| --- | --- | --- | --- | --- |
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
mlr --c2t cat ./reg_test/input/abixy.csv
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --c2d cat ./reg_test/input/abixy.csv
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 --c2n cat ./reg_test/input/abixy.csv
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --c2j cat ./reg_test/input/abixy.csv
{ "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 --c2p cat ./reg_test/input/abixy.csv
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --c2x cat ./reg_test/input/abixy.csv
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 --c2m cat ./reg_test/input/abixy.csv
| a | b | i | x | y |
| --- | --- | --- | --- | --- |
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
mlr --t2c cat ./reg_test/input/abixy.tsv
a,b,i,x,y
pan,pan,1,0.3467901443380824,0.7268028627434533
eks,pan,2,0.7586799647899636,0.5221511083334797
wye,wye,3,0.20460330576630303,0.33831852551664776
eks,wye,4,0.38139939387114097,0.13418874328430463
wye,pan,5,0.5732889198020006,0.8636244699032729
zee,pan,6,0.5271261600918548,0.49322128674835697
eks,zee,7,0.6117840605678454,0.1878849191181694
zee,wye,8,0.5985540091064224,0.976181385699006
hat,wye,9,0.03144187646093577,0.7495507603507059
pan,wye,10,0.5026260055412137,0.9526183602969864
mlr --t2d cat ./reg_test/input/abixy.tsv
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 --t2n cat ./reg_test/input/abixy.tsv
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --t2j cat ./reg_test/input/abixy.tsv
{ "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 --t2p cat ./reg_test/input/abixy.tsv
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --t2x cat ./reg_test/input/abixy.tsv
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 --t2m cat ./reg_test/input/abixy.tsv
| a | b | i | x | y |
| --- | --- | --- | --- | --- |
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
mlr --n2c cat ./reg_test/input/abixy.nidx
1,2,3,4,5
pan,pan,1,0.3467901443380824,0.7268028627434533
eks,pan,2,0.7586799647899636,0.5221511083334797
wye,wye,3,0.20460330576630303,0.33831852551664776
eks,wye,4,0.38139939387114097,0.13418874328430463
wye,pan,5,0.5732889198020006,0.8636244699032729
zee,pan,6,0.5271261600918548,0.49322128674835697
eks,zee,7,0.6117840605678454,0.1878849191181694
zee,wye,8,0.5985540091064224,0.976181385699006
hat,wye,9,0.03144187646093577,0.7495507603507059
pan,wye,10,0.5026260055412137,0.9526183602969864
mlr --n2t cat ./reg_test/input/abixy.nidx
1 2 3 4 5
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --n2d cat ./reg_test/input/abixy.nidx
1=pan,2=pan,3=1,4=0.3467901443380824,5=0.7268028627434533
1=eks,2=pan,3=2,4=0.7586799647899636,5=0.5221511083334797
1=wye,2=wye,3=3,4=0.20460330576630303,5=0.33831852551664776
1=eks,2=wye,3=4,4=0.38139939387114097,5=0.13418874328430463
1=wye,2=pan,3=5,4=0.5732889198020006,5=0.8636244699032729
1=zee,2=pan,3=6,4=0.5271261600918548,5=0.49322128674835697
1=eks,2=zee,3=7,4=0.6117840605678454,5=0.1878849191181694
1=zee,2=wye,3=8,4=0.5985540091064224,5=0.976181385699006
1=hat,2=wye,3=9,4=0.03144187646093577,5=0.7495507603507059
1=pan,2=wye,3=10,4=0.5026260055412137,5=0.9526183602969864
mlr --n2j cat ./reg_test/input/abixy.nidx
{ "1": "pan", "2": "pan", "3": 1, "4": 0.3467901443380824, "5": 0.7268028627434533 }
{ "1": "eks", "2": "pan", "3": 2, "4": 0.7586799647899636, "5": 0.5221511083334797 }
{ "1": "wye", "2": "wye", "3": 3, "4": 0.20460330576630303, "5": 0.33831852551664776 }
{ "1": "eks", "2": "wye", "3": 4, "4": 0.38139939387114097, "5": 0.13418874328430463 }
{ "1": "wye", "2": "pan", "3": 5, "4": 0.5732889198020006, "5": 0.8636244699032729 }
{ "1": "zee", "2": "pan", "3": 6, "4": 0.5271261600918548, "5": 0.49322128674835697 }
{ "1": "eks", "2": "zee", "3": 7, "4": 0.6117840605678454, "5": 0.1878849191181694 }
{ "1": "zee", "2": "wye", "3": 8, "4": 0.5985540091064224, "5": 0.976181385699006 }
{ "1": "hat", "2": "wye", "3": 9, "4": 0.03144187646093577, "5": 0.7495507603507059 }
{ "1": "pan", "2": "wye", "3": 10, "4": 0.5026260055412137, "5": 0.9526183602969864 }
mlr --n2p cat ./reg_test/input/abixy.nidx
1 2 3 4 5
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --n2x cat ./reg_test/input/abixy.nidx
1 pan
2 pan
3 1
4 0.3467901443380824
5 0.7268028627434533
1 eks
2 pan
3 2
4 0.7586799647899636
5 0.5221511083334797
1 wye
2 wye
3 3
4 0.20460330576630303
5 0.33831852551664776
1 eks
2 wye
3 4
4 0.38139939387114097
5 0.13418874328430463
1 wye
2 pan
3 5
4 0.5732889198020006
5 0.8636244699032729
1 zee
2 pan
3 6
4 0.5271261600918548
5 0.49322128674835697
1 eks
2 zee
3 7
4 0.6117840605678454
5 0.1878849191181694
1 zee
2 wye
3 8
4 0.5985540091064224
5 0.976181385699006
1 hat
2 wye
3 9
4 0.03144187646093577
5 0.7495507603507059
1 pan
2 wye
3 10
4 0.5026260055412137
5 0.9526183602969864
mlr --n2m cat ./reg_test/input/abixy.nidx
| 1 | 2 | 3 | 4 | 5 |
| --- | --- | --- | --- | --- |
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
mlr --j2c cat ./reg_test/input/abixy.json
a,b,i,x,y
pan,pan,1,0.3467901443380824,0.7268028627434533
eks,pan,2,0.7586799647899636,0.5221511083334797
wye,wye,3,0.20460330576630303,0.33831852551664776
eks,wye,4,0.38139939387114097,0.13418874328430463
wye,pan,5,0.5732889198020006,0.8636244699032729
zee,pan,6,0.5271261600918548,0.49322128674835697
eks,zee,7,0.6117840605678454,0.1878849191181694
zee,wye,8,0.5985540091064224,0.976181385699006
hat,wye,9,0.03144187646093577,0.7495507603507059
pan,wye,10,0.5026260055412137,0.9526183602969864
mlr --j2t cat ./reg_test/input/abixy.json
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --j2d cat ./reg_test/input/abixy.json
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 --j2n cat ./reg_test/input/abixy.json
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --j2p cat ./reg_test/input/abixy.json
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --j2x cat ./reg_test/input/abixy.json
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 --j2m cat ./reg_test/input/abixy.json
| a | b | i | x | y |
| --- | --- | --- | --- | --- |
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
mlr --p2c cat ./reg_test/input/abixy.pprint
a,b,i,x,y
pan,pan,1,0.3467901443380824,0.7268028627434533
eks,pan,2,0.7586799647899636,0.5221511083334797
wye,wye,3,0.20460330576630303,0.33831852551664776
eks,wye,4,0.38139939387114097,0.13418874328430463
wye,pan,5,0.5732889198020006,0.8636244699032729
zee,pan,6,0.5271261600918548,0.49322128674835697
eks,zee,7,0.6117840605678454,0.1878849191181694
zee,wye,8,0.5985540091064224,0.976181385699006
hat,wye,9,0.03144187646093577,0.7495507603507059
pan,wye,10,0.5026260055412137,0.9526183602969864
mlr --p2t cat ./reg_test/input/abixy.pprint
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --p2d cat ./reg_test/input/abixy.pprint
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 --p2n cat ./reg_test/input/abixy.pprint
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --p2j cat ./reg_test/input/abixy.pprint
{ "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 --p2x cat ./reg_test/input/abixy.pprint
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 --p2m cat ./reg_test/input/abixy.pprint
| a | b | i | x | y |
| --- | --- | --- | --- | --- |
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
mlr --x2c cat ./reg_test/input/abixy.xtab
a,b,i,x,y
pan,pan,1,0.3467901443380824,0.7268028627434533
eks,pan,2,0.7586799647899636,0.5221511083334797
wye,wye,3,0.20460330576630303,0.33831852551664776
eks,wye,4,0.38139939387114097,0.13418874328430463
wye,pan,5,0.5732889198020006,0.8636244699032729
zee,pan,6,0.5271261600918548,0.49322128674835697
eks,zee,7,0.6117840605678454,0.1878849191181694
zee,wye,8,0.5985540091064224,0.976181385699006
hat,wye,9,0.03144187646093577,0.7495507603507059
pan,wye,10,0.5026260055412137,0.9526183602969864
mlr --x2t cat ./reg_test/input/abixy.xtab
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --x2d cat ./reg_test/input/abixy.xtab
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 --x2n cat ./reg_test/input/abixy.xtab
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --x2j cat ./reg_test/input/abixy.xtab
{ "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 --x2p cat ./reg_test/input/abixy.xtab
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --x2m cat ./reg_test/input/abixy.xtab
| a | b | i | x | y |
| --- | --- | --- | --- | --- |
| pan | pan | 1 | 0.3467901443380824 | 0.7268028627434533 |
| eks | pan | 2 | 0.7586799647899636 | 0.5221511083334797 |
| wye | wye | 3 | 0.20460330576630303 | 0.33831852551664776 |
| eks | wye | 4 | 0.38139939387114097 | 0.13418874328430463 |
| wye | pan | 5 | 0.5732889198020006 | 0.8636244699032729 |
| zee | pan | 6 | 0.5271261600918548 | 0.49322128674835697 |
| eks | zee | 7 | 0.6117840605678454 | 0.1878849191181694 |
| zee | wye | 8 | 0.5985540091064224 | 0.976181385699006 |
| hat | wye | 9 | 0.03144187646093577 | 0.7495507603507059 |
| pan | wye | 10 | 0.5026260055412137 | 0.9526183602969864 |
================================================================
USER-DEFINED FUNCTIONS AND SUBROUTINES
mlr --opprint --from ./reg_test/input/abixy put func f(u,v){return u+v} $o=f(NR*1000,$x)
a b i x y o
pan pan 1 0.3467901443380824 0.7268028627434533 1000.346790
eks pan 2 0.7586799647899636 0.5221511083334797 2000.758680
wye wye 3 0.20460330576630303 0.33831852551664776 3000.204603
eks wye 4 0.38139939387114097 0.13418874328430463 4000.381399
wye pan 5 0.5732889198020006 0.8636244699032729 5000.573289
zee pan 6 0.5271261600918548 0.49322128674835697 6000.527126
eks zee 7 0.6117840605678454 0.1878849191181694 7000.611784
zee wye 8 0.5985540091064224 0.976181385699006 8000.598554
hat wye 9 0.03144187646093577 0.7495507603507059 9000.031442
pan wye 10 0.5026260055412137 0.9526183602969864 10000.502626
mlr --opprint --from ./reg_test/input/abixy put func f(x,y,z){$nnn=999; int n=10; return $y} $o=f($i,$x,$y)
mlr: assignments to $-variables are not valid within func blocks.
mlr --opprint --from ./reg_test/input/abixy put subr s(a,b) { $[a] = b } call s("W", 999)
a b i x y W
pan pan 1 0.3467901443380824 0.7268028627434533 999
eks pan 2 0.7586799647899636 0.5221511083334797 999
wye wye 3 0.20460330576630303 0.33831852551664776 999
eks wye 4 0.38139939387114097 0.13418874328430463 999
wye pan 5 0.5732889198020006 0.8636244699032729 999
zee pan 6 0.5271261600918548 0.49322128674835697 999
eks zee 7 0.6117840605678454 0.1878849191181694 999
zee wye 8 0.5985540091064224 0.976181385699006 999
hat wye 9 0.03144187646093577 0.7495507603507059 999
pan wye 10 0.5026260055412137 0.9526183602969864 999
mlr --opprint --from ./reg_test/input/abixy put
func f(x,y,z) {
return x + y + z
}
subr s(a,b) {
$[a] = b;
$DID = "YES";
}
$o = f($x, $y, $i);
call s("W", NR);
a b i x y o W DID
pan pan 1 0.3467901443380824 0.7268028627434533 2.073593 1 YES
eks pan 2 0.7586799647899636 0.5221511083334797 3.280831 2 YES
wye wye 3 0.20460330576630303 0.33831852551664776 3.542922 3 YES
eks wye 4 0.38139939387114097 0.13418874328430463 4.515588 4 YES
wye pan 5 0.5732889198020006 0.8636244699032729 6.436913 5 YES
zee pan 6 0.5271261600918548 0.49322128674835697 7.020347 6 YES
eks zee 7 0.6117840605678454 0.1878849191181694 7.799669 7 YES
zee wye 8 0.5985540091064224 0.976181385699006 9.574735 8 YES
hat wye 9 0.03144187646093577 0.7495507603507059 9.780993 9 YES
pan wye 10 0.5026260055412137 0.9526183602969864 11.455244 10 YES
mlr --opprint --from ./reg_test/input/abixy put
func f(x,y,z) {
return x + y + z
}
subr s(a,b) {
$[a] = b;
return;
$DID = "YES";
}
$o = f($x, $y, $i);
call s("W", NR);
a b i x y o W
pan pan 1 0.3467901443380824 0.7268028627434533 2.073593 1
eks pan 2 0.7586799647899636 0.5221511083334797 3.280831 2
wye wye 3 0.20460330576630303 0.33831852551664776 3.542922 3
eks wye 4 0.38139939387114097 0.13418874328430463 4.515588 4
wye pan 5 0.5732889198020006 0.8636244699032729 6.436913 5
zee pan 6 0.5271261600918548 0.49322128674835697 7.020347 6
eks zee 7 0.6117840605678454 0.1878849191181694 7.799669 7
zee wye 8 0.5985540091064224 0.976181385699006 9.574735 8
hat wye 9 0.03144187646093577 0.7495507603507059 9.780993 9
pan wye 10 0.5026260055412137 0.9526183602969864 11.455244 10
mlr --from ./reg_test/input/abixy put
func f(x,y,z) {
return x + y + z
}
subr s(a,b) {
$[a] = b;
return 1 # subr must not return value
}
$o = f($x, $y, $i);
call s("W", NR);
mlr: return statements within user-defined subroutines must not return a value.
mlr --from ./reg_test/input/abixy put
func f(x,y,z) {
return # func must return value
}
subr s(a,b) {
$[a] = b;
}
$o = f($x, $y, $i);
call s("W", NR);
mlr: return statements within user-defined functions must return a value.
mlr --from ./reg_test/input/abixy --opprint put func f(x) {return k} for (k,v in $*) {$o=f($x)}
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --from ./reg_test/input/abixy --opprint put subr foo() {print "k is [".k."]"} for (k,v in $*) {call foo()}
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
k is []
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put func log(x) { return 0 } $o = log($x)
mlr: function named "log" must not override a built-in function of the same name.
mlr --from ./reg_test/input/abixy put subr log() { print "hello record ". NR } call log()
hello record 1
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
hello record 2
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
hello record 3
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
hello record 4
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
hello record 5
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
hello record 6
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
hello record 7
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
hello record 8
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
hello record 9
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
hello record 10
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put $o1 = a; int a=1000+NR; $o2 = a; a=2000+NR; $o3 = a
a b i x y o2 o3
pan pan 1 0.3467901443380824 0.7268028627434533 1001 2001
eks pan 2 0.7586799647899636 0.5221511083334797 1002 2002
wye wye 3 0.20460330576630303 0.33831852551664776 1003 2003
eks wye 4 0.38139939387114097 0.13418874328430463 1004 2004
wye pan 5 0.5732889198020006 0.8636244699032729 1005 2005
zee pan 6 0.5271261600918548 0.49322128674835697 1006 2006
eks zee 7 0.6117840605678454 0.1878849191181694 1007 2007
zee wye 8 0.5985540091064224 0.976181385699006 1008 2008
hat wye 9 0.03144187646093577 0.7495507603507059 1009 2009
pan wye 10 0.5026260055412137 0.9526183602969864 1010 2010
mlr --opprint --from ./reg_test/input/abixy put
func f(n) {
if (isnumeric(n)) {
if (n > 0) {
return n * f(n-1)
} else {
return 1
}
}
# implicitly return absent
}
$o = f(NR)
a b i x y o
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 2
wye wye 3 0.20460330576630303 0.33831852551664776 6
eks wye 4 0.38139939387114097 0.13418874328430463 24
wye pan 5 0.5732889198020006 0.8636244699032729 120
zee pan 6 0.5271261600918548 0.49322128674835697 720
eks zee 7 0.6117840605678454 0.1878849191181694 5040
zee wye 8 0.5985540091064224 0.976181385699006 40320
hat wye 9 0.03144187646093577 0.7495507603507059 362880
pan wye 10 0.5026260055412137 0.9526183602969864 3628800
mlr --opprint --from ./reg_test/input/abixy head -n 5 then put
subr s(n) {
print "n = " . n;
if (isnumeric(n)) {
if (n > 0) {
call s(n-1)
}
}
}
print "";
call s(NR)
n = 1
n = 0
n = 2
n = 1
n = 0
n = 3
n = 2
n = 1
n = 0
n = 4
n = 3
n = 2
n = 1
n = 0
n = 5
n = 4
n = 3
n = 2
n = 1
n = 0
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
mlr --from ./reg_test/input/abixy --opprint put
func f(n) {
return n+1;
}
$o1 = f(NR);
$o2 = f(f(NR));
$o3 = f(f(f(NR)));
$o4 = f(f(f(f(NR))));
$o5 = f(f(f(f(f(NR)))));
$o6 = f(f(f(f(f(f(NR))))));
a b i x y o1 o2 o3 o4 o5 o6
pan pan 1 0.3467901443380824 0.7268028627434533 2 3 4 5 6 7
eks pan 2 0.7586799647899636 0.5221511083334797 3 4 5 6 7 8
wye wye 3 0.20460330576630303 0.33831852551664776 4 5 6 7 8 9
eks wye 4 0.38139939387114097 0.13418874328430463 5 6 7 8 9 10
wye pan 5 0.5732889198020006 0.8636244699032729 6 7 8 9 10 11
zee pan 6 0.5271261600918548 0.49322128674835697 7 8 9 10 11 12
eks zee 7 0.6117840605678454 0.1878849191181694 8 9 10 11 12 13
zee wye 8 0.5985540091064224 0.976181385699006 9 10 11 12 13 14
hat wye 9 0.03144187646093577 0.7495507603507059 10 11 12 13 14 15
pan wye 10 0.5026260055412137 0.9526183602969864 11 12 13 14 15 16
mlr --from ./reg_test/input/abixy --opprint put
func f(n) {
if (n < 2) {
return 1
} else {
return f(n-1) + f(n-2)
}
}
$o = f(NR)
a b i x y o
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 2
wye wye 3 0.20460330576630303 0.33831852551664776 3
eks wye 4 0.38139939387114097 0.13418874328430463 5
wye pan 5 0.5732889198020006 0.8636244699032729 8
zee pan 6 0.5271261600918548 0.49322128674835697 13
eks zee 7 0.6117840605678454 0.1878849191181694 21
zee wye 8 0.5985540091064224 0.976181385699006 34
hat wye 9 0.03144187646093577 0.7495507603507059 55
pan wye 10 0.5026260055412137 0.9526183602969864 89
mlr --from ./reg_test/input/abixy --opprint put
func f(n) {
if (ispresent(@fcache[n])) {
return @fcache[n]
} else {
num rv = 1;
if (n >= 2) {
rv = f(n-1) + f(n-2)
}
@fcache[n] = rv;
return rv
}
}
$o = f(NR)
a b i x y o
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 2
wye wye 3 0.20460330576630303 0.33831852551664776 3
eks wye 4 0.38139939387114097 0.13418874328430463 5
wye pan 5 0.5732889198020006 0.8636244699032729 8
zee pan 6 0.5271261600918548 0.49322128674835697 13
eks zee 7 0.6117840605678454 0.1878849191181694 21
zee wye 8 0.5985540091064224 0.976181385699006 34
hat wye 9 0.03144187646093577 0.7495507603507059 55
pan wye 10 0.5026260055412137 0.9526183602969864 89
mlr --from ./reg_test/input/abixy --opprint put func f(x) { begin {} }
mlr: begin statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint put func f(x) { end {} }
mlr: end statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint put subr s(x) { begin {} }
mlr: begin statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint put subr s(x) { end {} }
mlr: end statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint put func f(x) { func g(y) {} }
mlr: func statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint put func f(x) { subr t(y) {} }
mlr: subr statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint put subr s(x) { func g(y) {} }
mlr: func statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint put subr s(x) { subr t(y) {} }
mlr: subr statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint filter func f(x) { begin {} }; true
mlr: begin statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint filter func f(x) { end {} }; true
mlr: end statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint filter subr s(x) { begin {} }; true
mlr: begin statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint filter subr s(x) { end {} }; true
mlr: end statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint filter func f(x) { func g(y) {} }; true
mlr: func statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint filter func f(x) { subr t(y) {} }; true
mlr: subr statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint filter subr s(x) { func g(y) {} }; true
mlr: func statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint filter subr s(x) { subr t(y) {} }; true
mlr: subr statements are only valid at top level.
mlr --from ./reg_test/input/abixy --opprint put func log(x) { return $x + 1 }
mlr: function named "log" must not override a built-in function of the same name.
mlr --from ./reg_test/input/abixy --opprint put func f(x) { return $x + 1 } func f(x) { return $x + 1}
mlr: function named "f" has already been defined.
mlr --from ./reg_test/input/abixy --opprint put subr s() { } subr s() { }
mlr: subroutine named "s" has already been defined.
mlr --from ./reg_test/input/abixy --opprint put subr s() { } subr s(x) { }
mlr: subroutine named "s" has already been defined.
mlr --from ./reg_test/input/abixy --opprint put subr log(text) { print "TEXT IS ".text } call log("NR is ".NR)
TEXT IS NR is 1
TEXT IS NR is 2
TEXT IS NR is 3
TEXT IS NR is 4
TEXT IS NR is 5
TEXT IS NR is 6
TEXT IS NR is 7
TEXT IS NR is 8
TEXT IS NR is 9
TEXT IS NR is 10
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --from ./reg_test/input/abixy --opprint put subr log(text) { print "TEXT IS ".text } call log("NR is ".NR)
TEXT IS NR is 1
TEXT IS NR is 2
TEXT IS NR is 3
TEXT IS NR is 4
TEXT IS NR is 5
TEXT IS NR is 6
TEXT IS NR is 7
TEXT IS NR is 8
TEXT IS NR is 9
TEXT IS NR is 10
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
mlr --from ./reg_test/input/abixy --opprint put func f(text) { print "TEXT IS ".text; return text.text } $o = f($a)
TEXT IS pan
TEXT IS eks
TEXT IS wye
TEXT IS eks
TEXT IS wye
TEXT IS zee
TEXT IS eks
TEXT IS zee
TEXT IS hat
TEXT IS pan
a b i x y o
pan pan 1 0.3467901443380824 0.7268028627434533 panpan
eks pan 2 0.7586799647899636 0.5221511083334797 ekseks
wye wye 3 0.20460330576630303 0.33831852551664776 wyewye
eks wye 4 0.38139939387114097 0.13418874328430463 ekseks
wye pan 5 0.5732889198020006 0.8636244699032729 wyewye
zee pan 6 0.5271261600918548 0.49322128674835697 zeezee
eks zee 7 0.6117840605678454 0.1878849191181694 ekseks
zee wye 8 0.5985540091064224 0.976181385699006 zeezee
hat wye 9 0.03144187646093577 0.7495507603507059 hathat
pan wye 10 0.5026260055412137 0.9526183602969864 panpan
mlr --from ./reg_test/input/abixy put begin{@x=1} func f(x) { dump; print "hello" } $o=f($i)
{
"x": 1
}
hello
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
{
"x": 1
}
hello
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
{
"x": 1
}
hello
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
{
"x": 1
}
hello
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
{
"x": 1
}
hello
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
{
"x": 1
}
hello
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
{
"x": 1
}
hello
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
{
"x": 1
}
hello
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
{
"x": 1
}
hello
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
{
"x": 1
}
hello
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from ./reg_test/input/abixy put begin{@x=1} func f(x) { dump; print "hello"; tee > "x", $* } $o=f($i)
mlr: tee statements are not valid within func blocks.
mlr --from ./reg_test/input/abixy put begin{@x=1} func f(x) { dump; print "hello"; emit > "x", @* } $o=f($i)
mlr: emit statements are not valid within func blocks.
mlr --from ./reg_test/input/abixy put func f(x,y) { return 2*y } $o = f($x,$y)
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533,o=1.453606
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797,o=1.044302
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776,o=0.676637
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463,o=0.268377
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729,o=1.727249
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697,o=0.986443
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694,o=0.375770
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006,o=1.952363
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059,o=1.499102
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,o=1.905237
mlr -n put -q -f ./reg_test/input/sieve.mlr
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
mlr -n put -q -f ./reg_test/input/mand.mlr
RCORN = -2.000000
ICORN = -2.000000
SIDE = 4.000000
IHEIGHT = 50
IWIDTH = 100
MAXITS = 100
LEVELSTEP = 5
CHARS = @X*o-.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXX.XXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXooXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXX**o..*XXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXX*-....-oXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXX@XXXXXXXXXX*......o*XXXXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXXX**oo*-.-........oo.XXXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXXXXXX....................X..o-XXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@XXXXXXXXXXXXXXX*oo......................oXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@XXX*XXXXXXXXXXXX**o........................*X*X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@XXXXXXooo***o*.*XX**X..........................o-XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@XXXXXXXX*-.......-***.............................oXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@XXXXXXXX*@..........Xo............................*XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@XXXX@XXXXXXXX*o@oX...........@...........................oXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.........................................................o*XXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@XXXXXXXXX*-.oX...........@...........................oXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@XXXXXXXXXX**@..........*o............................*XXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@XXXXXXXXXXXXX-........***.............................oXXXXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@XXXXXXXXXXXXoo****o*.XX***@..........................o-XXXXXXXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@XXXXX*XXXX*XXXXXXX**-........................***XXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@XXXXXXXXXXXXX*o*.....................@o*XXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXXXXX*....................*..o-XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXX*ooo*-.o........oo.X*XXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXX**@.....*XXXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXX*o....-o*XXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXXXo*o..*XXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXXXXXX*o*XXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXXXXX@XXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXX@@XXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
mlr --from ./reg_test/input/abixy put -v
func f(x) {
return x**2
}
func g(y) {
return y+1
}
subr s(a,b,c) {
print a.b.c
}
begin {
@a = 0;
var ell = 1;
print "local1 = ".ell;
}
end {
emit @a;
var emm = 2;
print "local2 = ".emm;
}
@a += 1;
begin {
@b = 0;
@c = 0;
print "local3 = ".ell;
}
@b += 2;
@c += 3;
end {
emit @b;
emit @c;
print "local4 = ".emm;
}
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="f", type=FUNC_DEF:
text="f", type=NON_SIGIL_NAME:
text="x", type=UNTYPED_PARAMETER_DEFINITION.
text="func_block", type=STATEMENT_BLOCK:
text="return_value", type=RETURN_VALUE:
text="**", type=OPERATOR:
text="x", type=NONINDEXED_LOCAL_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="g", type=FUNC_DEF:
text="g", type=NON_SIGIL_NAME:
text="y", type=UNTYPED_PARAMETER_DEFINITION.
text="func_block", type=STATEMENT_BLOCK:
text="return_value", type=RETURN_VALUE:
text="+", type=OPERATOR:
text="y", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="s", type=SUBR_DEF:
text="s", type=NON_SIGIL_NAME:
text="a", type=UNTYPED_PARAMETER_DEFINITION.
text="b", type=UNTYPED_PARAMETER_DEFINITION.
text="c", type=UNTYPED_PARAMETER_DEFINITION.
text="subr_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="a", type=NONINDEXED_LOCAL_VARIABLE.
text="b", type=NONINDEXED_LOCAL_VARIABLE.
text="c", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="ell", type=NONINDEXED_LOCAL_VARIABLE.
text="1", type=NUMERIC_LITERAL.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="local1 = ", type=STRING_LITERAL.
text="ell", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="emit", type=EMIT:
text="emit", type=EMIT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="stream", type=STREAM:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="emm", type=NONINDEXED_LOCAL_VARIABLE.
text="2", type=NUMERIC_LITERAL.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="local2 = ", type=STRING_LITERAL.
text="emm", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="begin", type=BEGIN:
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="local3 = ", type=STRING_LITERAL.
text="ell", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="3", type=NUMERIC_LITERAL.
text="end", type=END:
text="end_block", type=STATEMENT_BLOCK:
text="emit", type=EMIT:
text="emit", type=EMIT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="stream", type=STREAM:
text="emit", type=EMIT:
text="emit", type=EMIT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="stream", type=STREAM:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="local4 = ", type=STRING_LITERAL.
text="emm", type=NONINDEXED_LOCAL_VARIABLE.
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
BLOCKED AST:
FUNCTION DEFINITION:
text="f", type=FUNC_DEF: subframe_var_count=2 max_subframe_depth=1 max_var_depth=2
text="f", type=NON_SIGIL_NAME:
text="x", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="func_block", type=STATEMENT_BLOCK:
text="return_value", type=RETURN_VALUE:
text="**", type=OPERATOR:
text="x", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="2", type=NUMERIC_LITERAL.
FUNCTION DEFINITION:
text="g", type=FUNC_DEF: subframe_var_count=2 max_subframe_depth=1 max_var_depth=2
text="g", type=NON_SIGIL_NAME:
text="y", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="func_block", type=STATEMENT_BLOCK:
text="return_value", type=RETURN_VALUE:
text="+", type=OPERATOR:
text="y", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="1", type=NUMERIC_LITERAL.
SUBROUTINE DEFINITION:
text="s", type=SUBR_DEF: subframe_var_count=4 max_subframe_depth=1 max_var_depth=4
text="s", type=NON_SIGIL_NAME:
text="a", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="b", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="c", type=UNTYPED_PARAMETER_DEFINITION. vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="subr_block", type=STATEMENT_BLOCK:
text="print", type=PRINT:
text=".", type=OPERATOR:
text=".", type=OPERATOR:
text="a", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="b", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="c", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=2 max_subframe_depth=1 max_var_depth=2
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="ell", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="1", type=NUMERIC_LITERAL.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="local1 = ", type=STRING_LITERAL.
text="ell", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
BEGIN-BLOCK:
text="begin", type=BEGIN: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="begin_block", type=STATEMENT_BLOCK:
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="0", type=NUMERIC_LITERAL.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="local3 = ", type=STRING_LITERAL.
text="ell", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
END-BLOCK:
text="end", type=END: subframe_var_count=2 max_subframe_depth=1 max_var_depth=2
text="end_block", type=STATEMENT_BLOCK:
text="emit", type=EMIT:
text="emit", type=EMIT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="stream", type=STREAM:
text="var", type=UNTYPED_LOCAL_DEFINITION:
text="emm", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="2", type=NUMERIC_LITERAL.
text="print", type=PRINT:
text=".", type=OPERATOR:
text="local2 = ", type=STRING_LITERAL.
text="emm", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
END-BLOCK:
text="end", type=END: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="end_block", type=STATEMENT_BLOCK:
text="emit", type=EMIT:
text="emit", type=EMIT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="stream", type=STREAM:
text="emit", type=EMIT:
text="emit", type=EMIT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="stream", type=STREAM:
text="print", type=PRINT:
text=".", type=OPERATOR:
text="local4 = ", type=STRING_LITERAL.
text="emm", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text=">", type=FILE_WRITE:
text="stdout", type=STDOUT:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="a", type=STRING_LITERAL.
text="1", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="b", type=STRING_LITERAL.
text="2", type=NUMERIC_LITERAL.
text="=", type=OOSVAR_ASSIGNMENT:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="+", type=OPERATOR:
text="oosvar_keylist", type=OOSVAR_KEYLIST:
text="c", type=STRING_LITERAL.
text="3", type=NUMERIC_LITERAL.
local1 = 1
local3 =
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
local2 = 2
local4 =
a=10
b=20
c=30
================================================================
LOCALVAR SCOPE AND EXTENT
mlr --opprint --from ./reg_test/input/abixy put
func f() {
var a = 1;
if (NR > 5) {
a = 2;
}
return a;
}
func g() {
var b = 1;
if (NR > 5) {
var b = 2;
}
return b;
}
func h() {
var a = 1;
if (NR > 5) {
a = 2;
return a;
}
return a;
}
func i() {
var b = 1;
if (NR > 5) {
var b = 2;
return b;
}
return b;
}
$of = f();
$og = g();
$oh = h();
$oi = i();
a b i x y of og oh oi
pan pan 1 0.3467901443380824 0.7268028627434533 1 1 1 1
eks pan 2 0.7586799647899636 0.5221511083334797 1 1 1 1
wye wye 3 0.20460330576630303 0.33831852551664776 1 1 1 1
eks wye 4 0.38139939387114097 0.13418874328430463 1 1 1 1
wye pan 5 0.5732889198020006 0.8636244699032729 1 1 1 1
zee pan 6 0.5271261600918548 0.49322128674835697 2 1 2 2
eks zee 7 0.6117840605678454 0.1878849191181694 2 1 2 2
zee wye 8 0.5985540091064224 0.976181385699006 2 1 2 2
hat wye 9 0.03144187646093577 0.7495507603507059 2 1 2 2
pan wye 10 0.5026260055412137 0.9526183602969864 2 1 2 2
mlr --opprint --from ./reg_test/input/abixy put
func f() {
var a = 2;
var b = 2;
if (NR > 5) {
var a = 3;
b = 3;
}
return 1000 * a + b;
}
a = 1;
b = 1;
$ab = f();
$oa = a;
$ob = b;
a b i x y ab oa ob
pan pan 1 0.3467901443380824 0.7268028627434533 2002 1 1
eks pan 2 0.7586799647899636 0.5221511083334797 2002 1 1
wye wye 3 0.20460330576630303 0.33831852551664776 2002 1 1
eks wye 4 0.38139939387114097 0.13418874328430463 2002 1 1
wye pan 5 0.5732889198020006 0.8636244699032729 2002 1 1
zee pan 6 0.5271261600918548 0.49322128674835697 2003 1 1
eks zee 7 0.6117840605678454 0.1878849191181694 2003 1 1
zee wye 8 0.5985540091064224 0.976181385699006 2003 1 1
hat wye 9 0.03144187646093577 0.7495507603507059 2003 1 1
pan wye 10 0.5026260055412137 0.9526183602969864 2003 1 1
================================================================
LOCAL MAP-VARIABLE WRITE/READ
mlr --from ./reg_test/input/xyz345 put -v -a
$s = a;
$t = b[$x];
$u = c[$x][$y];
$v = d[$x][$y][$z];
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="a", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="t", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="u", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="v", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
ALLOCATING RELATIVE (PASS-1) LOCALS FOR MAIN BLOCK
ADD FOR ABSENT s @ 0u0
READ a ABSENT @ 0s0
READ b ABSENT @ 0s0
READ c ABSENT @ 0s0
READ d ABSENT @ 0s0
BLOCK main_block subframe_var_count=1 max_subframe_depth=1
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [main_block]
SUBFRAME [main_block] var_count_below=0 var_count_at=1 max_var_depth_so_far=1 subframe_depth=0
NODE a 0s0 (0:0) -> 0
NODE b 0s0 (0:0) -> 0
NODE c 0s0 (0:0) -> 0
NODE d 0s0 (0:0) -> 0
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=1 max_subframe_depth=1 max_var_depth=1
text="=", type=SREC_ASSIGNMENT:
text="s", type=FIELD_NAME.
text="a", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="=", type=SREC_ASSIGNMENT:
text="t", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="u", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="v", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=0 vardef_subframe_index=0 vardef_frame_relative_index=0
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
x=3,y=4,z=5
mlr --from ./reg_test/input/xyz345 put -v -a
d[$x][$y][$z] = 9;
$d = d[$x][$y][$z];
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="9", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
ALLOCATING RELATIVE (PASS-1) LOCALS FOR MAIN BLOCK
ADD FOR ABSENT s @ 0u0
ADD WRITE d @ 1s0
READ d PRESENT @ 1s0
BLOCK main_block subframe_var_count=2 max_subframe_depth=1
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [main_block]
SUBFRAME [main_block] var_count_below=0 var_count_at=2 max_var_depth_so_far=2 subframe_depth=0
NODE d 1s0 (0:0) -> 1
NODE d 1s0 (0:0) -> 1
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=2 max_subframe_depth=1 max_var_depth=2
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="9", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
x=3,y=4,z=5,d=9
mlr --from ./reg_test/input/xyz345 put -v -a
a = 6;
b[$x] = 7;
c[$x][$y] = 8;
d[$x][$y][$z] = 9;
$a = a;
$b = b[$x];
$c = c[$x][$y];
$d = d[$x][$y][$z];
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="a", type=NONINDEXED_LOCAL_VARIABLE.
text="6", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="b", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="7", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="c", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="8", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="9", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="a", type=FIELD_NAME.
text="a", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="b", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="c", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
ALLOCATING RELATIVE (PASS-1) LOCALS FOR MAIN BLOCK
ADD FOR ABSENT s @ 0u0
ADD WRITE a @ 1s0
ADD WRITE b @ 2s0
ADD WRITE c @ 3s0
ADD WRITE d @ 4s0
READ a PRESENT @ 1s0
READ b PRESENT @ 2s0
READ c PRESENT @ 3s0
READ d PRESENT @ 4s0
BLOCK main_block subframe_var_count=5 max_subframe_depth=1
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [main_block]
SUBFRAME [main_block] var_count_below=0 var_count_at=5 max_var_depth_so_far=5 subframe_depth=0
NODE a 1s0 (0:0) -> 1
NODE b 2s0 (0:0) -> 2
NODE c 3s0 (0:0) -> 3
NODE d 4s0 (0:0) -> 4
NODE a 1s0 (0:0) -> 1
NODE b 2s0 (0:0) -> 2
NODE c 3s0 (0:0) -> 3
NODE d 4s0 (0:0) -> 4
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=5 max_subframe_depth=1 max_var_depth=5
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="a", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="6", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="b", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="x", type=FIELD_NAME.
text="7", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="c", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="8", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=4 vardef_subframe_index=0 vardef_frame_relative_index=4
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="9", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="a", type=FIELD_NAME.
text="a", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="=", type=SREC_ASSIGNMENT:
text="b", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="c", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="d", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=4 vardef_subframe_index=0 vardef_frame_relative_index=4
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
x=3,y=4,z=5,a=6,b=7,c=8,d=9
mlr --from ./reg_test/input/xyz345 put -v -a
a = 6;
b[$x] = 7;
c[$x][$y] = 8;
d[$x][$y][$z] = 9;
$a0 = a;
$a1 = a[$x];
$a2 = a[$x][$y];
$a3 = a[$x][$y][$z];
$b0 = b;
$b1 = b[$x];
$b2 = b[$x][$y];
$b3 = b[$x][$y][$z];
$c0 = c;
$c1 = c[$x];
$c2 = c[$x][$y];
$c3 = c[$x][$y][$z];
$d0 = d;
$d1 = d[$x];
$d2 = d[$x][$y];
$d3 = d[$x][$y][$z];
RAW AST:
AST ROOT:
text="block", type=STATEMENT_BLOCK:
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="a", type=NONINDEXED_LOCAL_VARIABLE.
text="6", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="b", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="7", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="c", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="8", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="9", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="a0", type=FIELD_NAME.
text="a", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="a1", type=FIELD_NAME.
text="a", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="a2", type=FIELD_NAME.
text="a", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="a3", type=FIELD_NAME.
text="a", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="b0", type=FIELD_NAME.
text="b", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="b1", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="b2", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="b3", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="c0", type=FIELD_NAME.
text="c", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="c1", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="c2", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="c3", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="d0", type=FIELD_NAME.
text="d", type=NONINDEXED_LOCAL_VARIABLE.
text="=", type=SREC_ASSIGNMENT:
text="d1", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="d2", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="d3", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE:
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
ALLOCATING RELATIVE (PASS-1) LOCALS FOR MAIN BLOCK
ADD FOR ABSENT s @ 0u0
ADD WRITE a @ 1s0
ADD WRITE b @ 2s0
ADD WRITE c @ 3s0
ADD WRITE d @ 4s0
READ a PRESENT @ 1s0
READ a PRESENT @ 1s0
READ a PRESENT @ 1s0
READ a PRESENT @ 1s0
READ b PRESENT @ 2s0
READ b PRESENT @ 2s0
READ b PRESENT @ 2s0
READ b PRESENT @ 2s0
READ c PRESENT @ 3s0
READ c PRESENT @ 3s0
READ c PRESENT @ 3s0
READ c PRESENT @ 3s0
READ d PRESENT @ 4s0
READ d PRESENT @ 4s0
READ d PRESENT @ 4s0
READ d PRESENT @ 4s0
BLOCK main_block subframe_var_count=5 max_subframe_depth=1
ALLOCATING ABSOLUTE (PASS-2) LOCALS FOR DEFINITION BLOCK [main_block]
SUBFRAME [main_block] var_count_below=0 var_count_at=5 max_var_depth_so_far=5 subframe_depth=0
NODE a 1s0 (0:0) -> 1
NODE b 2s0 (0:0) -> 2
NODE c 3s0 (0:0) -> 3
NODE d 4s0 (0:0) -> 4
NODE a 1s0 (0:0) -> 1
NODE a 1s0 (0:0) -> 1
NODE a 1s0 (0:0) -> 1
NODE a 1s0 (0:0) -> 1
NODE b 2s0 (0:0) -> 2
NODE b 2s0 (0:0) -> 2
NODE b 2s0 (0:0) -> 2
NODE b 2s0 (0:0) -> 2
NODE c 3s0 (0:0) -> 3
NODE c 3s0 (0:0) -> 3
NODE c 3s0 (0:0) -> 3
NODE c 3s0 (0:0) -> 3
NODE d 4s0 (0:0) -> 4
NODE d 4s0 (0:0) -> 4
NODE d 4s0 (0:0) -> 4
NODE d 4s0 (0:0) -> 4
BLOCKED AST:
MAIN BLOCK:
text="main_block", type=STATEMENT_BLOCK: subframe_var_count=5 max_subframe_depth=1 max_var_depth=5
text="=", type=NONINDEXED_LOCAL_ASSIGNMENT:
text="a", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="6", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="b", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="x", type=FIELD_NAME.
text="7", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="c", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="8", type=NUMERIC_LITERAL.
text="=", type=INDEXED_LOCAL_ASSIGNMENT:
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=4 vardef_subframe_index=0 vardef_frame_relative_index=4
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="9", type=NUMERIC_LITERAL.
text="=", type=SREC_ASSIGNMENT:
text="a0", type=FIELD_NAME.
text="a", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="=", type=SREC_ASSIGNMENT:
text="a1", type=FIELD_NAME.
text="a", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="a2", type=FIELD_NAME.
text="a", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="a3", type=FIELD_NAME.
text="a", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=1 vardef_subframe_index=0 vardef_frame_relative_index=1
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="b0", type=FIELD_NAME.
text="b", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="=", type=SREC_ASSIGNMENT:
text="b1", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="b2", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="b3", type=FIELD_NAME.
text="b", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=2 vardef_subframe_index=0 vardef_frame_relative_index=2
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="c0", type=FIELD_NAME.
text="c", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="=", type=SREC_ASSIGNMENT:
text="c1", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="c2", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="c3", type=FIELD_NAME.
text="c", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=3 vardef_subframe_index=0 vardef_frame_relative_index=3
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="d0", type=FIELD_NAME.
text="d", type=NONINDEXED_LOCAL_VARIABLE. vardef_subframe_relative_index=4 vardef_subframe_index=0 vardef_frame_relative_index=4
text="=", type=SREC_ASSIGNMENT:
text="d1", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=4 vardef_subframe_index=0 vardef_frame_relative_index=4
text="x", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="d2", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=4 vardef_subframe_index=0 vardef_frame_relative_index=4
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="=", type=SREC_ASSIGNMENT:
text="d3", type=FIELD_NAME.
text="d", type=INDEXED_LOCAL_VARIABLE: vardef_subframe_relative_index=4 vardef_subframe_index=0 vardef_frame_relative_index=4
text="x", type=FIELD_NAME.
text="y", type=FIELD_NAME.
text="z", type=FIELD_NAME.
x=3,y=4,z=5,a0=6,b1=7,c2=8,d3=9
================================================================
LOCAL MAP-VARIABLE TYPE-DECL
mlr --from ./reg_test/input/xyz345 put
map a = {};
x=3,y=4,z=5
mlr --from ./reg_test/input/xyz345 put
map a = {};
a[1]=2;
a[3][4]=5;
x=3,y=4,z=5
mlr --from ./reg_test/input/xyz345 put
map a = {};
a=2;
a[3][4]=5;
mlr: map type assertion for variable a unmet by value 2 with type int.
mlr --from ./reg_test/input/xyz345 put
map a = {};
a[3][4]=5;
a=2;
mlr: map type assertion for variable a unmet by value 2 with type int.
================================================================
TRIPLE-FORs
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
num a = 1;
for (;;) {
if (a > NR) {
break;
}
sum += a;
a += 1
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 3
wye wye 3 0.20460330576630303 0.33831852551664776 6
eks wye 4 0.38139939387114097 0.13418874328430463 10
wye pan 5 0.5732889198020006 0.8636244699032729 15
zee pan 6 0.5271261600918548 0.49322128674835697 21
eks zee 7 0.6117840605678454 0.1878849191181694 28
zee wye 8 0.5985540091064224 0.976181385699006 36
hat wye 9 0.03144187646093577 0.7495507603507059 45
pan wye 10 0.5026260055412137 0.9526183602969864 55
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
num a = 1;
for (;;) {
if (a > NR) {
break;
}
sum += a;
a += 1
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 3
wye wye 3 0.20460330576630303 0.33831852551664776 6
eks wye 4 0.38139939387114097 0.13418874328430463 10
wye pan 5 0.5732889198020006 0.8636244699032729 15
zee pan 6 0.5271261600918548 0.49322128674835697 21
eks zee 7 0.6117840605678454 0.1878849191181694 28
zee wye 8 0.5985540091064224 0.976181385699006 36
hat wye 9 0.03144187646093577 0.7495507603507059 45
pan wye 10 0.5026260055412137 0.9526183602969864 55
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
for (num a = 1; ;) {
if (a > NR) {
break;
}
sum += a;
a += 1
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 3
wye wye 3 0.20460330576630303 0.33831852551664776 6
eks wye 4 0.38139939387114097 0.13418874328430463 10
wye pan 5 0.5732889198020006 0.8636244699032729 15
zee pan 6 0.5271261600918548 0.49322128674835697 21
eks zee 7 0.6117840605678454 0.1878849191181694 28
zee wye 8 0.5985540091064224 0.976181385699006 36
hat wye 9 0.03144187646093577 0.7495507603507059 45
pan wye 10 0.5026260055412137 0.9526183602969864 55
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
num a = 1;
for (; ; a += 1) {
if (a > NR) {
break;
}
sum += a;
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 3
wye wye 3 0.20460330576630303 0.33831852551664776 6
eks wye 4 0.38139939387114097 0.13418874328430463 10
wye pan 5 0.5732889198020006 0.8636244699032729 15
zee pan 6 0.5271261600918548 0.49322128674835697 21
eks zee 7 0.6117840605678454 0.1878849191181694 28
zee wye 8 0.5985540091064224 0.976181385699006 36
hat wye 9 0.03144187646093577 0.7495507603507059 45
pan wye 10 0.5026260055412137 0.9526183602969864 55
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
for (num a=1; ; a += 1) {
if (a > NR) {
break;
}
sum += a;
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 3
wye wye 3 0.20460330576630303 0.33831852551664776 6
eks wye 4 0.38139939387114097 0.13418874328430463 10
wye pan 5 0.5732889198020006 0.8636244699032729 15
zee pan 6 0.5271261600918548 0.49322128674835697 21
eks zee 7 0.6117840605678454 0.1878849191181694 28
zee wye 8 0.5985540091064224 0.976181385699006 36
hat wye 9 0.03144187646093577 0.7495507603507059 45
pan wye 10 0.5026260055412137 0.9526183602969864 55
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
for (num a=1; a <= NR; a += 1) {
sum += a;
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 3
wye wye 3 0.20460330576630303 0.33831852551664776 6
eks wye 4 0.38139939387114097 0.13418874328430463 10
wye pan 5 0.5732889198020006 0.8636244699032729 15
zee pan 6 0.5271261600918548 0.49322128674835697 21
eks zee 7 0.6117840605678454 0.1878849191181694 28
zee wye 8 0.5985540091064224 0.976181385699006 36
hat wye 9 0.03144187646093577 0.7495507603507059 45
pan wye 10 0.5026260055412137 0.9526183602969864 55
mlr put
num a = 100;
num b = 100;
for (num a = 200, b = 300; a <= 210; a += 1, b += 1) {
print "a:".a.",b:".b
}
$oa = a;
$ob = b;
a:200,b:300
a:201,b:301
a:202,b:302
a:203,b:303
a:204,b:304
a:205,b:305
a:206,b:306
a:207,b:307
a:208,b:308
a:209,b:309
a:210,b:310
x=1,oa=100,ob=311
mlr --from ./reg_test/input/abixy put
for ( ; $x <= 10; $x += 1) {
}
a=pan,b=pan,i=1,x=10.346790,y=0.7268028627434533
a=eks,b=pan,i=2,x=10.758680,y=0.5221511083334797
a=wye,b=wye,i=3,x=10.204603,y=0.33831852551664776
a=eks,b=wye,i=4,x=10.381399,y=0.13418874328430463
a=wye,b=pan,i=5,x=10.573289,y=0.8636244699032729
a=zee,b=pan,i=6,x=10.527126,y=0.49322128674835697
a=eks,b=zee,i=7,x=10.611784,y=0.1878849191181694
a=zee,b=wye,i=8,x=10.598554,y=0.976181385699006
a=hat,b=wye,i=9,x=10.031442,y=0.7495507603507059
a=pan,b=wye,i=10,x=10.502626,y=0.9526183602969864
mlr --opprint --from ./reg_test/input/abixy put
num a = 100;
b = 200;
@c = 300;
$d = 400;
for (num i = 1; i < 1024; i *= 2) {
a += 1;
b += 1;
@c += 1;
$d += 1;
$oa = a;
$ob = b;
$oc = @c;
$od = $d;
}
a b i x y d oa ob oc od
pan pan 1 0.3467901443380824 0.7268028627434533 410 110 210 310 410
eks pan 2 0.7586799647899636 0.5221511083334797 410 110 210 310 410
wye wye 3 0.20460330576630303 0.33831852551664776 410 110 210 310 410
eks wye 4 0.38139939387114097 0.13418874328430463 410 110 210 310 410
wye pan 5 0.5732889198020006 0.8636244699032729 410 110 210 310 410
zee pan 6 0.5271261600918548 0.49322128674835697 410 110 210 310 410
eks zee 7 0.6117840605678454 0.1878849191181694 410 110 210 310 410
zee wye 8 0.5985540091064224 0.976181385699006 410 110 210 310 410
hat wye 9 0.03144187646093577 0.7495507603507059 410 110 210 310 410
pan wye 10 0.5026260055412137 0.9526183602969864 410 110 210 310 410
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
for (num a = 1; a <= 10; a += 1) {
continue;
sum += a;
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 0
eks pan 2 0.7586799647899636 0.5221511083334797 0
wye wye 3 0.20460330576630303 0.33831852551664776 0
eks wye 4 0.38139939387114097 0.13418874328430463 0
wye pan 5 0.5732889198020006 0.8636244699032729 0
zee pan 6 0.5271261600918548 0.49322128674835697 0
eks zee 7 0.6117840605678454 0.1878849191181694 0
zee wye 8 0.5985540091064224 0.976181385699006 0
hat wye 9 0.03144187646093577 0.7495507603507059 0
pan wye 10 0.5026260055412137 0.9526183602969864 0
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
for (num a = 1; a <= 10; a += 1) {
sum += a;
break;
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 1
wye wye 3 0.20460330576630303 0.33831852551664776 1
eks wye 4 0.38139939387114097 0.13418874328430463 1
wye pan 5 0.5732889198020006 0.8636244699032729 1
zee pan 6 0.5271261600918548 0.49322128674835697 1
eks zee 7 0.6117840605678454 0.1878849191181694 1
zee wye 8 0.5985540091064224 0.976181385699006 1
hat wye 9 0.03144187646093577 0.7495507603507059 1
pan wye 10 0.5026260055412137 0.9526183602969864 1
mlr --opprint --from ./reg_test/input/abixy put
num sum = 0;
for (num a = 1; a <= NR; a += 1) {
if (a == 4 || a == 5) {
continue;
}
if (a == 8) {
break;
}
sum += a;
}
$z = sum
a b i x y z
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 3
wye wye 3 0.20460330576630303 0.33831852551664776 6
eks wye 4 0.38139939387114097 0.13418874328430463 6
wye pan 5 0.5732889198020006 0.8636244699032729 6
zee pan 6 0.5271261600918548 0.49322128674835697 12
eks zee 7 0.6117840605678454 0.1878849191181694 19
zee wye 8 0.5985540091064224 0.976181385699006 19
hat wye 9 0.03144187646093577 0.7495507603507059 19
pan wye 10 0.5026260055412137 0.9526183602969864 19
mlr --opprint --from ./reg_test/input/abixy put
for ($o1 = 1; ; $o3 = 3) {
break;
}
a b i x y o1
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 1
wye wye 3 0.20460330576630303 0.33831852551664776 1
eks wye 4 0.38139939387114097 0.13418874328430463 1
wye pan 5 0.5732889198020006 0.8636244699032729 1
zee pan 6 0.5271261600918548 0.49322128674835697 1
eks zee 7 0.6117840605678454 0.1878849191181694 1
zee wye 8 0.5985540091064224 0.976181385699006 1
hat wye 9 0.03144187646093577 0.7495507603507059 1
pan wye 10 0.5026260055412137 0.9526183602969864 1
mlr --opprint --from ./reg_test/input/abixy put
for ($o1 = 1; $o1 < NR; $o1 += 1) {
}
a b i x y o1
pan pan 1 0.3467901443380824 0.7268028627434533 1
eks pan 2 0.7586799647899636 0.5221511083334797 2
wye wye 3 0.20460330576630303 0.33831852551664776 3
eks wye 4 0.38139939387114097 0.13418874328430463 4
wye pan 5 0.5732889198020006 0.8636244699032729 5
zee pan 6 0.5271261600918548 0.49322128674835697 6
eks zee 7 0.6117840605678454 0.1878849191181694 7
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
for ($o1 = 1, $o2 = 2; $o3 = 3; $o4 = 4) {
}
mlr: the final triple-for continutation statement must be a bare boolean.
mlr --opprint --from ./reg_test/input/abixy put
for ($o1 = 1, $o2 = 2; $o3 < 3, $o4 = 4; $o5 = 5) {
break;
}
mlr: the final triple-for continutation statement must be a bare boolean.
mlr --opprint --from ./reg_test/input/abixy put
$o4 = 0;
for ($o1 = 1, $o2 = 2; $o3 = 3, $o4 < 4; $o5 = 5) {
break;
}
a b i x y o4 o1 o2 o3
pan pan 1 0.3467901443380824 0.7268028627434533 0 1 2 3
eks pan 2 0.7586799647899636 0.5221511083334797 0 1 2 3
wye wye 3 0.20460330576630303 0.33831852551664776 0 1 2 3
eks wye 4 0.38139939387114097 0.13418874328430463 0 1 2 3
wye pan 5 0.5732889198020006 0.8636244699032729 0 1 2 3
zee pan 6 0.5271261600918548 0.49322128674835697 0 1 2 3
eks zee 7 0.6117840605678454 0.1878849191181694 0 1 2 3
zee wye 8 0.5985540091064224 0.976181385699006 0 1 2 3
hat wye 9 0.03144187646093577 0.7495507603507059 0 1 2 3
pan wye 10 0.5026260055412137 0.9526183602969864 0 1 2 3
================================================================
MAPVAR ASSIGNMENTS TO FULL SREC
mlr --from ./reg_test/input/xyz2 put $* = {"a":1, "b": {"x":8,"y":9}, "c":3}
a=1,c=3
mlr --from ./reg_test/input/xyz2 put $* = $*
x=3,y=4,z=5
mlr --from ./reg_test/input/xyz2 put @a = 1; $* = @a
mlr --from ./reg_test/input/xyz2 put @b[1] = 2; $* = @b
1=2
mlr --from ./reg_test/input/xyz2 put @c[1][2] = 3; $* = @c
mlr --from ./reg_test/input/xyz2 put @a = 1; $* = @*
a=1
mlr --from ./reg_test/input/xyz2 put @b[1] = 2; $* = @*
mlr --from ./reg_test/input/xyz2 put @c[1][2] = 3; $* = @*
mlr --from ./reg_test/input/xyz2 put a = 1; $* = a
mlr --from ./reg_test/input/xyz2 put b[1] = 2; $* = b
1=2
mlr --from ./reg_test/input/xyz2 put c[1][2] = 3; $* = c
================================================================
MAPVAR ASSIGNMENTS TO FULL OOSVAR
================================================================
MAPVAR ASSIGNMENTS TO OOSVAR
mlr --from ./reg_test/input/xyz2 put -q @o = {"a":1, "b": {"x":8,"y":9}, "c":3}; dump @o
{
"a": 1,
"b": {
"x": 8,
"y": 9
},
"c": 3
}
mlr --from ./reg_test/input/xyz2 put -q @o = @o; dump @o
mlr --from ./reg_test/input/xyz2 put -q @o = {"a":1, "b": {"x":8,"y":9}, "c":3}; @o = @o; dump @o
{
"a": 1,
"b": {
"x": 8,
"y": 9
},
"c": 3
}
mlr --from ./reg_test/input/xyz2 put -q @a = 1; @o = @a; dump @o
1
mlr --from ./reg_test/input/xyz2 put -q @b[1] = 2; @o = @b; dump @o
{
"1": 2
}
mlr --from ./reg_test/input/xyz2 put -q @c[1][2] = 3; @o = @c; dump @o
{
"1": {
"2": 3
}
}
mlr --from ./reg_test/input/xyz2 put -q a = 1; @o = a; dump @o
1
mlr --from ./reg_test/input/xyz2 put -q b[1] = 2; @o = b; dump @o
{
"1": 2
}
mlr --from ./reg_test/input/xyz2 put -q c[1][2] = 3; @o = c; dump @o
{
"1": {
"2": 3
}
}
================================================================
MAPVAR ASSIGNMENTS TO MAP-TYPED LOCAL
mlr --from ./reg_test/input/xyz2 put -q map o = {"a":1, "b": {"x":8,"y":9}, "c":3}; dump o
{
"a": 1,
"b": {
"x": 8,
"y": 9
},
"c": 3
}
mlr --from ./reg_test/input/xyz2 put -q map o = @o; dump o
mlr: map type assertion for variable o unmet by value "" with type absent.
mlr --from ./reg_test/input/xyz2 put -q map o = {"a":1, "b": {"x":8,"y":9}, "c":3}; o = o; dump o
{
"a": 1,
"b": {
"x": 8,
"y": 9
},
"c": 3
}
mlr --from ./reg_test/input/xyz2 put -q @a = 1; map o = @a; dump o
mlr: map type assertion for variable o unmet by value 1 with type int.
mlr --from ./reg_test/input/xyz2 put -q @b[1] = 2; map o = @b; dump o
{
"1": 2
}
mlr --from ./reg_test/input/xyz2 put -q @c[1][2] = 3; map o = @c; dump o
{
"1": {
"2": 3
}
}
mlr --from ./reg_test/input/xyz2 put -q a = 1; map o = a; dump o
mlr: map type assertion for variable o unmet by value 1 with type int.
mlr --from ./reg_test/input/xyz2 put -q b[1] = 2; map o = b; dump o
{
"1": 2
}
mlr --from ./reg_test/input/xyz2 put -q c[1][2] = 3; map o = c; dump o
{
"1": {
"2": 3
}
}
================================================================
MAPVAR ASSIGNMENTS TO VAR-TYPED LOCAL
mlr --from ./reg_test/input/xyz2 put -q var o = {"a":1, "b": {"x":8,"y":9}, "c":3}; dump o
{
"a": 1,
"b": {
"x": 8,
"y": 9
},
"c": 3
}
mlr --from ./reg_test/input/xyz2 put -q var o = @o; dump o
mlr --from ./reg_test/input/xyz2 put -q var o = {"a":1, "b": {"x":8,"y":9}, "c":3}; o = o; dump o
{
"a": 1,
"b": {
"x": 8,
"y": 9
},
"c": 3
}
mlr --from ./reg_test/input/xyz2 put -q @a = 1; var o = @a; dump o
1
mlr --from ./reg_test/input/xyz2 put -q @b[1] = 2; var o = @b; dump o
{
"1": 2
}
mlr --from ./reg_test/input/xyz2 put -q @c[1][2] = 3; var o = @c; dump o
{
"1": {
"2": 3
}
}
mlr --from ./reg_test/input/xyz2 put -q a = 1; var o = a; dump o
1
mlr --from ./reg_test/input/xyz2 put -q b[1] = 2; var o = b; dump o
{
"1": 2
}
mlr --from ./reg_test/input/xyz2 put -q c[1][2] = 3; var o = c; dump o
{
"1": {
"2": 3
}
}
================================================================
MAPVAR ASSIGNMENTS TO UNTYPED LOCAL
mlr --from ./reg_test/input/xyz2 put -q o = {"a":1, "b": {"x":8,"y":9}, "c":3}; dump o
{
"a": 1,
"b": {
"x": 8,
"y": 9
},
"c": 3
}
mlr --from ./reg_test/input/xyz2 put -q o = @o; dump o
mlr --from ./reg_test/input/xyz2 put -q o = {"a":1, "b": {"x":8,"y":9}, "c":3}; o = o; dump o
{
"a": 1,
"b": {
"x": 8,
"y": 9
},
"c": 3
}
mlr --from ./reg_test/input/xyz2 put -q @a = 1; o = @a; dump o
1
mlr --from ./reg_test/input/xyz2 put -q @b[1] = 2; o = @b; dump o
{
"1": 2
}
mlr --from ./reg_test/input/xyz2 put -q @c[1][2] = 3; o = @c; dump o
{
"1": {
"2": 3
}
}
mlr --from ./reg_test/input/xyz2 put -q a = 1; o = a; dump o
1
mlr --from ./reg_test/input/xyz2 put -q b[1] = 2; o = b; dump o
{
"1": 2
}
mlr --from ./reg_test/input/xyz2 put -q c[1][2] = 3; o = c; dump o
{
"1": {
"2": 3
}
}
mlr -n put end {
@a[2][3] = 4;
b[2][3] = 8;
emit (@a, b, {2:{3:12}});
emitp (@a, b, {2:{3:12}});
emit {};
emit (@a, b, {2:{3:12}}), "t";
emitp (@a, b, {2:{3:12}}), "t";
emit {};
emit (@a, b, {2:{3:12}}), "t", "u";
emitp (@a, b, {2:{3:12}}), "t", "u";
}
3=12
a:2:3=4,b:2:3=8,_:2:3=12
t=2,3=12
t=2,a:3=4,b:3=8,_:3=12
t=2,u=3,a=4,b=8,_=12
t=2,u=3,a=4,b=8,_=12
mlr -n put end {
@a[2][3] = 4;
b[2][3] = 8;
emitp (@a, b, {2:{3:12}});
emit (@a, b, {2:{3:12}});
emit {};
emitp (@a, b, {2:{3:12}}), "t";
emit (@a, b, {2:{3:12}}), "t";
emit {};
emitp (@a, b, {2:{3:12}}), "t", "u";
emit (@a, b, {2:{3:12}}), "t", "u";
}
a:2:3=4,b:2:3=8,_:2:3=12
3=12
t=2,a:3=4,b:3=8,_:3=12
t=2,3=12
t=2,u=3,a=4,b=8,_=12
t=2,u=3,a=4,b=8,_=12