我知道这个问题听起来很蠢,但我无法正确地描述它。所以,这就是我所期待的。
#This is some programming language.
java_file = new Java()#creates a temp java named java_file which will be interpreted when this program runs.
py_file = new Python()#creates a temp py file
java_file{
/*The usual class declaration*/
x=6
}
x=java_file.get(x)#this variable is of the hypothetical language.
py_file{
print(MAIN.x)#MAIN.x refers to the previous defined value.
}我正在考虑一种编程语言,它通过在一个单独的容器中运行每个语言来支持所有的语言,那么有什么方法可以做到吗?最好使用Java。这看起来像套接字,但我想完全控制每个容器,就像能够停止、恢复和读取内部状态一样。
发布于 2021-12-12 01:25:20
这里有一个想法:您可以在每个要连接的容器中运行本地服务器,在控制它们的Java程序中,您可以创建由语言类包装的进程,它可以使用Socket向服务器发送控制包。这也可以用来访问变量。见以下概念:
public abstract class Language {
public Object getVariable(String variableName) {
sendPacketToServer("get_variable " + variableName);
return readResponse();
}
}注意:这使您的选择相当灵活,并允许远程控制程序。但是,如果您希望可以使用进程输入和输出流发送和接收数据。
发布于 2021-12-12 01:28:05
简短的答案是:
第一个(大的)问题是指定一种允许您在其中嵌入其他语言的语言,以及在嵌入式语言中定义的引用元素。语法和语义需要考虑到嵌入的所有语言的现有语法和语义。我想是很复杂。
第二个(大的)问题是实现它。
这是个有趣的主意..。但最终的结果值得吗?是否有令人信服的用例?你有没有办法花几年的时间(从那些知道如何设计和实现语言的人那里)来看看它是否会起作用?
https://stackoverflow.com/questions/70320210
复制相似问题