Summary Files Commits Branches @commit @diff @stats
path: root / lib_stack.awk
diff options
context:
space:
mode:
Commitc5de9e6a21c495241249962b87bca0b4b5d39248 (patch)
Author
 Syndamia <kamen@syndamia.com>
2024-07-21 09:22:18 +0300
Committer
 Syndamia <kamen@syndamia.com>
2024-07-21 09:22:18 +0300
Files9b2921bfeb4fa2a9fe6255411912123aaf19590a /lib_stack.awk
csg-c5de9e6a21c495241249962b87bca0b4b5d39248.tar
csg-c5de9e6a21c495241249962b87bca0b4b5d39248.tar.gz
csg-c5de9e6a21c495241249962b87bca0b4b5d39248.zip
Parentf8266b610f9787689a4f121c57c039952ca9cec2 (diff)
[single] Started work on Markdown parser
1 files changed, 26 insertions, 0 deletions
-rw-r--r--lib_stack.awk26
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"]
+}