public void AddWithOr(SymbolModel model) { var alterationModel = new AlterationModel(); alterationModel.Symbols.Add(model); Alterations.Add(alterationModel); }
private static AlterationModel GetAlterationModelFromAlterationExpression(List<BaseExpression> symbols) { var alterationModel = new AlterationModel(); foreach (var symbol in symbols) { if (symbol is ProductionExpression) { var productionExpression = symbol as ProductionExpression; alterationModel.Symbols.Add( productionExpression.ProductionModel); } else if (symbol is SymbolExpression) { var symbolExpression = symbol as SymbolExpression; alterationModel.Symbols.Add( symbolExpression.SymbolModel); } else if (symbol is ProductionReferenceExpression) { var productionReferenceExpression = symbol as ProductionReferenceExpression; alterationModel.Symbols.Add( productionReferenceExpression.ProductionReferenceModel); } else if (symbol is Expr) { foreach (var symbolModel in GetSymbolModelListFromExpr(symbol as Expr)) alterationModel.Symbols.Add(symbolModel); } } return alterationModel; }