Everething is broken, life is miserable

This commit is contained in:
Ruben Shekspir 2019-05-09 23:14:23 +04:00
parent 344c0f0aa7
commit 1f1763abff
3 changed files with 15 additions and 9 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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;