Show HN: I wrote a Java decompiler in pure C language

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
  1. garlic

    Android/Java decompiler written in C

    I am always curious how different C programs decide how to manage memory.

    In this case there are is a custom string library. Functions returned owned heap-allocated strings.

    However, I think there's a problem where static strings are used interchangably with heap-allocated strings, such as in the function `string class_simple_name(string full)` ( https://github.com/neocanable/garlic/blob/72357ddbcffdb75641... )

    Sometimes it returns a static string like `g_str_int` and sometimes a newly heap-allocated string, such as returned by `class_type_array_name(g_str_int, depth)`.

    Callers have no way to properly release the memory allocated by this function.

  2. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  3. jikespg

    Philippe Charles's LALR Parser Generator. It was used to build the Eclipse Java compiler, as well as many of IBM's product compilers.

    The "jikes" compiler from IBM <https://github.com/daveshields/jikespg> was written in C++ and was for the longest time screaming fast. It also had its own parser generator lpg which was fun to play with, if you're into those things <https://github.com/daveshields/jikespg>

    It seems someone liked it and made a "v2" along with LSP support https://github.com/A-LPG/LPG2#lpg2

  4. LPG2

    The LALR parser generator (LPG) is a tool for developing scanners and parsers. Supports multi-language . Input is specified by BNF rules. LPG supports backtracking (to resolve ambiguity), automatic AST generation and grammar inheritance.

    The "jikes" compiler from IBM <https://github.com/daveshields/jikespg> was written in C++ and was for the longest time screaming fast. It also had its own parser generator lpg which was fun to play with, if you're into those things <https://github.com/daveshields/jikespg>

    It seems someone liked it and made a "v2" along with LSP support https://github.com/A-LPG/LPG2#lpg2

  5. ladybird

    Truly independent web browser

  6. intellij-community

    IntelliJ IDEA Community Edition & IntelliJ Platform

    I don't think it's available in a standalone repo but it IS available as a standalone library, IntelliJ's FernFlower decompiler is the gold standard https://github.com/JetBrains/intellij-community/blob/master/... https://www.jetbrains.com/intellij-repository/releases

    I guess there's some history there that I'm not familiar with because JBoss also has a FernFlower decompiler library https://mvnrepository.com/artifact/org.jboss.windup.decompil...

  7. vineflower

    Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.

  8. ghidra

    Ghidra is a software reverse engineering (SRE) framework

    https://github.com/NationalSecurityAgency/ghidra/blob/Ghidra... (Apache 2)

  9. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • The Future of Crash Analysis: AI Meets WinDBG

    5 projects | news.ycombinator.com | 4 May 2025
  • Blender releases their Oscar winning version tool

    3 projects | news.ycombinator.com | 26 Mar 2025
  • Quadratic Python roadmap: building a spreadsheet developers love

    2 projects | dev.to | 10 Mar 2025
  • Spice86 – A PC emulator for real mode reverse engineering

    5 projects | news.ycombinator.com | 20 Feb 2025
  • Ghidra 11.3 has been released

    1 project | news.ycombinator.com | 6 Feb 2025

Did you know that Java is
the 8th most popular programming language
based on number of references?