let GeeniTrie:NSObject = [
"i":[
"need":[
"a":[
"**ARG**":"[request]"]]]]
func ParseSentence(statement:String) -> [String: String] {
var datadict = [String:String]()
var arguments = [String]()
let words = statement.componentsSeparatedByString(" ")
var current = GeeniTrie
for word in words {
if let template = current.valueForKey(word) {
current = template as! NSObject
}
else if let template = current.valueForKey("**ARG**") {
arguments.append(word)
current = template as! NSObject
}
else {
datadict["Error"] = "Statement Not Recognized"
}
}
datadict[current as! String] = arguments[0]
return datadict
}
let start = NSDate()
ParseSentence("i need a tutor")
//["[request]": "tutor"]
NSDate().timeIntervalSinceDate(start)
//0.01180499792098999