private static Type FindWord( System.String word ) {
Type output = null;
Type probe;
var stack = theDictStack;
System.Collections.Generic.IDictionary<System.String, Type> dict;
while ( !stack.IsEmpty && ( null == output ) ) {
dict = stack.Peek();
if ( dict.TryGetValue( word, out probe ) ) {
output = probe;
break;
}
stack = stack.Pop();
}
if ( null == output ) {
if ( word.StartsWith( "(" ) ) {
output = Type.CreateString( word );
} else if ( word.StartsWith( "/" ) ) {
output = Type.CreateLiteral( word );
} else {
output = Type.AsNumber( word );
}
}
return output;
}
Comments