From c5de9e6a21c495241249962b87bca0b4b5d39248 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 21 Jul 2024 09:22:18 +0300 Subject: [single] Started work on Markdown parser --- lib_stack.awk | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lib_stack.awk (limited to 'lib_stack.awk') 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"] +} -- cgit v1.3.1-23-gd82d