当前位置: 首页 > 知识库问答 >
问题:

graphql中的AST是什么?

韶云瀚
2023-03-14

graphql中的AST是什么?我用的是graphql-js。它有什么帮助吗?

任何文档中似乎都没有解释 AST 是什么

共有1个答案

卢开济
2023-03-14

GraphQL是两个东西:

  1. 一种查询语言
  2. 类型系统

当 GraphQL 服务器收到要处理的查询时,它通常以单个字符串的形式出现。此字符串必须拆分为有意义的子字符串(标记化),并解析为机器理解的表示形式。这种表示形式称为抽象语法树或 AST。

当GraphQL处理查询时,它遍历树,根据模式执行每个部分。

将原始字符串转换为AST是从C到Chrome的JavaScript的VM到Babel的每个编译器的第一步。

至于 GraphQL 的作用以及它是如何帮助的,这里有一个视频可以更详细地解释它。https://www.youtube.com/watch?v=PmWho45WmQY

 类似资料:
  • 我正在使用一个特定的GraphQLendpoint,尽管我提供了一个干净的JSON结构作为查询,但当我获得结果时,我会得到“Edges”和“Node”标记。它似乎在污染我的数据,没有明显的好处。为什么会有它,是否有可能为了更快、更简单地解析数据而去掉它们?

  • ast

    import "go/ast" Package ast declares the types used to represent syntax trees for Go packages. Index func FileExports(src *File) bool func FilterDecl(decl Decl, f Filter) bool func FilterFile(src *Fil

  • 在看到图片抽象语法树AST: 这里有2个问题不明白,请教一下是什么原因呢: 1、program-sourceType-script 这个是一个什么关系?父子关系还是同级别关系? 2、VariableDeclaration-kind-var 是什么关系?

  • 在 Java DOM/AST(http://help.eclipse.org/indigo/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/dom/package-tree.html)中,为什么初始值设定项包含块,为什么方法调用是表达式而不是语句? 我的意思是,鉴于代码 ASTView插件只显示初始化器 此外,如果我

  • 我想知道我们是否可以使用Antlr版本4构建一个AST。我找不到任何关于使用ANTLR4构建它的参考。一个答案是,使用antlr4会很容易,它只产生解析树,但我的问题是效率如何? 它迫使我们只能爬取整个解析树而不是抽象的语法树,这对于遍历整个解析树和使用访问者执行任务是不有效的。