【问题标题】:How to use Xtend Template with a C hello World?如何在 C hello World 中使用 Xtend 模板?
【发布时间】:2015-07-21 09:54:53
【问题描述】:

我是一名新手 Java 程序员。我正在尝试了解 Xtend template 的工作原理。我读过这些模板可用于从简单的 C 程序生成 java 代码。有人可以告诉我如何将如下所示的这个简单的 C 程序转换为 Java 程序..

  #include<stdio.h>

  main()
  {
      printf("Hello World");
  }

Xtend 模板看起来像这样:

     def someHTML(String content) '''
  <html>
    <body>
      «content»
    </body>
  </html>
'''

C

【问题讨论】:

  • 你的问题有点不清楚。你想生成 C 代码,对吧?要生成 hello world 程序,您只需将其内容放入模板中,然后将其写入控制台(使用println)或将其写入文件。
  • @FranzBecker :非常感谢您的回复 :) hello world 就是一个例子。我真正的意思是我可以在 Xtend 上阅读更多信息的任何信息。由于官方文档没有很多示例。我想了解 Java tamplytes 的语法。你能推荐点什么吗?

标签: java c xtend


【解决方案1】:

一个简单的例子可能如下所示:

package com.example

class HelloWorld {

    def static void main(String[] args) {
        val instance = new HelloWorld
        println(instance.generateC)
    }

    def String generateC() '''
        #include<stdio.h>

        main()
            intf("Hello World");
        }
    '''

}

这会将生成代码打印到您的控制台。 也可以生成到文件中,例如:

def static void main(String[] args) {
    val instance = new HelloWorld
    val code = instance.generateC
    val file = new File("helloworld.c")
    Files.write(code, file, Charsets.UTF_8)
    println("Generated code to " + file.absolutePath)
}

官方文档可以在这里找到:https://eclipse.org/xtend/documentation/203_xtend_expressions.html#templates,还有一些关于这个主题的博客文章和 stackoverflow 问题。

您还可以在 Xtext 文档中找到信息,因为 Xtend 也用于代码生成,例如http://www.eclipse.org/Xtext/documentation/103_domainmodelnextsteps.html#tutorial-code-generation

【讨论】:

  • 再次感谢您。我尝试运行您的程序,但它给了我一个错误,说“选择不包含主要类型”。 :(
  • 如果您在 Eclipse IDE 中正确安装了 Xtend,您可以简单地选择“Run As - Java Application”。另一个带有屏幕截图的 stackoverflow 问题:stackoverflow.com/questions/16225177/… - 如果这能解决您的问题,请告诉我。
  • 该文件不是 src 文件的一部分,因此出现错误。再次感谢您:)
猜你喜欢
  • 2020-03-18
  • 2021-07-05
  • 2012-08-18
  • 2020-03-14
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 2019-10-04
相关资源
最近更新 更多