private static ICaptureTokenStructure BuildStructureFor(InlinedTokenEntry entry, ITokenExpressionSeries expressionSeries, ITokenExpression expression, IOilexerGrammarFile source) { ICaptureTokenStructure result = new CaptureTokenStructure(); foreach (var item in expression) { var current = BuildStructureFor(entry, expressionSeries, expression, item, source); result = result.Concat(current); } return(result); }
public ICaptureTokenStructuralItem Union(ICaptureTokenStructuralItem rightElement) { if (rightElement is CaptureTokenStructure) { return(this.Union((CaptureTokenStructure)rightElement)); } else { var rightElementStructure = new CaptureTokenStructure(); rightElementStructure.Concat(rightElement); return(this.Union(rightElementStructure)); } }