gpt4 book ai didi

prolog - 复杂抽象语法树的词序

转载 作者:行者123 更新时间:2023-12-02 08:49:02 24 4
gpt4 key购买 nike

我有一个关于抽象语法树的问题。
特别是我想用特定的方式对几棵树进行排序
期限顺序。

如何为具有以下属性的 AST 定义术语顺序:

  • 对于几乎所有的术语,订单的行为完全相同
    就像标准的内置术语顺序。
  • 深深嵌套在 AST 中有仿函数的术语
    pos/6 表示源位置。
    这些仿函数应该在术语 order 中被忽略,即仿函数 pos 的所有术语应该比较相等。

  • 是否可以扩展内置的术语顺序
    'pos' 的特殊情况?

    什么是最有效的解决方案,什么是最
    可读的解决方案?

    也许我还应该提到我们的 AST 可能非常大,我只是对一个 AST 进行了基准测试,它有 217479 个适当的仿函数(忽略无效原子)

    最佳答案

    我会定义一个关系 ast_without_pos/2 与 AST 相关 A0到一个术语 AA0 相同除了所有 pos/6 子项都被相同的项替换,比如原子 t ,然后对这些结果项使用标准项顺序。我认为这是非常可读的,而且效率也相当高。

    关于prolog - 复杂抽象语法树的词序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991419/

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