Awesome
Awesome AST#
A curated list of tools for Abstract Syntax Tree processing.
Contents
#Specific Languages
<!--- * [R](#) -->Bash
https://github.com/idank/bashlex
C/C++
http://clang.llvm.org/docs/LibASTMatchersReference.html? http://stackoverflow.com/questions/18560019/how-to-view-clang-ast
clang -emit-ast hello.c #binary output to hello.ast
clang-check -ast-dump hello.c
CSharp
CSV
English
Excel
Haskell
haskell-tools-ast haskell-src-exts GHC API GHC tutorial ghc-dump-tree ghc-viz prof2dot Glance
Generic
Atomist rug ANTLR ANTLR command line
Treetop Tree Sitter Tree Sitter Talk
Gramtest BNF generator Rubular Ruby Regexp Mr Data Converter CSV,JSON,Excel,..
Hammer secure parser generator Parsing Expression Grammar Template Library
Go
Java
javaparser Apache Commons-lang
JetBrains JDKLangTools JetBrains uast JetBrains IntelliJ JetBrains IntelliJ Plugin HOWTO
Javascript
ESPrima uglifyjs parser Babel Recast
JSON
Python
Ruby
ruby --dump parsetree foo.rb
ruby --dump insns foo.rb
RubyVM::InstructionSequence
Scala
SMT-LIB
smt-lib (Haskell) sbv (Haskell) smt-kit nsolv ddsmt
SQL
https://github.com/codeschool/sqlite-parser https://github.com/lfittl/pg_query
XML/HTML
nokogiri xslt
Talks
Polyhedral Analysis Hiking Through The Javascript Forest The Hidden Benefits of Static Analysis ASTs for Beginners