private void ExecuteConflictAction(ParserAction action) { var args = action.ResolveConflict(_grammar, Context); switch (args.Result) { case ParserActionType.Reduce: ExecuteReduce(new ParserAction(ParserActionType.Reduce, null, args.ReduceProduction)); break; case ParserActionType.Operator: ExecuteOperatorAction(new ParserAction(ParserActionType.Operator, action.NewState, args.ReduceProduction)); break; case ParserActionType.Shift: default: ExecuteShift(action); break; } if (_traceEnabled) { Context.AddTrace(Resources.MsgTraceConflictResolved); } }
private void ExecuteConflictAction(ParserAction action) { var args = action.ResolveConflict(_grammar, Context); switch(args.Result) { case ParserActionType.Reduce: ExecuteReduce(new ParserAction(ParserActionType.Reduce, null, args.ReduceProduction)); break; case ParserActionType.Operator: ExecuteOperatorAction(new ParserAction(ParserActionType.Operator, action.NewState, args.ReduceProduction)); break; case ParserActionType.Shift: default: ExecuteShift(action); break; } if (_traceEnabled) Context.AddTrace(Resources.MsgTraceConflictResolved); }