antlr
grammar Sample;
options {
language = Java;
}
Hello: 'hello' Name EOF;
Name: [a-zA-Z]+;
import org.antlr.v4.runtime.ANTLRFileStream;
import org.antlr.v4.runtime.CommonTokenStream;
public class Main {
public static void main(String[] args) {
try {
ANTLRFileStream input = new ANTLRFileStream("input.txt");
SampleLexer lexer = new SampleLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
SampleParser parser = new SampleParser(tokens);
parser.hello();
} catch (Exception e) {
e.printStackTrace();
}
}
}
import org.stringtemplate.v4.ST;
import org.stringtemplate.v4.STGroup;
import org.stringtemplate.v4.STGroupFile;
STGroup group = new STGroupFile("template.st");
ST template = group.getInstanceOf("main");
template.add("name", "World");
String result = template.render();
System.out.println(result);