From 3aa2bcec3ecd8524de6a96781f2941af0b865297 Mon Sep 17 00:00:00 2001 From: Ruben Shekspir Date: Tue, 16 Apr 2019 23:26:49 +0400 Subject: [PATCH] HashMap String works --- CharacterStack.Mod | 8 ++-- CharaterStack | Bin 23528 -> 0 bytes HashMap | Bin 0 -> 33880 bytes HashMapString.Mod | 93 +++++++++++++++++++++++++-------------------- JsonParser.Mod | 1 + build.sh | 5 ++- makefile | 4 +- 7 files changed, 63 insertions(+), 48 deletions(-) delete mode 100755 CharaterStack create mode 100755 HashMap diff --git a/CharacterStack.Mod b/CharacterStack.Mod index a67a4b5..6f3a66b 100644 --- a/CharacterStack.Mod +++ b/CharacterStack.Mod @@ -1,4 +1,4 @@ -MODULE CharaterStack; +MODULE CharacterStack; IMPORT List, Out, Sys; TYPE @@ -16,9 +16,9 @@ TYPE string = Sys.string; - CharacterStackType = POINTER TO CharacterStackTypeDesc; + CharacterStackType* = POINTER TO CharacterStackTypeDesc; - CharacterStackTypeDesc = RECORD (List.TListDesc) + CharacterStackTypeDesc* = RECORD (List.TListDesc) pop: PROCEDURE(self: CharacterStackType): CHAR; push: PROCEDURE(self: CharacterStackType; char: CHAR); top: PROCEDURE(self: CharacterStackType) : CHAR; @@ -118,4 +118,4 @@ BEGIN Out.Ln(); Out.Char(characterStack.pop(characterStack)); Out.Ln(); -END CharaterStack. \ No newline at end of file +END CharacterStack. \ No newline at end of file diff --git a/CharaterStack b/CharaterStack deleted file mode 100755 index 9cd02b250e45822cf1e2ca4be05126eff0bf647f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23528 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 qdn}D