Did a bit more json

This commit is contained in:
Ruben Shekspir 2019-04-09 11:15:31 +04:00
parent 69a133eec1
commit 3c59d73914

59
HashMapString.Mod Normal file
View file

@ -0,0 +1,59 @@
MODULE HashMap;
IMPORT Logger;
TYPE
JsonTypePointer* = POINTER TO JsonType;
JsonType* = RECORD
GetTerminal* : PROCEDURE(self : JsonTypePointer, string : STRING): STRING;
GetNonTerminal* : PROCEDURE(self : JsonTypePointer, key : STRING): JsonTypePointer;
HasKey* : PROCEDURE(self : JsonTypePointer, key : STRING): BOOLEAN;
TypeOfTheKey* : PROCEDURE(self : JsonTypePointer, key : STRING): STRING;
Create* : PROCEDURE(self : JsonTypePointer, key : STRING): BOOLEAN;
TerminalsValues : ARRAY OF STRING;
TerminalKeys : ARRAY OF STRING;
NonTerminalValues : ARRAY OF JsonTypePointer;
NonTerminalKeys : ARRAY OF STRING;
END;
PROCEDURE makeACopy(VAR STR1, STR2: ARRAY OF CHAR):
BEGIN
(* TODO *)
END;
PROCEDURE Create*(VAR self : JsonTypePointer, text: ARRAY OF CHAR): BOOLEAN;
VAR
everethingIsOK: BOOLEAN;
i,j: INTEGER;
stack, key, val: ARRAY OF CHAR;
symbolBracketStart, symbolBracketEnd, symbolStart: CHAR;
BEGIN
symbolBracketStart := "{";
symbolBracketEnd := "}";
symbol := "\"";
j := 0;
i := 0;
REPEAT
symbol := text[i];
INC(i);
IF symbol = symbolBracketStart THEN
Logger.out("Starting Parse Json")
END;
IF symbol = symbolBracketStart THEN
Logger.out("End Parsing Json")
END;
makeACopy(key, self.TerminalKeys[j]);
makeACopy(value, self.TerminalsValues[j]);
UNTIL i = LEN(text);
RETURN everethingIsOK;
END;
END;
END HashMap.