コード例 #1
0
        // [1] Program = {Declaration | FunctionDefinition}.
        private bool IsProgram(out Program program)
        {
            program = new Program();
            while (!(token.Kind == SyntaxKind.EndOfFileToken))
            {
                if (ParseDeclaration(out var declaration))
                {
                    program.AddChild(declaration);
                }
                else if (ParseFunctionDefinition(out var functionDefinition))
                {
                    program.AddChild(functionDefinition);
                }
                else
                {
                    break;
                }
            }

            return(diag.GetErrorCount() == 0);
        }