From d01991e9b250ca65d9afbfd7e5efd9ed4f0ef923 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 25 Oct 2017 18:54:40 -0700 Subject: 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. --- tests/015/awk-rng.tl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 tests/015/awk-rng.tl (limited to 'tests/015/awk-rng.tl') 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/)))) + -- cgit v1.2.3