Convert Ada to C/C++

In 1987 the U. S. Government mandated the use of the Ada programming language for all Department of Defense projects. The mandate was eventually lifted in 1997. The mandate resulted in hundreds of millions of lines of legacy Ada83 and Ada95 code written for thousands of projects, much of which are still being used in today’s military and commercial avionics systems. Most of these legacy Ada projects were developed from the early 1970s through the early 2000’s. Due to their age, many of these applications are in need of updating to add new functionalities or address issues caused by hardware obsolescence.

One way to protect the software investment is to convert the Ada applications to embedded C or C++ language and combine it with new development written in C/C++.    Ada-C/C++ Changer by MapuSoft makes this simple by providing a software tool that achieves this goal. Ada-C/C++ Changer converts Ada code to C/C++ code automatically without any need for human intervention.


MapuSoft’s Ada-C/C++ Changer Features :

  • Automatically convert Ada code to C++ and re-deploy your application.
  • Eliminate the need for a costly and tedious code re-write for extensive cost and time savings.
  • Error free tool that prevents mistakes made in the error prone task of a manual rewrite.
  • Supports conversion of Ada 83 and Ada 95 source code to ANSI C++ 03 output.
  • Preserves Ada comments, files structures and variable names for easier code maintenance. Converts Ada generics to C++ templates (In some cases, Ada generic can become a non-generic/non-template depending on original code).
  • Supports Ada tasking and rendezvous constructs. Supports Calendar, System, Unchecked_Conversion, Record Representation Clauses, Variant Records, Declare Block Statements, Ada Tick Functions, Renames (for packages, variables, records, and types), “use” for packages and types, Ada Strings, access (including access all, access procedure, nested subroutines).

Add-on tool features and re-factoring services :

  • Generate design documents of existing & new code. Transform Database and User-Interface implementation.
  • Remove dead or redundant code/data. Merge and consolidate duplicate code/data.
  • Reorganize and improve design in new code/data. Remove flaws in new code that originally existed in old .
  • Create reusable optimization/packaging/redistribution modules.
  • Integrate with modern parallel/multi processing and distributed/N-Tier operational environments.
  • Modernization of legacy systems to multi-tier architectures.
  • Modernization of flat file, hierarchical and legacy databases.
  • Modernization of legacy UI to web or other modern UI.
  • Re-factor to improve maintainability, security and performance.
  • Custom pattern-based changes. Migration to modern cloud architectures.
  • Testing & integration support solutions.
  • Extraction of business rules from legacy systems

Ada-C/C++ Modernization

Ada-C/C++ Changer converting Sudoku
Ada application to C++

​Comparison of Sudoku Ada & C++ code

Request Demo & Sample Conversion

Explore Products


OS Changer

Automated Code Changer

Supported OS and Hardware types

Try or Buy

Trial Software

Contact Sales

Installation Help

Get Support

Support Portal


Technical Data



News Room

Contact Us