【问题标题】:Is it possible to have a java program in eclipse to compile other languages than java?是否有可能在eclipse中有一个java程序来编译java以外的其他语言?
【发布时间】:2013-02-01 09:31:29
【问题描述】:

我目前正在处理一个需要编译文件并对发现的错误(语法)进行诊断的项目。我已经能够让程序适用于 .java 文件。现在我必须对 .java 以外的文件(例如:.py 文件)做同样的事情,并将它与我当前的程序集成。我做了一些研究,发现 eclipse 可以支持 20 多种语言,并且可以下载插件。我不知道我是否可以调用“编译器”(python 的示例)并获得 .py 文件中发现的语法错误的诊断。我应该寻找语言的 bnf 吗?

【问题讨论】:

标签: java eclipse compiler-construction bnf ebnf


【解决方案1】:

如果我对你的理解正确的话,你想要的是从你的 Java 程序“内部”编译 python 代码。

如果是这种情况,快速响应可能是使用 Runtime Java 类启动编译器。

这里有一个很好的答案: getting output from executing a command line program

如果您想要从 Eclipse 运行编译器,正如您已经知道的那样,PyDev 是一个不错的选择。

除了你可以通过这种方式在eclipse中配置任何外部工具之外,这是一个为windows系统配置命令行的例子:

要在 Eclipse 中使用命令行控制台,只需按照以下步骤操作:

  1. 转到菜单运行->外部工具->外部工具...
  2. 在“配置”(左)列中选择程序
  3. 按新建按钮(或右键单击 -> 新建)
  4. 在名称编辑框中输入此工具的名称(此名称将出现在运行->外部工具菜单中)
  5. 在该位置添加 C:\WINNT\system32\cmd.exe *
  6. 在工作区目录中添加 ${resource_loc}
  7. 按下关闭按钮

【讨论】:

    【解决方案2】:

    当然可以。我正在使用PyDev,它可以做所有事情(语法高亮、调试,甚至是一些重构),而且你只需要高亮语法错误。在 Eclipse 下使用 Python 开发时,无需手动运行命令行工具。

    【讨论】:

    • 我的程序需要将一个 python 文件(很可能包含语法错误)作为输入,然后在控制台上打印语法错误。我需要对错误进行一些处理,这就是为什么我需要一种方法将它们打印出来。在我调用编译器的代码段中:CompilationTask task = compiler.getTask(null, fileManager, listener, null, null , 文件对象);布尔结果 = task.call();
    • 我不知道是否可以从java程序中调用python的编译器。有人告诉我“bnf for python”会有所帮助。
    • 您可以在项目设置下查看 Eclipse 构建器。构建器可以是在构建期间运行的任何程序,并且可以生成自定义输出,例如错误日志。您可以将构建器配置为在更改特定文件夹或特定文件时运行。然而,一般来说,使用 GUI 来获取文件中的错误列表似乎有点过头了。
    猜你喜欢
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    相关资源
    最近更新 更多