Skip to content

Commit 9abdbea

Browse files
committed
wip: more plumbing
1 parent 6bf8f3c commit 9abdbea

File tree

7 files changed

+11
-13
lines changed

7 files changed

+11
-13
lines changed

Sources/_StringProcessing/Compiler.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Compiler {
2828
__consuming func emit() throws -> Program {
2929
// TODO: Handle global options
3030
var codegen = ByteCodeGen(options: options)
31-
codegen.builder.captureStructure = tree.captureStructure
31+
codegen.builder.captureList = tree.root._captureList
3232
try codegen.emitNode(tree.root)
3333
let program = try codegen.finish()
3434
return program

Sources/_StringProcessing/Engine/MEBuilder.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ extension MEProgram where Input.Element: Hashable {
3838
// Special addresses or instructions
3939
var failAddressToken: AddressToken? = nil
4040

41-
// TODO: Should we have better API for building this up
42-
// as we compile?
43-
var captureStructure: CaptureStructure = .empty
41+
var captureList = CaptureList()
4442

4543
// Symbolic reference resolution
4644
var unresolvedReferences: [ReferenceID: [InstructionAddress]] = [:]
@@ -353,7 +351,7 @@ extension MEProgram.Builder {
353351
staticTransformFunctions: transformFunctions,
354352
staticMatcherFunctions: matcherFunctions,
355353
registerInfo: regInfo,
356-
captureStructure: captureStructure,
354+
captureList: captureList,
357355
referencedCaptureOffsets: referencedCaptureOffsets,
358356
namedCaptureOffsets: namedCaptureOffsets)
359357
}

Sources/_StringProcessing/Engine/MECapture.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ extension Processor._StoredCapture: CustomStringConvertible {
142142
}
143143
}
144144

145-
struct CaptureList {
145+
struct MECaptureList {
146146
var values: Array<Processor<String>._StoredCapture>
147147
var referencedCaptureOffsets: [ReferenceID: Int]
148148
var namedCaptureOffsets: [String: Int]

Sources/_StringProcessing/Engine/MEProgram.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ struct MEProgram<Input: Collection> where Input.Element: Equatable {
3434

3535
var enableTracing: Bool = false
3636

37-
let captureStructure: CaptureStructure
37+
let captureList: CaptureList
3838
let referencedCaptureOffsets: [ReferenceID: Int]
3939
let namedCaptureOffsets: [String: Int]
4040
}

Sources/_StringProcessing/Engine/Structuralize.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ extension CaptureStructure {
1717
// FIXME: Do it all in one pass, no need for all these
1818
// intermediary arrays
1919
func structuralize(
20-
_ list: CaptureList,
20+
_ list: MECaptureList,
2121
_ input: String
2222
) throws -> [StructuredCapture] {
2323

Sources/_StringProcessing/Executor.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ struct Executor {
3535
return nil
3636
}
3737

38-
let capList = CaptureList(
38+
let capList = MECaptureList(
3939
values: cpu.storedCaptures,
4040
referencedCaptureOffsets: engine.program.referencedCaptureOffsets,
4141
namedCaptureOffsets: engine.program.namedCaptureOffsets)
4242

43-
let capStruct = engine.program.captureStructure
43+
let capStruct = engine.program.captureList._captureStructure(nestOptionals: true)
4444
let range = inputRange.lowerBound..<endIdx
4545
let caps = try capStruct.structuralize(
4646
capList, input)

Sources/_StringProcessing/Regex/DSLTree.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ public struct CaptureTransform: Hashable, CustomStringConvertible {
460460

461461
extension DSLTree.Node {
462462
func _addCaptures(
463-
to list: inout _RegexParser.CaptureList,
463+
to list: inout CaptureList,
464464
optionalNesting nesting: Int
465465
) {
466466
let addOptional = nesting+1
@@ -533,8 +533,8 @@ extension DSLTree.Node {
533533
}
534534
}
535535

536-
var _captureList: _RegexParser.CaptureList {
537-
var list = _RegexParser.CaptureList()
536+
var _captureList: CaptureList {
537+
var list = CaptureList()
538538
self._addCaptures(to: &list, optionalNesting: 0)
539539
return list
540540
}

0 commit comments

Comments
 (0)