Summary Files Commits Branches @commit @diff @stats
path: root / md-extensions / lib_stack.awk
diff options
context:
space:
mode:
Commit03a882950ead37f74ab4953dbd1199ddbc3d7f6c (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-01-01 15:50:49 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-01-01 15:50:49 +0200
Files3d47af86ba6694ae60867d308368b932d8b29596 /md-extensions/lib_stack.awk
csg-03a882950ead37f74ab4953dbd1199ddbc3d7f6c.tar
csg-03a882950ead37f74ab4953dbd1199ddbc3d7f6c.tar.gz
csg-03a882950ead37f74ab4953dbd1199ddbc3d7f6c.zip
Parent7f30e62573396b85eb9558faaf943d76ec4750ab (diff)
chore: Rename and reorganize files
1 files changed, 26 insertions, 0 deletions
-rw-r--r--md-extensions/lib_stack.awk26
diff --git a/md-extensions/lib_stack.awk b/md-extensions/lib_stack.awk
new file mode 100644
index 0000000..a8b0b2a
--- /dev/null
+++ b/md-extensions/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"]
+}