Skip to content

Commit

Permalink
Cleanup some syntax issues
Browse files Browse the repository at this point in the history
  • Loading branch information
Liquidsoul committed Aug 24, 2018
1 parent 3d2762c commit 1ff1fcb
Showing 1 changed file with 20 additions and 23 deletions.
43 changes: 20 additions & 23 deletions Sources/Lexer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ struct Lexer {
let map = [
"{{": "}}",
"{%": "%}",
"{#": "#}",
"{#": "#}"
]
let tokenChars:[Unicode.Scalar] = ["{", "%", "#"]
let tokenChars: [Unicode.Scalar] = ["{", "%", "#"]

while !scanner.isEmpty {
if let text = scanner.scanForTokenStart(tokenChars) {
Expand Down Expand Up @@ -95,7 +95,7 @@ class Scanner {
return ""
}

var index = 0;
var index = 0
range = range.upperBound..<range.upperBound
for char in content.unicodeScalars {
if char == first {
Expand Down Expand Up @@ -125,43 +125,41 @@ class Scanner {
return nil
}

var index = 0;
var index = 0
range = range.upperBound..<range.upperBound
for char in content.unicodeScalars {
for string in until {
if string.unicodeScalars.first == char {
let startIndex = content.index(content.startIndex, offsetBy: index)
let endIndex = content.index(content.startIndex, offsetBy: index + string.count)
if endIndex > content.endIndex {
continue;
}
if String(content[startIndex..<endIndex]) == string {
let result = String(content[..<startIndex])
content = String(content[startIndex...])
return (string, result)
}
for string in until where string.unicodeScalars.first == char {
let startIndex = content.index(content.startIndex, offsetBy: index)
let endIndex = content.index(content.startIndex, offsetBy: index + string.count)
if endIndex > content.endIndex {
continue
}
if String(content[startIndex..<endIndex]) == string {
let result = String(content[..<startIndex])
content = String(content[startIndex...])
return (string, result)
}
}
index += 1
range = range.lowerBound..<originalContent.index(after: range.upperBound)
}

return nil;
return nil
}

func scanForTokenStart(_ tokenChars:[Unicode.Scalar]) -> (String, String)? {
func scanForTokenStart(_ tokenChars: [Unicode.Scalar]) -> (String, String)? {
var foundBrace = false
var index = 0;
var index = 0
range = range.upperBound..<range.upperBound
for char in content.unicodeScalars {
if foundBrace {
let string:String
let string: String
if tokenChars.contains(char) {
string = "{\(char)"
} else {
foundBrace = false
index += 2
continue;
continue
}
let startIndex = content.index(content.startIndex, offsetBy: index)
let result = String(content[..<startIndex])
Expand All @@ -177,11 +175,10 @@ class Scanner {
}
}
}
return nil;
return nil
}
}


extension String {
func findFirstNot(character: Character) -> String.Index? {
var index = startIndex
Expand Down

0 comments on commit 1ff1fcb

Please sign in to comment.