根据模板需要生成代码,输出需要为Java / DotNet代码
使用yeoman(https://yeoman.io/generators/)。创建一个Java-> Hello World代码生成器。
将字符串作为输入并将其映射到sysout中。
class HelloWorld {
public static void main(String args[]){
System.out.println("Hello World");
}
}
Yeoman模板代码
Template folder contains --> <className>Class.java.ejs
Input Args--> <className> , <message>
Input value --> HelloWorld, Welcome
class <%= className%>Class {
public static void main(String args[]){
System.out.println(<%= "message"%> );
}
}
输出: HelloWorldClass.java
基于输入,值将在模板中映射,最后映射。我将获得className.java类。
对于基于模板的代码生成器,发现的“ yeoman”框架将开发语言用作node.js。很好。
是否像Python,node或js中可用的其他任何基于模板的代码生成器框架一样?
答案 0 :(得分:1)
您应该看看基于模板文件的代码生成器。
例如Telosys,它基于Velocity模板引擎。 它非常简单易用。最重要的是,它可以生成任何类型的语言。
请参阅Java的模板示例: https://github.com/telosys-templates-v3/java-domain-T300
答案 1 :(得分:0)
您可以将ANTLR 4与StringTemplate或Velocity模板一起使用来实现此目的。 ANTLR将负责您的解析部分,您可以在模板中使用从ANTLR生成的字符串进行替换。