基于模板-代码生成器框架或工具

时间:2019-04-03 18:24:05

标签: java python node.js templates yeoman

摘要

根据模板需要生成代码,输出需要为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中可用的其他任何基于模板的代码生成器框架一样?

2 个答案:

答案 0 :(得分:1)

您应该看看基于模板文件的代码生成器。

例如Telosys,它基于Velocity模板引擎。 它非常简单易用。最重要的是,它可以生成任何类型的语言。

请参阅Java的模板示例: https://github.com/telosys-templates-v3/java-domain-T300

答案 1 :(得分:0)

您可以将ANTLR 4与StringTemplate或Velocity模板一起使用来实现此目的。 ANTLR将负责您的解析部分,您可以在模板中使用从ANTLR生成的字符串进行替换。