Merge branch 'master' into uninit-warnings

This commit is contained in:
John Kerl 2021-03-02 23:49:36 -05:00 committed by GitHub
commit bf55b2dedb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 803 additions and 346 deletions

View file

@ -1,116 +0,0 @@
================================================================
BUG:
rrv ./reg-test/cases/case-c-dsl-mapvar-assignments.sh
* probably buggy in the C impl
rrv ./reg-test/cases/case-c-dsl-forbind-typedecl.sh
rrv ./reg-test/cases/case-c-dsl-localvar-typedecl.sh
rrv ./reg-test/cases/case-c-dsl-local-map-variable-typedecl.sh
rrv ./reg-test/cases/case-c-dsl-argpass-typedecl.sh
* str s = "a"; s = 3 doesn't trigger -- needs gate-retention ...
rrv ./reg-test/cases/case-c-dsl-triple-for-loops.sh
* Needs to do this:
"Continuation statements are split into the final boolean, and the statements before (if any)."
================================================================
LF/CRLF ETC.
rrv ./reg-test/cases/case-c-multi-character-ixs.sh
rrv ./reg-test/cases/case-c-implicit-header-csv-input.sh
rrv ./reg-test/cases/case-c-missing-final-lf.sh
================================================================
PUT -a
rrv -C20 ./reg-test/cases/case-c-dsl-local-map-variable-write-read.sh
* put -a
================================================================
PARTIALLY IMPLEMENTED:
rrv ./reg-test/cases/case-c-dsl-scientific-notation.sh
rrv ./reg-test/cases/case-c-implicit-header-csv-input.sh
rrv ./reg-test/cases/case-c-rfc-csv.sh
rrv ./reg-test/cases/case-c-io-space-padding.sh
rrv ./reg-test/cases/case-c-utf8-alignment.sh
================================================================
BACKWARD INCOMPATIBILITIES:
rrv ./reg-test/cases/case-c-label.sh
* handles old/new clashes differently from C impl :^/
rrv ./reg-test/cases/case-c-dsl-substr.sh
* format-strings? gah. needs smart fmtnum regardless.
================================================================
NEED EMITP/MULTI-EMIT/PRINT-WITH-REDIRECT
rrv ./reg-test/cases/case-c-dsl-absent-empty.sh
rrv ./reg-test/cases/case-c-dsl-break-continue.sh
rrv ./reg-test/cases/case-c-dsl-for-oosvar-loops.sh
rrv ./reg-test/cases/case-c-dsl-functional-tests.sh
rrv ./reg-test/cases/case-c-dsl-indirect-oosvar-assignments.sh
rrv ./reg-test/cases/case-c-dsl-lashed-emitp-singles.sh
rrv ./reg-test/cases/case-c-dsl-mapvar-emit.sh
rrv ./reg-test/cases/case-c-dsl-oosvar-assignments.sh
rrv ./reg-test/cases/case-c-dsl-type-predicates.sh
-> split up this big case-file: case-c-dsl-functional-tests.sh
================================================================
NOT IMPLEMENTED YET:
rrv ./reg-test/cases/case-c-format-conversion-keystroke-savers.sh
rrv ./reg-test/cases/case-c-het-pprint-input.sh
* needs --ipprint
rrv ./reg-test/cases/case-c-dsl-filter-pattern-action.sh
* regex captures
rrv -C1 ./reg-test/cases/case-c-dsl-filter-pattern-action.sh
* regexi
rrv ./reg-test/cases/case-c-bar.sh
rrv ./reg-test/cases/case-c-compressed-input.sh
rrv ./reg-test/cases/case-c-count-distinct.sh
rrv ./reg-test/cases/case-c-csv-rs-environment-defaults.sh
rrv ./reg-test/cases/case-c-dsl-gmt-date-time-functions.sh
rrv ./reg-test/cases/case-c-dsl-local-date-time-functions.sh
rrv ./reg-test/cases/case-c-dsl-mapvars-udfs-subroutines.sh
rrv ./reg-test/cases/case-c-dsl-parameterized-emit.sh
rrv ./reg-test/cases/case-c-dsl-positional-indexing.sh
rrv ./reg-test/cases/case-c-dsl-prefixed-unprefixed-emit.sh
rrv ./reg-test/cases/case-c-dsl-redirects.sh
rrv ./reg-test/cases/case-c-dsl-regex-captures.sh
rrv ./reg-test/cases/case-c-dsl-regex-matching.sh
rrv ./reg-test/cases/case-c-dsl-stack-allocation.sh
rrv ./reg-test/cases/case-c-format-values.sh
rrv ./reg-test/cases/case-c-format-values.sh
rrv ./reg-test/cases/case-c-fraction.sh
rrv ./reg-test/cases/case-c-having-fields.sh
rrv ./reg-test/cases/case-c-head-early-out.sh
rrv ./reg-test/cases/case-c-in-place-processing.sh
rrv ./reg-test/cases/case-c-int-float-stats1-step1.sh
rrv ./reg-test/cases/case-c-join-prepipe.sh
rrv ./reg-test/cases/case-c-lf-crlf-and-autodetect.sh
rrv ./reg-test/cases/case-c-markdown-output.sh
rrv ./reg-test/cases/case-c-merge-fields.sh
rrv ./reg-test/cases/case-c-most-least-frequent.sh
rrv ./reg-test/cases/case-c-nest.sh
rrv ./reg-test/cases/case-c-null-field-input.sh
rrv ./reg-test/cases/case-c-number-formatting.sh
rrv ./reg-test/cases/case-c-rename-regex.sh
rrv ./reg-test/cases/case-c-reshape.sh
rrv ./reg-test/cases/case-c-skip-pass-comments.sh
rrv ./reg-test/cases/case-c-stats1-percentile-interpolation.sh
rrv ./reg-test/cases/case-c-stats1-regexed-field-names.sh
rrv ./reg-test/cases/case-c-stats1.sh
rrv ./reg-test/cases/case-c-stats2.sh
rrv ./reg-test/cases/case-c-top.sh
rrv ./reg-test/cases/case-c-uniq.sh
rrv ./reg-test/cases/case-c-utf8-bom.sh
================================================================

3
go/gg
View file

@ -52,6 +52,7 @@ mention() {
# ================================================================
run_mlr --oxtab fraction -f x,y -g a -p -c ./reg-test/input/abixy-het
mlr --from ./reg-test/input/abixy put '@o[1][2][3] = 7; for(k1,v in @o[1][2]) {$x+=10;$y+=100}'
mlr --from ./reg-test/input/xyz2 put -q 'map o = @o; dump o'
# ================================================================

View file

@ -1,16 +1,16 @@
run_mlr --from $indir/xyz345 put '
run_mlr --from $indir/xyz345 --ojson put '
$s = a;
$t = b[$x];
$u = c[$x][$y];
$v = d[$x][$y][$z];
'
run_mlr --from $indir/xyz345 put '
run_mlr --from $indir/xyz345 --ojson put '
d[$x][$y][$z] = 9;
$d = d[$x][$y][$z];
'
run_mlr --from $indir/xyz345 put '
run_mlr --from $indir/xyz345 --ojson put '
a = 6;
b[$x] = 7;
c[$x][$y] = 8;
@ -22,7 +22,7 @@ run_mlr --from $indir/xyz345 put '
$d = d[$x][$y][$z];
'
run_mlr --from $indir/xyz345 put '
run_mlr --from $indir/xyz345 --ojson put '
a = 6;
b[$x] = 7;
c[$x][$y] = 8;

View file

@ -4,16 +4,16 @@ announce MAPVAR ASSIGNMENTS TO FULL SREC
run_mlr --from $indir/xyz2 put '$* = {"a":1, "b": {"x":8,"y":9}, "c":3}'
run_mlr --from $indir/xyz2 put '$* = $*'
run_mlr --from $indir/xyz2 put '@a = 1; $* = @a'
mlr_expect_fail --from $indir/xyz2 put '@a = 1; $* = @a'
run_mlr --from $indir/xyz2 put '@b[1] = 2; $* = @b'
run_mlr --from $indir/xyz2 put '@c[1][2] = 3; $* = @c'
run_mlr --from $indir/xyz2 put '@a = 1; $* = @*'
run_mlr --from $indir/xyz2 put '@b[1] = 2; $* = @*'
run_mlr --from $indir/xyz2 put '@c[1][2] = 3; $* = @*'
run_mlr --from $indir/xyz2 put 'a = 1; $* = a'
mlr_expect_fail --from $indir/xyz2 put 'a = 1; $* = a'
run_mlr --from $indir/xyz2 put 'b[1] = 2; $* = b'
run_mlr --from $indir/xyz2 put 'c[1][2] = 3; $* = c'
run_mlr --from $indir/xyz2 put '$* = 3'
mlr_expect_fail --from $indir/xyz2 put '$* = 3'
run_mlr --from $indir/xyz2 put '
func map_valued_func() {
@ -36,16 +36,16 @@ announce MAPVAR ASSIGNMENTS TO FULL OOSVAR
run_mlr --from $indir/xyz2 put '@* = {"a":1, "b": {"x":8,"y":9}, "c":3}; dump'
run_mlr --from $indir/xyz2 put '@* = $*; dump'
run_mlr --from $indir/xyz2 put '@* = {"a":1, "b": {"x":8,"y":9}, "c":3}; dump; @* = @*; dump'
run_mlr --from $indir/xyz2 put '@a = 1; @* = @a; dump'
mlr_expect_fail --from $indir/xyz2 put '@a = 1; @* = @a; dump'
run_mlr --from $indir/xyz2 put '@b[1] = 2; @* = @b; dump'
run_mlr --from $indir/xyz2 put '@c[1][2] = 3; @* = @c; dump'
run_mlr --from $indir/xyz2 put '@a = 1; @* = @*; dump'
run_mlr --from $indir/xyz2 put '@b[1] = 2; @* = @*; dump'
run_mlr --from $indir/xyz2 put '@c[1][2] = 3; @* = @*; dump'
run_mlr --from $indir/xyz2 put 'a = 1; @* = a; dump'
mlr_expect_fail --from $indir/xyz2 put 'a = 1; @* = a; dump'
run_mlr --from $indir/xyz2 put 'b[1] = 2; @* = b; dump'
run_mlr --from $indir/xyz2 put 'c[1][2] = 3; @* = c; dump'
run_mlr --from $indir/xyz2 put '@* = 3'
mlr_expect_fail --from $indir/xyz2 put '@* = 3'
run_mlr --from $indir/xyz2 put '
func map_valued_func() {
@ -88,7 +88,7 @@ run_mlr --from $indir/xyz2 put -q 'func map_valued_func() { return {"a":1,"b":2}
announce MAPVAR ASSIGNMENTS TO MAP-TYPED LOCAL
run_mlr --from $indir/xyz2 put -q 'map o = {"a":1, "b": {"x":8,"y":9}, "c":3}; dump o'
mlr_expect_fail --from $indir/xyz2 put -q 'map o = @o; dump o'
run_mlr --from $indir/xyz2 put -q 'map o = @o; dump o'
run_mlr --from $indir/xyz2 put -q 'map o = $*; dump o'
run_mlr --from $indir/xyz2 put -q 'map o = {"a":1, "b": {"x":8,"y":9}, "c":3}; o = o; dump o'
mlr_expect_fail --from $indir/xyz2 put -q '@a = 1; map o = @a; dump o'

View file

@ -3,7 +3,7 @@ run_mlr --from $indir/abixy put '
dump m;
sum = 0;
for (k, v in m) {
sum += k
sum += int(k)
}
return sum
}
@ -16,7 +16,7 @@ run_mlr --from $indir/abixy put '
dump m;
sum = 0;
for (k, v in m) {
sum += k
sum += int(k)
}
@sum = sum;
}

View file

@ -3,7 +3,7 @@ announce USER-DEFINED FUNCTIONS
run_mlr --opprint --from $indir/abixy put 'func f(u,v){return u+v} $o=f(NR*1000,$x)'
mlr_expect_fail --opprint --from $indir/abixy put 'func f(x,y,z){$nnn=999; int n=10; return $y} $o=f($i,$x,$y)'
run_mlr --opprint --from $indir/abixy put 'func f(x,y,z){$nnn=999; int n=10; return $y} $o=f($i,$x,$y)'
# general programming-language stuff
run_mlr -n put -q -f $indir/sieve.mlr

View file

@ -1,56 +0,0 @@
mlr --from ./reg-test/input/xyz345 put
$s = a;
$t = b[$x];
$u = c[$x][$y];
$v = d[$x][$y][$z];
x=3,y=4,z=5
mlr --from ./reg-test/input/xyz345 put
d[$x][$y][$z] = 9;
$d = d[$x][$y][$z];
x=3,y=4,z=5,d=9
mlr --from ./reg-test/input/xyz345 put
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];
x=3,y=4,z=5,a=6,b=7,c=8,d=9
mlr --from ./reg-test/input/xyz345 put
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];
x=3,y=4,z=5,a0=6,b1=7,c2=8,d3=9

View file

@ -4,6 +4,7 @@
mlr put -v begin{begin{@x=1}}
DSL EXPRESSION:
begin{begin{@x=1}}
AST:
* statement block
* begin block
@ -18,6 +19,7 @@ AST:
mlr put -v true{begin{@x=1}}
DSL EXPRESSION:
true{begin{@x=1}}
AST:
* statement block
* cond block
@ -33,6 +35,7 @@ AST:
mlr put -v end{end{@x=1}}
DSL EXPRESSION:
end{end{@x=1}}
AST:
* statement block
* end block
@ -47,6 +50,7 @@ AST:
mlr put -v true{end{@x=1}}
DSL EXPRESSION:
true{end{@x=1}}
AST:
* statement block
* cond block
@ -64,6 +68,7 @@ AST:
mlr put -v begin{$x=1}
DSL EXPRESSION:
begin{$x=1}
AST:
* statement block
* begin block
@ -76,6 +81,7 @@ AST:
mlr put -v begin{@x=$y}
DSL EXPRESSION:
begin{@x=$y}
AST:
* statement block
* begin block
@ -88,6 +94,7 @@ AST:
mlr put -v end{$x=1}
DSL EXPRESSION:
end{$x=1}
AST:
* statement block
* end block
@ -100,6 +107,7 @@ AST:
mlr put -v end{@x=$y}
DSL EXPRESSION:
end{@x=$y}
AST:
* statement block
* end block
@ -112,6 +120,7 @@ AST:
mlr put -v begin{@v=$*}
DSL EXPRESSION:
begin{@v=$*}
AST:
* statement block
* begin block
@ -124,6 +133,7 @@ AST:
mlr put -v end{$*=@v}
DSL EXPRESSION:
end{$*=@v}
AST:
* statement block
* end block
@ -136,6 +146,7 @@ AST:
mlr put -v begin{unset $x}
DSL EXPRESSION:
begin{unset $x}
AST:
* statement block
* begin block
@ -147,6 +158,7 @@ AST:
mlr put -v end{unset $x}
DSL EXPRESSION:
end{unset $x}
AST:
* statement block
* end block
@ -158,6 +170,7 @@ AST:
mlr put -v begin{unset $*}
DSL EXPRESSION:
begin{unset $*}
AST:
* statement block
* begin block
@ -169,6 +182,7 @@ AST:
mlr put -v end{unset $*}
DSL EXPRESSION:
end{unset $*}
AST:
* statement block
* end block
@ -182,6 +196,7 @@ AST:
mlr put -v break
DSL EXPRESSION:
break
AST:
* statement block
* break "break"
@ -190,6 +205,7 @@ AST:
mlr put -v continue
DSL EXPRESSION:
continue
AST:
* statement block
* continue "continue"
@ -200,6 +216,7 @@ AST:
mlr filter -v break
DSL EXPRESSION:
break
AST:
* statement block
* break "break"
@ -208,6 +225,7 @@ AST:
mlr filter -v continue
DSL EXPRESSION:
continue
AST:
* statement block
* continue "continue"

View file

@ -24,6 +24,7 @@ mlr -n put func f() { continue }
mlr -n put -v true
DSL EXPRESSION:
true
AST:
* statement block
* bare boolean
@ -33,6 +34,7 @@ AST:
mlr -n put -v begin{true}
DSL EXPRESSION:
begin{true}
AST:
* statement block
* begin block

View file

@ -2,6 +2,7 @@
mlr put -v while($i < 5) { $i += 1} ./reg-test/input/abixy
DSL EXPRESSION:
while($i < 5) { $i += 1}
AST:
* statement block
* while loop "while"
@ -29,6 +30,7 @@ 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
DSL EXPRESSION:
do {$i += 1} while($i < 5)
AST:
* statement block
* do-while`loop "do"

View file

@ -2,6 +2,7 @@
mlr -n put -v
DSL EXPRESSION:
AST:
* statement block
@ -9,6 +10,7 @@ AST:
mlr -n filter -v
DSL EXPRESSION:
AST:
* statement block
@ -16,6 +18,7 @@ AST:
mlr -n put -v begin {}
DSL EXPRESSION:
begin {}
AST:
* statement block
* begin block
@ -25,6 +28,7 @@ AST:
mlr -n put -v begin {;}
DSL EXPRESSION:
begin {;}
AST:
* statement block
* begin block
@ -34,6 +38,7 @@ AST:
mlr -n put -v begin {;;}
DSL EXPRESSION:
begin {;;}
AST:
* statement block
* begin block
@ -43,6 +48,7 @@ AST:
mlr -n put -v begin {;;;}
DSL EXPRESSION:
begin {;;;}
AST:
* statement block
* begin block
@ -52,6 +58,7 @@ AST:
mlr -n put -v begin {@x=1}
DSL EXPRESSION:
begin {@x=1}
AST:
* statement block
* begin block
@ -64,6 +71,7 @@ AST:
mlr -n put -v begin {@x=1;}
DSL EXPRESSION:
begin {@x=1;}
AST:
* statement block
* begin block
@ -76,6 +84,7 @@ AST:
mlr -n put -v begin {;@x=1}
DSL EXPRESSION:
begin {;@x=1}
AST:
* statement block
* begin block
@ -88,6 +97,7 @@ AST:
mlr -n put -v begin {@x=1;@y=2}
DSL EXPRESSION:
begin {@x=1;@y=2}
AST:
* statement block
* begin block
@ -103,6 +113,7 @@ AST:
mlr -n put -v begin {@x=1;;@y=2}
DSL EXPRESSION:
begin {@x=1;;@y=2}
AST:
* statement block
* begin block
@ -118,6 +129,7 @@ AST:
mlr -n put -v true {}
DSL EXPRESSION:
true {}
AST:
* statement block
* cond block
@ -128,6 +140,7 @@ AST:
mlr -n put -v true {;}
DSL EXPRESSION:
true {;}
AST:
* statement block
* cond block
@ -138,6 +151,7 @@ AST:
mlr -n put -v true {;;}
DSL EXPRESSION:
true {;;}
AST:
* statement block
* cond block
@ -148,6 +162,7 @@ AST:
mlr -n put -v true {;;;}
DSL EXPRESSION:
true {;;;}
AST:
* statement block
* cond block
@ -158,6 +173,7 @@ AST:
mlr -n put -v true {@x=1}
DSL EXPRESSION:
true {@x=1}
AST:
* statement block
* cond block
@ -171,6 +187,7 @@ AST:
mlr -n put -v true {@x=1;}
DSL EXPRESSION:
true {@x=1;}
AST:
* statement block
* cond block
@ -184,6 +201,7 @@ AST:
mlr -n put -v true {;@x=1}
DSL EXPRESSION:
true {;@x=1}
AST:
* statement block
* cond block
@ -197,6 +215,7 @@ AST:
mlr -n put -v true {@x=1;@y=2}
DSL EXPRESSION:
true {@x=1;@y=2}
AST:
* statement block
* cond block
@ -213,6 +232,7 @@ AST:
mlr -n put -v true {@x=1;;@y=2}
DSL EXPRESSION:
true {@x=1;;@y=2}
AST:
* statement block
* cond block
@ -229,6 +249,7 @@ AST:
mlr -n put -v end {}
DSL EXPRESSION:
end {}
AST:
* statement block
* end block
@ -238,6 +259,7 @@ AST:
mlr -n put -v end {;}
DSL EXPRESSION:
end {;}
AST:
* statement block
* end block
@ -247,6 +269,7 @@ AST:
mlr -n put -v end {;;}
DSL EXPRESSION:
end {;;}
AST:
* statement block
* end block
@ -256,6 +279,7 @@ AST:
mlr -n put -v end {;;;}
DSL EXPRESSION:
end {;;;}
AST:
* statement block
* end block
@ -265,6 +289,7 @@ AST:
mlr -n put -v end {@x=1}
DSL EXPRESSION:
end {@x=1}
AST:
* statement block
* end block
@ -277,6 +302,7 @@ AST:
mlr -n put -v end {@x=1;}
DSL EXPRESSION:
end {@x=1;}
AST:
* statement block
* end block
@ -289,6 +315,7 @@ AST:
mlr -n put -v end {;@x=1}
DSL EXPRESSION:
end {;@x=1}
AST:
* statement block
* end block
@ -301,6 +328,7 @@ AST:
mlr -n put -v end {@x=1;@y=2}
DSL EXPRESSION:
end {@x=1;@y=2}
AST:
* statement block
* end block
@ -316,6 +344,7 @@ AST:
mlr -n put -v end {@x=1;;@y=2}
DSL EXPRESSION:
end {@x=1;;@y=2}
AST:
* statement block
* end block

View file

@ -2,6 +2,7 @@
mlr -n put -v $z = ENV["HOME"]
DSL EXPRESSION:
$z = ENV["HOME"]
AST:
* statement block
* assignment "="
@ -13,6 +14,7 @@ AST:
mlr -n put -v $z = ENV["HOME"][1]
DSL EXPRESSION:
$z = ENV["HOME"][1]
AST:
* statement block
* assignment "="
@ -26,6 +28,7 @@ AST:
mlr -n put -v $ENV["FOO"] = "bar"
DSL EXPRESSION:
$ENV["FOO"] = "bar"
AST:
* statement block
* assignment "="
@ -38,6 +41,7 @@ AST:
mlr -n put -v $ENV["FOO"][2] = "bar"
DSL EXPRESSION:
$ENV["FOO"][2] = "bar"
AST:
* statement block
* assignment "="

View file

@ -26,30 +26,30 @@ a=hat,b=wye,i=9,x=10.031441876460935,y=100.7495507603507
a=pan,b=wye,i=10,x=10.502626005541213,y=100.95261836029698
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=20.346790144338083,y=200.72680286274345
a=eks,b=pan,i=2,x=20.758679964789962,y=200.52215110833347
a=wye,b=wye,i=3,x=20.204603305766305,y=200.33831852551663
a=eks,b=wye,i=4,x=20.381399393871142,y=200.1341887432843
a=wye,b=pan,i=5,x=20.573288919802,y=200.86362446990327
a=zee,b=pan,i=6,x=20.527126160091854,y=200.49322128674834
a=eks,b=zee,i=7,x=20.611784060567846,y=200.18788491911818
a=zee,b=wye,i=8,x=20.598554009106422,y=200.97618138569902
a=hat,b=wye,i=9,x=20.031441876460935,y=200.7495507603507
a=pan,b=wye,i=10,x=20.502626005541213,y=200.95261836029698
a=pan,b=pan,i=1,x=10.346790144338083,y=100.72680286274345
a=eks,b=pan,i=2,x=10.758679964789964,y=100.52215110833347
a=wye,b=wye,i=3,x=10.204603305766303,y=100.33831852551664
a=eks,b=wye,i=4,x=10.38139939387114,y=100.1341887432843
a=wye,b=pan,i=5,x=10.573288919802,y=100.86362446990327
a=zee,b=pan,i=6,x=10.527126160091855,y=100.49322128674835
a=eks,b=zee,i=7,x=10.611784060567846,y=100.18788491911818
a=zee,b=wye,i=8,x=10.598554009106422,y=100.97618138569901
a=hat,b=wye,i=9,x=10.031441876460935,y=100.7495507603507
a=pan,b=wye,i=10,x=10.502626005541213,y=100.95261836029698
---------------------------------------------------------------- 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=30.346790144338083,y=300.72680286274345
a=eks,b=pan,i=2,x=30.758679964789962,y=300.52215110833345
a=wye,b=wye,i=3,x=30.204603305766305,y=300.3383185255166
a=eks,b=wye,i=4,x=30.381399393871142,y=300.1341887432843
a=wye,b=pan,i=5,x=30.573288919802,y=300.86362446990324
a=zee,b=pan,i=6,x=30.527126160091854,y=300.49322128674834
a=eks,b=zee,i=7,x=30.611784060567846,y=300.1878849191182
a=zee,b=wye,i=8,x=30.598554009106422,y=300.976181385699
a=hat,b=wye,i=9,x=30.031441876460935,y=300.7495507603507
a=pan,b=wye,i=10,x=30.502626005541213,y=300.952618360297
a=pan,b=pan,i=1,x=10.346790144338083,y=100.72680286274345
a=eks,b=pan,i=2,x=10.758679964789964,y=100.52215110833347
a=wye,b=wye,i=3,x=10.204603305766303,y=100.33831852551664
a=eks,b=wye,i=4,x=10.38139939387114,y=100.1341887432843
a=wye,b=pan,i=5,x=10.573288919802,y=100.86362446990327
a=zee,b=pan,i=6,x=10.527126160091855,y=100.49322128674835
a=eks,b=zee,i=7,x=10.611784060567846,y=100.18788491911818
a=zee,b=wye,i=8,x=10.598554009106422,y=100.97618138569901
a=hat,b=wye,i=9,x=10.031441876460935,y=100.7495507603507
a=pan,b=wye,i=10,x=10.502626005541213,y=100.95261836029698
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
@ -90,16 +90,16 @@ a=hat,b=wye,i=9,x=10.031441876460935,y=100.7495507603507
a=pan,b=wye,i=10,x=10.502626005541213,y=100.95261836029698
mlr --from ./reg-test/input/abixy put o[1][2] = 7; for((k1,k2),v in o) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=20.346790144338083,y=200.72680286274345
a=eks,b=pan,i=2,x=20.758679964789962,y=200.52215110833347
a=wye,b=wye,i=3,x=20.204603305766305,y=200.33831852551663
a=eks,b=wye,i=4,x=20.381399393871142,y=200.1341887432843
a=wye,b=pan,i=5,x=20.573288919802,y=200.86362446990327
a=zee,b=pan,i=6,x=20.527126160091854,y=200.49322128674834
a=eks,b=zee,i=7,x=20.611784060567846,y=200.18788491911818
a=zee,b=wye,i=8,x=20.598554009106422,y=200.97618138569902
a=hat,b=wye,i=9,x=20.031441876460935,y=200.7495507603507
a=pan,b=wye,i=10,x=20.502626005541213,y=200.95261836029698
a=pan,b=pan,i=1,x=10.346790144338083,y=100.72680286274345
a=eks,b=pan,i=2,x=10.758679964789964,y=100.52215110833347
a=wye,b=wye,i=3,x=10.204603305766303,y=100.33831852551664
a=eks,b=wye,i=4,x=10.38139939387114,y=100.1341887432843
a=wye,b=pan,i=5,x=10.573288919802,y=100.86362446990327
a=zee,b=pan,i=6,x=10.527126160091855,y=100.49322128674835
a=eks,b=zee,i=7,x=10.611784060567846,y=100.18788491911818
a=zee,b=wye,i=8,x=10.598554009106422,y=100.97618138569901
a=hat,b=wye,i=9,x=10.031441876460935,y=100.7495507603507
a=pan,b=wye,i=10,x=10.502626005541213,y=100.95261836029698
mlr --from ./reg-test/input/abixy put o[1][2] = 7; for((k1,k2,k3),v in o) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
@ -116,28 +116,28 @@ a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
---------------------------------------------------------------- for map-literal
mlr --from ./reg-test/input/abixy put for(k1,v in {1:{2:7}}) {$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
a=pan,b=pan,i=1,x=10.346790144338083,y=100.72680286274345
a=eks,b=pan,i=2,x=10.758679964789964,y=100.52215110833347
a=wye,b=wye,i=3,x=10.204603305766303,y=100.33831852551664
a=eks,b=wye,i=4,x=10.38139939387114,y=100.1341887432843
a=wye,b=pan,i=5,x=10.573288919802,y=100.86362446990327
a=zee,b=pan,i=6,x=10.527126160091855,y=100.49322128674835
a=eks,b=zee,i=7,x=10.611784060567846,y=100.18788491911818
a=zee,b=wye,i=8,x=10.598554009106422,y=100.97618138569901
a=hat,b=wye,i=9,x=10.031441876460935,y=100.7495507603507
a=pan,b=wye,i=10,x=10.502626005541213,y=100.95261836029698
mlr --from ./reg-test/input/abixy put for((k1,k2),v in {1:{2:7}}) {$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
a=pan,b=pan,i=1,x=10.346790144338083,y=100.72680286274345
a=eks,b=pan,i=2,x=10.758679964789964,y=100.52215110833347
a=wye,b=wye,i=3,x=10.204603305766303,y=100.33831852551664
a=eks,b=wye,i=4,x=10.38139939387114,y=100.1341887432843
a=wye,b=pan,i=5,x=10.573288919802,y=100.86362446990327
a=zee,b=pan,i=6,x=10.527126160091855,y=100.49322128674835
a=eks,b=zee,i=7,x=10.611784060567846,y=100.18788491911818
a=zee,b=wye,i=8,x=10.598554009106422,y=100.97618138569901
a=hat,b=wye,i=9,x=10.031441876460935,y=100.7495507603507
a=pan,b=wye,i=10,x=10.502626005541213,y=100.95261836029698
mlr --from ./reg-test/input/abixy put for((k1,k2,k3),v in {1:{2:7}}) {$x+=10;$y+=100}
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533

View file

@ -2,6 +2,7 @@
mlr -n put -v for (k in @*) {}
DSL EXPRESSION:
for (k in @*) {}
AST:
* statement block
* single-variable for-loop "for"
@ -13,6 +14,7 @@ AST:
mlr -n put -v for (k, v in @*) {}
DSL EXPRESSION:
for (k, v in @*) {}
AST:
* statement block
* double-variable for-loop "for"
@ -25,6 +27,7 @@ AST:
mlr -n put -v for ((k1,k2), v in @*) {}
DSL EXPRESSION:
for ((k1,k2), v in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -39,6 +42,7 @@ AST:
mlr -n put -v for ((k1,k2,k3), v in @*) {}
DSL EXPRESSION:
for ((k1,k2,k3), v in @*) {}
AST:
* statement block
* multi-variable for-loop "for"

View file

@ -22,6 +22,7 @@ DSL EXPRESSION:
emit @n, "a", "b", "c", "d"
}
AST:
* statement block
* assignment "="
@ -265,6 +266,7 @@ mean hat dog 0.47582364658050663
mlr -n put -v for (k, k in $*) {}
DSL EXPRESSION:
for (k, k in $*) {}
AST:
* statement block
* double-variable for-loop "for"
@ -277,6 +279,7 @@ AST:
mlr -n put -v for (k, k in @*) {}
DSL EXPRESSION:
for (k, k in @*) {}
AST:
* statement block
* double-variable for-loop "for"
@ -289,6 +292,7 @@ AST:
mlr -n put -v for ((a,a), c in @*) {}
DSL EXPRESSION:
for ((a,a), c in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -303,6 +307,7 @@ AST:
mlr -n put -v for ((a,b), a in @*) {}
DSL EXPRESSION:
for ((a,b), a in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -317,6 +322,7 @@ AST:
mlr -n put -v for ((a,b), b in @*) {}
DSL EXPRESSION:
for ((a,b), b in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -331,6 +337,7 @@ AST:
mlr -n put -v for ((a,a,c), d in @*) {}
DSL EXPRESSION:
for ((a,a,c), d in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -346,6 +353,7 @@ AST:
mlr -n put -v for ((a,b,a), d in @*) {}
DSL EXPRESSION:
for ((a,b,a), d in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -361,6 +369,7 @@ AST:
mlr -n put -v for ((a,b,c), a in @*) {}
DSL EXPRESSION:
for ((a,b,c), a in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -376,6 +385,7 @@ AST:
mlr -n put -v for ((a,b,b), d in @*) {}
DSL EXPRESSION:
for ((a,b,b), d in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -391,6 +401,7 @@ AST:
mlr -n put -v for ((a,b,c), b in @*) {}
DSL EXPRESSION:
for ((a,b,c), b in @*) {}
AST:
* statement block
* multi-variable for-loop "for"
@ -406,6 +417,7 @@ AST:
mlr -n put -v for ((a,b,c), c in @*) {}
DSL EXPRESSION:
for ((a,b,c), c in @*) {}
AST:
* statement block
* multi-variable for-loop "for"

View file

@ -4,6 +4,7 @@
mlr --from ./reg-test/input/abixy put -v for(k,v in $*) { }
DSL EXPRESSION:
for(k,v in $*) { }
AST:
* statement block
* double-variable for-loop "for"
@ -28,6 +29,7 @@ a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from ./reg-test/input/abixy put -v for(k,v in $*) {$nr= NR}
DSL EXPRESSION:
for(k,v in $*) {$nr= NR}
AST:
* statement block
* double-variable for-loop "for"
@ -55,6 +57,7 @@ a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864,nr=10
mlr --from ./reg-test/input/abixy put -v for(k,v in $*) {unset $[k]}; $j = NR
DSL EXPRESSION:
for(k,v in $*) {unset $[k]}; $j = NR
AST:
* statement block
* double-variable for-loop "for"
@ -83,6 +86,7 @@ j=10
mlr --from ./reg-test/input/abixy put -v for(k,v in $*) {if (k != "x") {unset $[k]}}; $j = NR
DSL EXPRESSION:
for(k,v in $*) {if (k != "x") {unset $[k]}}; $j = NR
AST:
* statement block
* double-variable for-loop "for"
@ -117,6 +121,7 @@ x=0.5026260055412137,j=10
mlr --from ./reg-test/input/abixy --opprint put -v for(k,v in $*) {$[k."_orig"]=v; $[k] = "other"}
DSL EXPRESSION:
for(k,v in $*) {$[k."_orig"]=v; $[k] = "other"}
AST:
* statement block
* double-variable for-loop "for"
@ -150,6 +155,7 @@ other other other other other pan wye 10 0.5026260055412137 0.9526183
mlr --from ./reg-test/input/abixy put -v for(k,v in $*) {$[string(v)]=k}
DSL EXPRESSION:
for(k,v in $*) {$[string(v)]=k}
AST:
* statement block
* double-variable for-loop "for"
@ -189,6 +195,7 @@ DSL EXPRESSION:
$sum += $[k]
}
}
AST:
* statement block
* assignment "="
@ -238,6 +245,7 @@ DSL EXPRESSION:
$sum += float($[k])
}
}
AST:
* statement block
* assignment "="

View file

@ -14,6 +14,7 @@ a=eks,b=wye,i=10,x=0.38139939387114097,y=0.13418874328430463
mlr --from ./reg-test/input/s.dkvp put -v j = 2; for (i = 0; i < NR; i += 1) { $i += i }
DSL EXPRESSION:
j = 2; for (i = 0; i < NR; i += 1) { $i += i }
AST:
* statement block
* assignment "="

View file

@ -12,6 +12,7 @@ DSL EXPRESSION:
$x = 2;
$y = 3
}
AST:
* statement block
* if-chain
@ -85,6 +86,7 @@ DSL EXPRESSION:
$x = 1007;
$y = 1008
}
AST:
* statement block
* if-chain
@ -172,6 +174,7 @@ DSL EXPRESSION:
$x = 1015;
$y = 1016
}
AST:
* statement block
* if-chain
@ -276,6 +279,7 @@ DSL EXPRESSION:
$x = 1026;
$y = 1027
}
AST:
* statement block
* if-chain
@ -397,6 +401,7 @@ DSL EXPRESSION:
$x = 1040;
$y = 1041
}
AST:
* statement block
* if-chain
@ -507,6 +512,7 @@ DSL EXPRESSION:
$x = 2;
$y = 3
}
AST:
* statement block
* if-chain
@ -580,6 +586,7 @@ DSL EXPRESSION:
$x = 8;
$y = 9
}
AST:
* statement block
* if-chain
@ -670,6 +677,7 @@ DSL EXPRESSION:
$x = 17;
$y = 18
}
AST:
* statement block
* if-chain
@ -777,6 +785,7 @@ DSL EXPRESSION:
$x = 29;
$y = 30
}
AST:
* statement block
* if-chain

View file

@ -6,7 +6,7 @@ eks pan 2 0.7586799647899636 0.5221511083334797 pan
wye wye 3 0.20460330576630303 0.33831852551664776 wye
eks wye 4 0.38139939387114097 0.13418874328430463 wye
mlr --from ./reg-test/input/s.dkvp --from ./reg-test/input/t.dkvp --ojson put $z=[1,2,[NR,[FILENAME,5],$x*$y]]
mlr --from ./reg-test/input/s.dkvp --from ./reg-test/input/t.dkvp --ojson put $z=[ 1,2,[NR,[FILENAME,5],$x*$y] ]
{
"a": "pan",
"b": "pan",
@ -327,6 +327,7 @@ mlr --from ./reg-test/input/s.dkvp --idkvp --ojson put $*["a"] = {}
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v $new = $["a"]
DSL EXPRESSION:
$new = $["a"]
AST:
* statement block
* assignment "="
@ -343,6 +344,7 @@ eks wye 4 0.38139939387114097 0.13418874328430463 eks
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v $["new"] = $a
DSL EXPRESSION:
$["new"] = $a
AST:
* statement block
* assignment "="
@ -359,6 +361,7 @@ eks wye 4 0.38139939387114097 0.13418874328430463 eks
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v ${new} = $a . $b
DSL EXPRESSION:
${new} = $a . $b
AST:
* statement block
* assignment "="
@ -376,6 +379,7 @@ eks wye 4 0.38139939387114097 0.13418874328430463 ekswye
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v $new = ${a} . ${b}
DSL EXPRESSION:
$new = ${a} . ${b}
AST:
* statement block
* assignment "="

View file

@ -2,6 +2,7 @@
mlr put -v $["a"] = $["b"]; $["x"] = 10 * $["y"] ./reg-test/input/abixy
DSL EXPRESSION:
$["a"] = $["b"]; $["x"] = 10 * $["y"]
AST:
* statement block
* assignment "="

View file

@ -0,0 +1,113 @@
mlr --from ./reg-test/input/xyz345 --ojson put
$s = a;
$t = b[$x];
$u = c[$x][$y];
$v = d[$x][$y][$z];
{
"x": 3,
"y": 4,
"z": 5
}
mlr --from ./reg-test/input/xyz345 --ojson put
d[$x][$y][$z] = 9;
$d = d[$x][$y][$z];
{
"x": 3,
"y": 4,
"z": 5,
"d": 9
}
mlr --from ./reg-test/input/xyz345 --ojson put
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];
{
"x": 3,
"y": 4,
"z": 5,
"a": 6,
"b": 7,
"c": 8,
"d": 9
}
mlr --from ./reg-test/input/xyz345 --ojson put
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];
{
"x": 3,
"y": 4,
"z": 5,
"a0": 6,
"a1": (error),
"a2": (error),
"a3": (error),
"b0": {
"3": 7
},
"b1": 7,
"b2": (error),
"b3": (error),
"c0": {
"3": {
"4": 8
}
},
"c1": {
"4": 8
},
"c2": 8,
"c3": (error),
"d0": {
"3": {
"4": {
"5": 9
}
}
},
"d1": {
"4": {
"5": 9
}
},
"d2": {
"5": 9
},
"d3": 9
}

View file

@ -4,8 +4,8 @@
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
a=1,c=3
a=1,b.x=8,b.y=9,c=3
a=1,b.x=8,b.y=9,c=3
mlr --from ./reg-test/input/xyz2 put $* = $*
x=3,y=4,z=5
@ -13,44 +13,38 @@ x=6,y=7,u=8
mlr --from ./reg-test/input/xyz2 put @a = 1; $* = @a
mlr --from ./reg-test/input/xyz2 put @b[1] = 2; $* = @b
1=2
1=2
mlr --from ./reg-test/input/xyz2 put @c[1][2] = 3; $* = @c
1.2=3
1.2=3
mlr --from ./reg-test/input/xyz2 put @a = 1; $* = @*
a=1
a=1
mlr --from ./reg-test/input/xyz2 put @b[1] = 2; $* = @*
b.1=2
b.1=2
mlr --from ./reg-test/input/xyz2 put @c[1][2] = 3; $* = @*
c.1.2=3
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
1=2
mlr --from ./reg-test/input/xyz2 put c[1][2] = 3; $* = c
1.2=3
1.2=3
mlr --from ./reg-test/input/xyz2 put $* = 3
mlr --from ./reg-test/input/xyz2 put
func map_valued_func() {
return {"a":1,"b":2}
@ -145,12 +139,6 @@ x=3,y=4,z=5
x=6,y=7,u=8
mlr --from ./reg-test/input/xyz2 put @a = 1; @* = @a; dump
{
}
x=3,y=4,z=5
{
}
x=6,y=7,u=8
mlr --from ./reg-test/input/xyz2 put @b[1] = 2; @* = @b; dump
{
@ -219,12 +207,6 @@ x=3,y=4,z=5
x=6,y=7,u=8
mlr --from ./reg-test/input/xyz2 put a = 1; @* = a; dump
{
}
x=3,y=4,z=5
{
}
x=6,y=7,u=8
mlr --from ./reg-test/input/xyz2 put b[1] = 2; @* = b; dump
{
@ -251,8 +233,6 @@ x=3,y=4,z=5
x=6,y=7,u=8
mlr --from ./reg-test/input/xyz2 put @* = 3
x=3,y=4,z=5
x=6,y=7,u=8
mlr --from ./reg-test/input/xyz2 put
func map_valued_func() {
@ -315,8 +295,6 @@ mlr --from ./reg-test/input/xyz2 put -q @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}; dump; @o = @*; dump
{
"o": {
@ -559,7 +537,6 @@ mlr --from ./reg-test/input/xyz2 put -q map o = {"a":1, "b": {"x":8,"y":9}, "c":
}
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 = $*; dump o
{
@ -592,7 +569,6 @@ mlr --from ./reg-test/input/xyz2 put -q map o = {"a":1, "b": {"x":8,"y":9}, "c":
}
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
{
@ -651,7 +627,6 @@ mlr --from ./reg-test/input/xyz2 put -q @c[1][2] = 3; map o = @*; dump o
}
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
{
@ -707,8 +682,6 @@ mlr --from ./reg-test/input/xyz2 put -q var o = {"a":1, "b": {"x":8,"y":9}, "c":
mlr --from ./reg-test/input/xyz2 put -q var o = @o; dump o
mlr --from ./reg-test/input/xyz2 put -q var o = $*; dump o
{
"x": 3,
@ -857,8 +830,6 @@ mlr --from ./reg-test/input/xyz2 put -q 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 = $*; dump o
{
"x": 3,

View file

@ -4,7 +4,7 @@ mlr --from ./reg-test/input/abixy put
dump m;
sum = 0;
for (k, v in m) {
sum += k
sum += int(k)
}
return sum
}
@ -102,7 +102,7 @@ mlr --from ./reg-test/input/abixy put
dump m;
sum = 0;
for (k, v in m) {
sum += k
sum += int(k)
}
@sum = sum;
}
@ -197,59 +197,57 @@ a=hat,b=wye,i=9,x=0.03144187646093577,y=45
a=pan,b=wye,i=10,x=0.5026260055412137,y=55
mlr --from ./reg-test/input/abixy-het put func f(x) {return {"a":x,"b":x**2}}; map o = f($x); $* = o
a=0.346790,b=0.120263
a=0.758680,b=0.575595
a=0.204603,b=0.041863
a=0.381399,b=0.145465
a=,b=
a=0.527126,b=0.277862
a=0.611784,b=0.374280
a=0.598554,b=0.358267
a=0.031442,b=0.000989
a=0.502626,b=0.252633
a=0.3467901443380824,b=0.12026340421002804
a=0.7586799647899636,b=0.5755952889737004
a=0.20460330576630303,b=0.04186251273049929
a=0.38139939387114097,b=0.14546549764527372
b=0
a=0.5271261600918548,b=0.2778619886531837
a=0.6117840605678454,b=0.37427973676488113
a=0.5985540091064224,b=0.3582669018173712
a=0.03144187646093577,b=0.0009885915953847467
a=0.5026260055412137,b=0.2526329014463162
mlr --from ./reg-test/input/abixy-het put -q func f(x) {return x**2}; var z = f($x); dump z
0.120263
0.575595
0.041863
0.145465
0.277862
0.374280
0.358267
0.000989
0.252633
0.12026340421002804
0.5755952889737004
0.04186251273049929
0.14546549764527372
0
0.2778619886531837
0.37427973676488113
0.3582669018173712
0.0009885915953847467
0.2526329014463162
mlr --from ./reg-test/input/abixy-het put -q func f(x) {map m = {NR:x};return m}; z = f($y); dump z
{
"1": 0.726803
"1": 0.7268028627434533
}
{
"2": 0.522151
"2": 0.5221511083334797
}
{
"3": 0.338319
"3": 0.33831852551664776
}
{
"4": 0.134189
"4": 0.13418874328430463
}
{
"5": 0.863624
"5": 0.8636244699032729
}
{
"6": 0.493221
"6": 0.49322128674835697
}
{
"7": 0.187885
"7": 0.1878849191181694
}
{}
{
"9": 0.7495507603507059
}
{
"8":
}
{
"9": 0.749551
}
{
"10": 0.952618
"10": 0.9526183602969864
}
mlr --from ./reg-test/input/abixy put
@ -262,7 +260,6 @@ mlr --from ./reg-test/input/abixy put
}
$y=f($x)
mlr: int type assertion for variable x unmet by value 0.346790 with type float.
mlr --from ./reg-test/input/abixy put
func f(int x): map {
@ -274,16 +271,16 @@ mlr --from ./reg-test/input/abixy put
}
$y=f($i)
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={}
a=eks,b=pan,i=2,x=0.7586799647899636,y={}
a=wye,b=wye,i=3,x=0.20460330576630303,y={}
a=eks,b=wye,i=4,x=0.38139939387114097,y={}
a=wye,b=pan,i=5,x=0.5732889198020006,y={}
a=zee,b=pan,i=6,x=0.5271261600918548,y={}
a=eks,b=zee,i=7,x=0.6117840605678454,y={}
a=zee,b=wye,i=8,x=0.5985540091064224,y={}
a=hat,b=wye,i=9,x=0.03144187646093577,y={}
a=pan,b=wye,i=10,x=0.5026260055412137,y={}
mlr --from ./reg-test/input/abixy put
func f(int x): map {
@ -295,7 +292,6 @@ mlr --from ./reg-test/input/abixy put
}
$y=f($x)
mlr: int type assertion for variable x unmet by value 0.346790 with type float.
mlr --from ./reg-test/input/abixy put
func f(int x): var {
@ -307,16 +303,16 @@ mlr --from ./reg-test/input/abixy put
}
$y=f($i)
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=pan,b=pan,i=1,x=0.3467901443380824,y={}
a=eks,b=pan,i=2,x=0.7586799647899636,y=2
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=wye,b=wye,i=3,x=0.20460330576630303,y={}
a=eks,b=wye,i=4,x=0.38139939387114097,y={}
a=wye,b=pan,i=5,x=0.5732889198020006,y={}
a=zee,b=pan,i=6,x=0.5271261600918548,y={}
a=eks,b=zee,i=7,x=0.6117840605678454,y={}
a=zee,b=wye,i=8,x=0.5985540091064224,y={}
a=hat,b=wye,i=9,x=0.03144187646093577,y={}
a=pan,b=wye,i=10,x=0.5026260055412137,y={}
mlr --from ./reg-test/input/abixy put
func f(int x): var {
@ -328,7 +324,6 @@ mlr --from ./reg-test/input/abixy put
}
$y=f($x)
mlr: int type assertion for variable x unmet by value 0.346790 with type float.
mlr --from ./reg-test/input/abixy put
func f(x): int {
@ -336,13 +331,11 @@ mlr --from ./reg-test/input/abixy put
}
$y=f($x)
mlr: function f returned type absent, not matching typedecl int.
mlr --from ./reg-test/input/abixy put
int a = 1;
var b = a[2]; # cannot index localvar declared non-map
mlr: int type assertion for variable a unmet on read.
mlr --oxtab --from ./reg-test/input/abixy-het put
$* = mapdiff(

View file

@ -2,6 +2,7 @@
mlr -n put -v $z=max()
DSL EXPRESSION:
$z=max()
AST:
* statement block
* assignment "="
@ -12,6 +13,7 @@ AST:
mlr -n put -v $z=max(1)
DSL EXPRESSION:
$z=max(1)
AST:
* statement block
* assignment "="
@ -23,6 +25,7 @@ AST:
mlr -n put -v $z=max(1,)
DSL EXPRESSION:
$z=max(1,)
AST:
* statement block
* assignment "="
@ -34,6 +37,7 @@ AST:
mlr -n put -v $z=max(1,2)
DSL EXPRESSION:
$z=max(1,2)
AST:
* statement block
* assignment "="
@ -46,6 +50,7 @@ AST:
mlr -n put -v $z=max(1,2,)
DSL EXPRESSION:
$z=max(1,2,)
AST:
* statement block
* assignment "="
@ -58,6 +63,7 @@ AST:
mlr -n put -v $z=max(1,2,3)
DSL EXPRESSION:
$z=max(1,2,3)
AST:
* statement block
* assignment "="
@ -71,6 +77,7 @@ AST:
mlr -n put -v $z=max(1,2,3,)
DSL EXPRESSION:
$z=max(1,2,3,)
AST:
* statement block
* assignment "="

View file

@ -6,6 +6,7 @@ OOSVAR-FROM-SREC ASSIGNMENT
mlr put -v @v = $* /dev/null
DSL EXPRESSION:
@v = $*
AST:
* statement block
* assignment "="
@ -16,6 +17,7 @@ AST:
mlr put -v @v[1] = $* /dev/null
DSL EXPRESSION:
@v[1] = $*
AST:
* statement block
* assignment "="
@ -28,6 +30,7 @@ AST:
mlr put -v @v[$2] = $* /dev/null
DSL EXPRESSION:
@v[$2] = $*
AST:
* statement block
* assignment "="
@ -40,6 +43,7 @@ AST:
mlr put -v NR == 3 {@v = $*} /dev/null
DSL EXPRESSION:
NR == 3 {@v = $*}
AST:
* statement block
* cond block
@ -55,6 +59,7 @@ AST:
mlr put -v NR == 3 {@v[1] = $*} /dev/null
DSL EXPRESSION:
NR == 3 {@v[1] = $*}
AST:
* statement block
* cond block
@ -72,6 +77,7 @@ AST:
mlr put -v NR == 3 {@v[$2] = $*} /dev/null
DSL EXPRESSION:
NR == 3 {@v[$2] = $*}
AST:
* statement block
* cond block
@ -289,6 +295,7 @@ SREC-FROM-OOSVAR ASSIGNMENT
mlr put -v $* = @v /dev/null
DSL EXPRESSION:
$* = @v
AST:
* statement block
* assignment "="
@ -299,6 +306,7 @@ AST:
mlr put -v $* = @v[1] /dev/null
DSL EXPRESSION:
$* = @v[1]
AST:
* statement block
* assignment "="
@ -311,6 +319,7 @@ AST:
mlr put -v $* = @v[$2] /dev/null
DSL EXPRESSION:
$* = @v[$2]
AST:
* statement block
* assignment "="
@ -323,6 +332,7 @@ AST:
mlr put -v NR == 3 {$* = @v } /dev/null
DSL EXPRESSION:
NR == 3 {$* = @v }
AST:
* statement block
* cond block
@ -338,6 +348,7 @@ AST:
mlr put -v NR == 3 {$* = @v[1] } /dev/null
DSL EXPRESSION:
NR == 3 {$* = @v[1] }
AST:
* statement block
* cond block
@ -355,6 +366,7 @@ AST:
mlr put -v NR == 3 {$* = @v[$2]} /dev/null
DSL EXPRESSION:
NR == 3 {$* = @v[$2]}
AST:
* statement block
* cond block
@ -388,6 +400,7 @@ OOSVAR-FROM-OOSVAR ASSIGNMENT
mlr put -v @u = @v /dev/null
DSL EXPRESSION:
@u = @v
AST:
* statement block
* assignment "="
@ -398,6 +411,7 @@ AST:
mlr put -v @u = @v[1] /dev/null
DSL EXPRESSION:
@u = @v[1]
AST:
* statement block
* assignment "="
@ -410,6 +424,7 @@ AST:
mlr put -v @u[2] = @v /dev/null
DSL EXPRESSION:
@u[2] = @v
AST:
* statement block
* assignment "="
@ -422,6 +437,7 @@ AST:
mlr put -v @u[2] = @v[1] /dev/null
DSL EXPRESSION:
@u[2] = @v[1]
AST:
* statement block
* assignment "="
@ -436,6 +452,7 @@ AST:
mlr put -v begin { @u = @v } /dev/null
DSL EXPRESSION:
begin { @u = @v }
AST:
* statement block
* begin block
@ -448,6 +465,7 @@ AST:
mlr put -v begin { @u = @v[1] } /dev/null
DSL EXPRESSION:
begin { @u = @v[1] }
AST:
* statement block
* begin block
@ -462,6 +480,7 @@ AST:
mlr put -v begin { @u[2] = @v } /dev/null
DSL EXPRESSION:
begin { @u[2] = @v }
AST:
* statement block
* begin block
@ -476,6 +495,7 @@ AST:
mlr put -v begin { @u[2] = @v[1] } /dev/null
DSL EXPRESSION:
begin { @u[2] = @v[1] }
AST:
* statement block
* begin block
@ -492,6 +512,7 @@ AST:
mlr put -v NR == 3 { @u = @v } /dev/null
DSL EXPRESSION:
NR == 3 { @u = @v }
AST:
* statement block
* cond block
@ -507,6 +528,7 @@ AST:
mlr put -v NR == 3 { @u = @v[1] } /dev/null
DSL EXPRESSION:
NR == 3 { @u = @v[1] }
AST:
* statement block
* cond block
@ -524,6 +546,7 @@ AST:
mlr put -v NR == 3 { @u[2] = @v } /dev/null
DSL EXPRESSION:
NR == 3 { @u[2] = @v }
AST:
* statement block
* cond block
@ -541,6 +564,7 @@ AST:
mlr put -v NR == 3 { @u[2] = @v[1] } /dev/null
DSL EXPRESSION:
NR == 3 { @u[2] = @v[1] }
AST:
* statement block
* cond block
@ -560,6 +584,7 @@ AST:
mlr put -v end { @u = @v } /dev/null
DSL EXPRESSION:
end { @u = @v }
AST:
* statement block
* end block
@ -572,6 +597,7 @@ AST:
mlr put -v end { @u = @v[1] } /dev/null
DSL EXPRESSION:
end { @u = @v[1] }
AST:
* statement block
* end block
@ -586,6 +612,7 @@ AST:
mlr put -v end { @u[2] = @v } /dev/null
DSL EXPRESSION:
end { @u[2] = @v }
AST:
* statement block
* end block
@ -600,6 +627,7 @@ AST:
mlr put -v end { @u[2] = @v[1] } /dev/null
DSL EXPRESSION:
end { @u[2] = @v[1] }
AST:
* statement block
* end block

View file

@ -2,6 +2,7 @@
mlr --opprint put -v begin{@ox=0}; $d=$x-@ox; @ox=$x ./reg-test/input/abixy
DSL EXPRESSION:
begin{@ox=0}; $d=$x-@ox; @ox=$x
AST:
* statement block
* begin block
@ -33,6 +34,7 @@ pan wye 10 0.5026260055412137 0.9526183602969864 0.47118412908027796
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
DSL EXPRESSION:
begin{@ox="no"}; $d=@ox == "no" ? 1.0 : $x/@ox; @ox=$x
AST:
* statement block
* begin block
@ -69,6 +71,7 @@ pan wye 10 0.5026260055412137 0.9526183602969864 15.985878138211305 15.985878
mlr --opprint put -v $d=$x/@ox; @ox=$x then step -a ratio -f x ./reg-test/input/abixy
DSL EXPRESSION:
$d=$x/@ox; @ox=$x
AST:
* statement block
* assignment "="
@ -95,6 +98,7 @@ pan wye 10 0.5026260055412137 0.9526183602969864 15.985878138211305 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
DSL EXPRESSION:
begin{@ox="no"}; $d=@ox == "no" ? 1.0 : $x/@ox; @ox=$x
AST:
* statement block
* begin block
@ -131,6 +135,7 @@ pan wye 10 0.5026260055412137 0.9526183602969864 15.985878138211305 15.985878
mlr --opprint put -v begin{@rsum = 0}; @rsum = @rsum + $x; $rsum = @rsum ./reg-test/input/abixy
DSL EXPRESSION:
begin{@rsum = 0}; @rsum = @rsum + $x; $rsum = @rsum
AST:
* statement block
* begin block
@ -162,6 +167,7 @@ pan wye 10 0.5026260055412137 0.9526183602969864 4.536293840335763
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
DSL EXPRESSION:
begin{@a=0; @b=0; @c=0}; $za=@a; $zb=@b; $zc=@c; $d=@a+@b+@c; @a=@b; @b=@c; @c=$i
AST:
* statement block
* begin block
@ -216,6 +222,7 @@ 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
DSL EXPRESSION:
begin {@a=0; @b=0; @c=0}; $za=@a; $zb=@b; $zc=@c; $d=@a+@b+@c; @a=@b; @b=@c; @c=$i
AST:
* statement block
* begin block
@ -270,6 +277,7 @@ 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
DSL EXPRESSION:
begin{@ox=0}; $d=$x-@ox; @ox=$x
AST:
* statement block
* begin block
@ -321,6 +329,7 @@ a=1,b=2,c=3
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
DSL EXPRESSION:
begin {@count=0; @sum=0.0}; @count=@count+1; @sum=@sum+$x; end{@mean=@sum/@count; emitf @mean}
AST:
* statement block
* begin block
@ -371,6 +380,7 @@ mean
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
DSL EXPRESSION:
end{@mean=@sum/@count; emitf @mean}; begin {@count=0; @sum=0.0}; @count=@count+1; @sum=@sum+$x
AST:
* statement block
* end block
@ -421,6 +431,7 @@ mean
mlr put -v begin{ @a = @b[1] }; $c = @d; @e[$i][2+$j][3] = $4; end{@f[@g[5][@h]] = 6} /dev/null
DSL EXPRESSION:
begin{ @a = @b[1] }; $c = @d; @e[$i][2+$j][3] = $4; end{@f[@g[5][@h]] = 6}
AST:
* statement block
* begin block

View file

@ -2,6 +2,7 @@
mlr put -v $x = 1 || 2 || 3 /dev/null
DSL EXPRESSION:
$x = 1 || 2 || 3
AST:
* statement block
* assignment "="
@ -16,6 +17,7 @@ AST:
mlr filter -v 1 || 2 || 3 /dev/null
DSL EXPRESSION:
1 || 2 || 3
AST:
* statement block
* bare boolean
@ -29,6 +31,7 @@ AST:
mlr put -v $x = 1 ^^ 2 ^^ 3 /dev/null
DSL EXPRESSION:
$x = 1 ^^ 2 ^^ 3
AST:
* statement block
* assignment "="
@ -43,6 +46,7 @@ AST:
mlr filter -v 1 ^^ 2 ^^ 3 /dev/null
DSL EXPRESSION:
1 ^^ 2 ^^ 3
AST:
* statement block
* bare boolean
@ -56,6 +60,7 @@ AST:
mlr put -v $x = 1 && 2 && 3 /dev/null
DSL EXPRESSION:
$x = 1 && 2 && 3
AST:
* statement block
* assignment "="
@ -70,6 +75,7 @@ AST:
mlr filter -v 1 && 2 && 3 /dev/null
DSL EXPRESSION:
1 && 2 && 3
AST:
* statement block
* bare boolean
@ -83,6 +89,7 @@ AST:
mlr put -v $x = 1 == 2 == 3 /dev/null
DSL EXPRESSION:
$x = 1 == 2 == 3
AST:
* statement block
* assignment "="
@ -97,6 +104,7 @@ AST:
mlr filter -v 1 == 2 == 3 /dev/null
DSL EXPRESSION:
1 == 2 == 3
AST:
* statement block
* bare boolean
@ -110,6 +118,7 @@ AST:
mlr put -v $x = 1 != 2 != 3 /dev/null
DSL EXPRESSION:
$x = 1 != 2 != 3
AST:
* statement block
* assignment "="
@ -124,6 +133,7 @@ AST:
mlr filter -v 1 != 2 != 3 /dev/null
DSL EXPRESSION:
1 != 2 != 3
AST:
* statement block
* bare boolean
@ -137,6 +147,7 @@ AST:
mlr put -v $x = 1 =~ 2 =~ 3 /dev/null
DSL EXPRESSION:
$x = 1 =~ 2 =~ 3
AST:
* statement block
* assignment "="
@ -151,6 +162,7 @@ AST:
mlr filter -v 1 =~ 2 =~ 3 /dev/null
DSL EXPRESSION:
1 =~ 2 =~ 3
AST:
* statement block
* bare boolean
@ -164,6 +176,7 @@ AST:
mlr put -v $x = 1 !=~ 2 !=~ 3 /dev/null
DSL EXPRESSION:
$x = 1 !=~ 2 !=~ 3
AST:
* statement block
* assignment "="
@ -178,6 +191,7 @@ AST:
mlr filter -v 1 !=~ 2 !=~ 3 /dev/null
DSL EXPRESSION:
1 !=~ 2 !=~ 3
AST:
* statement block
* bare boolean
@ -191,6 +205,7 @@ AST:
mlr put -v $x = 1 == 2 != 3 /dev/null
DSL EXPRESSION:
$x = 1 == 2 != 3
AST:
* statement block
* assignment "="
@ -205,6 +220,7 @@ AST:
mlr filter -v 1 == 2 != 3 /dev/null
DSL EXPRESSION:
1 == 2 != 3
AST:
* statement block
* bare boolean
@ -218,6 +234,7 @@ AST:
mlr put -v $x = 1 != 2 == 3 /dev/null
DSL EXPRESSION:
$x = 1 != 2 == 3
AST:
* statement block
* assignment "="
@ -232,6 +249,7 @@ AST:
mlr filter -v 1 != 2 == 3 /dev/null
DSL EXPRESSION:
1 != 2 == 3
AST:
* statement block
* bare boolean
@ -245,6 +263,7 @@ AST:
mlr put -v $x = 1 < 2 < 3 /dev/null
DSL EXPRESSION:
$x = 1 < 2 < 3
AST:
* statement block
* assignment "="
@ -259,6 +278,7 @@ AST:
mlr filter -v 1 < 2 < 3 /dev/null
DSL EXPRESSION:
1 < 2 < 3
AST:
* statement block
* bare boolean
@ -272,6 +292,7 @@ AST:
mlr put -v $x = 1 <= 2 <= 3 /dev/null
DSL EXPRESSION:
$x = 1 <= 2 <= 3
AST:
* statement block
* assignment "="
@ -286,6 +307,7 @@ AST:
mlr filter -v 1 <= 2 <= 3 /dev/null
DSL EXPRESSION:
1 <= 2 <= 3
AST:
* statement block
* bare boolean
@ -299,6 +321,7 @@ AST:
mlr put -v $x = 1 > 2 > 3 /dev/null
DSL EXPRESSION:
$x = 1 > 2 > 3
AST:
* statement block
* assignment "="
@ -313,6 +336,7 @@ AST:
mlr filter -v 1 > 2 > 3 /dev/null
DSL EXPRESSION:
1 > 2 > 3
AST:
* statement block
* bare boolean
@ -326,6 +350,7 @@ AST:
mlr put -v $x = 1 >= 2 >= 3 /dev/null
DSL EXPRESSION:
$x = 1 >= 2 >= 3
AST:
* statement block
* assignment "="
@ -340,6 +365,7 @@ AST:
mlr filter -v 1 >= 2 >= 3 /dev/null
DSL EXPRESSION:
1 >= 2 >= 3
AST:
* statement block
* bare boolean
@ -353,6 +379,7 @@ AST:
mlr put -v $x = 1 < 2 <= 3 /dev/null
DSL EXPRESSION:
$x = 1 < 2 <= 3
AST:
* statement block
* assignment "="
@ -367,6 +394,7 @@ AST:
mlr filter -v 1 < 2 <= 3 /dev/null
DSL EXPRESSION:
1 < 2 <= 3
AST:
* statement block
* bare boolean
@ -380,6 +408,7 @@ AST:
mlr put -v $x = 1 <= 2 < 3 /dev/null
DSL EXPRESSION:
$x = 1 <= 2 < 3
AST:
* statement block
* assignment "="
@ -394,6 +423,7 @@ AST:
mlr filter -v 1 <= 2 < 3 /dev/null
DSL EXPRESSION:
1 <= 2 < 3
AST:
* statement block
* bare boolean
@ -407,6 +437,7 @@ AST:
mlr put -v $x = 1 | 2 | 3 /dev/null
DSL EXPRESSION:
$x = 1 | 2 | 3
AST:
* statement block
* assignment "="
@ -421,6 +452,7 @@ AST:
mlr filter -v 1 | 2 | 3 /dev/null
DSL EXPRESSION:
1 | 2 | 3
AST:
* statement block
* bare boolean
@ -434,6 +466,7 @@ AST:
mlr put -v $x = 1 ^ 2 ^ 3 /dev/null
DSL EXPRESSION:
$x = 1 ^ 2 ^ 3
AST:
* statement block
* assignment "="
@ -448,6 +481,7 @@ AST:
mlr filter -v 1 ^ 2 ^ 3 /dev/null
DSL EXPRESSION:
1 ^ 2 ^ 3
AST:
* statement block
* bare boolean
@ -461,6 +495,7 @@ AST:
mlr put -v $x = 1 & 2 & 3 /dev/null
DSL EXPRESSION:
$x = 1 & 2 & 3
AST:
* statement block
* assignment "="
@ -475,6 +510,7 @@ AST:
mlr filter -v 1 & 2 & 3 /dev/null
DSL EXPRESSION:
1 & 2 & 3
AST:
* statement block
* bare boolean
@ -488,6 +524,7 @@ AST:
mlr put -v $x = 1 | 2 & 3 /dev/null
DSL EXPRESSION:
$x = 1 | 2 & 3
AST:
* statement block
* assignment "="
@ -502,6 +539,7 @@ AST:
mlr filter -v 1 | 2 & 3 /dev/null
DSL EXPRESSION:
1 | 2 & 3
AST:
* statement block
* bare boolean
@ -515,6 +553,7 @@ AST:
mlr put -v $x = 1 | 2 ^ 3 /dev/null
DSL EXPRESSION:
$x = 1 | 2 ^ 3
AST:
* statement block
* assignment "="
@ -529,6 +568,7 @@ AST:
mlr filter -v 1 | 2 ^ 3 /dev/null
DSL EXPRESSION:
1 | 2 ^ 3
AST:
* statement block
* bare boolean
@ -542,6 +582,7 @@ AST:
mlr put -v $x = 1 ^ 2 | 3 /dev/null
DSL EXPRESSION:
$x = 1 ^ 2 | 3
AST:
* statement block
* assignment "="
@ -556,6 +597,7 @@ AST:
mlr filter -v 1 ^ 2 | 3 /dev/null
DSL EXPRESSION:
1 ^ 2 | 3
AST:
* statement block
* bare boolean
@ -569,6 +611,7 @@ AST:
mlr put -v $x = 1 ^ 2 & 3 /dev/null
DSL EXPRESSION:
$x = 1 ^ 2 & 3
AST:
* statement block
* assignment "="
@ -583,6 +626,7 @@ AST:
mlr filter -v 1 ^ 2 & 3 /dev/null
DSL EXPRESSION:
1 ^ 2 & 3
AST:
* statement block
* bare boolean
@ -596,6 +640,7 @@ AST:
mlr put -v $x = 1 & 2 | 3 /dev/null
DSL EXPRESSION:
$x = 1 & 2 | 3
AST:
* statement block
* assignment "="
@ -610,6 +655,7 @@ AST:
mlr filter -v 1 & 2 | 3 /dev/null
DSL EXPRESSION:
1 & 2 | 3
AST:
* statement block
* bare boolean
@ -623,6 +669,7 @@ AST:
mlr put -v $x = 1 & 2 ^ 3 /dev/null
DSL EXPRESSION:
$x = 1 & 2 ^ 3
AST:
* statement block
* assignment "="
@ -637,6 +684,7 @@ AST:
mlr filter -v 1 & 2 ^ 3 /dev/null
DSL EXPRESSION:
1 & 2 ^ 3
AST:
* statement block
* bare boolean
@ -650,6 +698,7 @@ AST:
mlr put -v $x = 1 << 2 << 3 /dev/null
DSL EXPRESSION:
$x = 1 << 2 << 3
AST:
* statement block
* assignment "="
@ -664,6 +713,7 @@ AST:
mlr filter -v 1 << 2 << 3 /dev/null
DSL EXPRESSION:
1 << 2 << 3
AST:
* statement block
* bare boolean
@ -677,6 +727,7 @@ AST:
mlr put -v $x = 1 >> 2 >> 3 /dev/null
DSL EXPRESSION:
$x = 1 >> 2 >> 3
AST:
* statement block
* assignment "="
@ -691,6 +742,7 @@ AST:
mlr filter -v 1 >> 2 >> 3 /dev/null
DSL EXPRESSION:
1 >> 2 >> 3
AST:
* statement block
* bare boolean
@ -704,6 +756,7 @@ AST:
mlr put -v $x = 1 << 2 >> 3 /dev/null
DSL EXPRESSION:
$x = 1 << 2 >> 3
AST:
* statement block
* assignment "="
@ -718,6 +771,7 @@ AST:
mlr filter -v 1 << 2 >> 3 /dev/null
DSL EXPRESSION:
1 << 2 >> 3
AST:
* statement block
* bare boolean
@ -731,6 +785,7 @@ AST:
mlr put -v $x = 1 >> 2 << 3 /dev/null
DSL EXPRESSION:
$x = 1 >> 2 << 3
AST:
* statement block
* assignment "="
@ -745,6 +800,7 @@ AST:
mlr filter -v 1 >> 2 << 3 /dev/null
DSL EXPRESSION:
1 >> 2 << 3
AST:
* statement block
* bare boolean
@ -758,6 +814,7 @@ AST:
mlr put -v $x = 1 + 2 + 3 /dev/null
DSL EXPRESSION:
$x = 1 + 2 + 3
AST:
* statement block
* assignment "="
@ -772,6 +829,7 @@ AST:
mlr filter -v 1 + 2 + 3 /dev/null
DSL EXPRESSION:
1 + 2 + 3
AST:
* statement block
* bare boolean
@ -785,6 +843,7 @@ AST:
mlr put -v $x = 1 - 2 - 3 /dev/null
DSL EXPRESSION:
$x = 1 - 2 - 3
AST:
* statement block
* assignment "="
@ -799,6 +858,7 @@ AST:
mlr filter -v 1 - 2 - 3 /dev/null
DSL EXPRESSION:
1 - 2 - 3
AST:
* statement block
* bare boolean
@ -812,6 +872,7 @@ AST:
mlr put -v $x = 1 + 2 - 3 /dev/null
DSL EXPRESSION:
$x = 1 + 2 - 3
AST:
* statement block
* assignment "="
@ -826,6 +887,7 @@ AST:
mlr filter -v 1 + 2 - 3 /dev/null
DSL EXPRESSION:
1 + 2 - 3
AST:
* statement block
* bare boolean
@ -839,6 +901,7 @@ AST:
mlr put -v $x = 1 - 2 + 3 /dev/null
DSL EXPRESSION:
$x = 1 - 2 + 3
AST:
* statement block
* assignment "="
@ -853,6 +916,7 @@ AST:
mlr filter -v 1 - 2 + 3 /dev/null
DSL EXPRESSION:
1 - 2 + 3
AST:
* statement block
* bare boolean
@ -866,6 +930,7 @@ AST:
mlr put -v $x = 1 . 2 . 3 /dev/null
DSL EXPRESSION:
$x = 1 . 2 . 3
AST:
* statement block
* assignment "="
@ -880,6 +945,7 @@ AST:
mlr filter -v 1 . 2 . 3 /dev/null
DSL EXPRESSION:
1 . 2 . 3
AST:
* statement block
* bare boolean
@ -893,6 +959,7 @@ AST:
mlr put -v $x = 1 * 2 * 3 /dev/null
DSL EXPRESSION:
$x = 1 * 2 * 3
AST:
* statement block
* assignment "="
@ -907,6 +974,7 @@ AST:
mlr filter -v 1 * 2 * 3 /dev/null
DSL EXPRESSION:
1 * 2 * 3
AST:
* statement block
* bare boolean
@ -920,6 +988,7 @@ AST:
mlr put -v $x = 1 / 2 / 3 /dev/null
DSL EXPRESSION:
$x = 1 / 2 / 3
AST:
* statement block
* assignment "="
@ -934,6 +1003,7 @@ AST:
mlr filter -v 1 / 2 / 3 /dev/null
DSL EXPRESSION:
1 / 2 / 3
AST:
* statement block
* bare boolean
@ -947,6 +1017,7 @@ AST:
mlr put -v $x = 1 // 2 // 3 /dev/null
DSL EXPRESSION:
$x = 1 // 2 // 3
AST:
* statement block
* assignment "="
@ -961,6 +1032,7 @@ AST:
mlr filter -v 1 // 2 // 3 /dev/null
DSL EXPRESSION:
1 // 2 // 3
AST:
* statement block
* bare boolean
@ -974,6 +1046,7 @@ AST:
mlr put -v $x = 1 % 2 % 3 /dev/null
DSL EXPRESSION:
$x = 1 % 2 % 3
AST:
* statement block
* assignment "="
@ -988,6 +1061,7 @@ AST:
mlr filter -v 1 % 2 % 3 /dev/null
DSL EXPRESSION:
1 % 2 % 3
AST:
* statement block
* bare boolean
@ -1001,6 +1075,7 @@ AST:
mlr put -v $x = 1 ** 2 ** 3 /dev/null
DSL EXPRESSION:
$x = 1 ** 2 ** 3
AST:
* statement block
* assignment "="
@ -1015,6 +1090,7 @@ AST:
mlr filter -v 1 ** 2 ** 3 /dev/null
DSL EXPRESSION:
1 ** 2 ** 3
AST:
* statement block
* bare boolean
@ -1028,6 +1104,7 @@ AST:
mlr put -v $x = 1 * 2 / 3 /dev/null
DSL EXPRESSION:
$x = 1 * 2 / 3
AST:
* statement block
* assignment "="
@ -1042,6 +1119,7 @@ AST:
mlr filter -v 1 * 2 / 3 /dev/null
DSL EXPRESSION:
1 * 2 / 3
AST:
* statement block
* bare boolean
@ -1055,6 +1133,7 @@ AST:
mlr put -v $x = 1 * 2 // 3 /dev/null
DSL EXPRESSION:
$x = 1 * 2 // 3
AST:
* statement block
* assignment "="
@ -1069,6 +1148,7 @@ AST:
mlr filter -v 1 * 2 // 3 /dev/null
DSL EXPRESSION:
1 * 2 // 3
AST:
* statement block
* bare boolean
@ -1082,6 +1162,7 @@ AST:
mlr put -v $x = 1 * 2 % 3 /dev/null
DSL EXPRESSION:
$x = 1 * 2 % 3
AST:
* statement block
* assignment "="
@ -1096,6 +1177,7 @@ AST:
mlr filter -v 1 * 2 % 3 /dev/null
DSL EXPRESSION:
1 * 2 % 3
AST:
* statement block
* bare boolean
@ -1109,6 +1191,7 @@ AST:
mlr put -v $x = 1 * 2 ** 3 /dev/null
DSL EXPRESSION:
$x = 1 * 2 ** 3
AST:
* statement block
* assignment "="
@ -1123,6 +1206,7 @@ AST:
mlr filter -v 1 * 2 ** 3 /dev/null
DSL EXPRESSION:
1 * 2 ** 3
AST:
* statement block
* bare boolean
@ -1136,6 +1220,7 @@ AST:
mlr put -v $x = 1 / 2 * 3 /dev/null
DSL EXPRESSION:
$x = 1 / 2 * 3
AST:
* statement block
* assignment "="
@ -1150,6 +1235,7 @@ AST:
mlr filter -v 1 / 2 * 3 /dev/null
DSL EXPRESSION:
1 / 2 * 3
AST:
* statement block
* bare boolean
@ -1163,6 +1249,7 @@ AST:
mlr put -v $x = 1 / 2 // 3 /dev/null
DSL EXPRESSION:
$x = 1 / 2 // 3
AST:
* statement block
* assignment "="
@ -1177,6 +1264,7 @@ AST:
mlr filter -v 1 / 2 // 3 /dev/null
DSL EXPRESSION:
1 / 2 // 3
AST:
* statement block
* bare boolean
@ -1190,6 +1278,7 @@ AST:
mlr put -v $x = 1 / 2 % 3 /dev/null
DSL EXPRESSION:
$x = 1 / 2 % 3
AST:
* statement block
* assignment "="
@ -1204,6 +1293,7 @@ AST:
mlr filter -v 1 / 2 % 3 /dev/null
DSL EXPRESSION:
1 / 2 % 3
AST:
* statement block
* bare boolean
@ -1217,6 +1307,7 @@ AST:
mlr put -v $x = 1 / 2 ** 3 /dev/null
DSL EXPRESSION:
$x = 1 / 2 ** 3
AST:
* statement block
* assignment "="
@ -1231,6 +1322,7 @@ AST:
mlr filter -v 1 / 2 ** 3 /dev/null
DSL EXPRESSION:
1 / 2 ** 3
AST:
* statement block
* bare boolean
@ -1244,6 +1336,7 @@ AST:
mlr put -v $x = 1 // 2 * 3 /dev/null
DSL EXPRESSION:
$x = 1 // 2 * 3
AST:
* statement block
* assignment "="
@ -1258,6 +1351,7 @@ AST:
mlr filter -v 1 // 2 * 3 /dev/null
DSL EXPRESSION:
1 // 2 * 3
AST:
* statement block
* bare boolean
@ -1271,6 +1365,7 @@ AST:
mlr put -v $x = 1 // 2 / 3 /dev/null
DSL EXPRESSION:
$x = 1 // 2 / 3
AST:
* statement block
* assignment "="
@ -1285,6 +1380,7 @@ AST:
mlr filter -v 1 // 2 / 3 /dev/null
DSL EXPRESSION:
1 // 2 / 3
AST:
* statement block
* bare boolean
@ -1298,6 +1394,7 @@ AST:
mlr put -v $x = 1 // 2 % 3 /dev/null
DSL EXPRESSION:
$x = 1 // 2 % 3
AST:
* statement block
* assignment "="
@ -1312,6 +1409,7 @@ AST:
mlr filter -v 1 // 2 % 3 /dev/null
DSL EXPRESSION:
1 // 2 % 3
AST:
* statement block
* bare boolean
@ -1325,6 +1423,7 @@ AST:
mlr put -v $x = 1 // 2 ** 3 /dev/null
DSL EXPRESSION:
$x = 1 // 2 ** 3
AST:
* statement block
* assignment "="
@ -1339,6 +1438,7 @@ AST:
mlr filter -v 1 // 2 ** 3 /dev/null
DSL EXPRESSION:
1 // 2 ** 3
AST:
* statement block
* bare boolean
@ -1352,6 +1452,7 @@ AST:
mlr put -v $x = 1 % 2 * 3 /dev/null
DSL EXPRESSION:
$x = 1 % 2 * 3
AST:
* statement block
* assignment "="
@ -1366,6 +1467,7 @@ AST:
mlr filter -v 1 % 2 * 3 /dev/null
DSL EXPRESSION:
1 % 2 * 3
AST:
* statement block
* bare boolean
@ -1379,6 +1481,7 @@ AST:
mlr put -v $x = 1 % 2 / 3 /dev/null
DSL EXPRESSION:
$x = 1 % 2 / 3
AST:
* statement block
* assignment "="
@ -1393,6 +1496,7 @@ AST:
mlr filter -v 1 % 2 / 3 /dev/null
DSL EXPRESSION:
1 % 2 / 3
AST:
* statement block
* bare boolean
@ -1406,6 +1510,7 @@ AST:
mlr put -v $x = 1 % 2 // 3 /dev/null
DSL EXPRESSION:
$x = 1 % 2 // 3
AST:
* statement block
* assignment "="
@ -1420,6 +1525,7 @@ AST:
mlr filter -v 1 % 2 // 3 /dev/null
DSL EXPRESSION:
1 % 2 // 3
AST:
* statement block
* bare boolean
@ -1433,6 +1539,7 @@ AST:
mlr put -v $x = 1 % 2 ** 3 /dev/null
DSL EXPRESSION:
$x = 1 % 2 ** 3
AST:
* statement block
* assignment "="
@ -1447,6 +1554,7 @@ AST:
mlr filter -v 1 % 2 ** 3 /dev/null
DSL EXPRESSION:
1 % 2 ** 3
AST:
* statement block
* bare boolean
@ -1460,6 +1568,7 @@ AST:
mlr put -v $x = 1 ** 2 * 3 /dev/null
DSL EXPRESSION:
$x = 1 ** 2 * 3
AST:
* statement block
* assignment "="
@ -1474,6 +1583,7 @@ AST:
mlr filter -v 1 ** 2 * 3 /dev/null
DSL EXPRESSION:
1 ** 2 * 3
AST:
* statement block
* bare boolean
@ -1487,6 +1597,7 @@ AST:
mlr put -v $x = 1 ** 2 / 3 /dev/null
DSL EXPRESSION:
$x = 1 ** 2 / 3
AST:
* statement block
* assignment "="
@ -1501,6 +1612,7 @@ AST:
mlr filter -v 1 ** 2 / 3 /dev/null
DSL EXPRESSION:
1 ** 2 / 3
AST:
* statement block
* bare boolean
@ -1514,6 +1626,7 @@ AST:
mlr put -v $x = 1 ** 2 // 3 /dev/null
DSL EXPRESSION:
$x = 1 ** 2 // 3
AST:
* statement block
* assignment "="
@ -1528,6 +1641,7 @@ AST:
mlr filter -v 1 ** 2 // 3 /dev/null
DSL EXPRESSION:
1 ** 2 // 3
AST:
* statement block
* bare boolean
@ -1541,6 +1655,7 @@ AST:
mlr put -v $x = 1 ** 2 % 3 /dev/null
DSL EXPRESSION:
$x = 1 ** 2 % 3
AST:
* statement block
* assignment "="
@ -1555,6 +1670,7 @@ AST:
mlr filter -v 1 ** 2 % 3 /dev/null
DSL EXPRESSION:
1 ** 2 % 3
AST:
* statement block
* bare boolean
@ -1568,6 +1684,7 @@ AST:
mlr put -v $x = ++1 /dev/null
DSL EXPRESSION:
$x = ++1
AST:
* statement block
* assignment "="
@ -1580,6 +1697,7 @@ AST:
mlr filter -v ++1 /dev/null
DSL EXPRESSION:
++1
AST:
* statement block
* bare boolean
@ -1591,6 +1709,7 @@ AST:
mlr put -v $x = --1 /dev/null
DSL EXPRESSION:
$x = --1
AST:
* statement block
* assignment "="
@ -1603,6 +1722,7 @@ AST:
mlr filter -v --1 /dev/null
DSL EXPRESSION:
--1
AST:
* statement block
* bare boolean
@ -1614,6 +1734,7 @@ AST:
mlr put -v $x = !!1 /dev/null
DSL EXPRESSION:
$x = !!1
AST:
* statement block
* assignment "="
@ -1626,6 +1747,7 @@ AST:
mlr filter -v !!1 /dev/null
DSL EXPRESSION:
!!1
AST:
* statement block
* bare boolean
@ -1637,6 +1759,7 @@ AST:
mlr put -v $x = ~~1 /dev/null
DSL EXPRESSION:
$x = ~~1
AST:
* statement block
* assignment "="
@ -1649,6 +1772,7 @@ AST:
mlr filter -v ~~1 /dev/null
DSL EXPRESSION:
~~1
AST:
* statement block
* bare boolean
@ -1660,6 +1784,7 @@ AST:
mlr put -v $x = 1 ? 2 : 3 /dev/null
DSL EXPRESSION:
$x = 1 ? 2 : 3
AST:
* statement block
* assignment "="
@ -1673,6 +1798,7 @@ AST:
mlr filter -v 1 ? 2 : 3 /dev/null
DSL EXPRESSION:
1 ? 2 : 3
AST:
* statement block
* bare boolean
@ -1685,6 +1811,7 @@ AST:
mlr put -v $x = 1 ? 2 ? 3 : 4 : 5 /dev/null
DSL EXPRESSION:
$x = 1 ? 2 ? 3 : 4 : 5
AST:
* statement block
* assignment "="
@ -1701,6 +1828,7 @@ AST:
mlr filter -v 1 ? 2 ? 3 : 4 : 5 /dev/null
DSL EXPRESSION:
1 ? 2 ? 3 : 4 : 5
AST:
* statement block
* bare boolean
@ -1716,6 +1844,7 @@ AST:
mlr put -v $x = 1 ? 2 : 3 ? 4 : 5 /dev/null
DSL EXPRESSION:
$x = 1 ? 2 : 3 ? 4 : 5
AST:
* statement block
* assignment "="
@ -1732,6 +1861,7 @@ AST:
mlr filter -v 1 ? 2 : 3 ? 4 : 5 /dev/null
DSL EXPRESSION:
1 ? 2 : 3 ? 4 : 5
AST:
* statement block
* bare boolean

View file

@ -2,6 +2,7 @@
mlr put -v $x = 1 || 2 ^^ 3 /dev/null
DSL EXPRESSION:
$x = 1 || 2 ^^ 3
AST:
* statement block
* assignment "="
@ -16,6 +17,7 @@ AST:
mlr filter -v 1 || 2 ^^ 3 /dev/null
DSL EXPRESSION:
1 || 2 ^^ 3
AST:
* statement block
* bare boolean
@ -29,6 +31,7 @@ AST:
mlr put -v $x = 1 || 2 && 3 /dev/null
DSL EXPRESSION:
$x = 1 || 2 && 3
AST:
* statement block
* assignment "="
@ -43,6 +46,7 @@ AST:
mlr filter -v 1 || 2 && 3 /dev/null
DSL EXPRESSION:
1 || 2 && 3
AST:
* statement block
* bare boolean
@ -56,6 +60,7 @@ AST:
mlr put -v $x = 1 ^^ 2 || 3 /dev/null
DSL EXPRESSION:
$x = 1 ^^ 2 || 3
AST:
* statement block
* assignment "="
@ -70,6 +75,7 @@ AST:
mlr filter -v 1 ^^ 2 || 3 /dev/null
DSL EXPRESSION:
1 ^^ 2 || 3
AST:
* statement block
* bare boolean
@ -83,6 +89,7 @@ AST:
mlr put -v $x = 1 ^^ 2 && 3 /dev/null
DSL EXPRESSION:
$x = 1 ^^ 2 && 3
AST:
* statement block
* assignment "="
@ -97,6 +104,7 @@ AST:
mlr filter -v 1 ^^ 2 && 3 /dev/null
DSL EXPRESSION:
1 ^^ 2 && 3
AST:
* statement block
* bare boolean
@ -110,6 +118,7 @@ AST:
mlr put -v $x = 1 && 2 || 3 /dev/null
DSL EXPRESSION:
$x = 1 && 2 || 3
AST:
* statement block
* assignment "="
@ -124,6 +133,7 @@ AST:
mlr filter -v 1 && 2 || 3 /dev/null
DSL EXPRESSION:
1 && 2 || 3
AST:
* statement block
* bare boolean
@ -137,6 +147,7 @@ AST:
mlr put -v $x = 1 && 2 ^^ 3 /dev/null
DSL EXPRESSION:
$x = 1 && 2 ^^ 3
AST:
* statement block
* assignment "="
@ -151,6 +162,7 @@ AST:
mlr filter -v 1 && 2 ^^ 3 /dev/null
DSL EXPRESSION:
1 && 2 ^^ 3
AST:
* statement block
* bare boolean
@ -164,6 +176,7 @@ AST:
mlr put -v $x = 1 == 2 <= 3 /dev/null
DSL EXPRESSION:
$x = 1 == 2 <= 3
AST:
* statement block
* assignment "="
@ -178,6 +191,7 @@ AST:
mlr filter -v 1 == 2 <= 3 /dev/null
DSL EXPRESSION:
1 == 2 <= 3
AST:
* statement block
* bare boolean
@ -191,6 +205,7 @@ AST:
mlr put -v $x = 1 <= 2 == 3 /dev/null
DSL EXPRESSION:
$x = 1 <= 2 == 3
AST:
* statement block
* assignment "="
@ -205,6 +220,7 @@ AST:
mlr filter -v 1 <= 2 == 3 /dev/null
DSL EXPRESSION:
1 <= 2 == 3
AST:
* statement block
* bare boolean
@ -218,6 +234,7 @@ AST:
mlr put -v $x = 1 <= 2 | 3 /dev/null
DSL EXPRESSION:
$x = 1 <= 2 | 3
AST:
* statement block
* assignment "="
@ -232,6 +249,7 @@ AST:
mlr filter -v 1 <= 2 | 3 /dev/null
DSL EXPRESSION:
1 <= 2 | 3
AST:
* statement block
* bare boolean
@ -245,6 +263,7 @@ AST:
mlr put -v $x = 1 | 2 <= 3 /dev/null
DSL EXPRESSION:
$x = 1 | 2 <= 3
AST:
* statement block
* assignment "="
@ -259,6 +278,7 @@ AST:
mlr filter -v 1 | 2 <= 3 /dev/null
DSL EXPRESSION:
1 | 2 <= 3
AST:
* statement block
* bare boolean
@ -272,6 +292,7 @@ AST:
mlr put -v $x = 1 | 2 ^ 3 /dev/null
DSL EXPRESSION:
$x = 1 | 2 ^ 3
AST:
* statement block
* assignment "="
@ -286,6 +307,7 @@ AST:
mlr filter -v 1 | 2 ^ 3 /dev/null
DSL EXPRESSION:
1 | 2 ^ 3
AST:
* statement block
* bare boolean
@ -299,6 +321,7 @@ AST:
mlr put -v $x = 1 ^ 2 | 3 /dev/null
DSL EXPRESSION:
$x = 1 ^ 2 | 3
AST:
* statement block
* assignment "="
@ -313,6 +336,7 @@ AST:
mlr filter -v 1 ^ 2 | 3 /dev/null
DSL EXPRESSION:
1 ^ 2 | 3
AST:
* statement block
* bare boolean
@ -326,6 +350,7 @@ AST:
mlr put -v $x = 1 ^ 2 & 3 /dev/null
DSL EXPRESSION:
$x = 1 ^ 2 & 3
AST:
* statement block
* assignment "="
@ -340,6 +365,7 @@ AST:
mlr filter -v 1 ^ 2 & 3 /dev/null
DSL EXPRESSION:
1 ^ 2 & 3
AST:
* statement block
* bare boolean
@ -353,6 +379,7 @@ AST:
mlr put -v $x = 1 & 2 ^ 3 /dev/null
DSL EXPRESSION:
$x = 1 & 2 ^ 3
AST:
* statement block
* assignment "="
@ -367,6 +394,7 @@ AST:
mlr filter -v 1 & 2 ^ 3 /dev/null
DSL EXPRESSION:
1 & 2 ^ 3
AST:
* statement block
* bare boolean
@ -380,6 +408,7 @@ AST:
mlr put -v $x = 1 & 2 << 3 /dev/null
DSL EXPRESSION:
$x = 1 & 2 << 3
AST:
* statement block
* assignment "="
@ -394,6 +423,7 @@ AST:
mlr filter -v 1 & 2 << 3 /dev/null
DSL EXPRESSION:
1 & 2 << 3
AST:
* statement block
* bare boolean
@ -407,6 +437,7 @@ AST:
mlr put -v $x = 1 << 2 & 3 /dev/null
DSL EXPRESSION:
$x = 1 << 2 & 3
AST:
* statement block
* assignment "="
@ -421,6 +452,7 @@ AST:
mlr filter -v 1 << 2 & 3 /dev/null
DSL EXPRESSION:
1 << 2 & 3
AST:
* statement block
* bare boolean
@ -434,6 +466,7 @@ AST:
mlr put -v $x = 1 + 2 * 3 /dev/null
DSL EXPRESSION:
$x = 1 + 2 * 3
AST:
* statement block
* assignment "="
@ -448,6 +481,7 @@ AST:
mlr filter -v 1 + 2 * 3 /dev/null
DSL EXPRESSION:
1 + 2 * 3
AST:
* statement block
* bare boolean
@ -461,6 +495,7 @@ AST:
mlr put -v $x = 1 * 2 + 3 /dev/null
DSL EXPRESSION:
$x = 1 * 2 + 3
AST:
* statement block
* assignment "="
@ -475,6 +510,7 @@ AST:
mlr filter -v 1 * 2 + 3 /dev/null
DSL EXPRESSION:
1 * 2 + 3
AST:
* statement block
* bare boolean
@ -488,6 +524,7 @@ AST:
mlr put -v $x = 1 + (2 * 3) /dev/null
DSL EXPRESSION:
$x = 1 + (2 * 3)
AST:
* statement block
* assignment "="
@ -502,6 +539,7 @@ AST:
mlr filter -v 1 + (2 * 3) /dev/null
DSL EXPRESSION:
1 + (2 * 3)
AST:
* statement block
* bare boolean
@ -515,6 +553,7 @@ AST:
mlr put -v $x = 1 * (2 + 3) /dev/null
DSL EXPRESSION:
$x = 1 * (2 + 3)
AST:
* statement block
* assignment "="
@ -529,6 +568,7 @@ AST:
mlr filter -v 1 * (2 + 3) /dev/null
DSL EXPRESSION:
1 * (2 + 3)
AST:
* statement block
* bare boolean
@ -542,6 +582,7 @@ AST:
mlr put -v $x = (1 + 2) * 3 /dev/null
DSL EXPRESSION:
$x = (1 + 2) * 3
AST:
* statement block
* assignment "="
@ -556,6 +597,7 @@ AST:
mlr filter -v (1 + 2) * 3 /dev/null
DSL EXPRESSION:
(1 + 2) * 3
AST:
* statement block
* bare boolean
@ -569,6 +611,7 @@ AST:
mlr put -v $x = (1 * 2) + 3 /dev/null
DSL EXPRESSION:
$x = (1 * 2) + 3
AST:
* statement block
* assignment "="
@ -583,6 +626,7 @@ AST:
mlr filter -v (1 * 2) + 3 /dev/null
DSL EXPRESSION:
(1 * 2) + 3
AST:
* statement block
* bare boolean
@ -596,6 +640,7 @@ AST:
mlr put -v $x = 1 + 2 ** 3 /dev/null
DSL EXPRESSION:
$x = 1 + 2 ** 3
AST:
* statement block
* assignment "="
@ -610,6 +655,7 @@ AST:
mlr filter -v 1 + 2 ** 3 /dev/null
DSL EXPRESSION:
1 + 2 ** 3
AST:
* statement block
* bare boolean
@ -623,6 +669,7 @@ AST:
mlr put -v $x = 1 ** 2 + 3 /dev/null
DSL EXPRESSION:
$x = 1 ** 2 + 3
AST:
* statement block
* assignment "="
@ -637,6 +684,7 @@ AST:
mlr filter -v 1 ** 2 + 3 /dev/null
DSL EXPRESSION:
1 ** 2 + 3
AST:
* statement block
* bare boolean
@ -650,6 +698,7 @@ AST:
mlr put -v $x = 1 + (2 ** 3) /dev/null
DSL EXPRESSION:
$x = 1 + (2 ** 3)
AST:
* statement block
* assignment "="
@ -664,6 +713,7 @@ AST:
mlr filter -v 1 + (2 ** 3) /dev/null
DSL EXPRESSION:
1 + (2 ** 3)
AST:
* statement block
* bare boolean
@ -677,6 +727,7 @@ AST:
mlr put -v $x = 1 ** (2 + 3) /dev/null
DSL EXPRESSION:
$x = 1 ** (2 + 3)
AST:
* statement block
* assignment "="
@ -691,6 +742,7 @@ AST:
mlr filter -v 1 ** (2 + 3) /dev/null
DSL EXPRESSION:
1 ** (2 + 3)
AST:
* statement block
* bare boolean
@ -704,6 +756,7 @@ AST:
mlr put -v $x = (1 + 2) ** 3 /dev/null
DSL EXPRESSION:
$x = (1 + 2) ** 3
AST:
* statement block
* assignment "="
@ -718,6 +771,7 @@ AST:
mlr filter -v (1 + 2) ** 3 /dev/null
DSL EXPRESSION:
(1 + 2) ** 3
AST:
* statement block
* bare boolean
@ -731,6 +785,7 @@ AST:
mlr put -v $x = (1 ** 2) + 3 /dev/null
DSL EXPRESSION:
$x = (1 ** 2) + 3
AST:
* statement block
* assignment "="
@ -745,6 +800,7 @@ AST:
mlr filter -v (1 ** 2) + 3 /dev/null
DSL EXPRESSION:
(1 ** 2) + 3
AST:
* statement block
* bare boolean
@ -758,6 +814,7 @@ AST:
mlr put -v $x = 1 * 2 ** 3 /dev/null
DSL EXPRESSION:
$x = 1 * 2 ** 3
AST:
* statement block
* assignment "="
@ -772,6 +829,7 @@ AST:
mlr filter -v 1 * 2 ** 3 /dev/null
DSL EXPRESSION:
1 * 2 ** 3
AST:
* statement block
* bare boolean
@ -785,6 +843,7 @@ AST:
mlr put -v $x = 1 ** 2 * 3 /dev/null
DSL EXPRESSION:
$x = 1 ** 2 * 3
AST:
* statement block
* assignment "="
@ -799,6 +858,7 @@ AST:
mlr filter -v 1 ** 2 * 3 /dev/null
DSL EXPRESSION:
1 ** 2 * 3
AST:
* statement block
* bare boolean
@ -812,6 +872,7 @@ AST:
mlr put -v $x = 1 * (2 ** 3) /dev/null
DSL EXPRESSION:
$x = 1 * (2 ** 3)
AST:
* statement block
* assignment "="
@ -826,6 +887,7 @@ AST:
mlr filter -v 1 * (2 ** 3) /dev/null
DSL EXPRESSION:
1 * (2 ** 3)
AST:
* statement block
* bare boolean
@ -839,6 +901,7 @@ AST:
mlr put -v $x = 1 ** (2 * 3) /dev/null
DSL EXPRESSION:
$x = 1 ** (2 * 3)
AST:
* statement block
* assignment "="
@ -853,6 +916,7 @@ AST:
mlr filter -v 1 ** (2 * 3) /dev/null
DSL EXPRESSION:
1 ** (2 * 3)
AST:
* statement block
* bare boolean
@ -866,6 +930,7 @@ AST:
mlr put -v $x = (1 * 2) ** 3 /dev/null
DSL EXPRESSION:
$x = (1 * 2) ** 3
AST:
* statement block
* assignment "="
@ -880,6 +945,7 @@ AST:
mlr filter -v (1 * 2) ** 3 /dev/null
DSL EXPRESSION:
(1 * 2) ** 3
AST:
* statement block
* bare boolean
@ -893,6 +959,7 @@ AST:
mlr put -v $x = (1 ** 2) * 3 /dev/null
DSL EXPRESSION:
$x = (1 ** 2) * 3
AST:
* statement block
* assignment "="
@ -907,6 +974,7 @@ AST:
mlr filter -v (1 ** 2) * 3 /dev/null
DSL EXPRESSION:
(1 ** 2) * 3
AST:
* statement block
* bare boolean
@ -920,6 +988,7 @@ AST:
mlr put -v $x = -1 + 2 * 3 /dev/null
DSL EXPRESSION:
$x = -1 + 2 * 3
AST:
* statement block
* assignment "="
@ -935,6 +1004,7 @@ AST:
mlr filter -v -1 + 2 * 3 /dev/null
DSL EXPRESSION:
-1 + 2 * 3
AST:
* statement block
* bare boolean
@ -949,6 +1019,7 @@ AST:
mlr put -v $x = -1 * 2 + 3 /dev/null
DSL EXPRESSION:
$x = -1 * 2 + 3
AST:
* statement block
* assignment "="
@ -964,6 +1035,7 @@ AST:
mlr filter -v -1 * 2 + 3 /dev/null
DSL EXPRESSION:
-1 * 2 + 3
AST:
* statement block
* bare boolean
@ -978,6 +1050,7 @@ AST:
mlr put -v $x = 1 + -2 * 3 /dev/null
DSL EXPRESSION:
$x = 1 + -2 * 3
AST:
* statement block
* assignment "="
@ -993,6 +1066,7 @@ AST:
mlr filter -v 1 + -2 * 3 /dev/null
DSL EXPRESSION:
1 + -2 * 3
AST:
* statement block
* bare boolean
@ -1007,6 +1081,7 @@ AST:
mlr put -v $x = 1 * -2 + 3 /dev/null
DSL EXPRESSION:
$x = 1 * -2 + 3
AST:
* statement block
* assignment "="
@ -1022,6 +1097,7 @@ AST:
mlr filter -v 1 * -2 + 3 /dev/null
DSL EXPRESSION:
1 * -2 + 3
AST:
* statement block
* bare boolean
@ -1036,6 +1112,7 @@ AST:
mlr put -v $x = 1 + 2 * -3 /dev/null
DSL EXPRESSION:
$x = 1 + 2 * -3
AST:
* statement block
* assignment "="
@ -1051,6 +1128,7 @@ AST:
mlr filter -v 1 + 2 * -3 /dev/null
DSL EXPRESSION:
1 + 2 * -3
AST:
* statement block
* bare boolean
@ -1065,6 +1143,7 @@ AST:
mlr put -v $x = 1 * 2 + -3 /dev/null
DSL EXPRESSION:
$x = 1 * 2 + -3
AST:
* statement block
* assignment "="
@ -1080,6 +1159,7 @@ AST:
mlr filter -v 1 * 2 + -3 /dev/null
DSL EXPRESSION:
1 * 2 + -3
AST:
* statement block
* bare boolean
@ -1094,6 +1174,7 @@ AST:
mlr put -v $x = ~1 | 2 & 3 /dev/null
DSL EXPRESSION:
$x = ~1 | 2 & 3
AST:
* statement block
* assignment "="
@ -1109,6 +1190,7 @@ AST:
mlr filter -v ~1 | 2 & 3 /dev/null
DSL EXPRESSION:
~1 | 2 & 3
AST:
* statement block
* bare boolean
@ -1123,6 +1205,7 @@ AST:
mlr put -v $x = ~1 & 2 | 3 /dev/null
DSL EXPRESSION:
$x = ~1 & 2 | 3
AST:
* statement block
* assignment "="
@ -1138,6 +1221,7 @@ AST:
mlr filter -v ~1 & 2 | 3 /dev/null
DSL EXPRESSION:
~1 & 2 | 3
AST:
* statement block
* bare boolean
@ -1152,6 +1236,7 @@ AST:
mlr put -v $x = 1 | ~2 & 3 /dev/null
DSL EXPRESSION:
$x = 1 | ~2 & 3
AST:
* statement block
* assignment "="
@ -1167,6 +1252,7 @@ AST:
mlr filter -v 1 | ~2 & 3 /dev/null
DSL EXPRESSION:
1 | ~2 & 3
AST:
* statement block
* bare boolean
@ -1181,6 +1267,7 @@ AST:
mlr put -v $x = 1 & ~2 | 3 /dev/null
DSL EXPRESSION:
$x = 1 & ~2 | 3
AST:
* statement block
* assignment "="
@ -1196,6 +1283,7 @@ AST:
mlr filter -v 1 & ~2 | 3 /dev/null
DSL EXPRESSION:
1 & ~2 | 3
AST:
* statement block
* bare boolean
@ -1210,6 +1298,7 @@ AST:
mlr put -v $x = 1 | 2 & ~3 /dev/null
DSL EXPRESSION:
$x = 1 | 2 & ~3
AST:
* statement block
* assignment "="
@ -1225,6 +1314,7 @@ AST:
mlr filter -v 1 | 2 & ~3 /dev/null
DSL EXPRESSION:
1 | 2 & ~3
AST:
* statement block
* bare boolean
@ -1239,6 +1329,7 @@ AST:
mlr put -v $x = 1 & 2 | ~3 /dev/null
DSL EXPRESSION:
$x = 1 & 2 | ~3
AST:
* statement block
* assignment "="
@ -1254,6 +1345,7 @@ AST:
mlr filter -v 1 & 2 | ~3 /dev/null
DSL EXPRESSION:
1 & 2 | ~3
AST:
* statement block
* bare boolean
@ -1268,6 +1360,7 @@ AST:
mlr put -v $x = $a==1 && $b == 1 && $c == 1 /dev/null
DSL EXPRESSION:
$x = $a==1 && $b == 1 && $c == 1
AST:
* statement block
* assignment "="
@ -1288,6 +1381,7 @@ AST:
mlr filter -v $a==1 && $b == 1 && $c == 1 /dev/null
DSL EXPRESSION:
$a==1 && $b == 1 && $c == 1
AST:
* statement block
* bare boolean
@ -1307,6 +1401,7 @@ AST:
mlr put -v $x = $a==1 || $b == 1 && $c == 1 /dev/null
DSL EXPRESSION:
$x = $a==1 || $b == 1 && $c == 1
AST:
* statement block
* assignment "="
@ -1327,6 +1422,7 @@ AST:
mlr filter -v $a==1 || $b == 1 && $c == 1 /dev/null
DSL EXPRESSION:
$a==1 || $b == 1 && $c == 1
AST:
* statement block
* bare boolean
@ -1346,6 +1442,7 @@ AST:
mlr put -v $x = $a==1 || $b == 1 || $c == 1 /dev/null
DSL EXPRESSION:
$x = $a==1 || $b == 1 || $c == 1
AST:
* statement block
* assignment "="
@ -1366,6 +1463,7 @@ AST:
mlr filter -v $a==1 || $b == 1 || $c == 1 /dev/null
DSL EXPRESSION:
$a==1 || $b == 1 || $c == 1
AST:
* statement block
* bare boolean
@ -1385,6 +1483,7 @@ AST:
mlr put -v $x = $a==1 && $b == 1 || $c == 1 /dev/null
DSL EXPRESSION:
$x = $a==1 && $b == 1 || $c == 1
AST:
* statement block
* assignment "="
@ -1405,6 +1504,7 @@ AST:
mlr filter -v $a==1 && $b == 1 || $c == 1 /dev/null
DSL EXPRESSION:
$a==1 && $b == 1 || $c == 1
AST:
* statement block
* bare boolean
@ -1424,6 +1524,7 @@ AST:
mlr put -v $x = $a==1 ? $b == 2 : $c == 3 /dev/null
DSL EXPRESSION:
$x = $a==1 ? $b == 2 : $c == 3
AST:
* statement block
* assignment "="
@ -1443,6 +1544,7 @@ AST:
mlr filter -v $a==1 ? $b == 2 : $c == 3 /dev/null
DSL EXPRESSION:
$a==1 ? $b == 2 : $c == 3
AST:
* statement block
* bare boolean
@ -1461,6 +1563,7 @@ AST:
mlr put -v $x = true /dev/null
DSL EXPRESSION:
$x = true
AST:
* statement block
* assignment "="
@ -1471,6 +1574,7 @@ AST:
mlr filter -v true /dev/null
DSL EXPRESSION:
true
AST:
* statement block
* bare boolean
@ -1480,6 +1584,7 @@ AST:
mlr put -v true || 1==0; $x = 3 /dev/null
DSL EXPRESSION:
true || 1==0; $x = 3
AST:
* statement block
* bare boolean
@ -1496,6 +1601,7 @@ AST:
mlr filter -v true || 1==0 /dev/null
DSL EXPRESSION:
true || 1==0
AST:
* statement block
* bare boolean
@ -1509,6 +1615,7 @@ AST:
mlr put -v 1==0 || false; $x = 3 /dev/null
DSL EXPRESSION:
1==0 || false; $x = 3
AST:
* statement block
* bare boolean
@ -1525,6 +1632,7 @@ AST:
mlr filter -v 1==0 || false /dev/null
DSL EXPRESSION:
1==0 || false
AST:
* statement block
* bare boolean
@ -1538,6 +1646,7 @@ AST:
mlr put -v true && false; $x = 3 /dev/null
DSL EXPRESSION:
true && false; $x = 3
AST:
* statement block
* bare boolean
@ -1552,6 +1661,7 @@ AST:
mlr filter -v true && false /dev/null
DSL EXPRESSION:
true && false
AST:
* statement block
* bare boolean
@ -1563,6 +1673,7 @@ AST:
mlr put -v true && false && true; $x = 3 /dev/null
DSL EXPRESSION:
true && false && true; $x = 3
AST:
* statement block
* bare boolean
@ -1579,6 +1690,7 @@ AST:
mlr filter -v true && false && true /dev/null
DSL EXPRESSION:
true && false && true
AST:
* statement block
* bare boolean
@ -1592,6 +1704,7 @@ AST:
mlr put -v $y += $x + 3 /dev/null
DSL EXPRESSION:
$y += $x + 3
AST:
* statement block
* assignment "="
@ -1606,6 +1719,7 @@ AST:
mlr put -v $y += $x * 3 /dev/null
DSL EXPRESSION:
$y += $x * 3
AST:
* statement block
* assignment "="
@ -1620,6 +1734,7 @@ AST:
mlr put -v $y ||= $x /dev/null
DSL EXPRESSION:
$y ||= $x
AST:
* statement block
* assignment "="
@ -1632,6 +1747,7 @@ AST:
mlr put -v $y ^^= $x /dev/null
DSL EXPRESSION:
$y ^^= $x
AST:
* statement block
* assignment "="
@ -1644,6 +1760,7 @@ AST:
mlr put -v $y &&= $x /dev/null
DSL EXPRESSION:
$y &&= $x
AST:
* statement block
* assignment "="
@ -1656,6 +1773,7 @@ AST:
mlr put -v $y |= $x /dev/null
DSL EXPRESSION:
$y |= $x
AST:
* statement block
* assignment "="
@ -1668,6 +1786,7 @@ AST:
mlr put -v $y ^= $x /dev/null
DSL EXPRESSION:
$y ^= $x
AST:
* statement block
* assignment "="
@ -1680,6 +1799,7 @@ AST:
mlr put -v $y &= $x /dev/null
DSL EXPRESSION:
$y &= $x
AST:
* statement block
* assignment "="
@ -1692,6 +1812,7 @@ AST:
mlr put -v $y <<= $x /dev/null
DSL EXPRESSION:
$y <<= $x
AST:
* statement block
* assignment "="
@ -1704,6 +1825,7 @@ AST:
mlr put -v $y >>= $x /dev/null
DSL EXPRESSION:
$y >>= $x
AST:
* statement block
* assignment "="
@ -1716,6 +1838,7 @@ AST:
mlr put -v $y += $x /dev/null
DSL EXPRESSION:
$y += $x
AST:
* statement block
* assignment "="
@ -1728,6 +1851,7 @@ AST:
mlr put -v $y -= $x /dev/null
DSL EXPRESSION:
$y -= $x
AST:
* statement block
* assignment "="
@ -1740,6 +1864,7 @@ AST:
mlr put -v $y .= $x /dev/null
DSL EXPRESSION:
$y .= $x
AST:
* statement block
* assignment "="
@ -1752,6 +1877,7 @@ AST:
mlr put -v $y *= $x /dev/null
DSL EXPRESSION:
$y *= $x
AST:
* statement block
* assignment "="
@ -1764,6 +1890,7 @@ AST:
mlr put -v $y /= $x /dev/null
DSL EXPRESSION:
$y /= $x
AST:
* statement block
* assignment "="
@ -1776,6 +1903,7 @@ AST:
mlr put -v $y //= $x /dev/null
DSL EXPRESSION:
$y //= $x
AST:
* statement block
* assignment "="
@ -1788,6 +1916,7 @@ AST:
mlr put -v $y %= $x /dev/null
DSL EXPRESSION:
$y %= $x
AST:
* statement block
* assignment "="
@ -1800,6 +1929,7 @@ AST:
mlr put -v $y **= $x /dev/null
DSL EXPRESSION:
$y **= $x
AST:
* statement block
* assignment "="

View file

@ -2,6 +2,7 @@
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v $i += 2
DSL EXPRESSION:
$i += 2
AST:
* statement block
* assignment "="
@ -19,6 +20,7 @@ eks wye 6 0.38139939387114097 0.13418874328430463
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v $i *= 2
DSL EXPRESSION:
$i *= 2
AST:
* statement block
* assignment "="
@ -36,6 +38,7 @@ eks wye 8 0.38139939387114097 0.13418874328430463
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v $i /= 2
DSL EXPRESSION:
$i /= 2
AST:
* statement block
* assignment "="
@ -53,6 +56,7 @@ eks wye 2 0.38139939387114097 0.13418874328430463
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v $i |= 2
DSL EXPRESSION:
$i |= 2
AST:
* statement block
* assignment "="
@ -70,6 +74,7 @@ eks wye 6 0.38139939387114097 0.13418874328430463
mlr --from ./reg-test/input/s.dkvp --idkvp --opprint put -v $j = true; $j &&= $i < 2
DSL EXPRESSION:
$j = true; $j &&= $i < 2
AST:
* statement block
* assignment "="

View file

@ -2,6 +2,7 @@
mlr -n put -v $y = 1 || 2
DSL EXPRESSION:
$y = 1 || 2
AST:
* statement block
* assignment "="
@ -14,6 +15,7 @@ AST:
mlr -n put -v $y = 1 || 2 || 3
DSL EXPRESSION:
$y = 1 || 2 || 3
AST:
* statement block
* assignment "="
@ -28,6 +30,7 @@ AST:
mlr -n put -v $y = 1 || 2 && 3
DSL EXPRESSION:
$y = 1 || 2 && 3
AST:
* statement block
* assignment "="
@ -42,6 +45,7 @@ AST:
mlr -n put -v $y = 1 && 2 || 3
DSL EXPRESSION:
$y = 1 && 2 || 3
AST:
* statement block
* assignment "="
@ -56,6 +60,7 @@ AST:
mlr -n put -v $y = 1 ? 2 : 3
DSL EXPRESSION:
$y = 1 ? 2 : 3
AST:
* statement block
* assignment "="
@ -69,6 +74,7 @@ AST:
mlr -n put -v $y = $a + $b * $c
DSL EXPRESSION:
$y = $a + $b * $c
AST:
* statement block
* assignment "="
@ -83,6 +89,7 @@ AST:
mlr -n put -v $y = $a * $b * $c
DSL EXPRESSION:
$y = $a * $b * $c
AST:
* statement block
* assignment "="
@ -97,6 +104,7 @@ AST:
mlr -n put -v $y = $a ** $b ** $c
DSL EXPRESSION:
$y = $a ** $b ** $c
AST:
* statement block
* assignment "="
@ -111,6 +119,7 @@ AST:
mlr -n put -v $[2] = 3
DSL EXPRESSION:
$[2] = 3
AST:
* statement block
* assignment "="
@ -122,6 +131,7 @@ AST:
mlr -n put -v $[$y] = 4
DSL EXPRESSION:
$[$y] = 4
AST:
* statement block
* assignment "="
@ -133,6 +143,7 @@ AST:
mlr -n put -v $x = "abc"
DSL EXPRESSION:
$x = "abc"
AST:
* statement block
* assignment "="
@ -143,6 +154,7 @@ AST:
mlr -n put -v $["abc"] = "def"
DSL EXPRESSION:
$["abc"] = "def"
AST:
* statement block
* assignment "="
@ -154,6 +166,7 @@ AST:
mlr -n put -v $[FILENAME] = FNR
DSL EXPRESSION:
$[FILENAME] = FNR
AST:
* statement block
* assignment "="
@ -165,6 +178,7 @@ AST:
mlr -n put -v $x = $a + $b + $c
DSL EXPRESSION:
$x = $a + $b + $c
AST:
* statement block
* assignment "="
@ -179,6 +193,7 @@ AST:
mlr -n put -v $x = ($a + $b) + $c; $y = $a + ($b + $c); $z = $a + ($b)+ $c
DSL EXPRESSION:
$x = ($a + $b) + $c; $y = $a + ($b + $c); $z = $a + ($b)+ $c
AST:
* statement block
* assignment "="
@ -207,6 +222,7 @@ AST:
mlr -n put -v $x = 2 * $a + $b . $c
DSL EXPRESSION:
$x = 2 * $a + $b . $c
AST:
* statement block
* assignment "="
@ -223,6 +239,7 @@ AST:
mlr -n put -v $x = 2 * $a + ($b . $c)
DSL EXPRESSION:
$x = 2 * $a + ($b . $c)
AST:
* statement block
* assignment "="
@ -239,6 +256,7 @@ AST:
mlr -n put -v $x = (NF + NR) * 7; $y = OFS . $y . "hello"
DSL EXPRESSION:
$x = (NF + NR) * 7; $y = OFS . $y . "hello"
AST:
* statement block
* assignment "="
@ -260,6 +278,7 @@ AST:
mlr -n put -v $x = 123. + 1e-2 / .2e3 + 1.e-3
DSL EXPRESSION:
$x = 123. + 1e-2 / .2e3 + 1.e-3
AST:
* statement block
* assignment "="
@ -276,6 +295,7 @@ AST:
mlr -n put -v $z=0x7fffffffffffffff + 0x7fffffffffffffff
DSL EXPRESSION:
$z=0x7fffffffffffffff + 0x7fffffffffffffff
AST:
* statement block
* assignment "="
@ -288,6 +308,7 @@ AST:
mlr -n put -v $z=0x7fffffffffffffff .+ 0x7fffffffffffffff
DSL EXPRESSION:
$z=0x7fffffffffffffff .+ 0x7fffffffffffffff
AST:
* statement block
* assignment "="
@ -300,6 +321,7 @@ AST:
mlr -n put -v $z=0x7fffffffffffffff * 0x7fffffffffffffff
DSL EXPRESSION:
$z=0x7fffffffffffffff * 0x7fffffffffffffff
AST:
* statement block
* assignment "="
@ -312,6 +334,7 @@ AST:
mlr -n put -v $z=0x7fffffffffffffff .* 0x7fffffffffffffff
DSL EXPRESSION:
$z=0x7fffffffffffffff .* 0x7fffffffffffffff
AST:
* statement block
* assignment "="
@ -360,6 +383,7 @@ pan pan 1 0.3467901443380824 0.7268028627434533 .3e-4
mlr -n put -v $y = 1 * 2 ?? 3
DSL EXPRESSION:
$y = 1 * 2 ?? 3
AST:
* statement block
* assignment "="
@ -374,6 +398,7 @@ AST:
mlr -n put -v $y = 1 ?? 2 * 3
DSL EXPRESSION:
$y = 1 ?? 2 * 3
AST:
* statement block
* assignment "="
@ -388,6 +413,7 @@ AST:
mlr -n put -v $z = []
DSL EXPRESSION:
$z = []
AST:
* statement block
* assignment "="
@ -398,6 +424,7 @@ AST:
mlr -n put -v $z = [1,]
DSL EXPRESSION:
$z = [1,]
AST:
* statement block
* assignment "="
@ -409,6 +436,7 @@ AST:
mlr -n put -v $z = [1,2]
DSL EXPRESSION:
$z = [1,2]
AST:
* statement block
* assignment "="
@ -421,6 +449,7 @@ AST:
mlr -n put -v $z = [1,2,]
DSL EXPRESSION:
$z = [1,2,]
AST:
* statement block
* assignment "="
@ -433,6 +462,7 @@ AST:
mlr -n put -v $z = [1,2,3]
DSL EXPRESSION:
$z = [1,2,3]
AST:
* statement block
* assignment "="
@ -446,6 +476,7 @@ AST:
mlr -n put -v $z = [1,2,3,]
DSL EXPRESSION:
$z = [1,2,3,]
AST:
* statement block
* assignment "="
@ -459,6 +490,7 @@ AST:
mlr -n put -v $z = {}
DSL EXPRESSION:
$z = {}
AST:
* statement block
* assignment "="
@ -469,6 +501,7 @@ AST:
mlr -n put -v $z = {"a":"1"}
DSL EXPRESSION:
$z = {"a":"1"}
AST:
* statement block
* assignment "="
@ -482,6 +515,7 @@ AST:
mlr -n put -v $z = {"a":"1",}
DSL EXPRESSION:
$z = {"a":"1",}
AST:
* statement block
* assignment "="
@ -495,6 +529,7 @@ AST:
mlr -n put -v $z = {"a":"1", "b":2}
DSL EXPRESSION:
$z = {"a":"1", "b":2}
AST:
* statement block
* assignment "="
@ -511,6 +546,7 @@ AST:
mlr -n put -v $z = {"a":"1", "b":2,}
DSL EXPRESSION:
$z = {"a":"1", "b":2,}
AST:
* statement block
* assignment "="
@ -527,6 +563,7 @@ AST:
mlr -n put -v $z = {"a":"1", "b":2, "c":3}
DSL EXPRESSION:
$z = {"a":"1", "b":2, "c":3}
AST:
* statement block
* assignment "="
@ -546,6 +583,7 @@ AST:
mlr -n put -v $z = {"a":"1", "b":2, "c":3,}
DSL EXPRESSION:
$z = {"a":"1", "b":2, "c":3,}
AST:
* statement block
* assignment "="
@ -565,6 +603,7 @@ AST:
mlr -n put -v $z = $a[1]
DSL EXPRESSION:
$z = $a[1]
AST:
* statement block
* assignment "="
@ -577,6 +616,7 @@ AST:
mlr -n put -v $z = $a["index"]
DSL EXPRESSION:
$z = $a["index"]
AST:
* statement block
* assignment "="
@ -589,6 +629,7 @@ AST:
mlr -n put -v $z = "abcde"[1]
DSL EXPRESSION:
$z = "abcde"[1]
AST:
* statement block
* assignment "="
@ -601,6 +642,7 @@ AST:
mlr -n put -v $z = "abcde"["index"]
DSL EXPRESSION:
$z = "abcde"["index"]
AST:
* statement block
* assignment "="
@ -613,6 +655,7 @@ AST:
mlr -n put -v $z = $a[1:2]
DSL EXPRESSION:
$z = $a[1:2]
AST:
* statement block
* assignment "="
@ -626,6 +669,7 @@ AST:
mlr -n put -v $z = $a[:2]
DSL EXPRESSION:
$z = $a[:2]
AST:
* statement block
* assignment "="
@ -639,6 +683,7 @@ AST:
mlr -n put -v $z = $a[1:]
DSL EXPRESSION:
$z = $a[1:]
AST:
* statement block
* assignment "="
@ -652,6 +697,7 @@ AST:
mlr -n put -v $z = $a[:]
DSL EXPRESSION:
$z = $a[:]
AST:
* statement block
* assignment "="
@ -665,6 +711,7 @@ AST:
mlr -n put -v $z = [5,6,7,8,9][1]
DSL EXPRESSION:
$z = [5,6,7,8,9][1]
AST:
* statement block
* assignment "="
@ -682,6 +729,7 @@ AST:
mlr -n put -v $z = {"a":1, "b":2, "c":3}["b"]
DSL EXPRESSION:
$z = {"a":1, "b":2, "c":3}["b"]
AST:
* statement block
* assignment "="
@ -703,6 +751,7 @@ AST:
mlr -n put -v begin{}
DSL EXPRESSION:
begin{}
AST:
* statement block
* begin block
@ -712,6 +761,7 @@ AST:
mlr -n put -v begin{@y=1}
DSL EXPRESSION:
begin{@y=1}
AST:
* statement block
* begin block
@ -724,6 +774,7 @@ AST:
mlr -n put -v end{}
DSL EXPRESSION:
end{}
AST:
* statement block
* end block
@ -733,6 +784,7 @@ AST:
mlr -n put -v end{@y=1}
DSL EXPRESSION:
end{@y=1}
AST:
* statement block
* end block
@ -745,6 +797,7 @@ AST:
mlr -n put -v $x=2; end{@y=1}
DSL EXPRESSION:
$x=2; end{@y=1}
AST:
* statement block
* assignment "="
@ -760,6 +813,7 @@ AST:
mlr -n put -v begin{@y=1} $x=2
DSL EXPRESSION:
begin{@y=1} $x=2
AST:
* statement block
* begin block
@ -775,6 +829,7 @@ AST:
mlr -n put -v begin{} end {}
DSL EXPRESSION:
begin{} end {}
AST:
* statement block
* begin block
@ -786,6 +841,7 @@ AST:
mlr -n put -v $x=1;
DSL EXPRESSION:
$x=1;
AST:
* statement block
* assignment "="
@ -796,6 +852,7 @@ AST:
mlr -n put -v $x=1;$y=2;
DSL EXPRESSION:
$x=1;$y=2;
AST:
* statement block
* assignment "="
@ -809,6 +866,7 @@ AST:
mlr -n put -v begin{@x=1;@y=2}
DSL EXPRESSION:
begin{@x=1;@y=2}
AST:
* statement block
* begin block
@ -824,6 +882,7 @@ AST:
mlr -n put -v begin{@x=1;@y=2;}
DSL EXPRESSION:
begin{@x=1;@y=2;}
AST:
* statement block
* begin block
@ -839,6 +898,7 @@ AST:
mlr -n put -v begin{@x=1;@y=2;} $z=3
DSL EXPRESSION:
begin{@x=1;@y=2;} $z=3
AST:
* statement block
* begin block
@ -857,6 +917,7 @@ AST:
mlr -n put -v begin{@x=1;@y=2;} $z=3;
DSL EXPRESSION:
begin{@x=1;@y=2;} $z=3;
AST:
* statement block
* begin block
@ -875,6 +936,7 @@ AST:
mlr -n put -v if (NR == 1) { $z = 100 }
DSL EXPRESSION:
if (NR == 1) { $z = 100 }
AST:
* statement block
* if-chain
@ -891,6 +953,7 @@ AST:
mlr -n put -v if (NR == 1) { $z = 100 } else { $z = 900 }
DSL EXPRESSION:
if (NR == 1) { $z = 100 } else { $z = 900 }
AST:
* statement block
* if-chain
@ -912,6 +975,7 @@ AST:
mlr -n put -v if (NR == 1) { $z = 100 } elif (NR == 2) { $z = 200 }
DSL EXPRESSION:
if (NR == 1) { $z = 100 } elif (NR == 2) { $z = 200 }
AST:
* statement block
* if-chain
@ -936,6 +1000,7 @@ AST:
mlr -n put -v if (NR == 1) { $z = 100 } elif (NR == 2) { $z = 200 } else { $z = 900 }
DSL EXPRESSION:
if (NR == 1) { $z = 100 } elif (NR == 2) { $z = 200 } else { $z = 900 }
AST:
* statement block
* if-chain
@ -965,6 +1030,7 @@ AST:
mlr -n put -v if (NR == 1) { $z = 100 } elif (NR == 2) { $z = 200 } elif (NR == 3) { $z = 300 } else { $z = 900 }
DSL EXPRESSION:
if (NR == 1) { $z = 100 } elif (NR == 2) { $z = 200 } elif (NR == 3) { $z = 300 } else { $z = 900 }
AST:
* statement block
* if-chain
@ -1002,6 +1068,7 @@ AST:
mlr -n put -v for (k in $*) { emit { k : k } }
DSL EXPRESSION:
for (k in $*) { emit { k : k } }
AST:
* statement block
* single-variable for-loop "for"
@ -1021,6 +1088,7 @@ AST:
mlr -n put -v begin {}
DSL EXPRESSION:
begin {}
AST:
* statement block
* begin block
@ -1030,6 +1098,7 @@ AST:
mlr -n put -v end {}
DSL EXPRESSION:
end {}
AST:
* statement block
* end block
@ -1039,6 +1108,7 @@ AST:
mlr -n put -v if (1) {}
DSL EXPRESSION:
if (1) {}
AST:
* statement block
* if-chain
@ -1050,6 +1120,7 @@ AST:
mlr -n put -v if (1) {2}
DSL EXPRESSION:
if (1) {2}
AST:
* statement block
* if-chain
@ -1063,6 +1134,7 @@ AST:
mlr -n put -v for (k in $*) {}
DSL EXPRESSION:
for (k in $*) {}
AST:
* statement block
* single-variable for-loop "for"
@ -1074,6 +1146,7 @@ AST:
mlr -n put -v for (k in $*) {2}
DSL EXPRESSION:
for (k in $*) {2}
AST:
* statement block
* single-variable for-loop "for"
@ -1087,6 +1160,7 @@ AST:
mlr -n put -v while (false) {}
DSL EXPRESSION:
while (false) {}
AST:
* statement block
* while loop "while"
@ -1097,6 +1171,7 @@ AST:
mlr -n put -v do {} while (false)
DSL EXPRESSION:
do {} while (false)
AST:
* statement block
* do-while`loop "do"
@ -1107,6 +1182,7 @@ AST:
mlr -n put -v nr=NR; $nr=nr
DSL EXPRESSION:
nr=NR; $nr=nr
AST:
* statement block
* assignment "="
@ -1120,6 +1196,7 @@ AST:
mlr -n put -v for (i = 0; i < 10; i += 1) { $x += i }
DSL EXPRESSION:
for (i = 0; i < 10; i += 1) { $x += i }
AST:
* statement block
* triple-for loop "for"
@ -1149,6 +1226,7 @@ AST:
mlr -n put -v for (;;) {}
DSL EXPRESSION:
for (;;) {}
AST:
* statement block
* triple-for loop "for"
@ -1161,6 +1239,7 @@ AST:
mlr -n put -v for (i = 0; i < NR; i += 1) { $i += i }
DSL EXPRESSION:
for (i = 0; i < NR; i += 1) { $i += i }
AST:
* statement block
* triple-for loop "for"
@ -1190,6 +1269,7 @@ AST:
mlr -n put -v for (i = 0; i < NR; i += 1) { if (i == 2) { continue} $i += i }
DSL EXPRESSION:
for (i = 0; i < NR; i += 1) { if (i == 2) { continue} $i += i }
AST:
* statement block
* triple-for loop "for"
@ -1226,6 +1306,7 @@ AST:
mlr -n put -v for (i = 0; i < NR; i += 1) { if (i == 2) { break} $i += i }
DSL EXPRESSION:
for (i = 0; i < NR; i += 1) { if (i == 2) { break} $i += i }
AST:
* statement block
* triple-for loop "for"
@ -1262,6 +1343,7 @@ AST:
mlr -n put -v func f(){}
DSL EXPRESSION:
func f(){}
AST:
* statement block
* function definition "f"
@ -1272,6 +1354,7 @@ AST:
mlr -n put -v func f(a){}
DSL EXPRESSION:
func f(a){}
AST:
* statement block
* function definition "f"
@ -1284,6 +1367,7 @@ AST:
mlr -n put -v func f(a,){}
DSL EXPRESSION:
func f(a,){}
AST:
* statement block
* function definition "f"
@ -1296,6 +1380,7 @@ AST:
mlr -n put -v func f(a,b){}
DSL EXPRESSION:
func f(a,b){}
AST:
* statement block
* function definition "f"
@ -1310,6 +1395,7 @@ AST:
mlr -n put -v func f(a,b,){}
DSL EXPRESSION:
func f(a,b,){}
AST:
* statement block
* function definition "f"
@ -1324,6 +1410,7 @@ AST:
mlr -n put -v func f(a,b,c){}
DSL EXPRESSION:
func f(a,b,c){}
AST:
* statement block
* function definition "f"
@ -1340,6 +1427,7 @@ AST:
mlr -n put -v func f(a,b,c,){}
DSL EXPRESSION:
func f(a,b,c,){}
AST:
* statement block
* function definition "f"
@ -1356,6 +1444,7 @@ AST:
mlr -n put -v func f(){return 1}
DSL EXPRESSION:
func f(){return 1}
AST:
* statement block
* function definition "f"
@ -1368,6 +1457,7 @@ AST:
mlr -n put -v func f(a){return 1}
DSL EXPRESSION:
func f(a){return 1}
AST:
* statement block
* function definition "f"
@ -1382,6 +1472,7 @@ AST:
mlr -n put -v func f(a,){return 1}
DSL EXPRESSION:
func f(a,){return 1}
AST:
* statement block
* function definition "f"
@ -1396,6 +1487,7 @@ AST:
mlr -n put -v func f(a,b){return 1}
DSL EXPRESSION:
func f(a,b){return 1}
AST:
* statement block
* function definition "f"
@ -1412,6 +1504,7 @@ AST:
mlr -n put -v func f(a,b,){return 1}
DSL EXPRESSION:
func f(a,b,){return 1}
AST:
* statement block
* function definition "f"
@ -1428,6 +1521,7 @@ AST:
mlr -n put -v func f(a,b,c){return 1}
DSL EXPRESSION:
func f(a,b,c){return 1}
AST:
* statement block
* function definition "f"
@ -1446,6 +1540,7 @@ AST:
mlr -n put -v func f(a,b,c,){return 1}
DSL EXPRESSION:
func f(a,b,c,){return 1}
AST:
* statement block
* function definition "f"
@ -1464,6 +1559,7 @@ AST:
mlr -n put -v func f(x, y) { z = 3}
DSL EXPRESSION:
func f(x, y) { z = 3}
AST:
* statement block
* function definition "f"
@ -1481,6 +1577,7 @@ AST:
mlr -n put -v func f(var x, var y): var { var z = 3}
DSL EXPRESSION:
func f(var x, var y): var { var z = 3}
AST:
* statement block
* function definition "f"
@ -1502,6 +1599,7 @@ AST:
mlr -n put -v unset $x
DSL EXPRESSION:
unset $x
AST:
* statement block
* unset "unset"
@ -1511,6 +1609,7 @@ AST:
mlr -n put -v unset $*
DSL EXPRESSION:
unset $*
AST:
* statement block
* unset "unset"
@ -1520,6 +1619,7 @@ AST:
mlr -n put -v unset @x
DSL EXPRESSION:
unset @x
AST:
* statement block
* unset "unset"
@ -1529,6 +1629,7 @@ AST:
mlr -n put -v unset @*
DSL EXPRESSION:
unset @*
AST:
* statement block
* unset "unset"
@ -1538,6 +1639,7 @@ AST:
mlr -n put -v unset x
DSL EXPRESSION:
unset x
AST:
* statement block
* unset "unset"
@ -1547,6 +1649,7 @@ AST:
mlr -n put -v unset 3
DSL EXPRESSION:
unset 3
AST:
* statement block
* unset "unset"
@ -1560,6 +1663,7 @@ mlr -n put -f ./reg-test/input/parse-error.mlr
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {}; $x=6; end{@z=9} /dev/null
DSL EXPRESSION:
begin{@a=1}; $e=2; $f==$g||$h==$i {}; $x=6; end{@z=9}
AST:
* statement block
* begin block
@ -1592,6 +1696,7 @@ AST:
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1}; $x=6; end{@z=9} /dev/null
DSL EXPRESSION:
begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1}; $x=6; end{@z=9}
AST:
* statement block
* begin block
@ -1627,6 +1732,7 @@ AST:
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1;$t=2}; $x=6; end{@z=9} /dev/null
DSL EXPRESSION:
begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1;$t=2}; $x=6; end{@z=9}
AST:
* statement block
* begin block
@ -1665,6 +1771,7 @@ AST:
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
DSL EXPRESSION:
begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1;$t=2;$u=3}; $x=6; end{@z=9}
AST:
* statement block
* begin block
@ -1706,6 +1813,7 @@ AST:
mlr put -v begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1;@t["u".$5]=2;emit @v;emit @w; dump}; $x=6; end{@z=9} /dev/null
DSL EXPRESSION:
begin{@a=1}; $e=2; $f==$g||$h==$i {$s=1;@t["u".$5]=2;emit @v;emit @w; dump}; $x=6; end{@z=9}
AST:
* statement block
* begin block
@ -1761,6 +1869,7 @@ AST:
mlr put -v begin{true{@x=1}}; true{@x=2}; end{true{@x=3}} /dev/null
DSL EXPRESSION:
begin{true{@x=1}}; true{@x=2}; end{true{@x=3}}
AST:
* statement block
* begin block

View file

@ -2,6 +2,7 @@
mlr filter -v $x =~ "bcd" ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "bcd"
AST:
* statement block
* bare boolean
@ -15,6 +16,7 @@ x=abcde,y=ghi
mlr filter -v $x =~ "^bcd" ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^bcd"
AST:
* statement block
* bare boolean
@ -26,6 +28,7 @@ AST:
mlr filter -v $x =~ "^abc" ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^abc"
AST:
* statement block
* bare boolean
@ -40,6 +43,7 @@ x=abcde,y=ghi
mlr filter -v $x =~ "^abc$" ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^abc$"
AST:
* statement block
* bare boolean
@ -52,6 +56,7 @@ x=abc,y=def
mlr filter -v $x =~ "^a.*d$" ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^a.*d$"
AST:
* statement block
* bare boolean
@ -64,6 +69,7 @@ x=abcd,y=ghi
mlr filter -v $x =~ "^a.*"."d$" ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^a.*"."d$"
AST:
* statement block
* bare boolean
@ -78,6 +84,7 @@ x=abcd,y=ghi
mlr filter -v $y =~ "\".." ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$y =~ "\".."
AST:
* statement block
* bare boolean
@ -90,6 +97,7 @@ x=ABCDE,y="GHI"
mlr filter -v $x =~ "bcd"i ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "bcd"i
AST:
* statement block
* bare boolean
@ -106,6 +114,7 @@ x=ABCDE,y="GHI"
mlr filter -v $x =~ "^bcd"i ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^bcd"i
AST:
* statement block
* bare boolean
@ -117,6 +126,7 @@ AST:
mlr filter -v $x =~ "^abc"i ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^abc"i
AST:
* statement block
* bare boolean
@ -135,6 +145,7 @@ x=ABCDE,y="GHI"
mlr filter -v $x =~ "^abc$"i ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^abc$"i
AST:
* statement block
* bare boolean
@ -148,6 +159,7 @@ x=ABC,y=DEF
mlr filter -v $x =~ "^a.*d$"i ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^a.*d$"i
AST:
* statement block
* bare boolean
@ -161,6 +173,7 @@ x=ABCD,y=GHI
mlr filter -v $x =~ "^a.*"."d$"i ./reg-test/input/regex.dkvp
DSL EXPRESSION:
$x =~ "^a.*"."d$"i
AST:
* statement block
* bare boolean

View file

@ -2,6 +2,7 @@
mlr -n put -v call s()
DSL EXPRESSION:
call s()
AST:
* statement block
* subroutine callsite "s"
@ -12,6 +13,7 @@ mlr -n put -v call s
mlr -n put -v call s(1,2,3)
DSL EXPRESSION:
call s(1,2,3)
AST:
* statement block
* subroutine callsite "s"
@ -23,6 +25,7 @@ AST:
mlr -n put -v subr s() {}
DSL EXPRESSION:
subr s() {}
AST:
* statement block
* subroutine definition "s"
@ -33,6 +36,7 @@ AST:
mlr -n put -v subr s() {x=1}
DSL EXPRESSION:
subr s() {x=1}
AST:
* statement block
* subroutine definition "s"
@ -46,6 +50,7 @@ AST:
mlr -n put -v subr s() {return}
DSL EXPRESSION:
subr s() {return}
AST:
* statement block
* subroutine definition "s"
@ -57,6 +62,7 @@ AST:
mlr -n put -v subr s() {return 2}
DSL EXPRESSION:
subr s() {return 2}
AST:
* statement block
* subroutine definition "s"
@ -71,6 +77,7 @@ mlr -n put subr s()
mlr -n put -v subr s() {}; call s()
DSL EXPRESSION:
subr s() {}; call s()
AST:
* statement block
* subroutine definition "s"
@ -82,6 +89,7 @@ AST:
mlr -n put -v call s(); subr s() {}
DSL EXPRESSION:
call s(); subr s() {}
AST:
* statement block
* subroutine callsite "s"
@ -93,6 +101,7 @@ AST:
mlr -n put -v subr s(a) {print "HELLO, ".a."!"} call s("WORLD")
DSL EXPRESSION:
subr s(a) {print "HELLO, ".a."!"} call s("WORLD")
AST:
* statement block
* subroutine definition "s"
@ -145,6 +154,7 @@ DSL EXPRESSION:
print s(NR);
call s("WORLD");
AST:
* statement block
* function definition "s"

View file

@ -28,7 +28,6 @@ eks zee 7 0.6117840605678454 0.1878849191181694 999 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006 999 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059 999 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864 999 0.9526183602969864
Exit status was 0; expected 1.
mlr -n put -q -f ./reg-test/input/sieve.mlr
2

View file

@ -67,7 +67,7 @@ func get_point_plot(cr, ci, maxits) {
if (!escaped) {
return ".";
} else {
int level = 1 + (iti // @levelstep) % strlen(@chars);
int level = (iti // @levelstep) % strlen(@chars);
return substr(@chars, level, level);
}
}

View file

@ -147,11 +147,21 @@ func (this *UDFCallsite) Evaluate(
// being MT_ERROR should be mapped to MT_ERROR here (nominally,
// data-dependent). But error-return could be something not data-dependent.
if err != nil {
err = this.udf.signature.typeGatedReturnValue.Check(types.MLRVAL_ERROR)
if err != nil {
fmt.Fprint(os.Stderr, err)
os.Exit(1)
}
return types.MLRVAL_ERROR
}
// Fell off end of function with no return
if blockExitPayload == nil {
err = this.udf.signature.typeGatedReturnValue.Check(types.MLRVAL_ABSENT)
if err != nil {
fmt.Fprint(os.Stderr, err)
os.Exit(1)
}
return types.MLRVAL_ABSENT
}
@ -159,6 +169,11 @@ func (this *UDFCallsite) Evaluate(
// continue not in a loop, or return-void, both of which should have been
// reported as syntax errors during the parsing pass.
if blockExitPayload.blockExitStatus != BLOCK_EXIT_RETURN_VALUE {
err = this.udf.signature.typeGatedReturnValue.Check(types.MLRVAL_ABSENT)
if err != nil {
fmt.Fprint(os.Stderr, err)
os.Exit(1)
}
return types.MLRVAL_ABSENT
}
@ -169,13 +184,9 @@ func (this *UDFCallsite) Evaluate(
err = this.udf.signature.typeGatedReturnValue.Check(blockExitPayload.blockReturnValue)
if err != nil {
// TODO: put error-return in the Evaluate API
fmt.Fprint(
os.Stderr,
err,
)
fmt.Fprint(os.Stderr, err)
os.Exit(1)
}
return blockExitPayload.blockReturnValue.Copy()
}

View file

@ -314,6 +314,7 @@ func NewTransformerPut(
if echoDSLString {
fmt.Println("DSL EXPRESSION:")
fmt.Println(dslString)
fmt.Println()
}
if printASTAsTree {
fmt.Println("AST:")

View file

@ -1,7 +1,9 @@
================================================================
TOP OF LIST:
* warnings: call them something else & make them fatal the process ...
! ut:
o triple-for multi-middle case
o substr/error cases C <-> Go
* regexes
o finish stats1 -r
@ -16,6 +18,7 @@ TOP OF LIST:
* json null
* smart fmtnum
- poor-person's initial version: lld/llx -> d/x; lf/le/lg -> f/e/g ...
- fmtnum
- ofmt
- no other callsites?!?!?!

View file

@ -61,6 +61,6 @@ func get_point_plot(cr, ci, maxits): str {
return ".";
} else {
int level = (iti // @levelstep) % strlen(@chars);
return substr(@chars, level+1, level+1);
return substr(@chars, level, level);
}
}