Exemple #1
0
        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("]");
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 public abstract void Visit(TeList textExpr);