public static NonTerminalNode CreateNode(Rule rule) { Debug.Assert(rule != null); NonTerminalNode node = _implTypes.ContainsKey(rule.Index) ? _implTypes.CreateInstance(rule.Index) : new NonTerminalNode(); node.Rule = rule; return(node); }
public static NonTerminalNode CreateNode(Rule rule) { Debug.Assert(rule != null); NonTerminalNode node = null; if (_nodeImplTypeMap.ContainsKey(rule.Index)) { node = _nodeImplTypeMap.CreateInstance(rule.Index); } else { node = new NonTerminalNode();// if no type is bound to the rule then just create a base non-terminal node } node.Rule = rule; return(node); }