diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | awkreg.awk | 7 |
2 files changed, 11 insertions, 2 deletions
@@ -1,5 +1,11 @@ 2014-03-17 Kaz Kylheku <kaz@kylheku.com> + * awkreg.awk (eat_bracket_exp): Capture the endpoint characters of a + range into the variables x and y, and use these to assert that + the lower endpoint is not lexicographically above the upper endpoint. + +2014-03-17 Kaz Kylheku <kaz@kylheku.com> + * awkreg.awk (driver): fix references to nonexistent variable ir; should be ok. @@ -97,7 +97,7 @@ function eat_class(c) function eat_bracket_exp(e, #local - f, o) + f, o, x, y) { o = e e = eat_char(e) @@ -115,6 +115,7 @@ function eat_bracket_exp(e, continue } + x = substr(e, 1, 1); f = eat_bchar(e) if (f == e) @@ -123,8 +124,10 @@ function eat_bracket_exp(e, if (matches(e, "-")) { e = eat_char(e) + y = substr(e, 1, 1); f = eat_bchar(e) - if (f == e) + + if (x > y || f == e) return o e = f } |