protected Rule() { _builder = new RuleBuilder(); _lhsExpression = new LeftHandSideExpression(_builder); _rhsExpression = new RightHandSideExpression(_builder); _definition = new Lazy <IRuleDefinition>(BuildDefinition); }
/// <summary> /// Returns expression builder for rule's right-hand side (actions). /// </summary> /// <returns>Right hand side expression builder.</returns> protected IRightHandSideExpression Then() { var builder = _builder.RightHandSide(); var expression = new RightHandSideExpression(builder, _symbolStack); return(expression); }