コード例 #1
0
        private static IProductionRuleCaptureStructure BuildStructureFor(OilexerGrammarProductionRuleEntry entry, IProductionRuleSeries expressionSeries, IProductionRule expression, IOilexerGrammarFile source)
        {
            IProductionRuleCaptureStructure result = new ProductionRuleCaptureStructure(entry);

            foreach (var item in expression)
            {
                var current = BuildStructureFor(entry, expressionSeries, expression, item, source);
                result = result.Concat(current);
            }
            return(result);
        }
コード例 #2
0
 public IProductionRuleCaptureStructuralItem Union(IProductionRuleCaptureStructuralItem rightElement)
 {
     if (rightElement is ProductionRuleCaptureStructure)
     {
         return(this.Union((ProductionRuleCaptureStructure)rightElement));
     }
     else
     {
         var rightElementStructure = new ProductionRuleCaptureStructure(this.owner);
         rightElementStructure.Concat(rightElement);
         return(this.Union(rightElementStructure));
     }
 }