in src/prettify/parser/Prettify.java [467:493]
protected CreateSimpleLexer(List<List<Object>> shortcutStylePatterns, List<List<Object>> fallthroughStylePatterns) throws Exception {
this.fallthroughStylePatterns = fallthroughStylePatterns;
List<List<Object>> allPatterns = new ArrayList<List<Object>>(shortcutStylePatterns);
allPatterns.addAll(fallthroughStylePatterns);
List<Pattern> allRegexs = new ArrayList<Pattern>();
Map<String, Object> regexKeys = new HashMap<String, Object>();
for (int i = 0, n = allPatterns.size(); i < n; ++i) {
List<Object> patternParts = allPatterns.get(i);
String shortcutChars = patternParts.size() > 3 ? (String) patternParts.get(3) : null;
if (shortcutChars != null) {
for (int c = shortcutChars.length(); --c >= 0;) {
shortcuts.put(shortcutChars.charAt(c), patternParts);
}
}
Pattern regex = (Pattern) patternParts.get(1);
String k = regex.pattern();
if (regexKeys.get(k) == null) {
allRegexs.add(regex);
regexKeys.put(k, new Object());
}
}
allRegexs.add(Pattern.compile("[\0-\\uffff]"));
tokenizer = new CombinePrefixPattern().combinePrefixPattern(allRegexs);
nPatterns = fallthroughStylePatterns.size();
}