ast_genericversion

Abstract Syntax Tree (AST) supporting 31 programming languages

This is a library defining a generic AST to factorize similar analysis on different programming languages (e.g., naming, semantic code highlighting, semgrep matching).

Right now this generic AST is mostly the factorized union of the ASTs of:

  • Python, Ruby, Lua, Julia, Elixir
  • Javascript, Typescript, Vue
  • PHP, Hack
  • Java, CSharp, Kotlin
  • C, C++
  • Go
  • Swift
  • OCaml, Scala, Rust
  • Clojure, Lisp, Scheme
  • R
  • Solidity
  • Bash, Docker
  • JSON, YAML, HCL, Jsonnet

This is a core library used by Semgrep but which can be of use in other projects. This AST is also specified using ATD and so can be leveraged from other programming languages such as Typescript, Java, Scala, and the other programming languages supported by atdgen.

AuthorYoann Padioleau <pad@r2c.dev>
LicenseLGPL-2.1-only
Published
Homepagehttps://semgrep.dev
Issue Trackerhttps://github.com/returntocorp/semgrep/issues
MaintainerYoann Padioleau <pad@r2c.dev>
Dependencies
Source [http] https://github.com/returntocorp/semgrep/releases/download/ast_generic_full_1.8.0/semgrep-full-1.12.0.tar.gz
md5=d72b17df65c5cea30701cdf25f186bca
sha512=b135affadcdeb892352ec269a8761e41d2b34383ee839b83855f9604983eae324732b76f1b2b8b305dfc06f1f8863dd32afe83528bf605daa910a3fc107474c5
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/ast_generic/ast_generic.1.8.0/opam
No package is dependent