如何读取从JAVA ANTLR输入的文件? [关闭]

问题描述 投票:-1回答:2
我在使用Java Antlr读取文件时遇到问题。我从要使用文件读取器方法读取文件的字符串中读取数据]

String code_input1 = "import java.util.HashMap;\r\n" + "import java.util.Map;\r\n" + "\r\n" + "public class UserService {\r\n" + " public static Map < String, String > cache = new HashMap < > (); // GLOBAL VARIABLE\r\n" + " public static final String GLOBAL_USER_NAME = \"RAMESH\"; // GLOBAL VARIABLE\r\n" + " public static final int ID = 100; // GLOBAL VARIABLE\r\n" + "\r\n" + " public static Map < String, String > getCache() {\r\n" + " return cache;\r\n" + " }\r\n" + "\r\n" + " // Put data in global cache variable\r\n" + " public static void putCache(String key, String value) {\r\n" + " cache.put(key, value);\r\n" + " }\r\n" + "}"; Java9BaseListener listener1 = parse(code_input1);

java maven antlr filereader
2个回答
0
投票
您的代码应具有以下内容:

import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.CodePointCharStream; import com.itsallbinary.grammer.java9.Java9Lexer; import org.antlr.v4.runtime.CommonTokenStream; import com.itsallbinary.grammer.java9.Java9Parser; ... // Prepare lexer & parser CodePointCharStream inputStream = CharStreams.fromString(code_input1); Java9Lexer Java9Lexer = new Java9Lexer(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(java9Lexer); Java9Parser java9Parser = new Java9Parser(commonTokenStream); // Prepare parse tree ParseTree tree = java9Parser.compilationUnit();


0
投票
也许CharStreams.fromFile("filename")?示例:

CharStream chars = CharStreams.fromFile("input.txt); Lexer lexer = new SomeLexer(chars);...

© www.soinside.com 2019 - 2024. All rights reserved.