找出在哪个 MMT 源文件中声明了 constant/theory/...
Finding out in which MMT source file a constant/theory/... was declared
假设我记得一个常数或理论名称,但完全忘记了它在哪里声明。也许,我什至不知道它是在哪个 MMT 档案中声明的。我怎样才能找到源文件?
我可以只打开 MMT shell,加载磁盘上的所有存档,然后发出一些命令 find_constant <constant name>
吗?有这样的命令吗?
这取决于你对你所寻求的声明点的了解:
如果你什么都不知道,也就是说,如果你甚至没有使用该东西的类型检查文件。
那么找出声明点的最简单方法就是用正则表达式搜索所有 *.mmt
文件。对于(类型化的)常量,使用 <constant name>\s*?:
。它将匹配常量声明,后跟一些可选的空格和一个冒号。
使用 Notepad++,这很容易做到。比如说,您想知道 congT
在哪里声明。那么你会做:
您有一个类型检查 MMT 文件,其中使用了您要查找的内容。
然后使用 MMT IntelliJ plugin 及其文档树:首先对手头的文件进行类型检查,然后在 sidekick 中查找常量的出现:
激活 Navigate 选项在这里特别有用:有了它,您只需用鼠标单击您要查找其声明点的对象(此处例如 nat_lit
) 并立即在 sidekick 中显示它。这里,sidekick 显示 nat_lit (?NatLiterals)
意味着常数在理论中定义 NatLiterals
。理想情况下,您知道该理论在哪里宣布。
理论上,您也可以 control-click 常量,但由于我不了解的原因,目前它不起作用。
假设我记得一个常数或理论名称,但完全忘记了它在哪里声明。也许,我什至不知道它是在哪个 MMT 档案中声明的。我怎样才能找到源文件?
我可以只打开 MMT shell,加载磁盘上的所有存档,然后发出一些命令 find_constant <constant name>
吗?有这样的命令吗?
这取决于你对你所寻求的声明点的了解:
如果你什么都不知道,也就是说,如果你甚至没有使用该东西的类型检查文件。
那么找出声明点的最简单方法就是用正则表达式搜索所有
*.mmt
文件。对于(类型化的)常量,使用<constant name>\s*?:
。它将匹配常量声明,后跟一些可选的空格和一个冒号。使用 Notepad++,这很容易做到。比如说,您想知道
congT
在哪里声明。那么你会做:您有一个类型检查 MMT 文件,其中使用了您要查找的内容。
然后使用 MMT IntelliJ plugin 及其文档树:首先对手头的文件进行类型检查,然后在 sidekick 中查找常量的出现:
激活 Navigate 选项在这里特别有用:有了它,您只需用鼠标单击您要查找其声明点的对象(此处例如
nat_lit
) 并立即在 sidekick 中显示它。这里,sidekick 显示nat_lit (?NatLiterals)
意味着常数在理论中定义NatLiterals
。理想情况下,您知道该理论在哪里宣布。理论上,您也可以 control-click 常量,但由于我不了解的原因,目前它不起作用。