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 | |
parent | d3064bd9a5116f57e60f3da91ffcf3f1a58b9ab0 (diff) | |
download | egawk-master.tar.gz egawk-master.tar.bz2 egawk-master.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')
-rw-r--r-- | test/let1.awk | 14 | ||||
-rw-r--r-- | test/let1.ok | 6 |
2 files changed, 20 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 } +} diff --git a/test/let1.ok b/test/let1.ok index f3336775..70de9024 100644 --- a/test/let1.ok +++ b/test/let1.ok @@ -9,3 +9,9 @@ f5 1 2 3 b6 1 b6 1 2 b6 1 2 3 +f6 1 +f6 1 2 +f6 1 2 3 +b7 1 +b7 1 2 +b7 1 2 3 |