Corrode is an experimental translator that converts C code into Rust, intended to help migrate existing C codebases toward safer Rust idioms. It parses C, maps C types and constructs into Rust equivalents, and generates code that compiles under rustc, introducing unsafe only when necessary. The tool seeks to produce readable Rust that a developer can then refine by hand, rather than a perfect one-to-one mechanical translation. It handles common C features such as pointers, structs, enums, arrays, and function calls, while flagging areas that need attention during the migration. Preprocessor handling and tricky macro patterns are approached pragmatically, aiming for working output over exhaustive transformation. As a proof-of-concept, it demonstrates how automated tooling can accelerate moving from legacy C to a memory-safe language without a full rewrite.

Features

  • Parsing of C source code (AST)
  • Translation of C constructs (variables, functions, control flow) into Rust syntax
  • Handling pointer arithmetic, memory operations, and C idioms
  • Generation of Rust code preserving semantics
  • Tooling to assist in incremental porting rather than full rewrite
  • Ability to map C standard library constructs or external dependencies

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

GNU General Public License version 3.0 (GPLv3)

Follow Corrode

Corrode Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Corrode!

Additional Project Details

Programming Language

Haskell

Related Categories

Haskell Libraries

Registered

2025-09-26