From 1f1763abff161d8e73543768d13a08163b0d21cf Mon Sep 17 00:00:00 2001 From: Ruben Shekspir Date: Thu, 9 May 2019 23:14:23 +0400 Subject: [PATCH] Everething is broken, life is miserable --- DependencyResolver.Mod | 10 +++++----- JsonParser.Mod | 9 ++++++--- PackageFileParser.Mod | 5 ++++- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/DependencyResolver.Mod b/DependencyResolver.Mod index 2c86399..e8a1f5b 100644 --- a/DependencyResolver.Mod +++ b/DependencyResolver.Mod @@ -1,7 +1,7 @@ MODULE DependencyResolver; IMPORT JsonParser, Settings, PackageResolver, Strings, Logger; -CONST ArrayMaxNumber = 10000; +CONST ArrayMaxNumber = 30; VAR moduleNames: ARRAY ArrayMaxNumber OF JsonParser.TString; @@ -13,12 +13,12 @@ PROCEDURE Resolve *(jsonString: ARRAY OF CHAR); VAR jsonRecord, dependencies: JsonParser.JsonTypePointer; keyFound: BOOLEAN; - packageName, version, returnedJSON: ARRAY ArrayMaxNumber OF CHAR; + packageName, version, returnedJSON: JsonParser.TString; keys: ARRAY ArrayMaxNumber OF JsonParser.TString; i, k : LONGINT; BEGIN jsonRecord := JsonParser.Create(jsonString); - + keyFound := jsonRecord.GetTerminal(jsonRecord, "Package", packageName); IF keyFound THEN @@ -28,9 +28,9 @@ BEGIN ELSE Logger.Log("Value for the Key is not found"); RETURN; END; dependencies := jsonRecord.GetNonTerminal(jsonRecord, "Dependencies"); + + dependencies.GetTerminalKeys(dependencies, keys); - dependencies.GetTerminalKeys(dependencies, keys); - FOR i := 0 TO LEN(keys) - 1 DO keyFound := dependencies.GetTerminal(dependencies, keys[i], version); diff --git a/JsonParser.Mod b/JsonParser.Mod index 195cb84..d802b12 100644 --- a/JsonParser.Mod +++ b/JsonParser.Mod @@ -1,7 +1,8 @@ MODULE JsonParser; IMPORT Logger, CharacterStack, Strings, Out, strutils; CONST - ArrayMaxNumber = 10000; + ArrayMaxNumber = 30; + ArrayMaxNumberChar = 1000; (* Const *) symbolBracketStart = "{"; symbolBracketEnd = "}"; @@ -9,7 +10,7 @@ CONST quote = "'"; coma = ","; TYPE - TString* = ARRAY ArrayMaxNumber OF CHAR; + TString* = ARRAY ArrayMaxNumberChar OF CHAR; JsonTypePointer* = POINTER TO JsonType; @@ -39,6 +40,8 @@ VAR BEGIN FOR i := 0 TO LEN(self.NonTerminalKeys) - 1 DO IF Strings.Match(key, self.NonTerminalKeys[i]) THEN RETURN self.NonTerminalValues[i] END; + Logger.Log(key); + Logger.Log(self.NonTerminalKeys[i]); END; RETURN NIL; @@ -84,7 +87,7 @@ VAR i: LONGINT; BEGIN FOR i := 0 TO LEN(self.TerminalKeys) - 1 DO - destination[i] := self.TerminalKeys[i]; + COPY(self.TerminalKeys[i], destination[i]); END; END GetTerminalKeys; diff --git a/PackageFileParser.Mod b/PackageFileParser.Mod index 05ff031..85d56e3 100644 --- a/PackageFileParser.Mod +++ b/PackageFileParser.Mod @@ -7,7 +7,7 @@ IMPORT DependencyResolver, Settings; CONST - MAXARRAYNUMBER = 1000000; + MAXARRAYNUMBER = 10000; PROCEDURE install*; VAR jsonData: ARRAY MAXARRAYNUMBER OF CHAR; @@ -18,6 +18,9 @@ BEGIN IF ~success THEN Logger.Log("Some ERROR occured while reading VERSIONFILE") END; ASSERT(success); + + Logger.Log("Starting resolving dependencies"); + Logger.Log(jsonData); DependencyResolver.Resolve(jsonData); END install;