Skip to content

Commit 822915b

Browse files
committed
Re-organising for iOS
- Optimised dependencies
1 parent a0a6bab commit 822915b

33 files changed

+402
-283
lines changed

Examples/example-json.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ int main() {
1111
"{ 'a\\t01' : { \"first\\u1ab4Name\": 'Le', age : 134, \"lastName\" : \"Duc-Anh\" }, array : [1.3E-2, 312.05 ,3.0 , 4.0, 5.0]}"};
1212

1313
Scanner scanner{};
14-
ParserSingle parser{Parsing::JsonParserFactory::CreateJsonDerivativeInstance()};
14+
ParserSingle parser{Parsing::JsonDerivativeFactory::CreateJsonDerivativeInstance()};
1515

1616
// Scanning
1717
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateSpace());

Test/Case00_FeatureTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ namespace CLDEParser {
148148
ASSERT_TRUE(sptrJsonObject->GetValue("y")->Type() == Parsing::Json::JsonValueType::Boolean);
149149
auto sptrJsonValueX = sptrJsonObject->GetValue("x");
150150
auto sptrJsonValueY = sptrJsonObject->GetValue("y");
151-
ASSERT_TRUE(Parsing::Json::JsonValueHelper::ToBoolean(sptrJsonValueX) == true);
152-
ASSERT_TRUE(Parsing::Json::JsonValueHelper::ToBoolean(sptrJsonValueY) == false);
151+
ASSERT_TRUE(Parsing::Json::JsonValueHelper::ToBoolean(sptrJsonValueX));
152+
ASSERT_TRUE(!Parsing::Json::JsonValueHelper::ToBoolean(sptrJsonValueY));
153153
}
154154
}
155155
}

Test/JsonParserInstance.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
//
44

55
#include "JsonParserInstance.h"
6+
#include <cldeparser-json/JsonDerivativeFactory.h>
7+
#include <cldeparser-json/JsonSyntaxModel.h>
68

79
namespace CLDEParser {
810
namespace Test {
911

1012
JsonParserInstance::JsonParserInstance()
11-
: _scanner{}, _parser{Parsing::JsonParserFactory::CreateJsonDerivativeInstance()} {
13+
: _scanner{}, _parser{Parsing::JsonDerivativeFactory::CreateJsonDerivativeInstance()} {
1214
//
1315
init();
1416
}

Test/JsonTestFixture.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
#define CLDEPARSER_TEST_JSONTESTFIXTURE_H
77

88
#include <gtest/gtest.h>
9-
#include "JsonParserInstance.h"
9+
#include <cldeparser-json/Json.h>
10+
#include <cldeparser-json/JsonDefaultParser.h>
11+
#include <cldeparser-json/JsonEntityHelper.h>
1012

1113
namespace CLDEParser {
1214
namespace Test {
@@ -22,13 +24,13 @@ namespace CLDEParser {
2224
virtual ~JsonTestFixture() = default;
2325

2426
// Accessors
25-
JsonParserInstance const &parserInstance() const { return _parserInstance; }
27+
CLDEParser::Parsing::Json::JsonDefaultParser const &parserInstance() const { return _parserInstance; }
2628

2729
protected:
2830
virtual void SetUp() override;
2931
virtual void TearDown() override;
3032

31-
JsonParserInstance _parserInstance;
33+
CLDEParser::Parsing::Json::JsonDefaultParser _parserInstance;
3234
};
3335
}
3436
}

cldeparser-ios/cldeparser-ios.xcodeproj/project.pbxproj

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
C814DFAB1C002AF60021BB10 /* JsonDerivativeFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C814DFA91C002AF60021BB10 /* JsonDerivativeFactory.cpp */; };
11+
C814DFB01C0043890021BB10 /* JsonDefaultParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C814DFAC1C0043890021BB10 /* JsonDefaultParser.cpp */; };
12+
C814DFB11C00438A0021BB10 /* JsonEntityFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C814DFAE1C0043890021BB10 /* JsonEntityFactory.cpp */; };
1013
C85861DF1BFF05B800961BE2 /* Derivative.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C85861851BFF05B700961BE2 /* Derivative.cpp */; };
1114
C85861E01BFF05B800961BE2 /* Exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C85861871BFF05B700961BE2 /* Exception.cpp */; };
1215
C85861E11BFF05B800961BE2 /* ParserException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C858618A1BFF05B700961BE2 /* ParserException.cpp */; };
@@ -55,16 +58,14 @@
5558
C85862351BFF063700961BE2 /* JsonEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C858621D1BFF063700961BE2 /* JsonEntity.cpp */; };
5659
C85862361BFF063700961BE2 /* JsonEntityHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C858621F1BFF063700961BE2 /* JsonEntityHelper.cpp */; };
5760
C85862371BFF063700961BE2 /* JsonException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C85862211BFF063700961BE2 /* JsonException.cpp */; };
58-
C85862381BFF063700961BE2 /* JsonFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C85862231BFF063700961BE2 /* JsonFactory.cpp */; };
5961
C85862391BFF063700961BE2 /* JsonObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C85862251BFF063700961BE2 /* JsonObject.cpp */; };
60-
C858623A1BFF063700961BE2 /* JsonParserFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C85862271BFF063700961BE2 /* JsonParserFactory.cpp */; };
6162
C858623B1BFF063700961BE2 /* JsonSyntaxModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C85862291BFF063700961BE2 /* JsonSyntaxModel.cpp */; };
6263
C858623C1BFF063700961BE2 /* JsonSyntaxNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C858622B1BFF063700961BE2 /* JsonSyntaxNode.cpp */; };
6364
C858623D1BFF063700961BE2 /* JsonValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C858622D1BFF063700961BE2 /* JsonValue.cpp */; };
6465
C858623E1BFF063700961BE2 /* JsonValueFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C858622F1BFF063700961BE2 /* JsonValueFactory.cpp */; };
6566
C858623F1BFF063700961BE2 /* JsonValueHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C85862311BFF063700961BE2 /* JsonValueHelper.cpp */; };
6667
C85862501BFF06DA00961BE2 /* CLDEiOSParser.mm in Sources */ = {isa = PBXBuildFile; fileRef = C858624F1BFF06DA00961BE2 /* CLDEiOSParser.mm */; };
67-
C858625A1BFF090300961BE2 /* CLDEiOSParser.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C858624E1BFF06DA00961BE2 /* CLDEiOSParser.h */; };
68+
C858625A1BFF090300961BE2 /* CLDEiOSParser.hpp in CopyFiles */ = {isa = PBXBuildFile; fileRef = C858624E1BFF06DA00961BE2 /* CLDEiOSParser.hpp */; };
6869
/* End PBXBuildFile section */
6970

7071
/* Begin PBXCopyFilesBuildPhase section */
@@ -74,13 +75,19 @@
7475
dstPath = "include/$(PRODUCT_NAME)";
7576
dstSubfolderSpec = 16;
7677
files = (
77-
C858625A1BFF090300961BE2 /* CLDEiOSParser.h in CopyFiles */,
78+
C858625A1BFF090300961BE2 /* CLDEiOSParser.hpp in CopyFiles */,
7879
);
7980
runOnlyForDeploymentPostprocessing = 0;
8081
};
8182
/* End PBXCopyFilesBuildPhase section */
8283

8384
/* Begin PBXFileReference section */
85+
C814DFA91C002AF60021BB10 /* JsonDerivativeFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonDerivativeFactory.cpp; path = "../cldeparser-json/JsonDerivativeFactory.cpp"; sourceTree = "<group>"; };
86+
C814DFAA1C002AF60021BB10 /* JsonDerivativeFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonDerivativeFactory.h; path = "../cldeparser-json/JsonDerivativeFactory.h"; sourceTree = "<group>"; };
87+
C814DFAC1C0043890021BB10 /* JsonDefaultParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonDefaultParser.cpp; path = "../cldeparser-json/JsonDefaultParser.cpp"; sourceTree = "<group>"; };
88+
C814DFAD1C0043890021BB10 /* JsonDefaultParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonDefaultParser.h; path = "../cldeparser-json/JsonDefaultParser.h"; sourceTree = "<group>"; };
89+
C814DFAE1C0043890021BB10 /* JsonEntityFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonEntityFactory.cpp; path = "../cldeparser-json/JsonEntityFactory.cpp"; sourceTree = "<group>"; };
90+
C814DFAF1C0043890021BB10 /* JsonEntityFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonEntityFactory.h; path = "../cldeparser-json/JsonEntityFactory.h"; sourceTree = "<group>"; };
8491
C85861761BFF054100961BE2 /* libcldeparser-ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libcldeparser-ios.a"; sourceTree = BUILT_PRODUCTS_DIR; };
8592
C85861831BFF05B700961BE2 /* CldeParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CldeParser.h; path = ../cldeparser/CldeParser.h; sourceTree = "<group>"; };
8693
C85861841BFF05B700961BE2 /* Commons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Commons.h; path = ../cldeparser/Commons.h; sourceTree = "<group>"; };
@@ -181,12 +188,8 @@
181188
C85862201BFF063700961BE2 /* JsonEntityHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonEntityHelper.h; path = "../cldeparser-json/JsonEntityHelper.h"; sourceTree = "<group>"; };
182189
C85862211BFF063700961BE2 /* JsonException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonException.cpp; path = "../cldeparser-json/JsonException.cpp"; sourceTree = "<group>"; };
183190
C85862221BFF063700961BE2 /* JsonException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonException.h; path = "../cldeparser-json/JsonException.h"; sourceTree = "<group>"; };
184-
C85862231BFF063700961BE2 /* JsonFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonFactory.cpp; path = "../cldeparser-json/JsonFactory.cpp"; sourceTree = "<group>"; };
185-
C85862241BFF063700961BE2 /* JsonFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonFactory.h; path = "../cldeparser-json/JsonFactory.h"; sourceTree = "<group>"; };
186191
C85862251BFF063700961BE2 /* JsonObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonObject.cpp; path = "../cldeparser-json/JsonObject.cpp"; sourceTree = "<group>"; };
187192
C85862261BFF063700961BE2 /* JsonObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonObject.h; path = "../cldeparser-json/JsonObject.h"; sourceTree = "<group>"; };
188-
C85862271BFF063700961BE2 /* JsonParserFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonParserFactory.cpp; path = "../cldeparser-json/JsonParserFactory.cpp"; sourceTree = "<group>"; };
189-
C85862281BFF063700961BE2 /* JsonParserFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonParserFactory.h; path = "../cldeparser-json/JsonParserFactory.h"; sourceTree = "<group>"; };
190193
C85862291BFF063700961BE2 /* JsonSyntaxModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonSyntaxModel.cpp; path = "../cldeparser-json/JsonSyntaxModel.cpp"; sourceTree = "<group>"; };
191194
C858622A1BFF063700961BE2 /* JsonSyntaxModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonSyntaxModel.h; path = "../cldeparser-json/JsonSyntaxModel.h"; sourceTree = "<group>"; };
192195
C858622B1BFF063700961BE2 /* JsonSyntaxNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonSyntaxNode.cpp; path = "../cldeparser-json/JsonSyntaxNode.cpp"; sourceTree = "<group>"; };
@@ -197,7 +200,7 @@
197200
C85862301BFF063700961BE2 /* JsonValueFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonValueFactory.h; path = "../cldeparser-json/JsonValueFactory.h"; sourceTree = "<group>"; };
198201
C85862311BFF063700961BE2 /* JsonValueHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonValueHelper.cpp; path = "../cldeparser-json/JsonValueHelper.cpp"; sourceTree = "<group>"; };
199202
C85862321BFF063700961BE2 /* JsonValueHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonValueHelper.h; path = "../cldeparser-json/JsonValueHelper.h"; sourceTree = "<group>"; };
200-
C858624E1BFF06DA00961BE2 /* CLDEiOSParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CLDEiOSParser.h; sourceTree = "<group>"; };
203+
C858624E1BFF06DA00961BE2 /* CLDEiOSParser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CLDEiOSParser.hpp; sourceTree = "<group>"; };
201204
C858624F1BFF06DA00961BE2 /* CLDEiOSParser.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CLDEiOSParser.mm; sourceTree = "<group>"; };
202205
/* End PBXFileReference section */
203206

@@ -233,7 +236,7 @@
233236
C85861781BFF054100961BE2 /* cldeparser-ios */ = {
234237
isa = PBXGroup;
235238
children = (
236-
C858624E1BFF06DA00961BE2 /* CLDEiOSParser.h */,
239+
C858624E1BFF06DA00961BE2 /* CLDEiOSParser.hpp */,
237240
C858624F1BFF06DA00961BE2 /* CLDEiOSParser.mm */,
238241
);
239242
path = "cldeparser-ios";
@@ -371,6 +374,12 @@
371374
C85862171BFF062300961BE2 /* cldeparser-json */ = {
372375
isa = PBXGroup;
373376
children = (
377+
C814DFAC1C0043890021BB10 /* JsonDefaultParser.cpp */,
378+
C814DFAD1C0043890021BB10 /* JsonDefaultParser.h */,
379+
C814DFAE1C0043890021BB10 /* JsonEntityFactory.cpp */,
380+
C814DFAF1C0043890021BB10 /* JsonEntityFactory.h */,
381+
C814DFA91C002AF60021BB10 /* JsonDerivativeFactory.cpp */,
382+
C814DFAA1C002AF60021BB10 /* JsonDerivativeFactory.h */,
374383
C85862181BFF063700961BE2 /* Json.h */,
375384
C85862191BFF063700961BE2 /* JsonArray.cpp */,
376385
C858621A1BFF063700961BE2 /* JsonArray.h */,
@@ -382,12 +391,8 @@
382391
C85862201BFF063700961BE2 /* JsonEntityHelper.h */,
383392
C85862211BFF063700961BE2 /* JsonException.cpp */,
384393
C85862221BFF063700961BE2 /* JsonException.h */,
385-
C85862231BFF063700961BE2 /* JsonFactory.cpp */,
386-
C85862241BFF063700961BE2 /* JsonFactory.h */,
387394
C85862251BFF063700961BE2 /* JsonObject.cpp */,
388395
C85862261BFF063700961BE2 /* JsonObject.h */,
389-
C85862271BFF063700961BE2 /* JsonParserFactory.cpp */,
390-
C85862281BFF063700961BE2 /* JsonParserFactory.h */,
391396
C85862291BFF063700961BE2 /* JsonSyntaxModel.cpp */,
392397
C858622A1BFF063700961BE2 /* JsonSyntaxModel.h */,
393398
C858622B1BFF063700961BE2 /* JsonSyntaxNode.cpp */,
@@ -461,6 +466,7 @@
461466
C85861FA1BFF05B800961BE2 /* Number.cpp in Sources */,
462467
C85861E11BFF05B800961BE2 /* ParserException.cpp in Sources */,
463468
C85862041BFF05B800961BE2 /* SyntaxNode.cpp in Sources */,
469+
C814DFAB1C002AF60021BB10 /* JsonDerivativeFactory.cpp in Sources */,
464470
C85862021BFF05B800961BE2 /* Tab.cpp in Sources */,
465471
C85862001BFF05B800961BE2 /* String.cpp in Sources */,
466472
C85861EE1BFF05B800961BE2 /* BracketOpen.cpp in Sources */,
@@ -472,6 +478,7 @@
472478
C85862051BFF05B800961BE2 /* Token.cpp in Sources */,
473479
C85861E01BFF05B800961BE2 /* Exception.cpp in Sources */,
474480
C858623D1BFF063700961BE2 /* JsonValue.cpp in Sources */,
481+
C814DFB01C0043890021BB10 /* JsonDefaultParser.cpp in Sources */,
475482
C85861EB1BFF05B800961BE2 /* BoolFalse.cpp in Sources */,
476483
C85861E71BFF05B800961BE2 /* Adding.cpp in Sources */,
477484
C85861F51BFF05B800961BE2 /* ForwardSlash.cpp in Sources */,
@@ -481,13 +488,12 @@
481488
C858623B1BFF063700961BE2 /* JsonSyntaxModel.cpp in Sources */,
482489
C85862501BFF06DA00961BE2 /* CLDEiOSParser.mm in Sources */,
483490
C85862061BFF05B800961BE2 /* TokenHelper.cpp in Sources */,
491+
C814DFB11C00438A0021BB10 /* JsonEntityFactory.cpp in Sources */,
484492
C85861FF1BFF05B800961BE2 /* Space.cpp in Sources */,
485493
C85861EA1BFF05B800961BE2 /* BackwardSlash.cpp in Sources */,
486494
C85862071BFF05B800961BE2 /* Tokenizer.cpp in Sources */,
487495
C85861E61BFF05B800961BE2 /* TokenizerFormatter.cpp in Sources */,
488496
C85862331BFF063700961BE2 /* JsonArray.cpp in Sources */,
489-
C858623A1BFF063700961BE2 /* JsonParserFactory.cpp in Sources */,
490-
C85862381BFF063700961BE2 /* JsonFactory.cpp in Sources */,
491497
C85861F41BFF05B800961BE2 /* Division.cpp in Sources */,
492498
C85861F11BFF05B800961BE2 /* Comma.cpp in Sources */,
493499
C85862081BFF05B800961BE2 /* TokenizerFactory.cpp in Sources */,
File renamed without changes.

cldeparser-ios/cldeparser-ios/CLDEiOSParser.mm

Lines changed: 13 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,49 +6,18 @@
66
// Copyright © 2015 Duc-Anh LE. All rights reserved.
77
//
88

9-
#import "CLDEiOSParser.h"
9+
#import "CLDEiOSParser.hpp"
1010
#import <cldeparser/CldeParser.h>
1111
#import <cldeparser-json/Json.h>
12+
#import <cldeparser-json/JsonDefaultParser.h>
1213

1314
using namespace CLDEParser;
1415

1516
struct Impl {
1617

17-
Scanner scanner;
18-
ParserSingle parser;
19-
20-
Impl() : scanner{}, parser{Parsing::JsonParserFactory::CreateJsonDerivativeInstance()} {
21-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateSpace());
22-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateTab());
23-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateCarriageReturn());
24-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateLineFeed());
25-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateNull());
26-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateBoolTrue());
27-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateBoolFalse());
28-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateNumberInteger());
29-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateNumber());
30-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateId());
31-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateString());
32-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateColon());
33-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateComma());
34-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateCurlyBraceOpen());
35-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateCurlyBraceClosing());
36-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateBracketOpen());
37-
scanner.Tokenizers().push_back(Scanning::TokenizerFactory::CreateBracketClosing());
38-
}
39-
40-
Parsing::Json::SPtrJsonEntity Parse(std::string const &json) const {
41-
42-
// Scanning
43-
auto tokens = scanner.Scan(json);
44-
auto filteredCodes = Scanning::TokenHelper::DefaultFilterCodes();
45-
auto filteredTokens = Scanning::TokenHelper::Filter(filteredCodes, tokens);
46-
47-
// Parsing
48-
auto sptrSyntaxModel = parser.ParseCast<Parsing::Json::JsonSyntaxModel>(filteredTokens);
49-
auto sptrJsonEntity = sptrSyntaxModel->CreateSPtrJsonEnity();
50-
51-
return sptrJsonEntity;
18+
Parsing::Json::JsonDefaultParser parser;
19+
Parsing::Json::SPtrJsonEntity Parse(std::string const &string){
20+
return parser.Parse(string);
5221
}
5322
};
5423

@@ -66,17 +35,21 @@ - (instancetype)init {
6635
}
6736

6837
- (void)printJson:(NSString *)jsonString {
38+
6939
try {
40+
7041
auto sptrJsonEntity = _ptrImpl->Parse(std::string([jsonString UTF8String]));
71-
auto json = sptrJsonEntity->CopyToString();
72-
NSLog(@"%s", json.c_str());
73-
} catch (CLDEParser::Exceptions::Exception& ex) {
42+
auto sptrName = sptrJsonEntity->GetValue("name");
43+
auto sptrAge = sptrJsonEntity->GetValue("age");
44+
NSLog(@"%s %s", sptrName->CopyToString().c_str(), sptrAge->CopyToString().c_str());
45+
46+
} catch (std::exception& ex) {
7447
NSLog(@"%s", ex.what());
7548
}
7649
}
7750

7851
- (void)dealloc {
79-
if(_ptrImpl != nullptr && _ptrImpl != NULL) delete _ptrImpl;
52+
delete _ptrImpl;
8053
}
8154

8255
@end

cldeparser-json/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
# Parser
22
set(CLDEPARSER_JSON_SOURCE_FILES
3-
${CMAKE_CURRENT_SOURCE_DIR}/JsonParserFactory.cpp
3+
${CMAKE_CURRENT_SOURCE_DIR}/JsonDerivativeFactory.cpp
44
${CMAKE_CURRENT_SOURCE_DIR}/JsonArray.cpp
55
${CMAKE_CURRENT_SOURCE_DIR}/JsonDerivative.cpp
66
${CMAKE_CURRENT_SOURCE_DIR}/JsonEntity.cpp
77
${CMAKE_CURRENT_SOURCE_DIR}/JsonEntityHelper.cpp
88
${CMAKE_CURRENT_SOURCE_DIR}/JsonException.cpp
9-
${CMAKE_CURRENT_SOURCE_DIR}/JsonFactory.cpp
9+
${CMAKE_CURRENT_SOURCE_DIR}/JsonEntityFactory.cpp
1010
${CMAKE_CURRENT_SOURCE_DIR}/JsonObject.cpp
11-
${CMAKE_CURRENT_SOURCE_DIR}/JsonParserFactory.cpp
11+
${CMAKE_CURRENT_SOURCE_DIR}/JsonDerivativeFactory.cpp
1212
${CMAKE_CURRENT_SOURCE_DIR}/JsonSyntaxModel.cpp
1313
${CMAKE_CURRENT_SOURCE_DIR}/JsonSyntaxNode.cpp
1414
${CMAKE_CURRENT_SOURCE_DIR}/JsonValue.cpp
1515
${CMAKE_CURRENT_SOURCE_DIR}/JsonValueFactory.cpp
1616
${CMAKE_CURRENT_SOURCE_DIR}/JsonValueHelper.cpp
17+
${CMAKE_CURRENT_SOURCE_DIR}/JsonDefaultParser.cpp
1718
PARENT_SCOPE)
1819

0 commit comments

Comments
 (0)