dhscanner-ast: abstract syntax tree for multiple programming languages

[ gpl, library, parsing ] [ Propose Tags ]

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

Maintainer's Corner

Package maintainers

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 70 total (56 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]