gpt4 book ai didi

language-agnostic - 编译器在解析过程中将大部分时间花在哪里?

转载 作者:行者123 更新时间:2023-12-04 07:43:01 24 4
gpt4 key购买 nike

我阅读了 Sebesta book ,编译器将大部分时间花在对源代码进行词法分析上。因此,与语法分析器不同,优化词法分析器是必要的。

如果这是真的,为什么词法分析阶段比一般的语法分析要花这么多时间?

我的意思是语法分析派生过程。

最佳答案

首先,我不认为这是真的:在许多编译器中,大部分时间都没有花在对源代码进行词法分析上。例如,在 C++ 编译器(例如 g++)中,大部分时间都花在语义分析上,特别是重载解析(试图找出要执行的隐式模板实例化)。此外,在 C 和 C++ 中,大部分时间通常用于优化(创建单个函数或整个翻译单元的图形表示,然后在这些图形上运行长算法)。

在比较词法分析和句法分析时,确实可能词法分析的成本更高。这是因为两者都使用状态机,即每个元素有固定数量的 Action ,但在词法分析(字符)中的元素数量比在句法分析( token )中大得多。

关于language-agnostic - 编译器在解析过程中将大部分时间花在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1101267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com