本文展示一個基於關鍵字、運算子、分隔符與數字識別的簡易分詞器,可擴充套件支援多種語言。
match_1~match_4 旗標追蹤當前識別狀態public class CFenCiQi {
// 關鍵字、運算子、分隔符、數字集合
private List keywords, operators, separators, digits;
// 結果儲存:Map<類型, 值>
private List
// 預設 C 風格
CFenCiQi tokenizer = new CFenCiQi("test.c");
List> tokens = tokenizer.getResult();
// 自訂 Java 關鍵字
List javaKeys = Arrays.asList("public", "class", "void", "static", ...);
tokenizer.setDefaultParam(javaKeys, operators, separators);
tokenizer.setFilePath("Demo.java");
tokens = tokenizer.getResult();
{1->if}, {2->main}, {5->(}, {5->)}, {5->{}, {1->return}, {3->0}, {5->;}
>=, !=)需優先匹配此實作適合教學示範或輕量級原始碼分析場景。