#!/bin/rc echo T.int-expr: test interval expressions >[1=2] rm -f foo cat << 'EOF' > prog NF == 0 { next } $1 == "pat" { pattern = $2; next } { check = ($1 ~ pattern) printf("%s ~ /%s/ → should be %d, is %d\n", $1, pattern, $2, check) } EOF cat << 'EOF' > foo.in pat ab{0}c ac 1 abc 0 pat a(b{0})c ac 1 abc 0 pat ab{0}*c ac 1 abc 0 pat a(b{0})*c ac 1 abc 0 pat ab{0,}c ac 1 abc 1 pat a(b{0,})c ac 1 abc 1 pat ab{0,}*c ac 1 abc 1 pat a(b{0,})*c ac 1 abc 1 pat ab{1}c ac 0 abc 1 abbc 0 pat ab{1,}c ac 0 abc 1 abbc 1 abbbc 1 abbbbc 1 pat ab{0,1}c ac 1 abc 1 abbc 0 pat ab{0,3}c ac 1 abc 1 abbc 1 abbbc 1 abbbbc 0 pat ab{1,3}c ac 0 abc 1 abbc 1 abbbc 1 abbbbc 0 EOF cat << 'EOF' > foo1 ac ~ /ab{0}c/ -> should be 1, is 1 abc ~ /ab{0}c/ -> should be 0, is 0 ac ~ /a(b{0})c/ -> should be 1, is 1 abc ~ /a(b{0})c/ -> should be 0, is 0 ac ~ /ab{0}*c/ -> should be 1, is 1 abc ~ /ab{0}*c/ -> should be 0, is 0 ac ~ /a(b{0})*c/ -> should be 1, is 1 abc ~ /a(b{0})*c/ -> should be 0, is 0 ac ~ /ab{0,}c/ -> should be 1, is 1 abc ~ /ab{0,}c/ -> should be 1, is 1 ac ~ /a(b{0,})c/ -> should be 1, is 1 abc ~ /a(b{0,})c/ -> should be 1, is 1 ac ~ /ab{0,}*c/ -> should be 1, is 1 abc ~ /ab{0,}*c/ -> should be 1, is 1 ac ~ /a(b{0,})*c/ -> should be 1, is 1 abc ~ /a(b{0,})*c/ -> should be 1, is 1 ac ~ /ab{1}c/ -> should be 0, is 0 abc ~ /ab{1}c/ -> should be 1, is 1 abbc ~ /ab{1}c/ -> should be 0, is 0 ac ~ /ab{1,}c/ -> should be 0, is 0 abc ~ /ab{1,}c/ -> should be 1, is 1 abbc ~ /ab{1,}c/ -> should be 1, is 1 abbbc ~ /ab{1,}c/ -> should be 1, is 1 abbbbc ~ /ab{1,}c/ -> should be 1, is 1 ac ~ /ab{0,1}c/ -> should be 1, is 1 abc ~ /ab{0,1}c/ -> should be 1, is 1 abbc ~ /ab{0,1}c/ -> should be 0, is 0 ac ~ /ab{0,3}c/ -> should be 1, is 1 abc ~ /ab{0,3}c/ -> should be 1, is 1 abbc ~ /ab{0,3}c/ -> should be 1, is 1 abbbc ~ /ab{0,3}c/ -> should be 1, is 1 abbbbc ~ /ab{0,3}c/ -> should be 0, is 0 ac ~ /ab{1,3}c/ -> should be 0, is 0 abc ~ /ab{1,3}c/ -> should be 1, is 1 abbc ~ /ab{1,3}c/ -> should be 1, is 1 abbbc ~ /ab{1,3}c/ -> should be 1, is 1 abbbbc ~ /ab{1,3}c/ -> should be 0, is 0 EOF $awk -f prog foo.in > foo2 diff foo1 foo2 | sed -n 's/^> //p' || echo 'BAD: T.int-expr: 1' >[1=2] rm -f prog