public override void Visit(TeList textExpr) { if (ReferenceEquals(textExpr, null)) { return; } if (textExpr.IsNamed) { TextComposer.Append(textExpr.Name.ToString()); } TextComposer.Append("["); var flag = false; foreach (var subExpr in textExpr) { if (flag) { TextComposer.Append(", "); } else { flag = true; } Visit(subExpr); } TextComposer.Append("]"); }
private static TeList TranslateList(ParseTreeNode exprNode) { exprNode.Assert(TextExpressionDslParseNodeNames.List); var name = TranslateExpressionName(exprNode.ChildNodes[0]); var listArgsNode = exprNode.ChildNodes[1]; var expr = new TeList() { Name = name }; expr.AddRange( listArgsNode.ChildNodes.Select(TranslateExpression) ); return(expr); }
public abstract void Visit(TeList textExpr);