Skip to content

Releases: SwiftStudies/OysterKit

Beta Release 13: OysterKit v2 (0.6.2)

12 Aug 20:52
720e4d3
Compare
Choose a tag to compare
Pre-release

Fixed a minor error in the README.

Beta Release 12: OysterKit v2 (0.6.1)

12 Aug 20:50
e659007
Compare
Choose a tag to compare
Pre-release

Updated to build and run on Swift 5.0.

Beta Release 11: OysterKit v2 (0.6.0)

02 Sep 21:54
2cf26d6
Compare
Choose a tag to compare
Pre-release

The New API Release

OysterKit

There has been a significant amount of refactoring in this release, and a lot of old code disposed of. Only the fully automatically generated (by `stlrc`) `STLR` compiler is now in use (and in the code base). I recommend if you are moving from pre 0.5 you move through 0.5.1, fix depreciation warnings, then move to this release and again fix depreciation warnings as I'll be removing the code from them as I push towards API stability which this release should largely achieve. I've updated the API documentation and added some examples of the new API to the readme. I hope you like it, it was certainly easier to write about than the old one!

Beta Release 10: OysterKit v2 (0.5.1)

25 Aug 15:05
794a404
Compare
Choose a tag to compare
Pre-release

Swift 4.2 and new API transition release

In this release I have added significant new capabilities to not only auto-generate the rules for parsing but also the Abstract Syntax Tree implemented as Swift types, and using the Decoding framework of standard Swift to automatically populate that based on the results of parsing with the rules.

In addition I have begun the work of refactoring the rule/token API to make significant optimisation available in the future and to dramatically simplify developing rules directly in Swift.

In this release old API is marked as deprecated, and the next release (0.6) will remove them completely to free me to start to benefit from the new architecture from now on.

This release requires at least Swift 4.2. Please use the swift/4.1 branch if you wish to continue with Swift 4.1 for now, but note only bug-fix pull requests from others will be applied from now on.

Beta Release 9: OysterKit v2 (0.5)

17 Jul 21:10
01f2f2a
Compare
Choose a tag to compare
Pre-release

Some fairly major changes as we progress towards version 1.0. No changes required by any consumers but Swift IntermediateRepresentation autogeneration has been added. There are some issues at this stage, but for the first time you can parse STLR itself and generate the parsing rules and the IR automatically which can then be used to parse STLR.

The new flatter rule system is also included in this release and is thoroughly tested but is not yet consumed by anything. Existing rule implementers don't need to change anything (and may never need to), but internally ParserRules and ScannerRules will be replaced by this new architecture.

Furthermore creating custom (and therefore potentially highly optimised) rules in Swift is now very easy (see ClosureRule).

If any future changes are required they will be minimal.

Beta Release 8: OysterKit v2 (0.4)

10 Jul 02:24
01f8e93
Compare
Choose a tag to compare
Pre-release

Adds support for regular expressions as terminals. This release works with both Swift 4.1 and 4.2.

Beta Release 7: OysterKit v2 (0.3.3)

17 Jun 20:13
Compare
Choose a tag to compare
Pre-release

This version will build and run correctly in both Swift 4.1 and 4.2

Beta Release 6: OysterKit v2 (0.3.1)

09 May 10:24
6f48458
Compare
Choose a tag to compare
Pre-release

Adds support for Swift 4.1, increases the unit test coverage to over 70%.

Beta Release 5: OysterKit v2 (0.3.0)

06 Feb 20:38
6f48458
Compare
Choose a tag to compare
Pre-release

This is a significant release. The API and underlying implementation have been replaced significantly simplifying both.

The remainder of the releases up to v1.0 will now focus on stabilising the STLR language itself (not bugs, but ensuring there is a solid base to build on in future releases, and that any grammar breaking changes are minimised (I am not aware of any that are required at this point, but I will leave the door open)

Beta Release 4: OysterKit v2 (0.2.0)

04 Feb 12:12
Compare
Choose a tag to compare
Pre-release

The overly complex API for streams, homogenous, and heterogenous abstract syntax trees are replaced by a much simpler & smaller yet equally configurable set of classes.

You should refer to TokenStream and AbstractSyntaxTreeConstructor for more information.

Deprecation warnings will be issued for use of the previous classes, and support for these will be removed most likely by 0.3 when internal dependencies on the legacy types has been resolved.

In addition there are numerous fixes, although all of these are available only in the new APIs and have not been applied to the legacy ones.