首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在“容器”中以不同的语言运行代码并访问每个变量吗?

我可以在“容器”中以不同的语言运行代码并访问每个变量吗?
EN

Stack Overflow用户
提问于 2021-12-12 01:09:45
回答 2查看 79关注 0票数 0

我知道这个问题听起来很蠢,但我无法正确地描述它。所以,这就是我所期待的。

代码语言:javascript
复制
 #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。这看起来像套接字,但我想完全控制每个容器,就像能够停止、恢复和读取内部状态一样。

EN

回答 2

Stack Overflow用户

发布于 2021-12-12 01:25:20

这里有一个想法:您可以在每个要连接的容器中运行本地服务器,在控制它们的Java程序中,您可以创建由语言类包装的进程,它可以使用Socket向服务器发送控制包。这也可以用来访问变量。见以下概念:

代码语言:javascript
复制
public abstract class Language {
    public Object getVariable(String variableName) {
        sendPacketToServer("get_variable " + variableName);
        return readResponse();
    }
}

注意:这使您的选择相当灵活,并允许远程控制程序。但是,如果您希望可以使用进程输入和输出流发送和接收数据。

票数 0
EN

Stack Overflow用户

发布于 2021-12-12 01:28:05

简短的答案是:

  • 理论上可以假设您可以为这种混合语言指定清晰的语义.

  • 在实践中,我知道没有像这样操作的混合语言。甚至远程都没有。

第一个(大的)问题是指定一种允许您在其中嵌入其他语言的语言,以及在嵌入式语言中定义的引用元素。语法和语义需要考虑到嵌入的所有语言的现有语法和语义。我想是很复杂。

第二个(大的)问题是实现它。

  • 您尝试为嵌入式语言使用现有的实现吗?框架语言如何控制嵌入式执行?它如何在适当的点停止执行并提取/注入值?

  • 您是否构建了在框架语言的“虚拟机”中运行的新实现(例如解释器)?性能是否可以接受?

这是个有趣的主意..。但最终的结果值得吗?是否有令人信服的用例?你有没有办法花几年的时间(从那些知道如何设计和实现语言的人那里)来看看它是否会起作用?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70320210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档