示例#1
0
        ListExpression ParseList()
        {
            unit.Expect(LoreToken.OpenBracket);
            var list = ListExpression.Create(unit.Location);

            while (!unit.Match(LoreToken.CloseBracket))
            {
                var expr = ParseAssignment();
                // TODO: Implement for, in, if, etc
                // ...
                list.Add(expr);
                if (!unit.Accept(LoreToken.Comma))
                {
                    break;
                }
            }
            unit.Expect(LoreToken.CloseBracket);
            return(list);
        }
示例#2
0
 public virtual void Accept(ListExpression args) => Update(args);