summaryrefslogtreecommitdiffstats
path: root/tests/015/awk-rng.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-10-25 18:54:40 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-10-25 18:54:40 -0700
commitd01991e9b250ca65d9afbfd7e5efd9ed4f0ef923 (patch)
tree69c443ab1377e4d8a14e5ca97f1eea40a3108a8e /tests/015/awk-rng.tl
parentb72c9309c8d8f1af320dce616a69412510531b48 (diff)
downloadtxr-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/015/awk-rng.tl')
-rw-r--r--tests/015/awk-rng.tl18
1 files changed, 18 insertions, 0 deletions
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/))))
+