public static GrammarBuilder Add(GrammarBuilder builder, string phrase)
        {
            Helpers.ThrowIfNull(builder, "builder");
            GrammarBuilder grammarBuilder = builder.Clone();

            grammarBuilder.Append(phrase);
            return(grammarBuilder);
        }
        public static GrammarBuilder Add(GrammarBuilder builder1, GrammarBuilder builder2)
        {
            Helpers.ThrowIfNull(builder1, "builder1");
            Helpers.ThrowIfNull(builder2, "builder2");
            GrammarBuilder grammarBuilder = builder1.Clone();

            grammarBuilder.Append(builder2);
            return(grammarBuilder);
        }
        public static GrammarBuilder Add(GrammarBuilder builder, Choices choices)
        {
            Helpers.ThrowIfNull(builder, "builder");
            Helpers.ThrowIfNull(choices, "choices");
            GrammarBuilder grammarBuilder = builder.Clone();

            grammarBuilder.Append(choices);
            return(grammarBuilder);
        }
        public void Append(GrammarBuilder builder)
        {
            Helpers.ThrowIfNull(builder, "builder");
            Helpers.ThrowIfNull(builder.InternalBuilder, "builder.InternalBuilder");
            Helpers.ThrowIfNull(builder.InternalBuilder.Items, "builder.InternalBuilder.Items");
            foreach (GrammarBuilderBase item in builder.InternalBuilder.Items)
            {
                if (item == null)
                {
                    throw new ArgumentException(SR.Get(SRID.ArrayOfNullIllegal), "builder");
                }
            }
            List <GrammarBuilderBase> list = (builder == this) ? builder.Clone().InternalBuilder.Items : builder.InternalBuilder.Items;

            foreach (GrammarBuilderBase item2 in list)
            {
                AddItem(item2);
            }
        }
Esempio n. 5
0
 public SemanticResultValue(GrammarBuilder builder, object value)
 {
     Helpers.ThrowIfNull(builder, "builder");
     Helpers.ThrowIfNull(value, "value");
     _tag = new TagElement(builder.Clone(), value);
 }