Beispiel #1
0
        private Syntax.Expression ParseInitializer()
        {
            Syntax.Expression res = null;
            if (scan.Peek().type == Token.Type.LBRACE)
            {
                scan.Read();
                res = new Syntax.Initializer();
                Syntax.InitializerList init_list = null;
                while (true)
                {
                    if ((init_list = ParseInitializerList()) != null)
                    {
                        ((Syntax.Initializer)res).AddInitializer(init_list);
                    }

                    if (scan.Peek().type != Token.Type.COMMA)
                    {
                        break;
                    }
                    scan.Read();
                }

                CheckToken(scan.Peek(), Token.Type.RBRACE, true);
            }
            else
            {
                res = ParseAssignmentExpression();
            }

            return(res);
        }
Beispiel #2
0
        private Syntax.Expression ParseInitializer()
        {
            Syntax.Expression res = null;
            if (scan.Peek().type == Token.Type.LBRACE)
            {
                scan.Read();
                res = new Syntax.Initializer();
                Syntax.InitializerList init_list = null;
                while (true)
                {
                    if ((init_list = ParseInitializerList()) != null)
                    {
                        ((Syntax.Initializer)res).AddInitializer(init_list);
                    }

                    if (scan.Peek().type != Token.Type.COMMA)
                    {
                        break;
                    }
                    scan.Read();
                }

                CheckToken(scan.Peek(), Token.Type.RBRACE, true);
            }
            else
            {
                res = ParseAssignmentExpression();
            }

            return res;
        }