小编Sha*_*rkJ的帖子

将 ANTLRInputStream 转换为 CharStream

我有一个基于 antlr4 的项目,其主类包含以下代码:

    package com.progur.langtutorial;

import java.io.FileInputStream;
import java.io.IOException;


import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.CommonTokenStream;

public class Main {

    @SuppressWarnings("deprecation")
    public static void main(String[] args) {
        try {
            ANTLRInputStream input = new ANTLRInputStream(
                    new FileInputStream(args[0]));  

            GYOOLexer lexer = new GYOOLexer(input);
            GYOOParser parser = new GYOOParser(new CommonTokenStream(lexer));
            parser.addParseListener(new MyListener());

            // Start parsing
            parser.program(); 
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

但是,由于 ANTLRInputStream 已被弃用,我需要使用 CharStream 代替。但是,当我尝试使用 CharStream 时,我无法继续前进,

CharStream input = new ANTLRInputStream(
            new FileInputStream(args[0]));
Run Code Online (Sandbox Code Playgroud)

这是因为我不知道如何替换“=”号之后的语句部分。我尝试过CharStreams.fromFileName(new FileInputStream(args[0]));,但 Eclipse …

java antlr4

1
推荐指数
1
解决办法
3099
查看次数

标签 统计

antlr4 ×1

java ×1