2.antlr4开发(代码片段)

王小雷-多面手 王小雷-多面手     2022-12-03     330

关键词:

2.antlr4开发

上一篇:1.ANTLR4 helloworld基础开发与IDEA插件使用

获取源码

antlr4.7.2

1.通过MyHelloVisitor实现HelloVisitor

package wang.xiaolei.lei;

import org.antlr.v4.runtime.tree.ErrorNode;
import org.antlr.v4.runtime.tree.ParseTree;
import org.antlr.v4.runtime.tree.RuleNode;
import org.antlr.v4.runtime.tree.TerminalNode;

/**
 * 作者: wangxiaolei
 * 时间: 2019/12/12
 * 微信公众号:从入门到精通
 * 微信:chinesedream2
 */

public class MyHelloVisitor implements HelloVisitor 
    @Override
    public Object visitR(HelloParser.RContext ctx) 
        return null;
    

    @Override
    public Object visit(ParseTree tree) 
        return null;
    

    @Override
    public Object visitChildren(RuleNode node) 
        return null;
    

    @Override
    public Object visitTerminal(TerminalNode node) 
        return null;
    

    @Override
    public Object visitErrorNode(ErrorNode node) 
        return null;
    

2.编写main函数

package wang.xiaolei.lei;

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

/**
 * 作者: wangxiaolei
 * 时间: 2019/12/12
 * 微信公众号:从入门到精通
 * 微信:chinesedream2
 */

public class HelloMain 
    public static void main(String ...args) 

        CharStream input = CharStreams.fromString("hello\\tworld");

        // 构造词法分析器
        HelloLexer lexer=new HelloLexer(input);

        CommonTokenStream tokens = new CommonTokenStream(lexer);

        // 实例化解析器
        HelloParser parser = new HelloParser(tokens);

        ParseTree tree = parser.r();

        MyHelloVisitor myHelloVisitor = new MyHelloVisitor();

        myHelloVisitor.visit(tree);

    

运行 HelloMain

3.如果改变输入如 hell\\tworld就会检测出问题


上一篇:1.ANTLR4 helloworld基础开发与IDEA插件使用

获取源码

2.antlr4开发(代码片段)

2.antlr4开发上一篇:1.ANTLR4helloworld基础开发与IDEA插件使用获取源码antlr4.7.21.通过MyHelloVisitor实现HelloVisitorpackagewang.xiaolei.lei;importorg.antlr.v4.runtime.tree.ErrorNode;importorg.antlr.v4.runtime.tree.ParseTree;importorg.antlr.v4.runtime.tree.RuleNode;importorg... 查看详情

1.antlr4helloworld基础开发与idea插件使用(代码片段)

1.ANTLR4helloworld基础开发与IDEA插件使用下一篇:2.antlr4开发获取源码无需antlr4任何安装,基于IDEA创建一个Java项目,开发antlr的helloworld,使用antlr插件测试规则。输入hello后,才算匹配,然后显示world内容。1.... 查看详情

1.antlr4helloworld基础开发与idea插件使用(代码片段)

1.ANTLR4helloworld基础开发与IDEA插件使用下一篇:2.antlr4开发获取源码无需antlr4任何安装,基于IDEA创建一个Java项目,开发antlr的helloworld,使用antlr插件测试规则。输入hello后,才算匹配,然后显示world内容。1.... 查看详情

markdownnodejs开发(代码片段)

查看详情

javajava-开发(代码片段)

查看详情

shubuntu开发(代码片段)

查看详情

markdownrustweb开发(代码片段)

查看详情

jsontypescriptvscode开发(代码片段)

查看详情

textreactnative开发命令(代码片段)

查看详情

markdown节点开发(代码片段)

查看详情

markdownwordpress开发笔记(代码片段)

查看详情

markdown开发资源(代码片段)

查看详情

rubyrails技巧-开发(代码片段)

查看详情

textweb开发资源(代码片段)

查看详情

markdown开发设置(代码片段)

查看详情

markdownhybridapp开发示例(代码片段)

查看详情

textshopify开发环境(代码片段)

查看详情

phpthinkphpapi开发辅助(代码片段)

查看详情