sách gpt4 ai đã đi

compiler-construction - 你最喜欢的抽象语法树优化

In lại 作者:行者123 更新时间:2023-12-04 22:01:53 31 4
mua khóa gpt4 Nike

如果您正在构建一个编译器,那么在 AST 级别进行哪种优化是最好的?

1 Câu trả lời

大多数情况下,您无法在 AST 级别进行有趣的优化,因为您需要有关数据如何从程序的一个部分流向另一部分的信息。虽然数据流隐含在 AST 的含义中,但仅通过检查 AST 并不能轻易确定,这就是为什么人们构建编译器和优化器构建其他程序表示(包括符号表、控制流图、到达定义、数据流)和 SSA 表格等)。

拥有一种语言的解析器是分析/操作该语言的简单部分。
你需要所有其他东西才能做好工作。

如果您确实拥有所有其他表示形式,则可以考虑在 AST 级别进行优化。大多数构建编译器的人都不会打扰;它们转换为数据流表示并对其进行简单优化。但是,如果您想通过更改重现源代码,则需要 AST。您还需要一个 pretty-print 来使您能够重新生成源代码。如果你走到这一步,你最终会得到一个源到源
程序转换系统。

DMS Software Reengineering Toolkit是一个转换 AST 的系统,使用所有这些其他表示来启用转换所需的分析。

关于compiler-construction - 你最喜欢的抽象语法树优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1825298/

31 4 0
Bài viết được đề xuất: oracle - 强制 oracle 使用索引
Bài viết được đề xuất: .net - .NET 生产代码中的“断言”语句
Bài viết được đề xuất: apache-flex - Flex 字典排序
Bài viết được đề xuất: django - Mac OS X 网络共享和 Django
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com