dhscanner-ast: abstract syntax tree for multiple programming languages
The abstract ayntax tree (ast) aims to be a data structure able to represent multiple abstract syntax trees from various programming languages. Its main purpose is to serve as the first step for static code analysis, as part of the dhscanner framework for CI/CD container security checks. As part of that framework, it targets mostly languages used for cloud native applications: Python, Ruby, Php, Javascript, Typescript, Java and Golang. Typically, a file is first parsed with the corresponding native parser of the language it's written in (see Python's native parser for example). The native ast is then dumped (as JSON, or plain text) and sent to a Happy + Alex Haskell parser which accommodates the natively parsed content into the ast. Geared towards static code analysis, the ast design abstracts away details that are normally ignored anyway. For example, it does not distinguish between try and catch blocks, and models both of them as plain sequential code blocks. Every file has exactly one ast that represents it. Non Haskell parogrammers note: The ast is immutable (like everything else in Haskell ...)
Downloads
- dhscanner-ast-0.1.0.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3 |
---|---|
Dependencies | aeson (<2.3), base (<4.19), containers (<0.7) [details] |
License | GPL-3.0-only |
Copyright | (c) 2024 Oren Ish Shalom |
Author | OrenGitHub |
Maintainer | Oren Ish Shalom |
Category | parsing |
Home page | https://github.com/OrenGitHub/dhscanner |
Uploaded | by OrenHackage at 2024-08-25T10:14:37Z |
Distributions | NixOS:0.1.0.0 |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 106 total (13 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |