From 72c8fa819f80545e6104bbb8119376ca88ae154e Mon Sep 17 00:00:00 2001 From: John Kerl Date: Wed, 11 Aug 2021 11:41:12 -0400 Subject: [PATCH] test iteration --- .../dsl-filter-pattern-action/0052/cmd | 1 - .../dsl-filter-pattern-action/0054/cmd | 1 - .../dsl-filter-pattern-action/0056/cmd | 1 - .../dsl-filter-pattern-action/0058/cmd | 1 - .../dsl-filter-pattern-action/0060/cmd | 1 - .../dsl-filter-pattern-action/0062/cmd | 1 - .../dsl-filter-pattern-action/0064/cmd | 1 - .../dsl-filter-pattern-action/0066/cmd | 1 - .../dsl-filter-pattern-action/0068/cmd | 1 - .../dsl-filter-pattern-action/0070/cmd | 1 - .../dsl-filter-pattern-action/0072/cmd | 1 - .../cases/dsl-filter-pattern-action/0052/cmd | 1 + .../dsl-filter-pattern-action/0052/experr | 0 .../dsl-filter-pattern-action/0052/expout | 0 .../cases/dsl-filter-pattern-action/0052/mlr | 1 + .../cases/dsl-filter-pattern-action/0054/cmd | 1 + .../dsl-filter-pattern-action/0054/experr | 0 .../dsl-filter-pattern-action/0054/expout | 0 .../cases/dsl-filter-pattern-action/0054/mlr | 1 + .../cases/dsl-filter-pattern-action/0056/cmd | 1 + .../dsl-filter-pattern-action/0056/experr | 0 .../dsl-filter-pattern-action/0056/expout | 0 .../cases/dsl-filter-pattern-action/0056/mlr | 1 + .../cases/dsl-filter-pattern-action/0058/cmd | 1 + .../dsl-filter-pattern-action/0058/experr | 0 .../dsl-filter-pattern-action/0058/expout | 0 .../cases/dsl-filter-pattern-action/0058/mlr | 1 + .../cases/dsl-filter-pattern-action/0060/cmd | 1 + .../dsl-filter-pattern-action/0060/experr | 0 .../dsl-filter-pattern-action/0060/expout | 0 .../cases/dsl-filter-pattern-action/0060/mlr | 1 + .../cases/dsl-filter-pattern-action/0062/cmd | 1 + .../dsl-filter-pattern-action/0062/experr | 0 .../dsl-filter-pattern-action/0062/expout | 0 .../cases/dsl-filter-pattern-action/0062/mlr | 1 + .../cases/dsl-filter-pattern-action/0064/cmd | 1 + .../dsl-filter-pattern-action/0064/experr | 0 .../dsl-filter-pattern-action/0064/expout | 0 .../cases/dsl-filter-pattern-action/0064/mlr | 1 + .../cases/dsl-filter-pattern-action/0066/cmd | 1 + .../dsl-filter-pattern-action/0066/experr | 0 .../dsl-filter-pattern-action/0066/expout | 0 .../cases/dsl-filter-pattern-action/0066/mlr | 1 + .../cases/dsl-filter-pattern-action/0068/cmd | 1 + .../dsl-filter-pattern-action/0068/experr | 0 .../dsl-filter-pattern-action/0068/expout | 0 .../cases/dsl-filter-pattern-action/0068/mlr | 1 + .../cases/dsl-filter-pattern-action/0070/cmd | 1 + .../dsl-filter-pattern-action/0070/experr | 0 .../dsl-filter-pattern-action/0070/expout | 0 .../cases/dsl-filter-pattern-action/0070/mlr | 1 + .../cases/dsl-filter-pattern-action/0072/cmd | 1 + .../dsl-filter-pattern-action/0072/experr | 0 .../dsl-filter-pattern-action/0072/expout | 0 .../cases/dsl-filter-pattern-action/0072/mlr | 1 + .../dsl-filter-pattern-action/0074/cmd | 0 .../dsl-filter-pattern-action/0074/experr | 0 .../dsl-filter-pattern-action/0074/expout | 0 .../dsl-filter-pattern-action/0078/cmd | 0 .../dsl-filter-pattern-action/0078/experr | 0 .../dsl-filter-pattern-action/0078/expout | 0 .../dsl-filter-pattern-action/0078/input | 0 .../dsl-regex-captures/0001/cmd | 0 .../dsl-regex-captures/0001/experr | 0 .../dsl-regex-captures/0001/expout | 0 .../dsl-regex-captures/0002/cmd | 0 .../dsl-regex-captures/0002/experr | 0 .../dsl-regex-captures/0002/expout | 0 .../dsl-regex-captures/0005/cmd | 0 .../dsl-regex-captures/0005/experr | 0 .../dsl-regex-captures/0005/expout | 0 .../dsl-regex-captures/0008/cmd | 0 .../dsl-regex-captures/0008/experr | 0 .../dsl-regex-captures/0008/expout | 0 .../dsl-regex-captures/0009/cmd | 0 .../dsl-regex-captures/0009/experr | 0 .../dsl-regex-captures/0009/expout | 0 .../dsl-regex-captures/0010/cmd | 0 .../dsl-regex-captures/0010/experr | 0 .../dsl-regex-captures/0010/expout | 0 .../dsl-regex-captures/0011/cmd | 0 .../dsl-regex-captures/0011/experr | 0 .../dsl-regex-captures/0011/expout | 0 .../dsl-regex-captures/0012/cmd | 0 .../dsl-regex-captures/0012/experr | 0 .../dsl-regex-captures/0012/expout | 0 .../dsl-regex-captures/0013/cmd | 0 .../dsl-regex-captures/0013/experr | 0 .../dsl-regex-captures/0013/expout | 0 .../dsl-regex-captures/0014/cmd | 0 .../dsl-regex-captures/0014/experr | 0 .../dsl-regex-captures/0014/expout | 0 .../dsl-regex-captures/0015/cmd | 0 .../dsl-regex-captures/0015/experr | 0 .../dsl-regex-captures/0015/expout | 0 .../dsl-regex-captures/0016/cmd | 0 .../dsl-regex-captures/0016/experr | 0 .../dsl-regex-captures/0016/expout | 0 .../dsl-regex-captures/0017/cmd | 0 .../dsl-regex-captures/0017/experr | 0 .../dsl-regex-captures/0017/expout | 0 go/src/dsl/cst/builtin_functions.go | 26 ----- go/src/dsl/cst/filter.go | 1 + go/src/lib/regex.go | 8 +- go/src/lib/regex_test.go | 2 +- go/src/types/mlrval_functions_regex.go | 14 +-- go/todo.txt | 109 ++++++++++++------ 107 files changed, 108 insertions(+), 85 deletions(-) delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0052/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0054/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0056/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0058/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0060/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0062/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0064/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0066/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0068/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0070/cmd delete mode 100644 go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0072/cmd create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0052/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0052/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0052/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0052/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0054/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0054/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0054/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0054/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0056/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0056/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0056/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0056/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0058/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0058/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0058/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0058/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0060/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0060/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0060/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0060/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0062/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0062/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0062/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0062/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0064/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0064/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0064/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0064/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0066/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0066/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0066/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0066/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0068/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0068/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0068/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0068/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0070/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0070/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0070/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0070/mlr create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0072/cmd rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0072/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0072/expout (100%) create mode 100644 go/regtest/cases/dsl-filter-pattern-action/0072/mlr rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0074/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0074/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0074/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0078/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0078/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0078/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-filter-pattern-action/0078/input (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0001/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0001/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0001/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0002/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0002/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0002/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0005/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0005/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0005/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0008/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0008/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0008/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0009/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0009/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0009/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0010/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0010/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0010/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0011/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0011/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0011/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0012/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0012/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0012/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0013/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0013/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0013/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0014/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0014/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0014/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0015/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0015/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0015/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0016/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0016/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0016/expout (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0017/cmd (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0017/experr (100%) rename go/regtest/{cases-pending-go-port => cases}/dsl-regex-captures/0017/expout (100%) diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0052/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0052/cmd deleted file mode 100644 index 8a74f1ec4..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0052/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract($x, "[A-Z]*")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0054/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0054/cmd deleted file mode 100644 index 011e0fe8c..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0054/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract($x, "[a-z]*")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0056/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0056/cmd deleted file mode 100644 index 05835df50..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0056/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract($x, "[0-9]*")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0058/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0058/cmd deleted file mode 100644 index bb4ace89c..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0058/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract($x, "[ef]*")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0060/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0060/cmd deleted file mode 100644 index 436c34a66..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0060/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract($x, "[hi]*")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0062/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0062/cmd deleted file mode 100644 index cf45f3bfc..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0062/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract($x, "[op]*")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0064/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0064/cmd deleted file mode 100644 index baebc47ec..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0064/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract_or_else($x, "[A-Z]*", "DEFAULT")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0066/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0066/cmd deleted file mode 100644 index 7afa1136c..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0066/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract_or_else($x, "[a-z]*", "DEFAULT")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0068/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0068/cmd deleted file mode 100644 index 0dd8456ee..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0068/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract_or_else($x, "[0-9]*", "DEFAULT")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0070/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0070/cmd deleted file mode 100644 index f0b34cce2..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0070/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract_or_else($x, "[ef]*", "DEFAULT")' regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0072/cmd b/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0072/cmd deleted file mode 100644 index 2ed7cc372..000000000 --- a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0072/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --oxtab put '$y = regextract_or_else($x, "[hi]*", "DEFAULT")' regtest/input/sub.dat diff --git a/go/regtest/cases/dsl-filter-pattern-action/0052/cmd b/go/regtest/cases/dsl-filter-pattern-action/0052/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0052/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0052/experr b/go/regtest/cases/dsl-filter-pattern-action/0052/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0052/experr rename to go/regtest/cases/dsl-filter-pattern-action/0052/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0052/expout b/go/regtest/cases/dsl-filter-pattern-action/0052/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0052/expout rename to go/regtest/cases/dsl-filter-pattern-action/0052/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0052/mlr b/go/regtest/cases/dsl-filter-pattern-action/0052/mlr new file mode 100644 index 000000000..5d00eca89 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0052/mlr @@ -0,0 +1 @@ +$y = regextract($x, "[A-Z]*") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0054/cmd b/go/regtest/cases/dsl-filter-pattern-action/0054/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0054/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0054/experr b/go/regtest/cases/dsl-filter-pattern-action/0054/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0054/experr rename to go/regtest/cases/dsl-filter-pattern-action/0054/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0054/expout b/go/regtest/cases/dsl-filter-pattern-action/0054/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0054/expout rename to go/regtest/cases/dsl-filter-pattern-action/0054/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0054/mlr b/go/regtest/cases/dsl-filter-pattern-action/0054/mlr new file mode 100644 index 000000000..924cfe18a --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0054/mlr @@ -0,0 +1 @@ +$y = regextract($x, "[a-z]*") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0056/cmd b/go/regtest/cases/dsl-filter-pattern-action/0056/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0056/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0056/experr b/go/regtest/cases/dsl-filter-pattern-action/0056/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0056/experr rename to go/regtest/cases/dsl-filter-pattern-action/0056/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0056/expout b/go/regtest/cases/dsl-filter-pattern-action/0056/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0056/expout rename to go/regtest/cases/dsl-filter-pattern-action/0056/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0056/mlr b/go/regtest/cases/dsl-filter-pattern-action/0056/mlr new file mode 100644 index 000000000..b1e6c4ada --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0056/mlr @@ -0,0 +1 @@ +$y = regextract($x, "[0-9]*") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0058/cmd b/go/regtest/cases/dsl-filter-pattern-action/0058/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0058/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0058/experr b/go/regtest/cases/dsl-filter-pattern-action/0058/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0058/experr rename to go/regtest/cases/dsl-filter-pattern-action/0058/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0058/expout b/go/regtest/cases/dsl-filter-pattern-action/0058/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0058/expout rename to go/regtest/cases/dsl-filter-pattern-action/0058/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0058/mlr b/go/regtest/cases/dsl-filter-pattern-action/0058/mlr new file mode 100644 index 000000000..d1fd2436c --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0058/mlr @@ -0,0 +1 @@ +$y = regextract($x, "[ef]*") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0060/cmd b/go/regtest/cases/dsl-filter-pattern-action/0060/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0060/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0060/experr b/go/regtest/cases/dsl-filter-pattern-action/0060/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0060/experr rename to go/regtest/cases/dsl-filter-pattern-action/0060/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0060/expout b/go/regtest/cases/dsl-filter-pattern-action/0060/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0060/expout rename to go/regtest/cases/dsl-filter-pattern-action/0060/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0060/mlr b/go/regtest/cases/dsl-filter-pattern-action/0060/mlr new file mode 100644 index 000000000..63bea141f --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0060/mlr @@ -0,0 +1 @@ +$y = regextract($x, "[hi]*") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0062/cmd b/go/regtest/cases/dsl-filter-pattern-action/0062/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0062/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0062/experr b/go/regtest/cases/dsl-filter-pattern-action/0062/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0062/experr rename to go/regtest/cases/dsl-filter-pattern-action/0062/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0062/expout b/go/regtest/cases/dsl-filter-pattern-action/0062/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0062/expout rename to go/regtest/cases/dsl-filter-pattern-action/0062/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0062/mlr b/go/regtest/cases/dsl-filter-pattern-action/0062/mlr new file mode 100644 index 000000000..fce920071 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0062/mlr @@ -0,0 +1 @@ +$y = regextract($x, "[op]*") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0064/cmd b/go/regtest/cases/dsl-filter-pattern-action/0064/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0064/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0064/experr b/go/regtest/cases/dsl-filter-pattern-action/0064/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0064/experr rename to go/regtest/cases/dsl-filter-pattern-action/0064/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0064/expout b/go/regtest/cases/dsl-filter-pattern-action/0064/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0064/expout rename to go/regtest/cases/dsl-filter-pattern-action/0064/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0064/mlr b/go/regtest/cases/dsl-filter-pattern-action/0064/mlr new file mode 100644 index 000000000..81044794d --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0064/mlr @@ -0,0 +1 @@ +$y = regextract_or_else($x, "[A-Z]*", "DEFAULT") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0066/cmd b/go/regtest/cases/dsl-filter-pattern-action/0066/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0066/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0066/experr b/go/regtest/cases/dsl-filter-pattern-action/0066/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0066/experr rename to go/regtest/cases/dsl-filter-pattern-action/0066/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0066/expout b/go/regtest/cases/dsl-filter-pattern-action/0066/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0066/expout rename to go/regtest/cases/dsl-filter-pattern-action/0066/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0066/mlr b/go/regtest/cases/dsl-filter-pattern-action/0066/mlr new file mode 100644 index 000000000..73600e3fb --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0066/mlr @@ -0,0 +1 @@ +$y = regextract_or_else($x, "[a-z]*", "DEFAULT") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0068/cmd b/go/regtest/cases/dsl-filter-pattern-action/0068/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0068/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0068/experr b/go/regtest/cases/dsl-filter-pattern-action/0068/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0068/experr rename to go/regtest/cases/dsl-filter-pattern-action/0068/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0068/expout b/go/regtest/cases/dsl-filter-pattern-action/0068/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0068/expout rename to go/regtest/cases/dsl-filter-pattern-action/0068/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0068/mlr b/go/regtest/cases/dsl-filter-pattern-action/0068/mlr new file mode 100644 index 000000000..9406e6dd0 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0068/mlr @@ -0,0 +1 @@ +$y = regextract_or_else($x, "[0-9]*", "DEFAULT") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0070/cmd b/go/regtest/cases/dsl-filter-pattern-action/0070/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0070/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0070/experr b/go/regtest/cases/dsl-filter-pattern-action/0070/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0070/experr rename to go/regtest/cases/dsl-filter-pattern-action/0070/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0070/expout b/go/regtest/cases/dsl-filter-pattern-action/0070/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0070/expout rename to go/regtest/cases/dsl-filter-pattern-action/0070/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0070/mlr b/go/regtest/cases/dsl-filter-pattern-action/0070/mlr new file mode 100644 index 000000000..6824a72bc --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0070/mlr @@ -0,0 +1 @@ +$y = regextract_or_else($x, "[ef]*", "DEFAULT") diff --git a/go/regtest/cases/dsl-filter-pattern-action/0072/cmd b/go/regtest/cases/dsl-filter-pattern-action/0072/cmd new file mode 100644 index 000000000..643b70eb2 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0072/cmd @@ -0,0 +1 @@ +mlr --oxtab put -f ${CASEDIR}/mlr regtest/input/sub.dat diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0072/experr b/go/regtest/cases/dsl-filter-pattern-action/0072/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0072/experr rename to go/regtest/cases/dsl-filter-pattern-action/0072/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0072/expout b/go/regtest/cases/dsl-filter-pattern-action/0072/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0072/expout rename to go/regtest/cases/dsl-filter-pattern-action/0072/expout diff --git a/go/regtest/cases/dsl-filter-pattern-action/0072/mlr b/go/regtest/cases/dsl-filter-pattern-action/0072/mlr new file mode 100644 index 000000000..68195f498 --- /dev/null +++ b/go/regtest/cases/dsl-filter-pattern-action/0072/mlr @@ -0,0 +1 @@ +$y = regextract_or_else($x, "[hi]*", "DEFAULT") diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0074/cmd b/go/regtest/cases/dsl-filter-pattern-action/0074/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0074/cmd rename to go/regtest/cases/dsl-filter-pattern-action/0074/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0074/experr b/go/regtest/cases/dsl-filter-pattern-action/0074/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0074/experr rename to go/regtest/cases/dsl-filter-pattern-action/0074/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0074/expout b/go/regtest/cases/dsl-filter-pattern-action/0074/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0074/expout rename to go/regtest/cases/dsl-filter-pattern-action/0074/expout diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0078/cmd b/go/regtest/cases/dsl-filter-pattern-action/0078/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0078/cmd rename to go/regtest/cases/dsl-filter-pattern-action/0078/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0078/experr b/go/regtest/cases/dsl-filter-pattern-action/0078/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0078/experr rename to go/regtest/cases/dsl-filter-pattern-action/0078/experr diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0078/expout b/go/regtest/cases/dsl-filter-pattern-action/0078/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0078/expout rename to go/regtest/cases/dsl-filter-pattern-action/0078/expout diff --git a/go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0078/input b/go/regtest/cases/dsl-filter-pattern-action/0078/input similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-filter-pattern-action/0078/input rename to go/regtest/cases/dsl-filter-pattern-action/0078/input diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0001/cmd b/go/regtest/cases/dsl-regex-captures/0001/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0001/cmd rename to go/regtest/cases/dsl-regex-captures/0001/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0001/experr b/go/regtest/cases/dsl-regex-captures/0001/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0001/experr rename to go/regtest/cases/dsl-regex-captures/0001/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0001/expout b/go/regtest/cases/dsl-regex-captures/0001/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0001/expout rename to go/regtest/cases/dsl-regex-captures/0001/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0002/cmd b/go/regtest/cases/dsl-regex-captures/0002/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0002/cmd rename to go/regtest/cases/dsl-regex-captures/0002/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0002/experr b/go/regtest/cases/dsl-regex-captures/0002/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0002/experr rename to go/regtest/cases/dsl-regex-captures/0002/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0002/expout b/go/regtest/cases/dsl-regex-captures/0002/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0002/expout rename to go/regtest/cases/dsl-regex-captures/0002/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0005/cmd b/go/regtest/cases/dsl-regex-captures/0005/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0005/cmd rename to go/regtest/cases/dsl-regex-captures/0005/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0005/experr b/go/regtest/cases/dsl-regex-captures/0005/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0005/experr rename to go/regtest/cases/dsl-regex-captures/0005/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0005/expout b/go/regtest/cases/dsl-regex-captures/0005/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0005/expout rename to go/regtest/cases/dsl-regex-captures/0005/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0008/cmd b/go/regtest/cases/dsl-regex-captures/0008/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0008/cmd rename to go/regtest/cases/dsl-regex-captures/0008/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0008/experr b/go/regtest/cases/dsl-regex-captures/0008/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0008/experr rename to go/regtest/cases/dsl-regex-captures/0008/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0008/expout b/go/regtest/cases/dsl-regex-captures/0008/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0008/expout rename to go/regtest/cases/dsl-regex-captures/0008/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0009/cmd b/go/regtest/cases/dsl-regex-captures/0009/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0009/cmd rename to go/regtest/cases/dsl-regex-captures/0009/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0009/experr b/go/regtest/cases/dsl-regex-captures/0009/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0009/experr rename to go/regtest/cases/dsl-regex-captures/0009/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0009/expout b/go/regtest/cases/dsl-regex-captures/0009/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0009/expout rename to go/regtest/cases/dsl-regex-captures/0009/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0010/cmd b/go/regtest/cases/dsl-regex-captures/0010/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0010/cmd rename to go/regtest/cases/dsl-regex-captures/0010/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0010/experr b/go/regtest/cases/dsl-regex-captures/0010/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0010/experr rename to go/regtest/cases/dsl-regex-captures/0010/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0010/expout b/go/regtest/cases/dsl-regex-captures/0010/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0010/expout rename to go/regtest/cases/dsl-regex-captures/0010/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0011/cmd b/go/regtest/cases/dsl-regex-captures/0011/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0011/cmd rename to go/regtest/cases/dsl-regex-captures/0011/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0011/experr b/go/regtest/cases/dsl-regex-captures/0011/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0011/experr rename to go/regtest/cases/dsl-regex-captures/0011/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0011/expout b/go/regtest/cases/dsl-regex-captures/0011/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0011/expout rename to go/regtest/cases/dsl-regex-captures/0011/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0012/cmd b/go/regtest/cases/dsl-regex-captures/0012/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0012/cmd rename to go/regtest/cases/dsl-regex-captures/0012/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0012/experr b/go/regtest/cases/dsl-regex-captures/0012/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0012/experr rename to go/regtest/cases/dsl-regex-captures/0012/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0012/expout b/go/regtest/cases/dsl-regex-captures/0012/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0012/expout rename to go/regtest/cases/dsl-regex-captures/0012/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0013/cmd b/go/regtest/cases/dsl-regex-captures/0013/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0013/cmd rename to go/regtest/cases/dsl-regex-captures/0013/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0013/experr b/go/regtest/cases/dsl-regex-captures/0013/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0013/experr rename to go/regtest/cases/dsl-regex-captures/0013/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0013/expout b/go/regtest/cases/dsl-regex-captures/0013/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0013/expout rename to go/regtest/cases/dsl-regex-captures/0013/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0014/cmd b/go/regtest/cases/dsl-regex-captures/0014/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0014/cmd rename to go/regtest/cases/dsl-regex-captures/0014/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0014/experr b/go/regtest/cases/dsl-regex-captures/0014/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0014/experr rename to go/regtest/cases/dsl-regex-captures/0014/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0014/expout b/go/regtest/cases/dsl-regex-captures/0014/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0014/expout rename to go/regtest/cases/dsl-regex-captures/0014/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0015/cmd b/go/regtest/cases/dsl-regex-captures/0015/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0015/cmd rename to go/regtest/cases/dsl-regex-captures/0015/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0015/experr b/go/regtest/cases/dsl-regex-captures/0015/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0015/experr rename to go/regtest/cases/dsl-regex-captures/0015/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0015/expout b/go/regtest/cases/dsl-regex-captures/0015/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0015/expout rename to go/regtest/cases/dsl-regex-captures/0015/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0016/cmd b/go/regtest/cases/dsl-regex-captures/0016/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0016/cmd rename to go/regtest/cases/dsl-regex-captures/0016/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0016/experr b/go/regtest/cases/dsl-regex-captures/0016/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0016/experr rename to go/regtest/cases/dsl-regex-captures/0016/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0016/expout b/go/regtest/cases/dsl-regex-captures/0016/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0016/expout rename to go/regtest/cases/dsl-regex-captures/0016/expout diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0017/cmd b/go/regtest/cases/dsl-regex-captures/0017/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0017/cmd rename to go/regtest/cases/dsl-regex-captures/0017/cmd diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0017/experr b/go/regtest/cases/dsl-regex-captures/0017/experr similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0017/experr rename to go/regtest/cases/dsl-regex-captures/0017/experr diff --git a/go/regtest/cases-pending-go-port/dsl-regex-captures/0017/expout b/go/regtest/cases/dsl-regex-captures/0017/expout similarity index 100% rename from go/regtest/cases-pending-go-port/dsl-regex-captures/0017/expout rename to go/regtest/cases/dsl-regex-captures/0017/expout diff --git a/go/src/dsl/cst/builtin_functions.go b/go/src/dsl/cst/builtin_functions.go index 377c1434b..c13b446a3 100644 --- a/go/src/dsl/cst/builtin_functions.go +++ b/go/src/dsl/cst/builtin_functions.go @@ -308,32 +308,6 @@ func (root *RootNode) BuildRegexCaptureBinaryFunctionCallsiteNode( return nil, err } - // Special short-circuiting cases - if builtinFunctionInfo.name == "&&" { - return root.BuildLogicalANDOperatorNode( - evaluable1, - evaluable2, - ), nil - } - if builtinFunctionInfo.name == "||" { - return root.BuildLogicalOROperatorNode( - evaluable1, - evaluable2, - ), nil - } - if builtinFunctionInfo.name == "??" { - return root.BuildAbsentCoalesceOperatorNode( - evaluable1, - evaluable2, - ), nil - } - if builtinFunctionInfo.name == "???" { - return root.BuildEmptyCoalesceOperatorNode( - evaluable1, - evaluable2, - ), nil - } - return &RegexCaptureBinaryFunctionCallsiteNode{ regexCaptureBinaryFunc: builtinFunctionInfo.regexCaptureBinaryFunc, evaluable1: evaluable1, diff --git a/go/src/dsl/cst/filter.go b/go/src/dsl/cst/filter.go index 0da7c7982..ec72374b2 100644 --- a/go/src/dsl/cst/filter.go +++ b/go/src/dsl/cst/filter.go @@ -49,6 +49,7 @@ func (root *RootNode) BuildBareBooleanStatementNode(astNode *dsl.ASTNode) (IExec } func (node *BareBooleanStatementNode) Execute(state *runtime.State) (*BlockExitPayload, error) { + node.bareBooleanEvaluable.Evaluate(state) return nil, nil } diff --git a/go/src/lib/regex.go b/go/src/lib/regex.go index df847cf4c..9acd991f2 100644 --- a/go/src/lib/regex.go +++ b/go/src/lib/regex.go @@ -128,7 +128,9 @@ func RegexMatchesCompiled( ) (bool, []string) { matrix := regex.FindAllSubmatchIndex([]byte(input), -1) if matrix == nil || len(matrix) == 0 { - return false, nil + // xxx temp + // return false, nil + return false, make([]string, 10) } // Slot 0 is ""; then slots 1..9 for "\1".."\9". @@ -283,7 +285,9 @@ func regexSubGsubCompiled( for si := 0; si < n && di <= 9; si += 2 { start := row[si] end := row[si+1] - captures[di] = input[start:end] + if start >= 0 && end >= 0 { + captures[di] = input[start:end] + } di += 1 } diff --git a/go/src/lib/regex_test.go b/go/src/lib/regex_test.go index 0ce91efa8..a4579ebdb 100644 --- a/go/src/lib/regex_test.go +++ b/go/src/lib/regex_test.go @@ -78,7 +78,7 @@ var dataForGsub = []tDataForSubGsub{ } var dataForMatches = []tDataForMatches{ - {"abcde", "[A-Z]", false, nil}, + {"abcde", "[A-Z]", false, []string{"", "", "", "", "", "", "", "", "", ""}}, {"abcde", "[a-z]", true, []string{"a", "", "", "", "", "", "", "", "", ""}}, {"...ab_cde...", "(..)_(...)", true, []string{"ab_cde", "ab", "cde", "", "", "", "", "", "", ""}}, {"...ab_cde...fg_hij...", "(..)_(...)", true, []string{"ab_cde", "ab", "cde", "", "", "", "", "", "", ""}}, diff --git a/go/src/types/mlrval_functions_regex.go b/go/src/types/mlrval_functions_regex.go index 1678ab928..df9430970 100644 --- a/go/src/types/mlrval_functions_regex.go +++ b/go/src/types/mlrval_functions_regex.go @@ -141,10 +141,9 @@ func MlrvalRegextract(input1, input2 *Mlrval) *Mlrval { return MLRVAL_ERROR } regex := lib.CompileMillerRegexOrDie(input2.printrep) - // TODO: See if we need FindStringIndex or FindStringSubmatch to distinguish from matching "". - match := regex.FindString(input1.printrep) - if match != "" { - return MlrvalPointerFromString(match) + match := regex.FindStringIndex(input1.printrep) + if match != nil { + return MlrvalPointerFromString(input1.printrep[match[0]:match[1]]) } else { return MLRVAL_ABSENT } @@ -158,10 +157,9 @@ func MlrvalRegextractOrElse(input1, input2, input3 *Mlrval) *Mlrval { return MLRVAL_ERROR } regex := lib.CompileMillerRegexOrDie(input2.printrep) - // TODO: See if we need FindStringIndex or FindStringSubmatch to distinguish from matching "". - found := regex.FindString(input1.printrep) - if found != "" { - return MlrvalPointerFromString(found) + match := regex.FindStringIndex(input1.printrep) + if match != nil { + return MlrvalPointerFromString(input1.printrep[match[0]:match[1]]) } else { return input3 } diff --git a/go/todo.txt b/go/todo.txt index dac028be4..3b51966de 100644 --- a/go/todo.txt +++ b/go/todo.txt @@ -29,48 +29,83 @@ w discussion re docs6 ... ---------------------------------------------------------------- REGEX CAPTURES +! TODO/XXX/etc neatens + gd -w -r main $(gff main|grep go$|grep -v lib_test|sed s:go/::) + ! to fix: - ! filter-statement must again be last b/c - mlr --opprint put '$FIELD =~ "(.)(.)" {$F0="\0";$F1="\1";$F2="\2...} - ! docmod ! - ! "\0" needs to be the entire match string - ! doc-clarify ! - - mlrc put '$i > 5; $z=100' s - mlr put '$i > 5; $z=100' s - mlrc put '$z=100; $i > 5' s - mlr put '$z=100; $i > 5' s - mlrc filter '$i > 5; $z=100' s - mlr filter '$i > 5; $z=100' s - mlrc filter '$z=100; $i > 5' s - mlr filter '$z=100; $i > 5' s - - o mlr filter's final statement must be a bare boolean - - o bare-boolean statements in put: no-ops unless they have side effects: - namely, the matches/does-not-match operators =~ and !=~ setting regex - captures \1, \2, etc. - - o isFilter / isREPLImmediate -> single enum in root - - REPL: always set the FilterExpression - - maybe replace with isPut -- ? o mlr put must not accept -x - o mlr --opprint put '$fnr=FNR; $nr=NR' then filter 'if (FILENUM == 1) { FNR < 4} else { FNR > 4 }' s s - a b i x y fnr nr - pan pan 1 0.3467901443380824 0.7268028627434533 1 1 - eks pan 2 0.7586799647899636 0.5221511083334797 2 2 - wye wye 3 0.20460330576630303 0.33831852551664776 3 3 - wye pan 5 0.5732889198020006 0.8636244699032729 5 15 - zee pan 6 0.5271261600918548 0.49322128674835697 6 16 - eks zee 7 0.6117840605678454 0.1878849191181694 7 17 - zee wye 8 0.5985540091064224 0.976181385699006 8 18 - hat wye 9 0.03144187646093577 0.7495507603507059 9 19 - pan wye 10 0.5026260055412137 0.9526183602969864 10 20 + o "\t" etc in string literals + echo x=abc | mlrc put '$y="a\tb"' + echo x=abc | mlr put '$y="a\tb"' + ! have explicit UTs for this -- should have been caught before regex testing; is more fundamental - mlrc --opprint put '$fnr=FNR; $nr=NR' then filter 'if (FILENUM == 1) { FNR < 4} else { FNR > 4 }' s s - mlrc: filter expressions must end in a final boolean statement. +//char* mlr_alloc_unbackslash(char* input) { +// char* output = mlr_strdup_or_die(input); +// char* pi = input; +// char* po = output; +// int code = 0; +// while (*pi) { +// // https://en.wikipedia.org/wiki/Escape_sequences_in_C +// if (streqn(pi, "\\a", 2)) { +// pi += 2; +// *(po++) = '\a'; +// } else if (streqn(pi, "\\b", 2)) { +// pi += 2; +// *(po++) = '\b'; +// } else if (streqn(pi, "\\f", 2)) { +// pi += 2; +// *(po++) = '\f'; +// } else if (streqn(pi, "\\n", 2)) { +// pi += 2; +// *(po++) = '\n'; +// } else if (streqn(pi, "\\r", 2)) { +// pi += 2; +// *(po++) = '\r'; +// } else if (streqn(pi, "\\t", 2)) { +// pi += 2; +// *(po++) = '\t'; +// } else if (streqn(pi, "\\v", 2)) { +// pi += 2; +// *(po++) = '\v'; +// } else if (streqn(pi, "\\\\", 2)) { +// pi += 2; +// *(po++) = '\\'; +// } else if (streqn(pi, "\\'", 2)) { +// pi += 2; +// *(po++) = '\''; +// } else if (streqn(pi, "\\\"", 2)) { +// pi += 2; +// *(po++) = '"'; +// } else if (streqn(pi, "\\?", 2)) { +// pi += 2; +// *(po++) = '?'; +// } else if (is_backslash_octal(pi, &code)) { +// pi += 4; +// *(po++) = code; +// } else if (is_backslash_hex(pi, &code)) { +// pi += 4; +// *(po++) = code; +// } else { +// *po = *pi; +// pi++; +// po++; +// } +// } +// *po = 0; +// +// return output; +//} + + o docfix: mlr filter's final statement must be a bare boolean -> now lifted so + mlr --opprint put '$fnr=FNR; $nr=NR' then filter 'if (FILENUM == 1) { FNR <= 5} else { FNR <= 2 }' s s + + o doc clarify throughout: "\0" is the entire match + + o doc: bare-boolean statements in put: no-ops unless they have side effects: + namely, the matches/does-not-match operators =~ and !=~ setting regex + captures \1, \2, etc. * https://github.com/johnkerl/miller/issues/388 is much cleaner o keep current syntax for backward compatibility