}//method private void ApplyHints() { foreach (var state in _data.States) { var stateData = state.BuilderData; //Add automatic precedence hints if (stateData.Conflicts.Count > 0) { foreach (var conflict in stateData.Conflicts.ToList()) { if (conflict.Flags.IsSet(TermFlags.IsOperator)) { //Find any reduce item with this lookahead and add PrecedenceHint var reduceItem = stateData.ReduceItems.SelectByLookahead(conflict).First(); var precHint = new PrecedenceHint(); reduceItem.Core.Hints.Add(precHint); } } } // Apply (activate) hints - these should resolve conflicts as well foreach (var item in state.BuilderData.AllItems) { foreach (var hint in item.Core.Hints) { hint.Apply(_language, item); } } } //foreach } //method
private void ApplyHints() { foreach (var state in _data.States) { var stateData = state.BuilderData; //Add automatic precedence hints if (stateData.Conflicts.Count > 0) foreach (var conflict in stateData.Conflicts.ToList()) if (conflict.Flags.IsSet(TermFlags.IsOperator)) { //Find any reduce item with this lookahead and add PrecedenceHint var reduceItem = stateData.ReduceItems.SelectByLookahead(conflict).First(); var precHint = new PrecedenceHint(); reduceItem.Core.Hints.Add(precHint); } // Apply (activate) hints - these should resolve conflicts as well foreach (var item in state.BuilderData.AllItems) foreach (var hint in item.Core.Hints) hint.Apply(_language, item); }//foreach }