Wikibooks:WikiProject Ada



This is the place for learning or remembering all the conventions we are using for writing the Ada wikibooks:
 * Ada Programming [[file:Cscr-featured.svg|15px]] (featured wikibook)
 * Ada Style Guide
 * CORBA Programming

Hint: Keep this page open for cut/copy/paste.

Attribution
Consider creating an account in Wikibooks, it's easy and convenient. You are only requested for a user name and a password. After logging in your contributions are assigned to a name instead of your IP address. It has other benefits see the page Why create an account? from Wikipedia.

Demo Sources
Unlike most other books from the Programming series we aim to provide not only code snippets but also and foremost fully working demos.

In order to ease handling of the demonstration programs a connected SourceForge project called wikibook-ada has been registered.

As a contributer you can take advantage of the svn repository to store your sources. You can also create links from Programming:Ada to your sources using viewscvs. You can use the Template:Ada/Sourceforge to create the links

SourceForge also allows us to offer downloads of all demo sources.

Last but not least, SourceForge provides us download statistics, so we can see if our offer is accepted.

Heading
All pages should have a heading like this:

Formerly there were "Ada/Navigation 1" to "Ada/Navigation 3" (for one to tree level deep navigation), but they are obsolete now, since the navigation inside the book is provided by the subpage features.

Links
An online documentation like Ada Programming lives from "clickable" text - a click and you get more detail on anything you are interested. So do make links!

Keywords et al.
Language features like Keywords, Pragmas etc. should be written like this:

Keywords:         or  Operators:         or                     or  Delimiters:        or                     or  Types:            range Attributes:      X' or X' Pragmas:           or  Packages: Child Packages: , , ... Restrictions:     or  Comments:          or  Sourceforge link:

which will then look like:

Keywords:         or  Operators:         or                     or  Delimiters:        or                     or  Types:            range Attributes:      X' or X' Pragmas:           or  Packages: Child Packages: , , ... Restrictions:     or  Comments:          or  Sourceforge link:

ASnip, written by User:GorgeUbuasha, can help in the addition of the templates to Ada source code.


 * Note for Operators : All operators are either a keyword or a delimiter. Hence, all operator pages are only redirects to the appropriate keyword or delimiter. However, in demo sources the rendering of operators, keyword and special character are different.

Wikibook

 * Ada Programming
 * Ada Programming/Operators

Ada Quality and Style Guide



 * Wikibook : Always add a link to the Ada Programming main page.
 * Ada Reference Manual : Look up relevant pages in the index of the RM.
 * Ada Quality and Style Guide : Look up relevant guidelines in the index of this guide.
 * Category : All pages should be added to the "Ada Programming" Category using the template ).

Normalized sections
The wikibook readability is enhanced if we follow some conventions, like a standard number of sections.

Attributes and pragmas
Sections for pages describing each pragma and attribute (see for example the pages about and the ' attribute.):


 * syntax summary
 * description, specifying the pragma/attribute category (representation, configuration...) and if it is obsolescent or implementation defined.
 * illustrative example
 * portability:
 * between Ada versions
 * between compilers
 * between platforms (architecture, operating system, embedded/self-hosted, uniprocessor/multiprocessor...)
 * equivalent feature in other languages for interfacing (for pragmas)

Coding rules
Description about how to check good programming practices (e.g. no goto statement) with static analysis tools:
 * gnatcheck
 * AdaControl

Software
Emacs users might find this Emacs Lisp file helpful when editing Ada programs for inclusion in Wiki pages. ada-to-wiki.el

A similar pure Ada program, ASnip, will do the same using standard input/output. Useful with vi and other editors.

Tracking changes
Contributors are encouraged to track recent changes to the book in order to fix bad editions, improve new content, discuss changes with other contributors and keep work coherence. The watchlist feature is also useful for that after manually adding the pages that you want to track.