• Build Antlr4 projects with eclipse java project template.


    from:https://shijinglu.wordpress.com/2015/01/22/build-antlr4-projects-with-eclipse-java-project-template/

    Before taking any action, remember to install antlr4 plugin for eclipse, it can be easily found from “Eclipse Marketplace”.
    1. Create an antlr4 project. This will create an simple “Hello” antlr4 project.

    word-image

    word-image
    2. Add java project facet to the project.

    word-image

    word-image

    word-image

    3. Eclipse will automatically rebuild the project, see messages in the Console, pay attention to the default antlr-4.4-complete.jar path.

    word-image

    4. Or you can move the antlr4 jar file to your comfortable directory and add it the eclipse build path from therein.

    word-image

    word-image

    5. Add destination folder of generated java files to the project as source folder.

    word-image

    word-image

    6. Add some code to test this project, <>

    word-image

    word-image

    // 
    // import ANTLR's runtime libraries
    import org.antlr.v4.runtime.*;
    import org.antlr.v4.runtime.tree.*;
    public class HelloRunner {
    	public static void main( String[] args) throws Exception {
    		// create a CharStream that reads from standard input
    		ANTLRInputStream input = new ANTLRInputStream( System.in);
    		// create a lexer that feeds off of input CharStream
    		HelloLexer lexer = new HelloLexer(input);
    		// create a buffer of tokens pulled from the lexer
    		CommonTokenStream tokens = new CommonTokenStream(lexer);
    		// create a parser that feeds off the tokens buffer
    		HelloParser parser = new HelloParser(tokens);
    		ParseTree tree = parser.r(); // begin parsing at rule 'r'
    		System.out.println(tree.toStringTree(parser)); // print LISP-style tree
    	}
    }
    

    7. Runt this HelloRunner.java as java application

    word-image

    word-image

  • 相关阅读:
    函数节流和防抖
    记一次面试
    继承
    对象的几种创建方法
    对象的简单认识
    HTTP、HTTPS、SOCKS代理的概念(到底是什么意思?)
    Nginx 相关介绍(正向代理和反向代理区别)
    Markdown:怎么用?以及为什么要用Markdown?
    Google 凭什么要赔给 Oracle 88 亿?
    雷军:《我十年的程序员生涯》系列之三(失败的大学创业经历)
  • 原文地址:https://www.cnblogs.com/dfyz/p/4660754.html
Copyright © 2020-2023  润新知