Coder Social home page Coder Social logo

antlrastgenerator's Introduction

Antlr Java Ast Generator

https://github.com/githubjakob/AntlrAstGenerator

This projects generates an Abstract Syntax Tree (AST) from Java sourcecode, and produces a list of the names (types) of all the by performing a depth-first search.

Goal

Generate an AST from Sourcecode for various input languages using Antlr4.

Input languages (Grammars)

  • Java
  • JavaScript
  • C++
  • C
  • C#
  • Python

Dependencies

Generate AST using Antrl TestRig and Gui

java -jar antlr.jar Java8.g4 

javac -cp ./antlr.jar *.java

java -cp .:antlr.jar org.antlr.v4.gui.TestRig Java8 compilationUnit -gui Test.java

Status other languages

Other languages currently work with Antlr in the command line:

###Java8

java -jar antlr.jar Java8.g4

javac -cp ./antlr.jar *.java

StartRuleName: compilationUnit

https://github.com/antlr/grammars-v4/tree/master/java8

Generate the Lexer and Parser with

antlr4 -no-visitor -no-listener -package com.sense.antlrastgenerator.grammar.java8 Java8.g4

Python3

java -jar antlr.jar Python3.g4

javac -cp ./antlr.jar *.java

https://github.com/antlr/grammars-v4/blob/master/python3/Python3.g4

startRuleName: single_input

java -cp .:../antlr/antlr.jar org.antlr.v4.gui.TestRig Python3 single_input -gui Test.py

JavaScript

https://github.com/antlr/grammars-v4/tree/master/javascript

Download both Lexer and Parser g4

antlr4 JavaScriptParser.g4 antlr4 JavaScriptLexer.g4

download also the /java/JavaScriptBaseLexer.java and JavaScriptBaseParser.java

compile everything javac *.java

java -cp .:../../antlr/antlr.jar org.antlr.v4.gui.TestRig JavaScript program -gui Test.js

CPP

java -cp .:../../antlr/antlr.jar org.antlr.v4.gui.TestRig CPP14 translationunit -gui Test.cc

C

java -cp .:../../antlr/antlr.jar org.antlr.v4.gui.TestRig C compilationUnit -gui Test.c

CSharp

java -cp .:../../antlr/antlr.jar org.antlr.v4.gui.TestRig CSharp compilation_unit -gui Test.cs

antlrastgenerator's People

Watchers

James Cloos avatar Jakob Zanker avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.