mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-25 17:04:01 +00:00
1270 lines
30 KiB
Text
1270 lines
30 KiB
Text
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $y = 1 || 2
|
|
DSL EXPRESSION:
|
|
$y = 1 || 2
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "||"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $y = 1 || 2 || 3
|
|
DSL EXPRESSION:
|
|
$y = 1 || 2 || 3
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "||"
|
|
* Operator "||"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $y = 1 || 2 && 3
|
|
DSL EXPRESSION:
|
|
$y = 1 || 2 && 3
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "||"
|
|
* IntLiteral "1"
|
|
* Operator "&&"
|
|
* IntLiteral "2"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $y = 1 && 2 || 3
|
|
DSL EXPRESSION:
|
|
$y = 1 && 2 || 3
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "||"
|
|
* Operator "&&"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $y = 1 ? 2 : 3
|
|
DSL EXPRESSION:
|
|
$y = 1 ? 2 : 3
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "?:"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $y = $a + $b * $c
|
|
DSL EXPRESSION:
|
|
$y = $a + $b * $c
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "+"
|
|
* DirectFieldValue "a"
|
|
* Operator "*"
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $y = $a * $b * $c
|
|
DSL EXPRESSION:
|
|
$y = $a * $b * $c
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "*"
|
|
* Operator "*"
|
|
* DirectFieldValue "a"
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $y = $a ** $b ** $c
|
|
DSL EXPRESSION:
|
|
$y = $a ** $b ** $c
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "**"
|
|
* DirectFieldValue "a"
|
|
* Operator "**"
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $[2] = 3
|
|
DSL EXPRESSION:
|
|
$[2] = 3
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* IndirectFieldValue "$[]"
|
|
* IntLiteral "2"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $[$y] = 4
|
|
DSL EXPRESSION:
|
|
$[$y] = 4
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* IndirectFieldValue "$[]"
|
|
* DirectFieldValue "y"
|
|
* IntLiteral "4"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x = "abc"
|
|
DSL EXPRESSION:
|
|
$x = "abc"
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* StringLiteral "abc"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $["abc"] = "def"
|
|
DSL EXPRESSION:
|
|
$["abc"] = "def"
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* IndirectFieldValue "$[]"
|
|
* StringLiteral "abc"
|
|
* StringLiteral "def"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $[FILENAME] = FNR
|
|
DSL EXPRESSION:
|
|
$[FILENAME] = FNR
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* IndirectFieldValue "$[]"
|
|
* ContextVariable "FILENAME"
|
|
* ContextVariable "FNR"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x = $a + $b + $c
|
|
DSL EXPRESSION:
|
|
$x = $a + $b + $c
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* Operator "+"
|
|
* Operator "+"
|
|
* DirectFieldValue "a"
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
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
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* Operator "+"
|
|
* Operator "+"
|
|
* DirectFieldValue "a"
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "+"
|
|
* DirectFieldValue "a"
|
|
* Operator "+"
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* Operator "+"
|
|
* Operator "+"
|
|
* DirectFieldValue "a"
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x = 2 * $a + $b . $c
|
|
DSL EXPRESSION:
|
|
$x = 2 * $a + $b . $c
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* Operator "."
|
|
* Operator "+"
|
|
* Operator "*"
|
|
* IntLiteral "2"
|
|
* DirectFieldValue "a"
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x = 2 * $a + ($b . $c)
|
|
DSL EXPRESSION:
|
|
$x = 2 * $a + ($b . $c)
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* Operator "+"
|
|
* Operator "*"
|
|
* IntLiteral "2"
|
|
* DirectFieldValue "a"
|
|
* Operator "."
|
|
* DirectFieldValue "b"
|
|
* DirectFieldValue "c"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x = (NF + NR) * 7; $y = OFS . $y . "hello"
|
|
DSL EXPRESSION:
|
|
$x = (NF + NR) * 7; $y = OFS . $y . "hello"
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* Operator "*"
|
|
* Operator "+"
|
|
* ContextVariable "NF"
|
|
* ContextVariable "NR"
|
|
* IntLiteral "7"
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* Operator "."
|
|
* Operator "."
|
|
* ContextVariable "OFS"
|
|
* DirectFieldValue "y"
|
|
* StringLiteral "hello"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x = 123. + 1e-2 / .2e3 + 1.e-3
|
|
DSL EXPRESSION:
|
|
$x = 123. + 1e-2 / .2e3 + 1.e-3
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* Operator "+"
|
|
* Operator "+"
|
|
* FloatLiteral "123."
|
|
* Operator "/"
|
|
* FloatLiteral "1e-2"
|
|
* FloatLiteral ".2e3"
|
|
* FloatLiteral "1.e-3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z=0x7fffffffffffffff + 0x7fffffffffffffff
|
|
DSL EXPRESSION:
|
|
$z=0x7fffffffffffffff + 0x7fffffffffffffff
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* Operator "+"
|
|
* IntLiteral "0x7fffffffffffffff"
|
|
* IntLiteral "0x7fffffffffffffff"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z=0x7fffffffffffffff .+ 0x7fffffffffffffff
|
|
DSL EXPRESSION:
|
|
$z=0x7fffffffffffffff .+ 0x7fffffffffffffff
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* Operator ".+"
|
|
* IntLiteral "0x7fffffffffffffff"
|
|
* IntLiteral "0x7fffffffffffffff"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z=0x7fffffffffffffff * 0x7fffffffffffffff
|
|
DSL EXPRESSION:
|
|
$z=0x7fffffffffffffff * 0x7fffffffffffffff
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* Operator "*"
|
|
* IntLiteral "0x7fffffffffffffff"
|
|
* IntLiteral "0x7fffffffffffffff"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z=0x7fffffffffffffff .* 0x7fffffffffffffff
|
|
DSL EXPRESSION:
|
|
$z=0x7fffffffffffffff .* 0x7fffffffffffffff
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* Operator ".*"
|
|
* IntLiteral "0x7fffffffffffffff"
|
|
* IntLiteral "0x7fffffffffffffff"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = []
|
|
DSL EXPRESSION:
|
|
$z = []
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayLiteral "[]"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = [1,]
|
|
DSL EXPRESSION:
|
|
$z = [1,]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayLiteral "[]"
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = [1,2]
|
|
DSL EXPRESSION:
|
|
$z = [1,2]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayLiteral "[]"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = [1,2,]
|
|
DSL EXPRESSION:
|
|
$z = [1,2,]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayLiteral "[]"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = [1,2,3]
|
|
DSL EXPRESSION:
|
|
$z = [1,2,3]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayLiteral "[]"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = [1,2,3,]
|
|
DSL EXPRESSION:
|
|
$z = [1,2,3,]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayLiteral "[]"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = {}
|
|
DSL EXPRESSION:
|
|
$z = {}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* MapLiteral "{}"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = {"a":"1"}
|
|
DSL EXPRESSION:
|
|
$z = {"a":"1"}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* MapLiteral "{}"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "a"
|
|
* StringLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = {"a":"1",}
|
|
DSL EXPRESSION:
|
|
$z = {"a":"1",}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* MapLiteral "{}"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "a"
|
|
* StringLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = {"a":"1", "b":2}
|
|
DSL EXPRESSION:
|
|
$z = {"a":"1", "b":2}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* MapLiteral "{}"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "a"
|
|
* StringLiteral "1"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "b"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = {"a":"1", "b":2,}
|
|
DSL EXPRESSION:
|
|
$z = {"a":"1", "b":2,}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* MapLiteral "{}"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "a"
|
|
* StringLiteral "1"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "b"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = {"a":"1", "b":2, "c":3}
|
|
DSL EXPRESSION:
|
|
$z = {"a":"1", "b":2, "c":3}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* MapLiteral "{}"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "a"
|
|
* StringLiteral "1"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "b"
|
|
* IntLiteral "2"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "c"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = {"a":"1", "b":2, "c":3,}
|
|
DSL EXPRESSION:
|
|
$z = {"a":"1", "b":2, "c":3,}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* MapLiteral "{}"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "a"
|
|
* StringLiteral "1"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "b"
|
|
* IntLiteral "2"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "c"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = $a[1]
|
|
DSL EXPRESSION:
|
|
$z = $a[1]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayOrMapIndexAccess "[]"
|
|
* DirectFieldValue "a"
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = $a["index"]
|
|
DSL EXPRESSION:
|
|
$z = $a["index"]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayOrMapIndexAccess "[]"
|
|
* DirectFieldValue "a"
|
|
* StringLiteral "index"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = "abcde"[1]
|
|
DSL EXPRESSION:
|
|
$z = "abcde"[1]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayOrMapIndexAccess "[]"
|
|
* StringLiteral "abcde"
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = "abcde"["index"]
|
|
DSL EXPRESSION:
|
|
$z = "abcde"["index"]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayOrMapIndexAccess "[]"
|
|
* StringLiteral "abcde"
|
|
* StringLiteral "index"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = $a[1:2]
|
|
DSL EXPRESSION:
|
|
$z = $a[1:2]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArraySliceAccess "[]"
|
|
* DirectFieldValue "a"
|
|
* IntLiteral "1"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = $a[:2]
|
|
DSL EXPRESSION:
|
|
$z = $a[:2]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArraySliceAccess "[]"
|
|
* DirectFieldValue "a"
|
|
* ArraySliceEmptyLowerIndex ":"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = $a[1:]
|
|
DSL EXPRESSION:
|
|
$z = $a[1:]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArraySliceAccess "[]"
|
|
* DirectFieldValue "a"
|
|
* IntLiteral "1"
|
|
* ArraySliceEmptyUpperIndex ":"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = $a[:]
|
|
DSL EXPRESSION:
|
|
$z = $a[:]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArraySliceAccess "[]"
|
|
* DirectFieldValue "a"
|
|
* ArraySliceEmptyLowerIndex ":"
|
|
* ArraySliceEmptyUpperIndex ":"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = [5,6,7,8,9][1]
|
|
DSL EXPRESSION:
|
|
$z = [5,6,7,8,9][1]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayOrMapIndexAccess "[]"
|
|
* ArrayLiteral "[]"
|
|
* IntLiteral "5"
|
|
* IntLiteral "6"
|
|
* IntLiteral "7"
|
|
* IntLiteral "8"
|
|
* IntLiteral "9"
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $z = {"a":1, "b":2, "c":3}["b"]
|
|
DSL EXPRESSION:
|
|
$z = {"a":1, "b":2, "c":3}["b"]
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* ArrayOrMapIndexAccess "[]"
|
|
* MapLiteral "{}"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "a"
|
|
* IntLiteral "1"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "b"
|
|
* IntLiteral "2"
|
|
* MapLiteralKeyValuePair ":"
|
|
* StringLiteral "c"
|
|
* IntLiteral "3"
|
|
* StringLiteral "b"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin{}
|
|
DSL EXPRESSION:
|
|
begin{}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin{@y=1}
|
|
DSL EXPRESSION:
|
|
begin{@y=1}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectOosvarValue "y"
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v end{}
|
|
DSL EXPRESSION:
|
|
end{}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* EndBlock
|
|
* StatementBlock
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v end{@y=1}
|
|
DSL EXPRESSION:
|
|
end{@y=1}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* EndBlock
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectOosvarValue "y"
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x=2; end{@y=1}
|
|
DSL EXPRESSION:
|
|
$x=2; end{@y=1}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* IntLiteral "2"
|
|
* EndBlock
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectOosvarValue "y"
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin{@y=1} $x=2
|
|
DSL EXPRESSION:
|
|
begin{@y=1} $x=2
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectOosvarValue "y"
|
|
* IntLiteral "1"
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin{} end {}
|
|
DSL EXPRESSION:
|
|
begin{} end {}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
* EndBlock
|
|
* StatementBlock
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x=1;
|
|
DSL EXPRESSION:
|
|
$x=1;
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v $x=1;$y=2;
|
|
DSL EXPRESSION:
|
|
$x=1;$y=2;
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* IntLiteral "1"
|
|
* Assignment "="
|
|
* DirectFieldValue "y"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin{@x=1;@y=2}
|
|
DSL EXPRESSION:
|
|
begin{@x=1;@y=2}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectOosvarValue "x"
|
|
* IntLiteral "1"
|
|
* Assignment "="
|
|
* DirectOosvarValue "y"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin{@x=1;@y=2;}
|
|
DSL EXPRESSION:
|
|
begin{@x=1;@y=2;}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectOosvarValue "x"
|
|
* IntLiteral "1"
|
|
* Assignment "="
|
|
* DirectOosvarValue "y"
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin{@x=1;@y=2;} $z=3
|
|
DSL EXPRESSION:
|
|
begin{@x=1;@y=2;} $z=3
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectOosvarValue "x"
|
|
* IntLiteral "1"
|
|
* Assignment "="
|
|
* DirectOosvarValue "y"
|
|
* IntLiteral "2"
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin{@x=1;@y=2;} $z=3;
|
|
DSL EXPRESSION:
|
|
begin{@x=1;@y=2;} $z=3;
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectOosvarValue "x"
|
|
* IntLiteral "1"
|
|
* Assignment "="
|
|
* DirectOosvarValue "y"
|
|
* IntLiteral "2"
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "3"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v if (NR == 1) { $z = 100 }
|
|
DSL EXPRESSION:
|
|
if (NR == 1) { $z = 100 }
|
|
RAW AST:
|
|
* StatementBlock
|
|
* IfChain
|
|
* IfItem "if"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "1"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "100"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v if (NR == 1) { $z = 100 } else { $z = 900 }
|
|
DSL EXPRESSION:
|
|
if (NR == 1) { $z = 100 } else { $z = 900 }
|
|
RAW AST:
|
|
* StatementBlock
|
|
* IfChain
|
|
* IfItem "if"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "1"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "100"
|
|
* IfItem "else"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "900"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
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 }
|
|
RAW AST:
|
|
* StatementBlock
|
|
* IfChain
|
|
* IfItem "if"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "1"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "100"
|
|
* IfItem "elif"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "2"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "200"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
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 }
|
|
RAW AST:
|
|
* StatementBlock
|
|
* IfChain
|
|
* IfItem "if"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "1"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "100"
|
|
* IfItem "elif"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "2"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "200"
|
|
* IfItem "else"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "900"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
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 }
|
|
RAW AST:
|
|
* StatementBlock
|
|
* IfChain
|
|
* IfItem "if"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "1"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "100"
|
|
* IfItem "elif"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "2"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "200"
|
|
* IfItem "elif"
|
|
* Operator "=="
|
|
* ContextVariable "NR"
|
|
* IntLiteral "3"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "300"
|
|
* IfItem "else"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "z"
|
|
* IntLiteral "900"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v for (k in $*) { emit { k : k } }
|
|
DSL EXPRESSION:
|
|
for (k in $*) { emit { k : k } }
|
|
RAW AST:
|
|
* StatementBlock
|
|
* ForLoopKeyOnly "for"
|
|
* LocalVariable "k"
|
|
* FullSrec "$*"
|
|
* StatementBlock
|
|
* EmitStatement "emit"
|
|
* MapLiteral "{}"
|
|
* MapLiteralKeyValuePair ":"
|
|
* LocalVariable "k"
|
|
* LocalVariable "k"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin {}
|
|
DSL EXPRESSION:
|
|
begin {}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v begin {1}
|
|
DSL EXPRESSION:
|
|
begin {1}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* BeginBlock
|
|
* StatementBlock
|
|
* BareBoolean
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v end {}
|
|
DSL EXPRESSION:
|
|
end {}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* EndBlock
|
|
* StatementBlock
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v end {1}
|
|
DSL EXPRESSION:
|
|
end {1}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* EndBlock
|
|
* StatementBlock
|
|
* BareBoolean
|
|
* IntLiteral "1"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v if (1) {}
|
|
DSL EXPRESSION:
|
|
if (1) {}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* IfChain
|
|
* IfItem "if"
|
|
* IntLiteral "1"
|
|
* StatementBlock
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v if (1) {2}
|
|
DSL EXPRESSION:
|
|
if (1) {2}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* IfChain
|
|
* IfItem "if"
|
|
* IntLiteral "1"
|
|
* StatementBlock
|
|
* BareBoolean
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v for (k in $*) {}
|
|
DSL EXPRESSION:
|
|
for (k in $*) {}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* ForLoopKeyOnly "for"
|
|
* LocalVariable "k"
|
|
* FullSrec "$*"
|
|
* StatementBlock
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v for (k in $*) {2}
|
|
DSL EXPRESSION:
|
|
for (k in $*) {2}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* ForLoopKeyOnly "for"
|
|
* LocalVariable "k"
|
|
* FullSrec "$*"
|
|
* StatementBlock
|
|
* BareBoolean
|
|
* IntLiteral "2"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v while (false) {}
|
|
DSL EXPRESSION:
|
|
while (false) {}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* WhileLoop "while"
|
|
* BoolLiteral "false"
|
|
* StatementBlock
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v do {} while (false)
|
|
DSL EXPRESSION:
|
|
do {} while (false)
|
|
RAW AST:
|
|
* StatementBlock
|
|
* DoWhileLoop "do"
|
|
* StatementBlock
|
|
* BoolLiteral "false"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v nr=NR; $nr=nr
|
|
DSL EXPRESSION:
|
|
nr=NR; $nr=nr
|
|
RAW AST:
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* LocalVariable "nr"
|
|
* ContextVariable "NR"
|
|
* Assignment "="
|
|
* DirectFieldValue "nr"
|
|
* LocalVariable "nr"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v for (i = 0; i < 10; i += 1) { $x += i }
|
|
DSL EXPRESSION:
|
|
for (i = 0; i < 10; i += 1) { $x += i }
|
|
RAW AST:
|
|
* StatementBlock
|
|
* TripleForLoop "for"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* LocalVariable "i"
|
|
* IntLiteral "0"
|
|
* StatementBlock
|
|
* BareBoolean
|
|
* Operator "<"
|
|
* LocalVariable "i"
|
|
* IntLiteral "10"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* LocalVariable "i"
|
|
* Operator "+"
|
|
* LocalVariable "i"
|
|
* IntLiteral "1"
|
|
* StatementBlock
|
|
* Assignment "="
|
|
* DirectFieldValue "x"
|
|
* Operator "+"
|
|
* DirectFieldValue "x"
|
|
* LocalVariable "i"
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
mlr -n put -v for (;;) {}
|
|
DSL EXPRESSION:
|
|
for (;;) {}
|
|
RAW AST:
|
|
* StatementBlock
|
|
* TripleForLoop "for"
|
|
* StatementBlock
|
|
* StatementBlock
|
|
* StatementBlock
|
|
* StatementBlock
|
|
|