diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-10-25 18:54:40 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-10-25 18:54:40 -0700 |
commit | d01991e9b250ca65d9afbfd7e5efd9ed4f0ef923 (patch) | |
tree | 69c443ab1377e4d8a14e5ca97f1eea40a3108a8e /tests | |
parent | b72c9309c8d8f1af320dce616a69412510531b48 (diff) | |
download | txr-d01991e9b250ca65d9afbfd7e5efd9ed4f0ef923.tar.gz txr-d01991e9b250ca65d9afbfd7e5efd9ed4f0ef923.tar.bz2 txr-d01991e9b250ca65d9afbfd7e5efd9ed4f0ef923.zip |
awk: five new range operators.
* share/txr/stdlib/awk.tl (sys;awk-mac-let): Provide the
implementation for the local macros --rng, --rng-,
rng+, -rng+ and --rng+.
* tests/015/awk-rng.tl: New file.
* tests/015/awk-rng.expected: New file.
* txr.1: Documented.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/015/awk-rng.expected | 25 | ||||
-rw-r--r-- | tests/015/awk-rng.tl | 18 |
2 files changed, 43 insertions, 0 deletions
diff --git a/tests/015/awk-rng.expected b/tests/015/awk-rng.expected new file mode 100644 index 00000000..ad33b30b --- /dev/null +++ b/tests/015/awk-rng.expected @@ -0,0 +1,25 @@ +rec rng -rng rng- -rng- --rng- --rng rng+ -rng+ --rng+ Y1Y2 +X1 t t t +a t t t t t t +b t t t t t t +X1 t t t t t t +c t t t t t t +X2 t t t t t t +1 t t t t t t t t t +2 t t t t t t t t t +3 t t t t t t t t t +Y1 t t t end t t t +r end end t t +s end end t t +Y2 end end t t +t +Y2 +X1X2 t t t +Y1Y2 t t t end t t t +X1X2 t t t +Y1 t t t end t t t +a end end t t +Y2 end end t t +X1 t t t +b t t t t t t +X2 t t t t t t diff --git a/tests/015/awk-rng.tl b/tests/015/awk-rng.tl new file mode 100644 index 00000000..8bf2fa3c --- /dev/null +++ b/tests/015/awk-rng.tl @@ -0,0 +1,18 @@ +(awk (:inputs '#"X1 a b X1 c X2 1 2 3 Y1 r s Y2 t Y2" + '#"X1X2 Y1Y2" + '#"X1X2 Y1 a Y2 X1 b X2") + (:set ofs "\t") + (:begin + (prn 'rec 'rng '-rng 'rng- '-rng- '--rng- '--rng 'rng+ '-rng+ '--rng+ 'Y1Y2)) + (t (prn rec + (rng (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (-rng (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (rng- (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (-rng- (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (--rng- (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (--rng (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (rng+ (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (-rng+ (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (--rng+ (rng #/X1/ #/X2/) (rng #/Y1/ #/Y2/)) + (rng #/Y1/ #/Y2/)))) + |