Beispiel #1
0
        private Arg ParseArg()
        {
            Arg ret;
            int start = GetStart();
            Expr value = ParseExpr();
            IdentifierExpr n = value as IdentifierExpr;
            if (n != null)
            {
                string name = n.Name;
                int end = GetEnd();
                if (MaybeEat(TokenType.Colon))
                {
                    value = ParseExpr();
                    ret = new Arg(name, value);
                    ret.SetLoc(_globalParent, start, GetEnd());
                    return ret;
                }
            }

            ret = new Arg(value);
            ret.SetLoc(_globalParent, value.IndexSpan);
            return ret;
        }