gpt4 book ai didi

language-agnostic - 识别不同语言并将它们发送到相应编译器的编译器。可能的?

转载 作者:行者123 更新时间:2023-12-05 00:42:34 25 4
gpt4 key购买 nike

我在想是否有可能桥接asp.net、php和java以形成一个页面。

其实我现在不需要任何这样的东西。这只是一个让我印象深刻的想法,因为某些语言的某些特性很好,而某些特性或其他一些语言也很好,所以我在想如果我将所有这些特性结合在一起会怎样

我的意思是,我正在创建一个页面,其中包含来自所有 3 种语言 asp.net php 和 java 的代码。

<asp code></asp code>
<php code></php code>
<java code></java code>

或者
<html>
<asp code>
<php code></php code>
<java code></java code>
</asp code>
</html>

或类似的编译器识别不同的代码段并将它们发送到在其编译器上运行以执行。并且输出可以被其他语言以 XML 识别和使用

我并不是说所有语言都可以相互交互。虽然它们可以通过 XML 相互交互。但我只是想说文件被编译为具有不同编程语言代码的单个实体,这些代码被发送到各自的编译器以执行并最终返回到父编译器

我正在考虑一种可以开发的编译器,它可以识别不同语言的代码并将它们发送到他们的编译器,就像 .net 框架所做的那样,例如 MSIL

最佳答案

是否可以?

引用《辛普森一家》中的洛夫乔伊牧师的话,“简短的回答“否”,并带有“如果”。长句的回答"is",但带有“但是”。

,目前无法使用 如果 您使用当前可用的技术。

, 但是 它要求您启动自己的服务器,该服务器将充当 shim,拆分代码的不同部分并将它们发送到必要的语言解析器 + 编译器,然后将这些单独的部分重新组合在一起以显示页面。

编辑:
@Shantanu:我的荣幸。实现完全取决于你,因为我根本没有调查过这样的事情。

最终我觉得这不是最有成效的事情,因为您可能会遇到大量问题。

最大的是:
一种语言的代码不会知道其他语言正在做什么。

即,如果您在 ASP 中定义了一个变量,那么 Java 或 PHP 版本会毫不费力地意识到它,更不用说它们将完全无法从彼此的进程访问内存。

但是,如果您确实想走这条路,我建议您查看像 ANTLR 这样的解析器生成器。 .它将帮助您编写一个可以查找您的特殊标签的解析器(请注意,如果需要,这可以使用正则表达式或手动解析器来完成)。

获得拆分代码后,您将希望将其发送到每种语言的编译器,您应该能够从中接收文本输出。获得该文本后,它应该全部是 html + javascript,然后可以将它们组合在一起以显示页面。

我会说,如果你想让 3 种语言交互,你将创建一个巨大的项目。使用 .Net 框架并为它编写 PHP 和 JAVA(可能已经存在)语言可能更容易,允许您放弃创建整个服务器堆栈。

关于language-agnostic - 识别不同语言并将它们发送到相应编译器的编译器。可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2007762/

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