gpt4 book ai didi

compiler-construction - D的编译时评估的用例是什么

转载 作者:行者123 更新时间:2023-12-04 00:15:03 24 4
gpt4 key购买 nike

我将此功能集成到我最喜欢的语言 OCaml 中,我知道这是 D 中的性感功能,但是除了一些优化之外,编译时评估的用例是什么?
越多越好,极客越好:-)

最佳答案

当然,优化是一个很大的用例。像 ctRegex 这样的事情比其运行时编译的正则表达式等效(通常)执行得更好。解析器生成器也很有趣(参见 Pegged)并且将受到越来越多的关注。人们才刚刚开始挖掘可以做的事情。

你可以这样做 mixin(import_c("header.h"))为任意 C 头文件解析和构建一个 D 接口(interface)文件(当然,您需要在 D 中为 C 编写一个解析器来执行此操作)。

由于格式字符串(例如 "%0.2f" )通常在编译时已知,因此可以进行极快的字符串格式化。您可以读取格式字符串并仅生成格式化所需的代码,去除各种不必要的部分。

vibe.d实际上支持编译时模板。模板文件(基于 Jade/HAML)可以包含 D 代码。它读取它并生成一个自定义的 D 代码块(把它想象成“”~标题~“...”)。我不相信作者已经做过基准测试,但它应该非常快。

您基本上可以在保持高水平的同时获得专门的手动优化代码的好处。很难回答您的问题,因为我们只是不知道它的用途。它让我想起了 C++ 模板。他们的设计者没有预料到它启用的高级元编程技术。

关于compiler-construction - D的编译时评估的用例是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11452791/

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