Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从Antlr4语法在控制台上打印内容_Java_Intellij Idea_Antlr4 - Fatal编程技术网

Java 如何从Antlr4语法在控制台上打印内容

Java 如何从Antlr4语法在控制台上打印内容,java,intellij-idea,antlr4,Java,Intellij Idea,Antlr4,实际上,我想在Antlr语法中使用一个静态java类,比如从该类中获取一个值,然后仅使用语法在控制台上打印。有办法吗? 比如说 parse : block EOF ; block : System.out.println(javaClass.getValue()) 嵌入式代码在ANTLR中称为“操作”: 换言之,请执行以下操作: grammar T; @header { // Code will be placed outside the parser class static

实际上,我想在Antlr语法中使用一个静态java类,比如从该类中获取一个值,然后仅使用语法在控制台上打印。有办法吗? 比如说

parse
 : block EOF
 ;

block
: System.out.println(javaClass.getValue())
嵌入式代码在ANTLR中称为“操作”:

换言之,请执行以下操作:

grammar T;

@header {
  // Code will be placed outside the parser class
  static class JavaClass {
    public String getValue() {
      return "TODO";
    }
  }
}

@members {
  // Code will be placed inside the parser class
  private final JavaClass javaClass = new JavaClass();
}

parse
 : block EOF
 ;

block
 : stat+ {System.out.println(javaClass.getValue());}
 ;

stat
 : ...
 ;