Skip to content

Releases: kareman/Patterns

0.1.2

11 Aug 21:15
Compare
Choose a tag to compare

What's Changed

  • Optimise threads by @kareman in #60
  • Fix a build error in newer Swift compiler versions by using swift-se0270-range-set 1.0.1 by @kareman in #61
  • Remove playground and mentions of specific Swift versions by @kareman in #62

Full Changelog: 0.1.1...0.1.2

0.1.1

23 Aug 12:49
8293447
Compare
Choose a tag to compare
  • Simplify .range(of:) and SearchCache.

  • Readme: add note about long build times.

  • Make Pattern Equatable. (#44)

    Make AnyPattern not use protocol type.

  • Set Swift version to 5.3.

    CI: use 5.3-DEVELOPMENT-SNAPSHOT-2020-08-08-a on Linux.
    Cannot use just 5.3 on linux, and when using 5.3-DEVELOPMENT-SNAPSHOT-2020-08-08-a on macOS it cannot find XCTest.

  • Merge pull request #45 from kareman/Generic-input

    Support generic input

  • Merge pull request #47 from kareman/Readme-require-Swift-5.3

    Readme: require Swift 5.3.
    Add part about pattern input types.
    Split up readme unit test to avoid warning about it taking too long to type check.

  • GitHub-related stuff (#51)

    Update bug-report.md
    CI test: don’t run on non-code related changes.
    Update feature-request.md

  • Fix bug where not all .skip were replaced.

    setupSkip(at: i) adds 1 new instruction somewhere after ì, so we cant loop over self.indices directly.

  • Update dependency swift-argument-parser. (#54)

  • PatternsTests: Only warn when expressions take long to build.

    Not entire functions.

  • Improve and fix documentation for Skip.

  • Merge pull request #55 from kareman/documentation

    Add documentation

  • Restore all former String performance tests.

  • Make separate utf8 performance tests.

  • Make instructions @usableFromInline.

  • Merge pull request #56 from kareman/Optimise-after-adding-generic-Input

    Specifically specialize for String and UTF8View. It stopped happening automatically after making Pattern.Input generic. Makes a huge difference in performance.

  • Rename Word.boundary to Word.Boundary().

  • Rename Line.start to Line.Start(). Likewise with Line.end.

    To make things more consistent, and to allow automatically returning a type with the correct Input type. Which is only possible with a function/initialiser.

  • Don't use Pattern.Instructions outside of its file.

    It sometimes causes compiler crashes, it doesn't in this case but we might as well be consistent and never use it.

  • Document Skip() even more.

0.1.0

07 Jul 15:13
f68afb2
Compare
Choose a tag to compare
  • unicode_properties: Don't use string interpolation.
  • Readme: remove Cartage installation instructions.
  • Rename Instruction.split to .choice, remove first parameter.
  • More Instruction renaming. Added documentation.
  • Convert Capture from a struct to a function.
  • 'flatten' Capture to make it easier for Skip to see what comes after it.
  • Add Instruction.choiceEnd.
  • Move some instructions as far back as possible.
  • Add proper support for ‘Skip’ in preprocessing.
  • Undo "'flatten' Capture to make it easier for Skip to see what comes after it."
  • ‘.choice’ must always add to the stack.
  • All moved .checkIndex should be first.
  • Merge pull request #37 from kareman/ProperSkip
  • Replace instruction '.function' with '.search'.
  • Make VMBacktrackEngine a struct.
  • Remove ability to do Skip(a), as it had no effect.
  • Playground: import dependency, add showParserView function.
  • Merge pull request #38 from kareman/cleanup
  • Improve playground example and screenshot.
  • Readme: add ‘OneOf(not: ...)’.
  • Add testPlaygroundExample.
  • Add mapPrefix.
  • Simplify, move optimisation methods to MutableCollection.
  • Set associativity for '•' operator to 'left'.
  • Add documentation and @inlineable.
  • Reinstate Capture as a struct.
  • Fix optimisations of !OneOf • Oneof and &&OneOf • OneOf.
  • Add documentation, remove unused code.
  • Add documentation, and @inlinable / @usableFromInline.
  • Rename Concat left/right to first/second.
  • Add documentation, and @inlinable / @usableFromInline.
  • Make Grammar.patterns an array.
  • Merge pull request #39 from kareman/simplify
  • Add testPEGGrammar.
  • PerformanceTests: only measure CPU metrics in current thread.
  • Recalibrate performance tests.
  • Move and add SkipTests.
  • Add tail call optimisation to Grammars.
  • Support 'g.a <- " " • Skip() • g.b'. Properly support inserting instructions.
  • Merge pull request #40 from kareman/addSkipTests
  • Add testBeforeGrammarCallInChoice. placeSkipCommit: .fail isn't fatal.
  • Add documentation, some small renaming.
  • Add Wiki generation workflow.
  • Remove support for CocoaPods.
  • Generate wiki (#42)
    Use kareman/swift-doc@support-kareman-Patterns
  • Add documentation to the top level common patterns.