gpt4 book ai didi

c++ - 为领域特定语言部分解析 C++

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:09 29 4
gpt4 key购买 nike

我想创建一种领域特定语言作为增强型 C++ 语言。我将主要需要两种类型的结构:

  • 专门类型或声明的顶级结构
  • 代码内构造,即添加原语以使函数调用或习惯用法更容易

该语言将用于科学计算目的,最终将被翻译成纯 C++。选择 C++ 是因为它似乎在以下方面提供了很好的折衷:易用性、效率和各种库的可用性。

由于 C++ 语法的复杂性,之前使用 flex 和 bison 的尝试失败了。现有的解析器在某些构造上仍然会失败。所以我们想重新开始,但要建立在更好的基础上。

你知道类似的项目吗?如果您尝试这样做,您会使用什么工具?主要的陷阱是什么?您在语法方面有什么建议吗?

最佳答案

有许多(聪明的)尝试在 C++ 语言中使用领域特定语言。

Domain Specific Embedded Language 通常称为 DSEL。例如,您可以查找 Boost.Spirit 语法或 Boost.rdb(在 boost 库中)。

这些是使用 C++ 语法的完全兼容的 C++ 库。

如果你想隐藏一些复杂性,你可以添加一些宏。

如果您能给我们一些有用的东西,我很乐意提供一些示例 :)

关于c++ - 为领域特定语言部分解析 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779826/

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