【问题标题】:What is AST in graphql?graphql 中的 AST 是什么?
【发布时间】:2018-02-20 03:04:51
【问题描述】:

graphql 中的 AST 是什么?我正在使用graphql-js。它对任何事情都有什么帮助?

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

【问题讨论】:

  • AST 代表 Web 技术中的抽象语法树,不仅在 graphql 中。你可以在这里阅读:en.wikipedia.org/wiki/Abstract_syntax_tree
  • 实际上不仅在网络技术中,AST 是计算机科学中的一个更广泛的术语。

标签: graphql graphql-js


【解决方案1】:

GraphQL 有两个特点:

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

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

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

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

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

【讨论】:

  • AST = 抽象语法树
猜你喜欢
  • 1970-01-01
  • 2016-04-26
  • 2023-02-10
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 2020-03-11
  • 2019-12-06
相关资源
最近更新 更多