如何在 C hello World 中使用 Xtend 模板?
How to use Xtend Template with a C hello World?
我是新手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
一个简单的例子可能是这样的:
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 还有一些博客文章和关于此主题的 Whosebug 问题。
您还可以在 Xtext 文档中找到信息,因为 Xtend 也用于代码生成,例如http://www.eclipse.org/Xtext/documentation/103_domainmodelnextsteps.html#tutorial-code-generation
我是新手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
一个简单的例子可能是这样的:
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 还有一些博客文章和关于此主题的 Whosebug 问题。
您还可以在 Xtext 文档中找到信息,因为 Xtend 也用于代码生成,例如http://www.eclipse.org/Xtext/documentation/103_domainmodelnextsteps.html#tutorial-code-generation