diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-04-14 07:00:15 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-04-14 07:00:15 -0700 |
commit | f00e74ffc73f6ba6fe74fb7a26319770b8c3792c (patch) | |
tree | 931278a791b5ed7bacd47ce35c7ed224a9e0ccce /test/let1.awk | |
parent | d3064bd9a5116f57e60f3da91ffcf3f1a58b9ab0 (diff) | |
download | egawk-f00e74ffc73f6ba6fe74fb7a26319770b8c3792c.tar.gz egawk-f00e74ffc73f6ba6fe74fb7a26319770b8c3792c.tar.bz2 egawk-f00e74ffc73f6ba6fe74fb7a26319770b8c3792c.zip |
We allow forms like @let(x,) and @let(x, y=1,) with the
trailing comma. This is helpful for code generators and macros,
which can then treat temporary variables as comma-terminated
items.
* awkgram.y (let_var_list_opt): Add a production which matches a
trailing comma after let_var_list.
* test/let1.awk, test/let1.ok: Test cases.
* doc/gawkt.texi, doc/gawktexi.in: Trailing comma documented.
* awkgram.c: Regenerated with Bison 3.8.
Diffstat (limited to 'test/let1.awk')
-rw-r--r-- | test/let1.awk | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/let1.awk b/test/let1.awk index 413b6e1e..268222df 100644 --- a/test/let1.awk +++ b/test/let1.awk @@ -157,3 +157,17 @@ BEGIN { @let (x = 1, y = 2) { print "b6", x, y } @let (x = 1, y = 2, z = 3) { print "b6", x, y, z } } + +function f6() +{ + @let (x = 1) { print "f6", x } + @let (x = 1, y = 2,) { print "f6", x, y } + @let (x = 1, y = 2, z = 3,) { print "f6", x, y, z } +} + +BEGIN { + f6() + @let (x = 1) { print "b7", x } + @let (x = 1, y = 2,) { print "b7", x, y } + @let (x = 1, y = 2, z = 3,) { print "b7", x, y, z } +} |