abstract-syntax-tree

Open-source projects categorized as abstract-syntax-tree

Top 23 abstract-syntax-tree Open-Source Projects

  • JavaParser

    Java 1-17 Parser and Abstract Syntax Tree for Java with advanced analysis functionalities.

  • pyt

    A Static Analysis Tool for Detecting Security Vulnerabilities in Python Web Applications

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • rewrite

    Automated mass refactoring of source code.

  • Project mention: FLaNK Weekly 31 December 2023 | dev.to | 2023-12-31
  • Spoon

    Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.

  • Project mention: I introduced Rust at work | /r/rust | 2023-06-29

    Spoon

  • gumtree

    An awesome code differencing tool

  • Project mention: Pijul: Version-Control Post-Git • Goto 2023 | news.ycombinator.com | 2023-08-11

    I'm not familiar with Pijul, and haven't finished watching this presentation, but IME the problems with modern version control tools is that they still rely on comparing lines of plain text, something we've been doing for decades. Merge conflicts are an issue because our tools are agnostic about the actual content they're tracking.

    Instead, the tools should be smarter and work on the level of functions, classes, packages, sentences, paragraphs, or whatever primitive makes sense for the project and file that is being changed. In the case of code bases, they need to be aware of the language and the AST of the program. For binary files, they need to be aware of the file format and its binary structure. This would allow them to show actually meaningful diffs, and minimize the chances of conflicts, and of producing a corrupt file after an automatic merge.

    There has been some research in this area, and there are a few semantic diffing tools[1,2,3], but I'm not aware of this being widely used in any VCS.

    Nowadays, with all the machine learning advances, the ideal VCS should also use ML to understand the change at a deeper level, and maybe even suggest improvements. If AI can write code for me, it could surely understand what I'm trying to do, and help me so that version control is entirely hands-free, instead of having to fight with it, and be constantly aware of it, as I have to do now.

    I just finished watching the presentation, and Pijul seems like an iterative improvement over Git. Nothing jumped out at me like a killer feature that would make me want to give it a try. It might be because the author focuses too much on technical details, instead of taking a step back and rethinking what a modern VCS tool should look like today.

    [1]: https://semanticdiff.com/

    [2]: https://github.com/trailofbits/graphtage

    [3]: https://github.com/GumTreeDiff/gumtree

  • rickroll-lang

    The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming language. All of the keywords/statements are from Rick Astley's lyrics. Check our tutorial site, https://rick-lang.github.io/programming-language-explainer/

  • Project mention: The Rick Roll programming language | news.ycombinator.com | 2023-08-24
  • bnfc

    BNF Converter

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • react-scanner

    Extract React components and props usage from code.

  • Project mention: The Design System Ecosystem | news.ycombinator.com | 2023-09-23

    > has had any ability to tell me where, how often, or even whether a particular component is in use in the production UI

    I built a dashboard to display this for the design system I work on at my day job to give product designers better visibility into this, using a library called react-scanner[0] and some logic related to the way our different product repos are structured. there are probably other libraries for this sort of thing in different ecosystems, and you can always build your own with a parser as well.

    [0] https://github.com/moroshko/react-scanner

  • vermin

    Concurrently detect the minimum Python versions needed to run code

  • Project mention: Vermin: Concurrently detect the minimum Python versions needed to run code | news.ycombinator.com | 2024-01-12
  • pytago

    A source-to-source transpiler for Python to Go translation

  • fccf

    fccf: A command-line tool that quickly searches through C/C++ source code in a directory based on a search string and prints relevant code snippets that match the query.

  • vscode-blockman

    VSCode extension to highlight nested code blocks

  • react-ast

    render abstract syntax trees with react

  • error-prone-support

    Error Prone extensions: extra bug checkers and a large battery of Refaster rules.

  • astmaker

    Build Abstract Syntax Trees and tree-walking models quickly in Rust.

  • Project mention: Letlang — Roadblocks and how to overcome them - My programming language targeting Rust | /r/rust | 2023-06-07

    Rust is a very nice langage for implementing compilers, and has a nice ecosystem for it (logos, rust-peg, lalrpop, astmaker -- this one is mine --, etc...).

  • codeparser

    Parse Wolfram Language source code as abstract syntax trees (ASTs) or concrete syntax trees (CSTs)

  • Project mention: The Story Continues: Announcing Version 14 of Wolfram Language and Mathematica | news.ycombinator.com | 2024-01-12
  • bor

    User-friendly, tiny source code searcher written by pure Python. (by furkanonder)

  • Keval

    A Kotlin mini library for math expression string evaluation

  • ravi-compiler

    Parser and compiler for Ravi and Lua

  • relottie

    Lottie processor powered by plugins

  • Project mention: Show HN: DotLottie Player – A New Universal Lottie Player Built with Rust | news.ycombinator.com | 2024-04-04

    The current release supports >95% of the animations on our community contributed free animations library. No changes required! We open-sourced a tool called relottie ((https://github.com/LottieFiles/relottie) to detect unsupported features in a Lottie for this player (and other players) to help folks build a validation step in their CI/CD.

    We are making frequent contributions and releases on ThorVG and dotlottie-rs to get to 100% support!

  • semantic-analyzer-rs

    Semantic analyzer library for compilers written in Rust for semantic analysis of programming languages AST

  • Project mention: Custom Semantic Analyzer library written Rust lang | news.ycombinator.com | 2023-12-21
  • typeless

    an interpreter for λ-calculus implemented in ruby (by gurbaaz27)

  • jarvis

    JARVIS - Write me a codemod (by rajasegar)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

abstract-syntax-tree related posts

Index

What are some of the best open-source abstract-syntax-tree projects? This list will help you:

Project Stars
1 JavaParser 5,211
2 pyt 2,161
3 rewrite 1,819
4 Spoon 1,663
5 gumtree 857
6 rickroll-lang 736
7 bnfc 564
8 react-scanner 555
9 vermin 424
10 pytago 371
11 fccf 345
12 vscode-blockman 341
13 react-ast 311
14 error-prone-support 166
15 astmaker 119
16 codeparser 115
17 bor 107
18 Keval 99
19 ravi-compiler 63
20 relottie 38
21 semantic-analyzer-rs 32
22 typeless 17
23 jarvis 16

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com