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
4 changes: 1 addition & 3 deletions runtime/Swift/Sources/Antlr4/CommonTokenStream.swift
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,7 @@ public class CommonTokenStream: BufferedTokenStream {
public func getNumberOfOnChannelTokens() throws -> Int {
var n = 0
try fill()
let length = tokens.count
for i in 0..<length {
let t = tokens[i]
for t in tokens {
if t.getChannel() == channel {
n += 1
}
Expand Down
5 changes: 1 addition & 4 deletions runtime/Swift/Sources/Antlr4/Parser.swift
Original file line number Diff line number Diff line change
Expand Up @@ -378,12 +378,9 @@ open class Parser: Recognizer<ParserATNSimulator> {
public func triggerExitRuleEvent() throws {
// reverse order walk of listeners
if let _parseListeners = _parseListeners, let _ctx = _ctx {
var i = _parseListeners.count - 1
while i >= 0 {
let listener = _parseListeners[i]
for listener in _parseListeners.reversed() {
_ctx.exitRule(listener)
try listener.exitEveryRule(_ctx)
i -= 1
}
}
}
Expand Down
16 changes: 7 additions & 9 deletions runtime/Swift/Sources/Antlr4/atn/ATNConfigSet.swift
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,10 @@ public final class ATNConfigSet: Hashable, CustomStringConvertible {
}

public func getConflictingAltSubsets() -> [BitSet] {
let length = configs.count
var configToAlts = [Int: BitSet]()

for i in 0..<length {
let hash = configHash(configs[i].state.stateNumber, configs[i].context)
for cfg in configs {
let hash = configHash(cfg.state.stateNumber, cfg.context)
var alts: BitSet
if let configToAlt = configToAlts[hash] {
alts = configToAlt
Expand All @@ -305,26 +304,25 @@ public final class ATNConfigSet: Hashable, CustomStringConvertible {
configToAlts[hash] = alts
}

try! alts.set(configs[i].alt)
try! alts.set(cfg.alt)
}

return Array(configToAlts.values)
}

public func getStateToAltMap() -> [Int: BitSet] {
let length = configs.count
var m = [Int: BitSet]()

for i in 0..<length {
for cfg in configs {
var alts: BitSet
if let mAlts = m[configs[i].state.stateNumber] {
if let mAlts = m[cfg.state.stateNumber] {
alts = mAlts
} else {
alts = BitSet()
m[configs[i].state.stateNumber] = alts
m[cfg.state.stateNumber] = alts
}

try! alts.set(configs[i].alt)
try! alts.set(cfg.alt)
}
return m
}
Expand Down
4 changes: 2 additions & 2 deletions runtime/Swift/Sources/Antlr4/atn/ArrayPredictionContext.swift
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ public class ArrayPredictionContext: PredictionContext {
let length = parents.count
var uniqueParents: Dictionary<PredictionContext, PredictionContext> =
Dictionary<PredictionContext, PredictionContext>()
for p in 0..<length {
if let parent: PredictionContext = parents[p] {
for p in parents {
if let parent: PredictionContext = p {
// if !uniqueParents.keys.contains(parent) {
if uniqueParents[parent] == nil {
uniqueParents[parent] = parent // don't replace
Expand Down
32 changes: 13 additions & 19 deletions runtime/Swift/Sources/Antlr4/atn/ParseInfo.swift
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,8 @@ public class ParseInfo {
public func getTotalTimeInPrediction() -> Int64 {
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
var t: Int64 = 0
let length = decisions.count
for i in 0..<length {
t += decisions[i].timeInPrediction
for d in decisions {
t += d.timeInPrediction
}
return t
}
Expand All @@ -76,9 +75,8 @@ public class ParseInfo {
public func getTotalSLLLookaheadOps() -> Int64 {
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
var k: Int64 = 0
let length = decisions.count
for i in 0..<length {
k += decisions[i].SLL_TotalLook
for d in decisions {
k += d.SLL_TotalLook
}
return k
}
Expand All @@ -91,9 +89,8 @@ public class ParseInfo {
public func getTotalLLLookaheadOps() -> Int64 {
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
var k: Int64 = 0
let length = decisions.count
for i in 0..<length {
k += decisions[i].LL_TotalLook
for d in decisions {
k += d.LL_TotalLook
}
return k
}
Expand All @@ -105,9 +102,8 @@ public class ParseInfo {
public func getTotalSLLATNLookaheadOps() -> Int64 {
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
var k: Int64 = 0
let length = decisions.count
for i in 0..<length {
k += decisions[i].SLL_ATNTransitions
for d in decisions {
k += d.SLL_ATNTransitions
}
return k
}
Expand All @@ -119,9 +115,8 @@ public class ParseInfo {
public func getTotalLLATNLookaheadOps() -> Int64 {
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
var k: Int64 = 0
let length = decisions.count
for i in 0..<length {
k += decisions[i].LL_ATNTransitions
for d in decisions {
k += d.LL_ATNTransitions
}
return k
}
Expand All @@ -137,10 +132,9 @@ public class ParseInfo {
public func getTotalATNLookaheadOps() -> Int64 {
let decisions: [DecisionInfo] = atnSimulator.getDecisionInfo()
var k: Int64 = 0
let length = decisions.count
for i in 0..<length {
k += decisions[i].SLL_ATNTransitions
k += decisions[i].LL_ATNTransitions
for d in decisions {
k += d.SLL_ATNTransitions
k += d.LL_ATNTransitions
}
return k
}
Expand Down
4 changes: 1 addition & 3 deletions runtime/Swift/Sources/Antlr4/atn/ParserATNSimulator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1132,9 +1132,7 @@ open class ParserATNSimulator: ATNSimulator {
_ altToPred: [SemanticContext?]) -> [DFAState.PredPrediction]? {
var pairs = [DFAState.PredPrediction]()
var containsPredicate = false
let length = altToPred.count
for i in 1..<length {
let pred = altToPred[i]
for (i, pred) in altToPred.enumerated().dropFirst() {

// unpredicated is indicated by SemanticContext.NONE
assert(pred != nil, "Expected: pred!=null")
Expand Down
10 changes: 4 additions & 6 deletions runtime/Swift/Sources/Antlr4/atn/PredictionContext.swift
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,11 @@ public class PredictionContext: Hashable, CustomStringConvertible {

static func calculateHashCode(_ parents: [PredictionContext?], _ returnStates: [Int]) -> Int {
var hash = MurmurHash.initialize(INITIAL_HASH)
var length = parents.count
for i in 0..<length {
hash = MurmurHash.update(hash, parents[i])
for parent in parents {
hash = MurmurHash.update(hash, parent)
}
length = returnStates.count
for i in 0..<length {
hash = MurmurHash.update(hash, returnStates[i])
for state in returnStates {
hash = MurmurHash.update(hash, state)
}

return MurmurHash.finish(hash, 2 * parents.count)
Expand Down