in src/main/java/com/ql/util/express/parse/NodeTypeManager.java [38:70]
public void initial() {
//创建所有的关键字
NodeType[] tempKeyWordNodeTypes = new NodeType[splitWord.length + keyWords.length];
for (int i = 0; i < splitWord.length; i++) {
tempKeyWordNodeTypes[i] = this.createNodeType(splitWord[i] + ":TYPE=KEYWORD");
}
for (int i = 0; i < keyWords.length; i++) {
tempKeyWordNodeTypes[i + splitWord.length] = this.createNodeType(keyWords[i] + ":TYPE=KEYWORD");
}
// 初始化所有的类型信息,
for (NodeType tempKeyWordNodeType : tempKeyWordNodeTypes) {
tempKeyWordNodeType.initial();
}
// 创建所有的类型信息,但不能初始化
NodeType[] nodeTypes = new NodeType[nodeTypeDefines.length];
for (int i = 0; i < nodeTypeDefines.length; i++) {
nodeTypes[i] = this.createNodeType(nodeTypeDefines[i]);
}
// 初始化所有的类型信息,
for (NodeType nodeType : nodeTypes) {
nodeType.initial();
}
//初始化指令Factory
if (this.instructionFactoryMapping != null) {
for (String[] list : this.instructionFactoryMapping) {
for (String s : list[0].split(",")) {
this.findNodeType(s).setInstructionFactory(list[1]);
}
}
}
}