It almost complited

This commit is contained in:
Ruben Shekspir 2019-04-27 16:19:04 +04:00
parent 7ec56af371
commit df9beaf66f

View file

@ -97,6 +97,10 @@ BEGIN
terminalIterator := 0; terminalIterator := 0;
noneTerminalIterator := 0; noneTerminalIterator := 0;
COPY("", key);
COPY("", val);
quoteStart := FALSE; quoteStart := FALSE;
REPEAT REPEAT
@ -118,9 +122,9 @@ BEGIN
IF (Strings.Length(string) > 0) & (symbol = quote) THEN IF (Strings.Length(string) > 0) & (symbol = quote) THEN
IF Strings.Length(key) > 0 THEN IF Strings.Length(key) > 0 THEN
COPY(string, val) COPY(string, val);
ELSE ELSE
COPY(string, key) COPY(string, key);
END; END;
COPY("", string); COPY("", string);
@ -143,22 +147,26 @@ BEGIN
IF (Strings.Length(string) > 0) & (symbol = symbolBracketStart) THEN IF (Strings.Length(string) > 0) & (symbol = symbolBracketStart) THEN
IF Strings.Length(key) > 0 THEN IF Strings.Length(key) > 0 THEN
COPY(string, nonTerminalVal) COPY(string, nonTerminalVal)
ELSE
COPY(string, key)
END; END;
COPY("", string); COPY("", string);
END; END;
IF (Strings.Length(text) > 0) & (Strings.Length(nonTerminalVal) > 0) THEN
IF (Strings.Length(key) > 0) & (Strings.Length(nonTerminalVal) > 0) THEN
COPY(key, self.NonTerminalKeys[noneTerminalIterator]); COPY(key, self.NonTerminalKeys[noneTerminalIterator]);
Logger.Log("key");
Logger.Log(key);
Logger.Log("nonTerminalVal");
Logger.Log(nonTerminalVal);
self.NonTerminalValues[noneTerminalIterator] := Create(nonTerminalVal); self.NonTerminalValues[noneTerminalIterator] := Create(nonTerminalVal);
INC(noneTerminalIterator); INC(noneTerminalIterator);
COPY("", key); COPY("", key);
COPY("", nonTerminalVal); COPY("", nonTerminalVal);
RETURN self;
END; END;
INC(i); INC(i);
@ -169,9 +177,9 @@ END Create;
BEGIN BEGIN
NEW(jsonRecord); NEW(jsonRecord);
jsonRecord := Create("{'foo': 'bar', 'test': 'test1', 'test2': {'asdasd': 'asd'}}"); jsonRecord := Create("{'foo': 'bar', 'test': 'test1', 'test2': {'sub': 'dub'}}");
keyFound := jsonRecord.GetTerminal(jsonRecord, "'test'", testValue); keyFound := jsonRecord.GetTerminal(jsonRecord, "'foo'", testValue);
IF keyFound THEN IF keyFound THEN
Logger.Log('found KEY'); Logger.Log('found KEY');