Skip to content

Commit 0810262

Browse files
authored
Merge pull request #9 from tigerpixel/development
Swift 4
2 parents 3163d31 + 1296fa9 commit 0810262

22 files changed

Lines changed: 243 additions & 196 deletions

.swift-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.1
1+
4.0

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
osx_image: xcode8.3
1+
osx_image: xcode9
22
language: objective-c
33

44
install:

CHANGELOG.md

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
1-
Changelog
2-
=========
1+
# Changelog
32

4-
Version 0.1.0
5-
-------------
6-
*Released 2017-03-15*
3+
## Version 0.1.0
4+
5+
### *Released 2017-03-15*
76

87
* Adding basic Parser structure, unit tests and docs.
98
* Setup the basic project structure with Swiftlint and TravisCI.
109
* Give the project targets for iOS, Mac, tvOS and watchOS.
1110
* Make the project available to Cocoapods, Carthage and the SPM.
1211

13-
Version 0.2.0
14-
-------------
15-
*Released 2017-04-11*
12+
## Version 0.2.0
13+
14+
### *Released 2017-04-11*
1615

1716
* Add basic combinators to deal with extending the parser structure.
1817
* Add basic operators to compose parsers into more useful parsers.
1918
* Add convenience parsers for characters, numbers and strings.
2019

21-
Version 0.3.0
22-
-------------
23-
*Released 2017-09-17*
20+
## Version 0.3.0
21+
22+
### *Released 2017-09-17*
2423

2524
* Add swift version file.
2625
* Update Swift version and documentation for Swift 3.1.
2726

28-
Version 1.0.0
29-
-------------
30-
*Released 2017-09-18*
27+
## Version 1.0.0
28+
29+
### *Released 2017-09-18*
3130

3231
* Add import for Foundation on files which contain character sets.
3332
* Bump to release.
3433

34+
## Version 1.1.0
35+
36+
### *Released 2017-09-27*
37+
38+
* Swift 4 and Xcode 9 updates.
39+
* Swiftlint version update to 0.22.0
40+
* Add failure messages to all XCFail test cases.

ParserCombinator.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
Pod::Spec.new do |s|
88
s.name = 'ParserCombinator'
9-
s.version = '1.0.0'
9+
s.version = '1.1.0'
1010
s.summary = 'Exquisitely simple functional parsing in Swift.'
1111
s.description = <<-DESC
1212
A simple parser combinator, created in Swift. Functional parser combinators can be extremely useful but can also be difficult to understand. ParserCombinator attempts to strip this back and create a simple and user friendly way to parse strings into other objects. Technical terms, like mooned, are avoided or explained if necessary and docs are provided in plain English, with examples.

ParserCombinator.xcodeproj/project.pbxproj

Lines changed: 48 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -512,37 +512,43 @@
512512
isa = PBXProject;
513513
attributes = {
514514
LastSwiftUpdateCheck = 0820;
515-
LastUpgradeCheck = 0820;
515+
LastUpgradeCheck = 0900;
516516
ORGANIZATIONNAME = "Tigerpixel Ltd";
517517
TargetAttributes = {
518518
0C07C29A1E5251BA00A921A8 = {
519519
CreatedOnToolsVersion = 8.2.1;
520-
LastSwiftMigration = 0820;
520+
LastSwiftMigration = 0900;
521521
ProvisioningStyle = Automatic;
522522
};
523523
0C07C2A31E5251BB00A921A8 = {
524524
CreatedOnToolsVersion = 8.2.1;
525+
LastSwiftMigration = 0900;
525526
ProvisioningStyle = Automatic;
526527
};
527528
0C26E09B1E7BD82800779771 = {
528529
CreatedOnToolsVersion = 8.2.1;
530+
LastSwiftMigration = 0900;
529531
ProvisioningStyle = Manual;
530532
};
531533
0C26E0A31E7BD82900779771 = {
532534
CreatedOnToolsVersion = 8.2.1;
533535
DevelopmentTeam = X9VLH29SKZ;
536+
LastSwiftMigration = 0900;
534537
ProvisioningStyle = Automatic;
535538
};
536539
0C26E0B71E7BD84C00779771 = {
537540
CreatedOnToolsVersion = 8.2.1;
541+
LastSwiftMigration = 0900;
538542
ProvisioningStyle = Automatic;
539543
};
540544
0C26E0BF1E7BD84D00779771 = {
541545
CreatedOnToolsVersion = 8.2.1;
546+
LastSwiftMigration = 0900;
542547
ProvisioningStyle = Automatic;
543548
};
544549
0C26E0FE1E7BDAEC00779771 = {
545550
CreatedOnToolsVersion = 8.2.1;
551+
LastSwiftMigration = 0900;
546552
ProvisioningStyle = Automatic;
547553
};
548554
};
@@ -797,15 +803,21 @@
797803
CLANG_CXX_LIBRARY = "libc++";
798804
CLANG_ENABLE_MODULES = YES;
799805
CLANG_ENABLE_OBJC_ARC = YES;
806+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
800807
CLANG_WARN_BOOL_CONVERSION = YES;
808+
CLANG_WARN_COMMA = YES;
801809
CLANG_WARN_CONSTANT_CONVERSION = YES;
802810
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
803811
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
804812
CLANG_WARN_EMPTY_BODY = YES;
805813
CLANG_WARN_ENUM_CONVERSION = YES;
806814
CLANG_WARN_INFINITE_RECURSION = YES;
807815
CLANG_WARN_INT_CONVERSION = YES;
816+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
817+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
808818
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
819+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
820+
CLANG_WARN_STRICT_PROTOTYPES = YES;
809821
CLANG_WARN_SUSPICIOUS_MOVE = YES;
810822
CLANG_WARN_UNREACHABLE_CODE = YES;
811823
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -851,15 +863,21 @@
851863
CLANG_CXX_LIBRARY = "libc++";
852864
CLANG_ENABLE_MODULES = YES;
853865
CLANG_ENABLE_OBJC_ARC = YES;
866+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
854867
CLANG_WARN_BOOL_CONVERSION = YES;
868+
CLANG_WARN_COMMA = YES;
855869
CLANG_WARN_CONSTANT_CONVERSION = YES;
856870
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
857871
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
858872
CLANG_WARN_EMPTY_BODY = YES;
859873
CLANG_WARN_ENUM_CONVERSION = YES;
860874
CLANG_WARN_INFINITE_RECURSION = YES;
861875
CLANG_WARN_INT_CONVERSION = YES;
876+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
877+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
862878
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
879+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
880+
CLANG_WARN_STRICT_PROTOTYPES = YES;
863881
CLANG_WARN_SUSPICIOUS_MOVE = YES;
864882
CLANG_WARN_UNREACHABLE_CODE = YES;
865883
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -908,7 +926,8 @@
908926
PRODUCT_NAME = ParserCombinator;
909927
SKIP_INSTALL = YES;
910928
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
911-
SWIFT_VERSION = 3.0;
929+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
930+
SWIFT_VERSION = 4.0;
912931
};
913932
name = Debug;
914933
};
@@ -930,7 +949,8 @@
930949
PRODUCT_BUNDLE_IDENTIFIER = com.tigerpixel.ParserCombinator;
931950
PRODUCT_NAME = ParserCombinator;
932951
SKIP_INSTALL = YES;
933-
SWIFT_VERSION = 3.0;
952+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
953+
SWIFT_VERSION = 4.0;
934954
};
935955
name = Release;
936956
};
@@ -943,7 +963,8 @@
943963
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
944964
PRODUCT_BUNDLE_IDENTIFIER = com.tigerpixel.ParserCombinatorTests;
945965
PRODUCT_NAME = "$(TARGET_NAME)";
946-
SWIFT_VERSION = 3.0;
966+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
967+
SWIFT_VERSION = 4.0;
947968
};
948969
name = Debug;
949970
};
@@ -956,7 +977,8 @@
956977
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
957978
PRODUCT_BUNDLE_IDENTIFIER = com.tigerpixel.ParserCombinatorTests;
958979
PRODUCT_NAME = "$(TARGET_NAME)";
959-
SWIFT_VERSION = 3.0;
980+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
981+
SWIFT_VERSION = 4.0;
960982
};
961983
name = Release;
962984
};
@@ -980,7 +1002,8 @@
9801002
PRODUCT_NAME = ParserCombinator;
9811003
SDKROOT = macosx;
9821004
SKIP_INSTALL = YES;
983-
SWIFT_VERSION = 3.0;
1005+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1006+
SWIFT_VERSION = 4.0;
9841007
};
9851008
name = Debug;
9861009
};
@@ -1004,7 +1027,8 @@
10041027
PRODUCT_NAME = ParserCombinator;
10051028
SDKROOT = macosx;
10061029
SKIP_INSTALL = YES;
1007-
SWIFT_VERSION = 3.0;
1030+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1031+
SWIFT_VERSION = 4.0;
10081032
};
10091033
name = Release;
10101034
};
@@ -1021,7 +1045,8 @@
10211045
PRODUCT_BUNDLE_IDENTIFIER = "com.tigerpixel.ParserCombinator-macOSTests";
10221046
PRODUCT_NAME = "$(TARGET_NAME)";
10231047
SDKROOT = macosx;
1024-
SWIFT_VERSION = 3.0;
1048+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1049+
SWIFT_VERSION = 4.0;
10251050
};
10261051
name = Debug;
10271052
};
@@ -1038,7 +1063,8 @@
10381063
PRODUCT_BUNDLE_IDENTIFIER = "com.tigerpixel.ParserCombinator-macOSTests";
10391064
PRODUCT_NAME = "$(TARGET_NAME)";
10401065
SDKROOT = macosx;
1041-
SWIFT_VERSION = 3.0;
1066+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1067+
SWIFT_VERSION = 4.0;
10421068
};
10431069
name = Release;
10441070
};
@@ -1059,7 +1085,8 @@
10591085
PRODUCT_NAME = ParserCombinator;
10601086
SDKROOT = appletvos;
10611087
SKIP_INSTALL = YES;
1062-
SWIFT_VERSION = 3.0;
1088+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1089+
SWIFT_VERSION = 4.0;
10631090
TARGETED_DEVICE_FAMILY = 3;
10641091
TVOS_DEPLOYMENT_TARGET = 9.0;
10651092
};
@@ -1082,7 +1109,8 @@
10821109
PRODUCT_NAME = ParserCombinator;
10831110
SDKROOT = appletvos;
10841111
SKIP_INSTALL = YES;
1085-
SWIFT_VERSION = 3.0;
1112+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1113+
SWIFT_VERSION = 4.0;
10861114
TARGETED_DEVICE_FAMILY = 3;
10871115
TVOS_DEPLOYMENT_TARGET = 9.0;
10881116
};
@@ -1098,7 +1126,8 @@
10981126
PRODUCT_BUNDLE_IDENTIFIER = "com.tigerpixel.ParserCombinator-tvOSTests";
10991127
PRODUCT_NAME = "$(TARGET_NAME)";
11001128
SDKROOT = appletvos;
1101-
SWIFT_VERSION = 3.0;
1129+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1130+
SWIFT_VERSION = 4.0;
11021131
TVOS_DEPLOYMENT_TARGET = 10.1;
11031132
};
11041133
name = Debug;
@@ -1113,7 +1142,8 @@
11131142
PRODUCT_BUNDLE_IDENTIFIER = "com.tigerpixel.ParserCombinator-tvOSTests";
11141143
PRODUCT_NAME = "$(TARGET_NAME)";
11151144
SDKROOT = appletvos;
1116-
SWIFT_VERSION = 3.0;
1145+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1146+
SWIFT_VERSION = 4.0;
11171147
TVOS_DEPLOYMENT_TARGET = 10.1;
11181148
};
11191149
name = Release;
@@ -1135,7 +1165,8 @@
11351165
PRODUCT_NAME = ParserCombinator;
11361166
SDKROOT = watchos;
11371167
SKIP_INSTALL = YES;
1138-
SWIFT_VERSION = 3.0;
1168+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1169+
SWIFT_VERSION = 4.0;
11391170
TARGETED_DEVICE_FAMILY = 4;
11401171
WATCHOS_DEPLOYMENT_TARGET = 2.0;
11411172
};
@@ -1158,7 +1189,8 @@
11581189
PRODUCT_NAME = ParserCombinator;
11591190
SDKROOT = watchos;
11601191
SKIP_INSTALL = YES;
1161-
SWIFT_VERSION = 3.0;
1192+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
1193+
SWIFT_VERSION = 4.0;
11621194
TARGETED_DEVICE_FAMILY = 4;
11631195
WATCHOS_DEPLOYMENT_TARGET = 2.0;
11641196
};

ParserCombinator.xcodeproj/xcshareddata/xcschemes/ParserCombinator-iOS.xcscheme

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0820"
3+
LastUpgradeVersion = "0900"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,6 +26,7 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
language = ""
2930
shouldUseLaunchSchemeArgsEnv = "YES">
3031
<Testables>
3132
<TestableReference
@@ -55,6 +56,7 @@
5556
buildConfiguration = "Debug"
5657
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5758
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
59+
language = ""
5860
launchStyle = "0"
5961
useCustomWorkingDirectory = "NO"
6062
ignoresPersistentStateOnLaunch = "NO"

ParserCombinator.xcodeproj/xcshareddata/xcschemes/ParserCombinator-macOS.xcscheme

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0820"
3+
LastUpgradeVersion = "0900"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,6 +26,7 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
language = ""
2930
shouldUseLaunchSchemeArgsEnv = "YES">
3031
<Testables>
3132
<TestableReference
@@ -55,6 +56,7 @@
5556
buildConfiguration = "Debug"
5657
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5758
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
59+
language = ""
5860
launchStyle = "0"
5961
useCustomWorkingDirectory = "NO"
6062
ignoresPersistentStateOnLaunch = "NO"

ParserCombinator.xcodeproj/xcshareddata/xcschemes/ParserCombinator-tvOS.xcscheme

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0820"
3+
LastUpgradeVersion = "0900"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,6 +26,7 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
language = ""
2930
shouldUseLaunchSchemeArgsEnv = "YES">
3031
<Testables>
3132
<TestableReference
@@ -55,6 +56,7 @@
5556
buildConfiguration = "Debug"
5657
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5758
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
59+
language = ""
5860
launchStyle = "0"
5961
useCustomWorkingDirectory = "NO"
6062
ignoresPersistentStateOnLaunch = "NO"

0 commit comments

Comments
 (0)