示例#1
0
        /// <summary>
        /// new_list_line                               = "[[" init_expr_block "]]"
        /// </summary>
        private NewListNode parseNewListLine()
        {
            if (!check(LexemType.DoubleSquareOpen))
                return null;

            var node = new NewListNode();
            node.Expressions = parseInitExprLine().ToList();
            if (node.Expressions.Count == 0)
                error(ParserMessages.ListItem);

            ensure(LexemType.DoubleSquareClose, ParserMessages.SymbolExpected, "]]");

            return node;
        }
示例#2
0
文件: LensParser.cs 项目: menozz/lens
        /// <summary>
        /// new_list_line                               = "[" "[" init_expr_block "]" "]"
        /// </summary>
        private NewListNode parseNewListLine()
        {
            if (!peek(LexemType.SquareOpen, LexemType.SquareOpen))
                return null;

            skip(2);

            var node = new NewListNode();
            node.Expressions = parseInitExprLine().ToList();

            if (node.Expressions.Count == 0)
                error(ParserMessages.ListItem);

            if (!peek(LexemType.SquareClose, LexemType.SquareClose))
                error(ParserMessages.SymbolExpected, "]]");

            skip(2);

            return node;
        }