Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Sources/DSLConverter/Main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ struct Main {

var standardError = FileHandle.standardError

extension FileHandle : TextOutputStream {
extension FileHandle: @retroactive TextOutputStream {
public func write(_ string: String) {
guard let data = string.data(using: .utf8) else { return }
self.write(data)
Expand Down
6 changes: 4 additions & 2 deletions Sources/ExpressionParser/ExpressionParser.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import Foundation

struct ExpressionParser {
private(set) var tokens = [Token]()
private(set) var diagnostics: Diagnostics?

private let pattern: String
private let insensitive: Bool
Expand All @@ -16,8 +17,9 @@ struct ExpressionParser {
self.insensitive = insensitive
}

mutating func parse() throws {
let ast = try _RegexParser.parse(pattern, .traditional)
mutating func parse() {
let ast = _RegexParser.parseWithRecovery(pattern, .traditional)
diagnostics = ast.diags
emitNode(ast.root)
}

Expand Down
9 changes: 7 additions & 2 deletions Sources/ExpressionParser/Main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,15 @@ struct Main {
.map { String($0) }

var parser = ExpressionParser(pattern: pattern, insensitive: matchingOptions.contains("i"))
try parser.parse()
parser.parse()

let data = try JSONEncoder().encode(parser.tokens)
print(String(data: data, encoding: .utf8) ?? "")
if let diagnostics = parser.diagnostics {
for diag in diagnostics.diags {
print("\(diag.message)", to:&standardError)
}
}
} catch {
print("\(error)", to:&standardError)
}
Expand All @@ -22,7 +27,7 @@ struct Main {

var standardError = FileHandle.standardError

extension FileHandle : TextOutputStream {
extension FileHandle: @retroactive TextOutputStream {
public func write(_ string: String) {
guard let data = string.data(using: .utf8) else { return }
self.write(data)
Expand Down
2 changes: 1 addition & 1 deletion Sources/Matcher/Main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ struct Main {

var standardError = FileHandle.standardError

extension FileHandle : TextOutputStream {
extension FileHandle: @retroactive TextOutputStream {
public func write(_ string: String) {
guard let data = string.data(using: .utf8) else { return }
self.write(data)
Expand Down
140 changes: 0 additions & 140 deletions Tests/RegexTests/DebuggerTests.swift

This file was deleted.

Loading