public static Canonicalize ( string source, int startIndex ) : string | ||
source | string | |
startIndex | int | start index of character |
return | string |
internal static bool BumpsMax(string str) { string num = CharacterUtilities.Canonicalize(str, 1); int ord = CharacterUtilities.OrdinalOfCharacterLiteral(str, 1); return(ord > Terminal.max); }
internal Terminal LookupTerminal(Token token, string name) { bool isIdent = (token == Token.ident); // Canonicalize escaped char-literals if (!isIdent) { name = CharacterUtilities.Canonicalize(name, 1); } // Check if already present in dictionary if (!terminals.ContainsKey(name)) // else insert ... { terminals[name] = new Terminal(isIdent, name); } return(terminals[name]); }
internal Terminal LookupOrDefineTerminal(Token token, string name, string alias) { bool isIdent = (token == Token.ident); // Canonicalize escaped char-literals if (!isIdent) { name = CharacterUtilities.Canonicalize(name, 1); } // Check if already present in dictionary if (!terminals.ContainsKey(name)) // else insert ... { Terminal newTerm = new Terminal(isIdent, name, alias); terminals[name] = newTerm; if (alias != null) { aliasTerms[alias] = newTerm; } } return(terminals[name]); }