List of Ada software and tools
Jump to navigation
Jump to search
This is a list of software and programming tools for the Ada programming language, including IDEs, compilers, libraries, verification and debugging tools, numerical and scientific computing libraries, and related projects.
Compilers
[edit | edit source]- GNAT — GCC Ada compiler and toolchain, maintained by AdaCore[1]
- AdaCore GNAT Pro — commercial Ada compiler with advanced tooling for high-integrity and real-time systems[2]
- Green Hills compiler for Ada — Ada compiler for embedded and safety-critical systems[3]
- ObjectAda — Ada development environment for safety-critical and embedded systems[4]
Integrated development environments (IDEs) and editors
[edit | edit source]- GNAT Studio — IDE developed by AdaCore[5]
- Emacs — supports Ada editing with Ada mode and syntax checking[6]
- Eclipse — supports Ada through GNATbench plugin[7][8]
- Visual Studio Code — Ada support via Ada Language Server extensions[9]
Libraries and frameworks
[edit | edit source]- See also: Ada Libraries on Wikibooks
- Ada.Calendar — date and time library
- Ada Web Services (AWS) — support for RESTful and SOAP web services[10][11]
- Ada.Text_IO — standard library for text input/output
- Florist (POSIX Ada binding) – open-source implementation of the POSIX Ada bindings
- GNAT – Ada compiler part of GCC, which also provides an extensive runtime and library package hierarchy.[12]
- GtkAda – Ada bindings for the GTK+ graphical user interface toolkit
- Matreshka – multipurpose Ada framework supporting Unicode, XML, JSON, and more.
- XML/Ada – XML and Unicode processing library
Real-time and embedded systems
[edit | edit source]- Ada tasking — built-in concurrency support with tasks, protected objects, and rendezvous.
- Ada.Real_Time — real-time clocks, delays, and scheduling.
- ARINC 653 Ada profiles — for avionics real-time applications[13]
- OpenMP Ada bindings — parallel programming for multi-core embedded systems[14]
- Ravenscar profile — subset of Ada tasking for real-time and deterministic execution[15]
Numerical and scientific computing
[edit | edit source]- Ada.Numerics — libraries for numerical methods, linear algebra, and mathematical functions.
- SPARK math libraries — formal-methods-compliant numerical routines[16]
Verification, debugging, and analysis
[edit | edit source]- GNATprove — formal verification and static analysis tool for Ada and SPARK[17]
- GNATstack — runtime stack analysis and checking[18]
- GNATcoverage — code coverage measurement for Ada projects[19]
- AdaControl — style checking and metrics for Ada[20]
Testing frameworks
[edit | edit source]Documentation and code generation
[edit | edit source]- GNATdoc — generates HTML documentation from Ada source code[23]
See also
[edit | edit source]- High-integrity software
- Lists of programming software development tools by language
- SPARK (programming language) — formally defined computer programming language based on the Ada language
- Wikibooks Ada Programming
External links
[edit | edit source]- AdaCore — GNAT, SPARK, and other Ada tools
- Ada Information Clearinghouse
- Awesome-Ada – GitHub list of Ada software and tools
- Free and open-source Ada tools
- GNAT / GCC Ada compiler
Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').
References
[edit | edit source]- ^ https://www.adacore.com/gnat
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ https://www.adacore.com/gnatbench
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).