parsing - 在解析理论中, "derive"的相反是什么?

标签 parsing terminology compiler-theory

假设您有这样的语法:

SA

AE “= E

在此示例中,S 推导序列( E "="E )。然而,与此相反的是什么呢?也就是说,填空的合适词是什么:

“序列 ( E “= E ) ______ S 。”

如果我们借用微积分的反义词,可以说 ( E "="E ) 积分 S ,但这似乎不对。

最佳答案

严格来说,我不相信有这样的反义词。相反,它们都被称为派生。更具体地说,您在问题中描述的称为“自上而下”解析,而相反的称为“自下而上”解析

与自上而下的解析相反,自上而下的解析从起始符号开始并应用推导直到确定整个输入字符串,自下而上的解析从输入字符串开始并在相反的方向上使用推导,最终停止导出起始符号。

另请参阅:http://lambda.uta.edu/cse5317/notes/node12.html

但是,我看到了与推导相反的过程,称为归约。也许这就是您想到的术语?

(所以也许我在大学学习的正式逻辑类(class)最终还是有好处的?)

关于parsing - 在解析理论中, "derive"的相反是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4505026/

相关文章:

open-source - 示例编译器

parsing - 从变量而不是文件导入CSV?

ruby-on-rails - 在 Ruby 中解析(在 Rails 上)

java - JAX-RS 中的 X 代表什么?

haskell - ADT 名称。什么是 `Left a` ,然后是什么 `a` ,在 Haskell 中?

compiler-theory - 哪些编程语言是上下文无关的?

linux - 在 Linux 中生成可执行文件(与实现编译器有关)

javascript - 如何在 Python 中使用 Selenium 获取 JavaScript 元素?

json - 如何从 json 中获取 int 并将其解析为 dart 中的 bool?

git - Bump 版本代表什么?