gpt4 book ai didi

java - 确定 'Compile Order'

转载 作者:行者123 更新时间:2023-12-01 15:54:30 25 4
gpt4 key购买 nike

我正在尝试确定在文本文件中列出函数的编译顺序。你为什么问?我们在工作中使用业务规则管理语言 IDE,该语言在远程虚拟机上运行速度非常慢。我正在寻找一种从 Java 应用程序编译代码的方法。

我已经有一个 Java 应用程序,可以将所有函数和其他所需文件(代码、函数名称等)读入内存。我希望能够在我的应用程序中包含一种方法来确定需要编译函数的顺序。

例如:

function B() {
//Do Stuff
}

Integer globalVariable = 0;

function A() {
globalVariable = 1337;
B();
}

函数 B 必须在函数 A 之前声明。我希望能够扫描每个函数并看到“函数 A 调用 B”,因此 B 必须在 A 之前声明。全局变量也是如此(是的,语言我们正在使用 has Globals),因此 globalVariable 必须在使用它的函数之前声明。

谢谢!

最佳答案

解决此类问题的一种方法是将其表示为有向无环图,其中每个函数(或全局变量)是图的一个节点,图的边表示依赖关系。因此,您的示例将具有节点“A”、“B”和“globalVariable”,以及边“A->B”和“A->globalVariable”。

然后,您想要的顺序可以通过执行 Topological sort 来计算在图表上。

关于java - 确定 'Compile Order',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5359665/

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