Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
- The global definitions are included with the following format:

```
.. include:: ../../global.txt
.. include:: ../../../global.txt
```

- The global definitions file may be extended if needed.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Preface
---------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Nowadays it seems like talking about programming languages is a bit passé. The technical wars of the past decade have subsided and today we see a variety of high-level and well-established languages offering functionality that can meet the needs of any programmer.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Basics
--------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Ada implements the vast majority of programming concepts that you're accustomed to in C++ and Java: classes, inheritance, templates (generics), etc. Its syntax might seem peculiar, though. It's not derived from the popular C style of notation with its ample use of brackets; rather, it uses a more expository syntax coming from Pascal. In many ways, Ada is a simpler language |mdash| its syntax favors making it easier to conceptualize and read program code, rather than making it faster to write in a cleverly condensed manner. For example, full words like :ada:`begin` and :ada:`end` are used in place of curly braces. Conditions are written using :ada:`if`, :ada:`then`, :ada:`elsif`, :ada:`else`, and :ada:`end if`. Ada's assignment operator does not double as an expression, smoothly eliminating any frustration that could be caused by :cpp:`=` being used where :cpp:`==` should be.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Compilation Unit Structure
----------------------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

C++ programming style usually promotes the use of two distinct files: header files used to define specifications (.h*, *.hxx*, *.hpp*), and implementation files which contain the executable code (*.c*, *.cxx*, *.cpp*). However, the distinction between specification and implementation is not enforced by the compiler and may need to be worked around in order to implement, for example, inlining or templates.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Statements, Declarations, and Control Structures
---------------------------------------------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Statements and Declarations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Type System
-------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Strong Typing
~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Functions and Procedures
-------------------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

General Form
~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Packages
----------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Declaration Protection
~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Classes and Object Oriented Programming
-----------------------------------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Primitive Subprograms
~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Generics
----------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Ada, C++, and Java all have support for generics or templates, but on different sets of language entities. A C++ template can be applied to a class or a function. So can a Java generic. An Ada generic can be either a package or a subprogram.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Exceptions
------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Exceptions are a mechanism for dealing with run-time occurrences that are rare, that usually correspond to errors (such as improperly formed input data), and whose occurrence causes an unconditional transfer of control.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Concurrency
-------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

.. todo::

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Low Level Programming
-----------------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

Representation Clauses
~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Conclusion
-------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

All the usual paradigms of imperative programming can be found in all three languages that we surveyed in this document. However, Ada is different from the rest in that it's more explicit when expressing properties and expectations. This is a good thing: being more formal affords better communication among programmers on a team and between programmers and machines. You also get more assurance of the coherence of a program at many levels. Ada can help reduce the cost of software maintenance by shifting the effort to creating a sound system the first time, rather than working harder, more often, and at greater expense, to fix bugs found later in systems already in production. Applications that have reliability needs, long term maintenance requirements, or safety/security concerns are those for which Ada has a proven track record.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
References
-------------

.. include:: ../../global.txt
.. include:: ../../../global.txt

The Ada Information Clearinghouse website http://www.adaic.org/learn/materials/, maintained by the Ada Resource Association, contains links to a variety of training materials (books, articles, etc.) that can help in learning Ada. The Development Center page http://www.adacore.com/knowledge on AdaCore's website also contains links to useful information including vides and tutorials on Ada.

Expand Down
2 changes: 1 addition & 1 deletion content/courses/Ada_For_The_CPP_Java_Developer/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Ada for the C++ or Java Developer
===================================

.. include:: ../global.txt
.. include:: ../../global.txt

.. only:: no_hidden_books

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Introduction
==============

.. include:: ../../global.txt
.. include:: ../../../global.txt

So, what is this Ada thing anyway?
-----------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
The C Developer's Perspective on Ada
======================================

.. include:: ../../global.txt
.. include:: ../../../global.txt

What we mean by Embedded Software
------------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Concurrency and Real-Time
============================

.. include:: ../../global.txt
.. include:: ../../../global.txt

Understanding the various options
---------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Writing Ada on Embedded Systems
=================================

.. include:: ../../global.txt
.. include:: ../../../global.txt

Understanding the Ada Run-Time
------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Enhancing Verification with SPARK and Ada
============================================

.. include:: ../../global.txt
.. include:: ../../../global.txt

Understanding Exceptions and Dynamic Checks
-------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
C to Ada Translation Patterns
=================================

.. include:: ../../global.txt
.. include:: ../../../global.txt

Naming conventions and casing considerations
--------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Handling Variability and Re-usability
=======================================

.. include:: ../../global.txt
.. include:: ../../../global.txt

Understanding static and dynamic variability
--------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Performance considerations
==========================

.. include:: ../../global.txt
.. include:: ../../../global.txt

Overall expectations
--------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Argumentation and Business Perspectives
==========================================

.. include:: ../../global.txt
.. include:: ../../../global.txt

The technical benefits of a migration from C to Ada are usually relatively
straightforward to demonstrate. Hopefully, this course provides a good basis
Expand All @@ -21,7 +21,7 @@ answer to how much money can be saved by transitioning, as this is highly
dependent on specific project objectives and constraints. We're going to
provide qualitative and quantitative arguments here, from the perspective of a
project that has to reach a relatively high level of integrity, that is to say
a system where the occurrence of a software failure is a relatively costly
a system where the occurrence of a software failure is a relatively costly
event.

From a qualitative standpoint, there are various times in the software
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Conclusion
============

.. include:: ../../global.txt
.. include:: ../../../global.txt

Although Ada's syntax might seem peculiar to C developers at first glance, it
was designed to increase readability and maintainability, rather than making it
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Appendix A: Hands-On Object-Oriented Programming
================================================

.. include:: ../../global.txt
.. include:: ../../../global.txt

The goal of this appendix is to present a hands-on view on how to translate a
system from C to Ada and improve it with object-oriented programming.
Expand Down
2 changes: 1 addition & 1 deletion content/courses/Ada_For_The_Embedded_C_Developer/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Ada for the Embedded C Developer
===================================

.. include:: ../global.txt
.. include:: ../../global.txt

.. only:: no_hidden_books

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GNAT Studio
===========

.. include:: ../../global.txt
.. include:: ../../../global.txt

This chapter presents an introduction to the GNAT Studio, which provides an IDE
to develop applications in Ada. For a detailed overview, please refer to the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
GNAT Toolchain Basics
=====================

.. include:: ../../global.txt
.. include:: ../../../global.txt

This chapter presents a couple of basic commands from the GNAT toolchain.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
GNAT Tools
==========

.. include:: ../../global.txt
.. include:: ../../../global.txt

In chapter we present a brief overview of some of the tools included
in the GNAT toolchain.
Expand Down
2 changes: 1 addition & 1 deletion content/courses/GNAT_Toolchain_Intro/chapters/gprbuild.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GPRbuild
========

.. include:: ../../global.txt
.. include:: ../../../global.txt

This chapter presents a brief overview of :program:`GPRbuild`, the project
manager of the GNAT toolchain. It can be used to manage complex builds. In
Expand Down
2 changes: 1 addition & 1 deletion content/courses/GNAT_Toolchain_Intro/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Introduction to the GNAT Toolchain
==================================

.. include:: ../global.txt
.. include:: ../../global.txt

.. only:: no_hidden_books

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Concurrency (CON)
===================

.. include:: ../../../global.txt
.. include:: ../../../../global.txt

*Goal*
:Maintainability: :math:`\checkmark`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Use the Ravenscar Profile (CON01)
-----------------------------------

.. include:: ../../../../global.txt
.. include:: ../../../../../global.txt

**Level** :math:`\rightarrow` Advisory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Use the Jorvik Profile (CON02)
--------------------------------

.. include:: ../../../../global.txt
.. include:: ../../../../../global.txt

**Level** :math:`\rightarrow` Advisory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Avoid Shared Variables for Inter-task Communication (CON03)
-------------------------------------------------------------

.. include:: ../../../../global.txt
.. include:: ../../../../../global.txt

**Level** :math:`\rightarrow` Advisory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Definitions
=============

.. include:: ../../../global.txt
.. include:: ../../../../global.txt

This section contains terms and values used in the definitions of the rules set
forth in this chapter.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Dynamic Storage Management (DYN)
==================================

.. include:: ../../../global.txt
.. include:: ../../../../global.txt

*Goal*
:Maintainability: :math:`\checkmark`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Common High Integrity Restrictions (DYN01)
--------------------------------------------

.. include:: ../../../../global.txt
.. include:: ../../../../../global.txt

**Level** :math:`\rightarrow` Required

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Traditional Static Allocation Policy (DYN02)
----------------------------------------------

.. include:: ../../../../global.txt
.. include:: ../../../../../global.txt

**Level** :math:`\rightarrow` Advisory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Access Types Without Allocators Policy (DYN03)
------------------------------------------------

.. include:: ../../../../global.txt
.. include:: ../../../../../global.txt

**Level** :math:`\rightarrow` Advisory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Minimal Dynamic Allocation Policy (DYN04)
-------------------------------------------

.. include:: ../../../../global.txt
.. include:: ../../../../../global.txt

**Level** :math:`\rightarrow` Advisory

Expand Down
Loading
Loading