When GraphQL receives a query string, it goes through these steps:
GraphQL::Language::Lexer splits the string into a stream of tokensGraphQL::Language::Parser builds an abstract syntax tree (AST) out of the stream of tokensGraphQL::StaticValidation::Validator validates the incoming AST as a valid query for the schemaGraphQL::Analysis.analyze_queryresolve functions are called and the response is builtGraphQL::Query::Result