我想是否可以弥合asp.net,PHP和Java以形成单个页面。

其实我不需要任何这样的事情到现在为止。这只是一个想法,stiked我的脑海里一些语言的一些特点是好的,一些功能或一些其他语言都不错,所以我想如果我所有这些功能结合成一个

我的意思是,我米创建具有代码从所有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使用其它语言

I M不是说所有的语言来彼此交互。虽然他们可以通过XML互相交流。但是,我只是想说,该文件编译为具有被发送到各自的编译器得到执行和不同 - 不同的编程语言代码的单一实体最后返回回父编译

我想可以开发whcih识别不同语言的代码,并将其发送给自己的编译器,通过.NET框架如MSIL做一个编译器

有帮助吗?

解决方案

,可以吗?

引述辛普森牧师洛夫乔伊“有若龙答案是,有,但没有简单的答案。”

,它是目前不可能如果你使用现有的技术。

它需要你滚你自己的服务器,将作为一个垫片,分裂出来的代码的不同部分,并将它们发送到必要的语言解析器+编译器,然后将这些单独的部分回到一起,以显示该网页。

修改 @Shantanu:我的荣幸。因为我还没有这样的研究任何事情的实现完全留给你。

最后,我觉得这是不该做,你可能会遇到大量的问题,最有生产力的事情。

在最大感: 从一种语言的代码将不知道什么是其他语言正在做的概念。

即。如果你在你的ASP与价值观定义的变量时,Java或PHP版本将不知道它没有巨大的努力,更何况他们是完全无法从对方的过程来访问内存。

不过,如果你想沿着这条路走下去,我建议你看看像 ANTLR 。它会帮助你写一个解析器可以看看你的特殊的标记(注意,这可能是与正则表达式,或者如果需要的是手纺解析器完成)。

一旦你的拆分代码,你会想将它发送到编译器为每种语言,你应该能够从接收文本输出。一旦你的文字,应该是所有的HTML + JavaScript,然后可以组合到一起,以显示该网页。

我会说,如果你想拥有3种语言互动,您将创建一个巨大的工程。这可能是更容易使用.NET框架和编写PHP和Java(这可能已存在)为它的语言,让你放弃创建整个服务器堆栈。

其他提示

这不是,没有。为服务器侧脚本,将整个文件将被传递给每一个依次服务器(asp.net/php/java)的,我相信其它代码将导致分析错误。

它也将会是惨痛低效的。

虽然并不完全符合我认为你必须记住,这是简单的生成包含多重的客户端的语言的网页。简单地为脚本标签定义不同type属性,e.g:

<html>
    <script type="text/javascript">...</script>
    <script type="text/vbscript">...</script>
    <script type="text/someothersupportedscript">...</script>

    <body>
        ...
    </body>
</html>

如果,在另一方面,要生成从不同的语言在服务器端HTML - 嗯,当然,它的的可能的,但我不知道任何框架,这将使这很容易。关键是,几乎所有的页面生成的服务器端的库预计基于HTTP响应的内容,以形成一个完整的HTML页面。

去这个最简单的方法可能是指定一种语言作为你的“主”,有一个实际生成的网页 - 然后把它做出最终提供的页面被其他所产生的部分外部呼叫语言(与逻辑一起将它们拼接一起)。这些呼叫可能是直接的过程调用中,RMI与包装纸,web服务调用(本地或远程主机),等等。

不过 - 我真的不知道为什么你会想这样做。 : - )

ESI

http://www.akamai.com/html/support/esi.html

从本质上讲页面在一系列砖建成。甲骨文实现该在其产品的WebCache,但它会被simlpe足够写自己的分析器。

下进行。

我认为一个新的编译器必须被设计成一些标签的基础

在识别不同的源代码

<aspX> - 意味着asp.net结果 <php> - 意味着PHP的结果 <C#X> - C#代码结果

这样 当这个编译器看到这个代码

应该相应代码发送给它的编译器。

例如

<aspX>
<asp: Textbox....../>
<C#X>
xyz=abc();
</C#X>
</asp>

类似的东西

我已经使用AJAX混合语言。它可能是有意义的,你的情况,但您没有提供足够的细节。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top