diff options
| Commit | c5de9e6a21c495241249962b87bca0b4b5d39248 (patch) | |
|---|---|---|
| Author | 2024-07-21 09:22:18 +0300 | |
| Committer | 2024-07-21 09:22:18 +0300 | |
| Files | 9b2921bfeb4fa2a9fe6255411912123aaf19590a /lib_stack.awk | |
| csg-c5de9e6a21c495241249962b87bca0b4b5d39248.tar csg-c5de9e6a21c495241249962b87bca0b4b5d39248.tar.gz csg-c5de9e6a21c495241249962b87bca0b4b5d39248.zip | ||
| Parent | f8266b610f9787689a4f121c57c039952ca9cec2 (diff) | |
[single] Started work on Markdown parser
1 files changed, 26 insertions, 0 deletions
| -rw-r--r-- | lib_stack.awk | 26 |
diff --git a/lib_stack.awk b/lib_stack.awk new file mode 100644 index 0000000..a8b0b2a --- /dev/null +++ b/lib_stack.awk @@ -0,0 +1,26 @@ +function newStack(name) { + __stacks[name, "length"] = 0 +} + +function topStack(name) { + return __stacks[name, __stacks[name, "length"] - 1] +} + +function lengthStack(name) { + return __stacks[name, "length"] +} + +function pushStack(name, value) { + __stacks[name, __stacks[name, "length"]++] = value +} + +function popStack(name, value) { + delete __stacks[name, --__stacks[name, "length"]] +} + +function deleteStack(name) { + for (i = 0; i < __stacks[name, "length"]; i++) { + delete __stacks[name, i] + } + delete __stacks[name, "length"] +} |
