ANLTR4:解析整数和浮点数
创始人
2024-11-03 08:30:36
0

import anltr4.*;

public class MyListener extends ANTLRBaseListener { @Override public void enterInteger(ANTLRParser.IntegerContext ctx) { int value = Integer.parseInt(ctx.getText()); System.out.println("Integer value: " + value); }

@Override
public void enterFloat(ANTLRParser.FloatContext ctx) {
    float value = Float.parseFloat(ctx.getText());
    System.out.println("Float value: " + value);
}

}

public class Main { public static void main(String[] args) { String input = "1234 3.14"; ANTLRInputStream inputStream = new ANTLRInputStream(input); ANTLRLexer lexer = new ANTLRLexer(inputStream); CommonTokenStream tokenStream = new CommonTokenStream(lexer); ANTLRParser parser = new ANTLRParser(tokenStream); ParseTreeWalker walker = new ParseTreeWalker(); MyListener listener = new MyListener(); walker.walk(listener, parser.number()); } }


注意:上述代码示例假定已经定义了 `ANTLRParser` 和 `ANTLRLexer` 类来处理整数和浮点数的语法规则。请根据实际情况替换为正确的类名。

在示例中,我们创建了一个 `MyListener` 类,继承自 `ANTLRBaseListener`,并重写了 `enterInteger` 和 `enterFloat` 方法来处理整数和浮点数的解析结果。然后,在 `Main` 类中,我们创建了必要的输入流、词法分析器、语法分析器等对象,并使用 `ParseTreeWalker` 类来遍历语法树,并将 `MyListener` 实例传递给 `walk` 方法来触发相应的解析方法。

最后,我们运行 `Main` 类,输入字符串 "1234 3.14",程序将解析出整数值和浮点数值,并打印出结果。

相关内容

热门资讯

辅助透视!poker mast... 辅助透视!poker master辅助,fishpoker透视底牌(透视)果然是真的有辅助教程(哔哩...
揭露透视!大菠萝手游辅助,哈糖... 您好,哈糖大菠萝辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩...
开挂透视!约局吧德州透视,po... 开挂透视!约局吧德州透视,pokerrrr2辅助(透视)真是真的有辅助教程(哔哩哔哩)1、许多玩家不...
总结透视!newpoker脚本... 总结透视!newpoker脚本,智星德州插件最新版本更新内容详解(透视)本来一直都是有辅助插件(哔哩...
了解透视!哈糖大菠萝挂法,拱趴... 了解透视!哈糖大菠萝挂法,拱趴大菠萝万能辅助器(透视)本来是有辅助攻略(哔哩哔哩)拱趴大菠萝万能辅助...
辅助透视!sohoo辅助,po... 辅助透视!sohoo辅助,pokemmo脚本辅助(透视)都是一直都是有辅助攻略(哔哩哔哩)亲,关键说...
教你透视!德州辅助工具到底怎么... 教你透视!德州辅助工具到底怎么样,菠萝德普辅助器免费版在哪里(透视)都是一直都是有辅助技巧(哔哩哔哩...
有挂透视!pokemomo辅助... 有挂透视!pokemomo辅助工具,德州真人透视脚本(透视)果然真的有辅助方法(哔哩哔哩)1、很好的...
专业透视!pokerworld... 专业透视!pokerworld软件,epoker免费透视脚本(透视)都是一直总是有辅助方法(哔哩哔哩...
总结透视!sohoopoker... 总结透视!sohoopoker辅助,pokemmo辅助官网(透视)切实一直都是有辅助app(哔哩哔哩...