このページの内容

Awesome Ada

Adaを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

Click to expand
  1. 概要
  2. 教育
    1. 入門
    2. チュートリアル
    3. オンライン書籍
    4. 書籍
    5. 専門分野
    6. リファレンス
  3. コミュニティ
    1. 質問と回答
    2. ニュースと資料
    3. コンテスト
  4. コンパイラー
    1. オープンソース
    2. 商用/オープンソース
    3. 商用/クローズドソース
    4. オンライン
  5. 編集環境
    1. 統合開発環境
    2. エディター
    3. テキストモード
    4. VS Code拡張
  6. デプロイ
    1. ビルドとパッケージ
    2. 継続的インテグレーション
  7. ランタイム
  8. OSとカーネル
  9. ゲーム
  10. フレームワーク
    1. コンポーネント
    2. 分散処理
    3. GUI
    4. TUI
    5. 3D
    6. データベース
    7. Web
    8. 単体テストとテスト
    9. ログ
    10. 機械学習
    11. 自動化
  11. ツール
    1. DevOps
    2. 検証
    3. 生成
    4. UML
    5. 暗号化
  12. ライブラリ
    1. 数学
    2. 科学計算
    3. アルゴリズム・コンテナー・プロトコル
    4. 暗号
    5. 圧縮
    6. パターン
    7. システムモデリング
    8. パーサー・スキャナー・リンター・解析器・インタープリター・整形器
    9. 形式の読み書き・検査
    10. ネットワークと通信ミドルウェア
    11. チャットと通信
    12. Web
    13. グラフィックスとマルチメディア
    14. 汎用計算
    15. 音声
    16. ローカライズ
    17. ユーティリティ
    18. ロボティクス
    19. LinuxとPOSIX
    20. Windowsと.NET
    21. 他言語バインディング
  13. ハードウェアと組み込み
    1. フレームワーク
    2. ファームウェア
    3. ドライバー
    4. コントローラー
    5. 通信
    6. ライブラリ
    7. アプリケーション
    8. 生成ツール
  14. アプリケーション
    1. オフィス
    2. メール
    3. Web
    4. マルチメディア
    5. 自動化
    6. シミュレーション
    7. 生成・変換ツール
    8. シェル・インタープリター・エミュレーター
    9. プログラミング言語
    10. その他

概要

教育

入門

  • learn - インタラクティブな学習プラットフォームで、AdaとSPARKのプログラミング言語を学ぶためのもの。
  • ada-lang-io - Adaのコミュニティサイト。
  • celebrating-ada - Adaの歴史における重要な出来事。
  • ada-logo-editor - Adaの「ホライズン」ロゴ作成サイト。

チュートリアル

  • adacore-video-tutorials - AdaCore大学のビデオチュートリアル。
  • ada-crash-course - ブランチ技術学院によるAda2012の50ページ未満のコース。
  • simple-games - シンプルなゲームを書くことでAda2012を学ぶ。
  • spark-by-example - SPARKにおける検証済みの関数とデータ型のコレクション。

オンライン書籍

  • ada-wikibook - ウィキブック上のAdaプログラミング書。
  • ada-distilled - Ada 2005向けの『Ada Distilled』。
  • ada-craft - Ada95:オブジェクト指向プログラミングの技術。
  • ada-cpp-java - C++またはJava開発者向けのAda。
  • spark-guidance - SPARKの導入に関する実装ガイド。
  • ada-safe-secure - 安全で信頼できるソフトウェア。Ada2012への招待。
  • ada-95-tutorial - Ada95の初心者から上級者までをカバーした書籍で、ソースファイルも含む。

書籍

Programming in Ada 2022 - Comprehensive.
Programming in Ada 2012 with a Preview of Ada 2022 (2nd ed.) - Comprehensive.
Programming in Ada 2012 - Comprehensive.
Beginning Ada Programming: From Novice to Professional - Introduction.
Ada 95: The Craft of Object-Oriented Programming - General, intermediate.
Ada Plus Data Structures: An Object Oriented Approach - Data Structures.
Ada for Software Engineers - Idioms, Architecture.
Concurrent and Real-Time Programming in Ada - Concurrency, Containers, Scheduling.
Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
Building Parallel, Embedded, and Real-Time Applications with Ada - Concurrency, Distributed.
Analysable Real-Time Systems: Programmed in Ada - Scheduling.
Building High Integrity Applications with SPARK - Formal verification.
Ada and SPARK on ARM Cortex-M - Embedded.

専門分野

  • gems - Ada・ジェム・アーカイブ。
  • ada-composition - 小さな便利なデモやサンプルコードのコレクションで、データの配置やプロジェクト構造をより良く設計するのに役立つ可能性がある。
  • ada-ic-learning - 追加の学習リソースについては、AdaICの学習セクションを参照。
  • ada-at-rosetta-code - Adaで実施されるプログラミングタスクとそのサンプルソリューションのコレクション。

リファレンス

  • iso-standard - 2022年のAda標準の改訂版、通常はAda2022と呼ばれる。
  • adalib - リファレンスマニュアルで定義された標準Adaライブラリ仕様
  • Ada 2022 Reference Card - Ada属性・アスペクト・パラグマおよび標準ライブラリのリファレンスカード/クイックリファレンス

コミュニティ

質問と回答

ニュースと資料

  • adacore-blog - AdaCoreエコシステムの洞察
  • ada-europe - Adaの普及を促進するための国際的な組織
  • acm-sig-ada - Adaに関する特別興味グループ
  • ada-resource-association - 1990年以降、Ada資源協会の主な使命は「Adaユーザーの継続的な成功を確保し、ソフトウェア業界におけるAdaの利用を促進すること」である
  • ada-information-clearinghouse - Adaプログラミング言語向けのニュースおよびリソース
  • ada-planet - Adaプログラミング言語世界からのニュースアグリゲーター (v3) (Ada-Planet v2 feed via Matrix).
  • adasearch - AdaおよびSPARKプログラミング言語に関連するあらゆる情報を検索できるカスタムサーチエンジン。他の同名トピックによる干渉なし

コンテスト

  • crate-of-the-year - 一般、SPARK、エムベディッドの3カテゴリにおける最優秀Alireのcrateに対する年次賞.

コンパイラー

オープンソース

GPL(リンク例外あり)

  • fsf-gnat - GNU Compiler Collectionの一部を構成するFree Software Foundation製Adaコンパイラー。Ada 2022、2012、2005、95、83の全バージョンに対応する。

MIT

  • hac - HAC Adaコンパイラ - 小規模で高速な、完全にAdaで構成されたAdaコンパイラ
  • byron - Adaコンパイラ、ツールチェーン、IDEシステムを構築するコミュニティプロジェクト

Apache License

  • augusta - Scalaで書かれ、LLVMをターゲットとするAdaコンパイラー。

商用/オープンソース

  • gnat-pro - GNAT Pro製品ラインは、Ada、C、C++向けに包括的なツールセット(IDE、デバッガー、ライブラリ、動的および静的解析ツール)を提供している.

商用/クローズドソース

  • janus-ada - Ada 83、Ada 95、Ada 2、Ada 2012の各バージョンにおける言語の主要機能をサポートするコンパイラ
  • object-ada - PTC ObjectAdaは、ネイティブおよびクロス開発ツールおよびランタイム環境を構成する広範なファミリです
  • apex-ada - PTC ApexAdaは、Adaおよび混合Ada/C/C++アプリケーション向けに業界で最も人気のある開発環境の一つです
  • greenhills-ada - グリーンヒルズソフトウェアは、リアルタイムターゲット向けに業界初の完全に検証されたAdaクロスコンパイラファミリを提供しています

オンライン

  • tutorials-point-ada-compiler - CodingGroundエンジンに基づくオンラインコンパイラ
  • jdoodle-ada-compiler - 複数バージョンのGNATをテストできるオンラインコンパイラ
  • compiler-explorer - ウェブブラウザからGNAT FSFコンパイラをインタラクティブに実行し、アセンブリとのインタラクションを提供します

GPL(リンク例外なし)

  • gnat-ce (discontinued) - GNAT Community版。フリーソフトウェア開発者、ホビイスト、学生向けのAdaCore GNATで、ランタイムライブラリはリンク例外なしのGPLv3。Ada 2012のみに対応する。

編集環境

統合開発環境

The GNAT Programming Studio

  • ada-visual - Visual Studio 2017におけるAda言語の統合.

エディター

  • lea - Ada向けの軽量エディタ。Adaプロジェクトの規模やレベルに関わらず、スクリプト世界のような「見た目と体験」を提供しつつ、GNATなどのフルスケール開発ツールへのアクセスを可能にする。LEAにはHAC、HACAdaコンパイラが含まれている.

テキストモード

  • gnu-emacs-ada-mode - GNUエムシスのAdaソース編集用のマジャーモード
  • vim-ada-bundle - 維持されているAdaバンドル:Vim/Neovim向けの完全なAdaモード
  • ada-tmbundle - TextMateでのAdaのサポート
  • bbedit-ada-module - BBEditでのAdaのサポート
  • ob-ada-spark - org-babelでのAda/SPARKのサポート:GNUエムシスおよびorgファイル内のソースコードブロックを評価
  • doom-ada - Doom EmacsのAda言語モジュール(文法ハイライト、LSP、Alireサポート付き)

VS Code拡張

デプロイ

ビルドとパッケージ

  • alire - 即時使用可能なAdaライブラリのカタログおよびコマンドラインツール(alr)を提供し、それらを自プロジェクトに取り込むことができます。これはRustのcargoまたはOCamlのopamに類似した役割を果たすことを目指しています
  • alr2appimage - Alireのパッケージから自動的にAppImage実行ファイルを作成するツール
  • aura - 統合されたビルドおよびソース/パッケージ管理ツールで、より手動のバージョニングアプローチを採用。alireおよびgprbuildの代替案。CI/CDパイプラインに最適化されています
  • gprbuild - Adacoreのマルチ言語ソフトウェアビルドツール
  • ravenadm - Ravenports (http://www.ravenports.com)の管理ツール
  • synth - 次世代D/Portsビルドツール(PortmasterおよびPortupgradeツールの代替)。
  • ada4cmake - CMakeマクロによるシンプルなGNATプロジェクトのインクルージョン。
  • cmake-ada-offa - CMakeにおけるAda言語のサポート。
  • cmake-ada-cho3 - Ada向けのCMake言語サポート。plplotのプラットフォーム対応コードのフォークである.
  • tada - Ada用の意見に基づいたパッケージ管理ツール。

継続的インテグレーション

  • continuous-verification - SPARKによる形式検証をTravis CIで自動化。
  • ada-actions - GitHub Actions用のGNATツールチェーン。
  • porion - ビルド、テスト、デプロイを自動化するための継続的統合サーバーとエージェント。

ランタイム

  • bb-runtimes - GNATのbare metalボードサポートパッケージ(BSP)。
  • avr-ada - GNATによる8ビットAVRマイコンのサポート。
  • ada-runtime - プラットフォームに適応可能な小型Adaランタイム。
  • cortex-gnat-rts - このパッケージは、Cortex-M0、M3、-M4、-M4Fマイコン向けのFreeRTOSベースのGNAT Adaランタイムシステム(RTS)を含む。
  • adawebpack - WebAssembly向けのGNAT RTLおよびWeb APIのバインディング。

OSとカーネル

  • m2os - 小型マイコン向けのシンプルタスクサポートを備えたRTOS。
  • marte-os - MaRTE OSは、埋め込みアプリケーション向けのハードリアルタイムオペレーティングシステムであり、Minimal Real-Time POSIX.13サブセットを採用している。マルチスレッドリアルタイムアプリケーションの開発に、使いやすく制御可能な環境を提供する。
  • muen - x86/6Tの高信頼向け分離カーネル。
  • ewok - マイコンおよび埋め込みシステム向けのマイクロカーネル。
  • bare-bones - osdev.orgの最小32ビットx86カーネルのAda版.
  • lovelace-os - Lovelaceは、Ada 2012言語を使ってUnix風オペレーティングシステムを書く試み。
  • ada-kalinda-os - Ada KALINDAは、Ada95で書かれたMac PlusのようなOS。
  • Straylight - Adaで開発されたシンプルなモノリシックRISC-Vオペレーティングシステム。
  • havk - SPARKを用いて開発中のx86-64セキュリティ焦点OS。
  • cubit - CuBitOSは、マルチプロセッサ、64ビット、(一部)形式的に検証された、一般用途のオペレーティングシステムで、現在はx86-6-4アーキテクチャ用です。
  • ironclad - 複数のアーキテクチャ向けのカーネルでPOSIX互換性を追求しており、いくつかのディストリビューション(例:Gloire)で使用されている.
  • hirtos - SPARK Adaで書かれた高信頼性のリアルタイムオペレーティングシステム。

ゲーム

  • steamsky - スカイにローグライクな設定を持つステンプンク作品。
  • unity-ada-tetris - Unityゲームエンジン向けのAdaで書かれたテトリス。
  • tictactoe - SPARK/Adaで書かれて形式的に証明されたティクタッカーのゲーム。
  • ada-gate - AdaGateは、スターゲート/ポータルファンタジー設定内の1人称3Dソコバンパズルゲームで、Windows、OS-XおよびLinuxに対応。
  • rufas-cube - RufasCubeは、Windows、OS-XおよびGNU Linux向けのパズルゲーム(ルビックキューブに見えるが、スライダーであり、ツイスターではない)。
  • ada-venture - AdaVentureは、子供向けのレトロポイント&クリックゲームで、マゼン、ドラゴン、バットおよびスネークが含まれる。
  • retro-arcade - Windows、OS-XおよびLinux上でターミナル内で実行されるスペースインベーダー、パックマン、フロッガーのゲーム。
  • world-cup-sokerban - これは、サッカーをテーマにした3Dソコバンパズルゲームで、Windows、Mac OS-XおよびGNU Linux上で実行可能。
  • pasta - 「マッチ3」ジャンルのゲーム。gnogaで実装されている.
  • buttons - シンプルなgtkadaボタンマニアゲーム。
  • mine-detector - 推測を要しない採掘ゲーム。
  • play-2048 - 人気のある2048ゲームのクローン。Adaで実装され、グラフィックスはasfml、状態の保存はada-tomlを使用している.
  • bingada - gtkadaによるビンゴアプリケーション。
  • civ-klon - シビリアン風のターンベース戦略ゲーム。asfmlが必要。
  • eepers - Adaで作成されたシンプルなターンベースゲーム(raylibで作成)。
  • gade - Adaで書かれたゲームボーイエミュレータライブラリ。
  • gade-sdl - Gade向けのSDL2ゲームボーイエミュレータのフロントエンド(SDLAdaを使用)。

フレームワーク

コンポーネント

  • simple-components - ASN.1、MQTTクライアントおよびサーバー/ブローカー実装、B木、複数接続TCPサーバー、チェビシェフ級数、ミューテックス、暗号化、オブジェクトおよびハンドル、二重連結ウェブとリスト、ODBCバインディング、ブラックボード(ロックフリー)、OpenSSLバインディング、ELV/eQ-3 MAX!クライアント実装、パーサー、イベント(基本、パルス、配列)、永続オブジェクトおよびハンドル、GNUTLSバインディング、永続ストレージおよびハンドル、グラフ(有向、重み付き、サイクルなし、木)、プール、HTTP実装、集合およびマップ、FIFO(ロックフリー)、SMTPクライアント実装、IEEE 754、SQLiteバインディング、プロセス間通信、スタック、Julia言語とのインターフェース、ストリーム、JSON、文字列編集、LDAP、テーブル(文字列のマップ)、MODBUSクライアント実装、無限配列。
  • ada-util - Java log4jフレームワークに近いログフレームワーク、プロパティサポート、XML/JSON/CSVのシリアル化/デシリアル化フレームワーク、AdaBeansフレームワーク、エンコード/デコードフレームワーク(Base16、Base64、SHA、HMAC-SHA)、ストリーム合成フレームワーク(原始、ファイル、バッファ、パイプ、ソケット)、複数の並列処理ツール(参照カウンタ、カウンタ、プール、FIFO、配列)、プロセスの作成およびパイプ、共有ライブラリのロードサポート(WindowsまたはUnix)、CURLまたはAWSに基づくHTTPクライアントライブラリ。
  • gnatcoll-core - これはGNAT Components Collectionのコアモジュールです。
  • gnatcoll-bindings - これはGNAT Components Collectionのバインディングモジュールです。
  • gnatcoll-db - これはGNAT Components CollectionのDBモジュールです。
  • gnatcoll-json - これはJSONインターフェースを書くために必要なヘルパーのセットで、AdaランタイムのほとんどのコンポーネントにJSONパーサーを含んでいます。
  • gneiss - コンポーネントベースシステム向けアプリケーションに使用できるインターフェースコレクション。簡単に移植可能でプラットフォーム依存性が低く、ada-runtimeと互換性がある.
  • lace - Adaで3Dシミュレーション、ゲーム、GUIを実現するためのAdaコンポーネントセット
  • asap - AURAパッケージ管理/ビルドツールとの使用に必要な一般ライブラリと厚いバインディング。TCP、TLS、HTTP、高性能JSONパーサー/ジェネレーター、および形式的に検証された(SPARK)UTF-8ストリームデコーダを含む

分散処理

  • poly-orb - PolyORBは、ミドルウェア標準を用いる場合の、分散アプリケーションの構築に統一されたソリューションを提供する。

GUI

  • gnoga - Ada向けのGNU Omnificent GUI。
  • gwindows - GNU Ada Visual Interface
  • claw - Microsoft Windows向けの高レベル、ポータブルなAda95バインディング
  • gtkada - Gtk3コンポーネントに基づくAdaグラフィカルツールキット
  • qt-ada - Ada-2012版のQt 6フレームワークへの移植
  • vtk-ada - Ada-2-012版のVTK 8.1(Visualization Toolkit)への移植
  • fltk-ada - Ada-2012版のFLTK(Fast Light Toolkit)へのバインディング
  • ada-gui - GUIを独自のタスク上で実装しているため、クライアントがコントロールスレッドを放棄する必要はない。gnogaから派生。
  • adawebui - adawebpackをベースとしたGUI。
  • imgui-ada - ImGuiライブラリへのAdaバインディング
  • anuklear - Nuklear GUIライブラリおよびNuklear-SDLレンダラーへのAdaバインディング

TUI

  • curses - 高度なUNIXテルミナルUIAdaバインディングパッケージ
  • ncurses-ada95 - ncursesへのAda95バインディング
  • linenoise-ada - Linenoiseラインエディットライブラリへのバインディング(UTF-8をサポートするようにパッチ済み)
  • areadline - readlineライブラリへのAdaバインディング

3D

  • globe-3d - 3D用のGLオブジェクトベースエンジン
  • engine-3d - DOS-talgics向けの3Dエンジン
  • ada-ogl - AdaOpenGLフレームワーク
  • ada-doom-3 - Id SoftwareのId-tech-4-BFGをAdaプログラミング言語で実現

データベース

  • ada-ado - Ada Database Objectsは、Ada05でデータベースにアクセスするためのオブジェクト指向マッピングを提供するAda05ライブラリ。このライブラリはPostgreSQL、MySQL、SQLiteをサポート。ADOの開発された大部分の概念はJava Hibernate ORMから来ている。
  • ada-base - AdaでMySQL、PostgreSQL、SQLiteへの厚いデータベースバインディング
  • apq-base - APQはAda95で書かれたデータベースインターフェースライブラリ

Web

  • aws - Ada Web ServerはAdaでWebアプリケーションを開発するための完全なフレームワーク

  • awa - Ada Web ApplicationはAda 2012でWebアプリケーションを構築するためのフレームワーク。このフレームワークは、多くのWebアプリケーションに共通するログイン、認証、ユーザー、権限、コメント、タグ、投票、ドキュメント、画像などのモジュールを提供する。

    • dynamo - HibernateのようなXML記述、YAMLドクメントモデル、UMLモデルからAda Webアプリケーションやデータベースマッピングを生成するコードジェネレーター
    • ada-wiki - Ada Wikiは、Wikiエンジンを提供する小さなライブラリ
    • ada-security - OAuth 2.0のクライアントおよびサーバーフレームワークでウェブアプリケーションを安全に実行
    • ada-el - このライブラリは、Javaの統一表現言語(EL)に近いシンプルな表現言語を提供する。
    • ada-asf - Ada Server Facesは、Java Server Faces(JSR 252、JSR 314、JSR 344を参照)と同じパターンでウェブアプリケーションを作成できるようにする。
    • ada-servlet - Ada Servletは、Java Servlet(JSR 154、JSR 315を参照)と同じパターンでウェブアプリケーションを作成できるようにする。
  • swagger-ada - Swagger codegen: OpenAPI Generatorは、OpenAPI Specが与えられた場合にAPIクライアントライブラリ、サーバースタブ、ドキュメントを自動生成するコードジェネレーター

  • ews - Embedded Web Serverは、GNAT Adaコンパイラを使用した埋め込みアプリケーション向けのウェブサーバー構成キット

  • matreshka - 情報システムを構成する5つの主要なコンポーネント(League、XMLプロセッサ、Webフレームワーク、SQLアクセス、モデリングフレームワーク)を持つ開発フレームワーク

単体テストとテスト

  • ahven - 単体テストとテストに関するAda/SPARKの実装、ツール、または資料です。 JUnitとAUnitの考え方を参考にした言語向けテストツールです。
  • aunit - Ada用のユニットテストフレームワーク
  • bbt - コマンドラインから実行可能ファイルの挙動をブラックボックスでチェックするためのシンプルなツール
  • gnatbdd - Adaにおける行動駆動開発(BDD)
  • scripted-testing - Tclスクリプトを使用した機能テストをサポート
  • testy - Adaのテストフレームワーク。Tadaの一部。

ログ

  • alog - Ada用のスタック可能なログ記録フレームワーク
  • elogs - 実行時エラーのない埋め込みシステム向けのログ記録フレームワーク

機械学習

  • fuzzyml - ファジィマシンラーニングフレームワーク。

自動化

  • aicwl - 高品質な工業制御ウィジェット設計に必要なパッケージのコレクション
  • ada-for-automation - A4Aは、Ada言語を使用して産業自動化アプリケーションを設計するためのフレームワークである

ツール

DevOps

  • septum - 大規模なソースコードベースを検索するためのインタラクティブな文脈ベースのテキスト検索ツール
  • powerjoular - 複数のプラットフォームおよびプロセスの電力消費を監視できるツール
  • mat - プログラム内のメモリ使用状況を理解するために設計されたシンプルなメモリ分析ツール

検証

  • gnat-coverage - GNATcoverageは、プログラムのカバレッジを分析および報告するツールである
  • adacontrol - Ada構文のlintツール
  • spark-2014 - SPARK形式検証ツールセット
  • acats - GCC向けにカスタマイズされたAda適合性評価テストセット
  • acats-grading - ACATS結果の評価ツール、Unix系システム向けに修正されたもの

生成

  • asn1scc - オープンソースのASN.1生成器:Ada型宣言およびエンコーダー/デコーダーを生成
  • ocarina - AADLモデルプロセッサ:Adaコードへのマッピング;ペトリネット;スケジューリングツール(MAST、Cheddar);WCET;REAL
  • fmt - フォーマルメソッドツールキットは、Mathematicaの拡張パッケージの一覧であり、モデリング、検証およびAdaコード生成に関連するソフトウェアエンジニアリング活動をサポート
  • automate - 有限状態マシン生成器
  • ajunitgen - Adaで生成されるJUnit互換XMLレポートの生成器
  • record-flux - RecordFlux:メッセージのフォーマルな指定と、SPARKで検証可能なバイナリパーサーおよびメッセージ生成器を生成するツールセット
  • resource-embedder - 高度なリソース埋め込みツール:C、AdaまたはGoソースファイルを生成してバイナリにファイルを埋め込む

UML

  • ada-ml - Ada向けUMLモデリング言語
  • coldframe - このツールはUMLモデルからAdaフレームワークコードおよびドキュメントを生成する
  • umbrello - KDE技術に基づいた統一モデリング言語(UML)図のプログラム。出力はAdaである

暗号化

  • ada-keystore - Ada Keystore - 敏感データを安全に保管できるようにする。

ライブラリ

数学

  • math-packages - Adaに記載された基本的な数学関数のコレクション
  • mathpaqs - Adaプログラミング言語で構成された、数学的な100%ポータブルなパッケージのコレクション。
  • mandelbrot-ascii - Mandelbrotレンダラー(「ASCII」(実際にはユニコードだが、テキストとして扱う)。
  • lalg - 高次元線形代数パッケージへのインターフェース。
  • geo-energy-math - Mathematical GeoEnergy(ウィリー、2018)で記述されたモデルを解くためのソフトウェアライブラリ。
  • matrix-root - 行列のN乗根を計算する。
  • hungarian - Stachnissによる高速なハンガリアン法ソルバーのAdaバインディング。

科学計算

  • si - チェック付きおよびチェックなしSI単位。
  • units-of-measurement - 測定単位を管理するためのライブラリで、次元チェックを実施。
  • si-units - 物理値を適切なメトリック単位で美しく出力するためのユーティリティライブラリ。

アルゴリズム・コンテナー・プロトコル

  • ada-language-server - AdacoreサーバーによるMicrosoft Language Protocol for AdaおよびSPARKの実装。

  • ada-lsp - Ada向けLanguage Server Protocol実装。

  • ada-lsp-client - LSPクライアントのプロトタイプ実装(Visual Studio 2017)。

  • ada-traits-containers - アルゴリズムおよびコンテナ用の汎用Adaライブラリ。

  • dequesterity - デック/バッファのジェネリックで、さまざまな組み合わせにより高次抽象バッファを作成できる構成ブロックを含む。

  • pragmarc - PragmAda S/W EngineeringによるPragmAda Reusable Components(PragmARCs)。

  • booch95 - Grady BoochのC++コンポーネントを移植したAda 95版Boochコンポーネント。

  • ada-id - UUIDを生成するためのシンプルなAdaライブラリ。

  • ada-ga - Ada用の遺伝的アルゴリズム実装。

  • ada-sodoku - スオドクグリッドの解決/検索を行うための小さなライブラリ。

  • sl3p - シンプルなレイヤー3プロトコル。

  • smart-pointers - 参照カウント付きアクセス型 Smart_Pointer を提供するパッケージ

  • hungarian-algorithm - Adaで実装されたハンガリアンアルゴリズム

  • nb-ada - NBAda : ロックフリーなデータ構造とアルゴリズムを備えたAdaのライブラリ

  • paraffin - マルチコアシステム向けの反復および再帰並列性を容易に実現するAda2012のジェネリクスセット

  • deepend - Ada2012、Ada2005、Ada95向けのサブプール機能を備えたストレージプール

  • charles - Ada95のコンテナライブラリ、Ada2005以降の標準コンテナの前身

  • simple-blockchain - Adaで実装されたシンプルなブロックチェーン

  • adagio - Gnutella2 (G2)ネットワークサーバーの葉ノード

  • agpl - Adaの汎用ライブラリ(補助ツールを含む、ロボット風の機能)

  • az3 - Z3に対するAdaのバインディング

  • chests - 埋め込みシステム向けの制限付きコンテナ

暗号

  • threefish - Threefish-256暗号アルゴリズムのAda実装
  • fletcher - Fletcher_16チェックサム計算アルゴリズムの簡易実装
  • base58-ada - Base58のエンコードおよびデコードをAdaで実現
  • ada-crypto-library - i386およびx86_64ハードウェアアーキテクチャ向けに、APIが良好な暗号ライブラリ
  • libsparkcrypto - SPARKで実装された暗号ライブラリ
  • sip-hash - SipHash PRFの純Ada実装
  • libkeccak - Keccakファミリのソープ関数および関連構造のSPARK実装
  • ascon-spark - Ascon認証暗号化アルゴリズム(追加データ付き)のAda/SPARK実装
  • spark-sip-hash - SipHash鍵付きハッシュ関数のAda/SPARK実装
  • spark-norx - NORXの認証暗号化および追加データアルゴリズムのAda/SPARK実装
  • spark-nacl - TweetNaCl暗号ライブラリのSPARK 2014再実装
  • stotp - SPARKによるタイムドメインワンタイムペーパー(RFC 6238)実装
  • xxhash-ada - 非常に高速な非暗号化ハッシュアルゴリズム、xxhashはRAM制限に近い速度で動作
  • libsodium-ada - 安全な暗号ライブラリ(Ada用libsodium)
  • ada-libsecret - libsecretライブラリのAdaバインディング
  • blake2s - BLAKE2sハッシュ関数のSPARK83実装

圧縮

  • zip-ada - ZIP圧縮アーカイブファイルフォーマットを扱うためのプログラミングライブラリ
  • ada-lzma - liblzma圧縮ライブラリのAdaバインディング
  • dcf-ada - Ada 2012のドキュメントコンテナファイル用のライブラリ(zip-adaに基づく)。

パターン

  • ada-promises - Adaにおけるプロミスの実装。型安全で、効率的かつスレッドセーフ
  • reqrep-task-pools - ジョブ用のタスクプールシステム
  • rxada - Ada 2012におけるRxメソッドの実装

システムモデリング

  • ada-fuzzy - Ada用のファジィ推論システムライブラリ
  • radalib - 複雑ネットワークの解析などに用いるAdaライブラリとツール

パーサー・スキャナー・リンター・解析器・インタープリター・整形器

  • libadalang - Adaコードのパースおよび意味論的解析を行うライブラリ。他のツール(IDE、静的解析ツールなど)への統合に用いるための基本ブロックとして設計されている
  • aflex-ayacc - Adaのスキャナおよびパーサー生成器
  • wisitoken - LALR、LR1、Packratパーサー生成器および実行時環境
  • gela - Adaコード分析ツール
  • anagram - 文法処理およびパーサー生成用Adaライブラリ
  • ada-pretty - Ada用のきれいな出力表示ライブラリ
  • increment - Adaにおけるインクリメンタル分析
  • parse-args - シンプルなコマンドライン引数解析
  • aforth - Adaで書かれた埋め込み型フォースインタープリターライブラリ
  • parser-tools - Adaで構築するリキーラー/パーサー用のツール
  • xia - AdaによるXPath 1.0の実装
  • ada-lisp-embedded - 埋め込み型LISPインタープリターライブラリ

形式の読み書き・検査

  • ini-files - Iniファイルマネージャーは、“ini”ファイルと呼ばれる各種設定ファイルから情報を読み取り、変更できるパッケージConfigを含む
  • protobuf-ada - Google Protocol Buffersに対するAdaによる実験的コード生成サポート
  • protobuf - matreshkaを使用したAdaによるGoogle Protocol Buffers実装。
  • ada-yaml - Adaによる実験的YAML 1.3実装
  • json-ada - Ada2012によるJSONパーサーライブラリ
  • jwx - SPARKによる形式的に検証されたJSONライブラリ
  • xmlada - XML/Adaツールキット
  • xml-ez-out - AdaプログラムからXMLを出力するためのライブラリ
  • spark-xml - SPARKによる形式的に検証されたXMLライブラリ
  • excel-writer - 基本フォーマットでExcelファイルを作成
  • generic-image-decoder - Ada用のマルチフォーマット画像デコーダライブラリ
  • ada-pdf-writer - Adaプログラムからテキスト、ベクターグラフィックス、画像(JPEG)を用いて簡単に自動的にPDFファイルを生成するAdaパッケージ
  • ada-midi - Midi/MidiFileの読み書きを実装
  • ada-bar-codes - Ada Bar Codesは、PDFやSVGなどのさまざまな出力フォーマットで1Dおよび2D(例:QRコード)のバーコードを生成するパッケージを提供
  • ada-bin2asc - さまざまなバイナリからASCIIへのコード化・デコード(例:Base64)
  • abf-io - アドアで構成されたアクセスルーチンのライブラリ(電気生理学、最も一般的)
  • ada-toml - Adaで構成されたTOMLパーサー
  • uri-ada - URIおよびMIMEのパーサーと操作ライブラリ
  • ada-libmagic - マジックナンバー認識ライブラリAdaバインディング(libmagic (3))

ネットワークと通信ミドルウェア

  • anet - Adaプログラミング言語向けのネットワークライブラリ
  • adhcp - Adaで実装されたDHCPプロトコル
  • adasockets - IPv4ソケットライブラリ(TCP、UDP、マルチキャスト)
  • dbus-ada - D_Bus/AdaライブラリはD-BusメッセージバスシステムへのAdaバインディングを提供します
  • zeromq-ada - ゼロMQ通信ライブラリへのバインディング
  • tomi-4-ada - さまざまなクライアント/サーバーおよびパブリッシュ/サブスクリプションメッセージプロトコル(AMQP、STOMPおよびゼロMQ)へのラッパー、テキストメッセージ通信にのみ焦点を当てています
  • mosquitto-ada - MQTTブローカーMosquittoへのバインディング
  • tlsada - libtls TLS/SSLライブラリへのバインディング
  • kafka-ada - C librdkafkaライブラリへのバインディング、Kafkaバスからの送受信を可能にします
  • adare-net - これは小型で移植性があり、使いやすいAdaネットワークライブラリです。IPv4、IPv6、UDP、TCPをサポートし、IPv6で「リスニング」することもできます
  • pcsc-ada - PCSC/AdaはPC/SCミドルウェアへのAdaの厚いバインディングを提供します。このライブラリにより、Adaで書かれたプログラムがスマートカードとSCard APIを使って通信できます
  • coap-spark - 形式的に検証されたCoAP(制約付きアプリケーションプロトコル)の実装

チャットと通信

  • axmpp - AXMPPライブラリを使用することで、Jabberサーバーに接続し、メッセージを送受信できます
  • weechat-ada - WeeChatプラグイン向けのAda2012ライブラリ
  • weechat-canberra - Ada2012で書かれたWeeChatプラグインで、Canberraを使用して音を再生します
  • weechat-emoji - Ada2012で書かれたWeeChatプラグインで、エモジを表示します

Web

グラフィックスとマルチメディア

  • opengl-ada - OpenGL および GLFW への厚い Ada バインディング
  • adagl - マルチプラットフォーム Ada/OpenGL バインディング(ネイティブ/OpenGL、A2JS/WebGL、WebAssembly/WebGL に移植)
  • sdlada - SDL 2 への Ada 2012 バインディング
  • ada-nanovg - NanoVG への Ada バインディング
  • free-type-ada - Ada 2005 への FreeType バインディング
  • asfml - シンプルで高速なマルチメディアライブラリへの Ada バインディング
  • plplot - マルチプラットフォームの科学的グラフィックスプロットライブラリ(Ada バインディングを含む)
  • vulkada - Ada 2012 への Vulkan 1.1 の厚いバインディング

汎用計算

  • cuda - AdaCore による CUDA(Compute Unified Device Architecture)のサポート
  • cuda-ada - CUDA/Ada は NVIDIA の CUDA パラレルコンピューティングプラットフォームおよびプログラミングモデルへの Ada バインディング
  • opencl-ada - OpenCL ホストAPI への Ada バインディング
  • boehmgc-ada - Boehm-Demers-Weiser の保守的ガベージコレクタへの Ada バインディング
  • ada-bfd - GNU Binutils BFD ライブラリへの Ada バインディング。ELF、COFF ファイルを GNU BFD を使って読み込むことができる。

音声

  • opus-ada - Opus 音声コーデックへの Ada 2012 バインディング

  • canberra-ada - libcanberra への Ada バインディング。XDG Sound Theme および Name Specifications の実装を提供する。

  • ada-soundio - libsoundio への Ada バインディング

  • oto - OpenAL への Ada バインディング。オリジナル API を模倣しつつ Ada の型を使用する。

  • coreland-openal-ada - OpenAL への Ada バインディング

  • ada-synthetizer - Ada で実装された音響合成ライブラリ

  • scala - 音の調律実験に用いられる強力なソフトウェアツール。正則整数調律スケール、等調律および歴史的調律、微調律およびマクロ調律スケール、および東洋諸国のスケールに対応。

  • portable-openal-sound - Adaアプリケーション向けのLinux音声再生パッケージ。音楽ループを非同期に開始・停止し、一時的な音を発生させることが可能。

  • adaogg - Ogg、Vorbis、TheoraライブラリをAda 2012プログラミング言語に導入する完全な薄いインターフェース層。

  • AdaTracker - MOD、XM、S3M、IT形式の音楽トラッカープレイヤー。SDL2を用いて音声出力とUI描画を行う。

ローカライズ

  • zanyblue - アプリケーションメッセージをプロパティファイルに外部化できるAdaパッケージ。
  • ada-intl - NLS薄いAdaバインディング(gettext(3)、textdomain(3)、bindtextdomain(及時))。

ユーティリティ

  • auto-counters - リソース管理における参照カウントアプローチ。
  • a-stream-tools - Ada2005およびAda2012向けのストリームユーティリティ。
  • ssprep - jinjaに類似した拡張可能なテンプレートエンジンだが、template-parserを使用し、コマンドライン用途に適している。
  • licensing - Ada向けオープンソースライセンスライブラリ。
  • simple-logging - Adaプログラムにおけるコンソール出力用の使いやすいログ機能。
  • rsfile - フォルダ階層からファイルを選択するコマンドラインツール。選択確率はファイルサイズに比例する。
  • cstrings - C文字列との相互作用を簡単に行うための補助サブプログラム。
  • cvsweb2git - Ada適合性評価機関が共有しているCVSリポジトリをGitリポジトリにインポートするツール。
  • ada-bundler - Adaアプリケーション内でデータおよび設定ファイルアクセスを透明に扱うためのライブラリおよびツール。macOS、Linux、Windowsに対応。
  • macos-sdks-vs-gcc - GCC ‘specs’ファイルを提供し、SDKポリシー変更に対応。
  • ux-strings - Unicode拡張文字列。
  • getopt-ada - getopt(3)のAdaでのポータブル実装。

ロボティクス

  • rclada - ROS2/RCL向けのAdaクライアントライブラリ。
  • player-ada - プレイヤーロボットプラットフォーム向けのAdaバインディング。

LinuxとPOSIX

  • florist - POSIX Adaバインディング、IEEE標準1003.5(b,c)。
  • florist-blady - フラーリストのフォークで、Alireのcrateとして利用可能なもの
  • wposix - AdaのWindows POSIXバインディング
  • ada-v4l2 - AdaのPOSIXバインディング(Video 4 Linux):RPI用
  • inotify-ada - Linuxのinotify APIを用いたファイルシステムイベント監視用Ada2012ライブラリ
  • dl-ada - libdlへの最小バインディング
  • suid-helper - より安全なsuidプログラムの開発を支援する小さなAdaライブラリ

Windowsと.NET

  • win32ada - WindowsライブラリへのAdaAPI
  • ada-net-framework - Microsoft NetFramework APIへのAdaバインディング
  • ada-winrt - Microsoft WinRT APIへのAdaバインディング
  • ada-win32 - Microsoft Win32 APIへのAdaバインディング

他言語バインディング

  • tcl-ada-shell - Tcl/TkへのAdaバインディング(Tash)
  • tashy - Tcl Ada Shell Younger(Tashy)はTashの派生で、主にTkバインディングに焦点を当てている
  • tashy2 - Tashyの派生で、よりAda的な表現を追求し、より緩やかなライセンスを使用するもの
  • ada-lua - LuaへのAdaバインディング
  • coreland-lua-ada - Lua言語へのAdaバインディング

ハードウェアと組み込み

フレームワーク

  • SweetAda - 軽量開発フレームワーク。Adaベースソフトウェアシステムの実装を目的としており、多数のCPUアーキテクチャおよび開発ボードをサポート
  • robotics-with-ada - Ada、ARM、Legoを用いたロボティクス
  • adamant - 信頼性と再利用性を確保するリアルタイムソフトウェアの構築を目的とした、コンポーネントベースかつモデル駆動のフレームワーク
  • libgfxinit - エントリーモード(モード設定)ライブラリ。埋め込み環境向けで、SPARKで実装

ファームウェア

  • certiflie - フルなAda + SPARK Crazyflie 2.0ファームウェアのソースコード。

ドライバー

  • ada-drivers-library - さまざまなMCUおよびセンサー向けのAdaドライバー
  • em-brick - emBRICKドライバーおよびemBRICK用のAda対応
  • dw1000 - DecaWave DW1000超広帯域(UWB)リソースチップ用のAda/SPARKドライバー
  • evb1000 - DecaWave EVB100-評価ボードのオンボード周辺装置を制御するAda/SPARKドライバー
  • multiplexed-io - このプロジェクトは、AdaCoreのAda 2012 Ravenscarプロファイルを用いてAdaRacer MCU用ドライバーを実装するためのAdaPilotでの探索を示している。また、SVD2Adaを使用して生成されたデバイスバインディングも含まれる。

コントローラー

通信

  • sensortile - このプロジェクトは、SensorTileを初期化し、SensorTileからホストへBLE経由でセンサデータを送信する方法を示している。
  • ada-enet - STM32F746またはSTM32F769向けの埋め込みネットワークスタック(Ethernetドライバー、IPv4、UDP、DNS、DHCP、NTP)

ライブラリ

  • giza - このライブラリは、埋め込みプラットフォーム向けのシンプルなウィジェットツールキットを目指している。
  • ada-synth-lib - バーチャルボード上で動作可能なシンプルなオーディオ合成ライブラリ
  • geste - マイコン上で動作するスプライトおよびタイル2Dレンダリングエンジン
  • sancta - マルチロボットタスク割り当てライブラリ
  • stm32-ui - STM32用UIライブラリおよびツール(グラフ、画像、12時間時計)
  • ada-time - Pebble Timeスマートウォッチ用のAdaバインディング
  • wiring-pi-ada - wiringPi用のAdaバインディング

アプリケーション

  • coffee-clock - コーヒーを一杯飲んで目を覚ます
  • noise-nugget - Square Inch Synthesizer
  • spark-railway-demo - SPARK/Adaによるシミュレートされた鉄道ネットワーク
  • micro-tem-pi - Raspberry PiにBBC Micro:Bitを温度センサーとして使用
  • wee-noise-maker - Wee Noise Makerはオープンソースのポケットシンセサイザー
  • lunar-lander-rotation - AdaFruit BNO055ブレイクアウトボードとインタラクションするプログラムで、方向データをホストコンピュータへ送信
  • railway-simulation - 列車、スイッチ、信号装置を含む鉄道ネットワークのシミュレーションプログラム。信号システムはSPARK/Adaで証明されており、列車の衝突を防ぐ。
  • etherscope - STM32F746ボード上のEthernetトラフィックモニターツール

生成ツール

  • svd2ada - ARMデバイスの裸ボード用のSVD記述から生成されるAdaバインディング生成器。

アプリケーション

オフィス

  • azip - 無料で便携可能なZIPアーカイブマネージャー
  • texcad - LaTeXで画像を描画または編集するプログラム
  • cbsg - 会社のバカな発言を自動生成するツール
  • hunter - Linux用のグラフィカル(gtkada)ファイルマネージャ。

メール

  • trash-finder - Trash Finderは、あなたのメールサーバーにプラグインとして搭載されるメールフィルタで、数十の基準に基づいたフィルタリングと、既知の良好メールの管理を提供する。

Web

  • ironsides - SPARK/Adaによって認証された权威DNSサーバー
  • wasabee - 安全性に焦点を当てたウェブブラウザ
  • yass - もう一つの静的サイトジェネレーター(JekyllやHugoのようなもの)

マルチメディア

自動化

  • acnc - GコードパーサーおよびCNC制御器(Adaで実装)
  • max-home-automation - gtkadaアプリケーションでELV/eQ-3 MAX!キューブを家庭自動化用に管理。
  • ada4automation - Ada言語を使用した産業自動化アプリケーション設計用フレームワーク

シミュレーション

  • eagle-lander - アポロ11号の月面着陸機シミュレーター(gtkada/Cairo)
  • ghdl - VHDL 2005/93/87シミュレーター
  • parallel-sim - 輸送ネットワークの分散シミュレーション
  • covid-19-simulator - マルチエンジン/アルゴリズムによるCOVID-19シミュレーター(内部はAda、Qtコード)
  • mars-mpl - マーズ極地着陸機(事故)シミュレーター(gtkada, aicwl)。
  • doppler-effect-sample2 - 飛行機の移動が立体音響ドッパラー効果を引き起こすシミュレーション(gtkada

生成・変換ツール

  • adabrowse - Ada95ライブラリユニット仕様用のHTML生成ツール
  • pascal-to-ada - PascalからAdaへの翻訳ツール
  • tiled-code-gen - Tiledマップエディタ用のコード生成ツール
  • j2ada - Javaの有効なソースコードをAdaソースコードに翻訳するツール
  • ada-magic - SofCheck AdaMagicはACATS検証および認定を受けたAdaコンパイラで、Cおよび/またはC++をターゲットとしており、細かいチューニングに必要な4つのコマンドラインスイッチを提供。ObjectAdaおよびその他の商用コンパイラはAdaMagicと共有エンジンを備えている。MapuSoftはAdaMagicをAppCOEの統合コンポーネントとして配布している。
  • cappulada - C++用のAdaバインディングジェネレーター。
  • asis2xml - AdaソースのASIS表現をXMLに変換し、XSLTなどを用いたレポートおよび変換ツールの開発を容易にする。
  • winforms2gtk - Visual BasicのMicrosoft Windows FormsアプリケーションをGtkおよびAdaに変換する補助ツール。

シェル・インタープリター・エミュレーター

  • sparforte - SPARforteプログラミング言語は、以前はビジネスユーザーシェル(bush)と呼ばれていたAdaに似たスクリプト言語であり、インタラクティブなUNIXシェルの代替として使用できる。
  • gsh - Windows向けの非インタラクティブPOSIXシェルで、GNUソフトウェアのビルドに特化。Cygwinに比べて2〜3倍速い。
  • analytical-engine - チャールズ・バッベージの解析機のAda2012版のエミュレーション。
  • a-shell - Adaでシェルのようなアプリケーションを書く際に役立つコンポーネント。
  • dashera - Data General DASHERテルミナルエミュレータ(gtkadaを使用)。
  • yotroc - 架空のCPUアーキテクチャ向けのアセンブラー/エミュレータ。IDEはgtkadaで実装されている。

プログラミング言語

  • para-sail - ParaSailは、GoやErlangに類似する高度に並列化された実験的言語。元々はSofCheck(現在はAdaCore)が所有しており、新しいアイデアを試すためのテストプロジェクト。拡張可能なポインタはSPARKおよびAdaに導入される予定のサンプル機能。実際には4つの実験的言語がある:ParaSail、Sparkel、Javallel、Parython。これらはすべて、bytecodeインタプリタとLLVMエンジンを共有している。

その他

  • dhondt - D’Hondt選挙結果計算機のAda実装。
  • whitakers-words - ウィリアム・ウィターカーのWORDS、ラテン語辞書。
  • ada-chess - Adaで書かれたチェスエンジン。
  • adage - sudoおよびdoasのAda/SPARK版の代替。