411 REFERENCE · Wikibooks
Ada Programming/Keywords/for
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Keywords for
__TOC__
This keyword is used in:
For loops
Representation clauses:
attribute definition clause
enumeration representation clause
record representation clause
at clause (obsolescent)
Quantified expressions
Universal quantification
Existential quantification
Nowadays representation clauses are formally called aspect clauses in the last versions of the Reference Manual due to some technicalities, although representation clauses is the name far more extended among Ada programmers. As a historical note, they were known as representation specifications (rep specs) in pre-Ada 83 proposals. John Barnes High-Integrity Software — The SPARK Approach to Safety and Security 2003-03-25 Addison-Wesley 0-321-13616-0 http://www.praxis-his.com/sparkada/sparkbook.asp 2008-06-06 Representation clauses are now strictly known as aspect clauses — the name was changed in the 2000 Corrigendum for Ada 95 for subtle reasons that need not concern us; Ada historians might recall that they were known as representation specifications (rep specs) prior to the ANSI standardization in 1983. These various terminologies are all in use and the reader will encounter them in the literature. (pp.212–213)
For loops
[loop name :] for var in [ reverse ] [type range] range loop
...
end loop [loop name];
Where range can be:
explicit range like "low .. high",
range of scalar or array type: type'Range (or type'Range(n) for multidimensional array types)
range of an array: array'Range (or array'Range(n) for multidimensional arrays)
Keyword in may also be followed by an iterable. This generalizes iteration by including types that have one of the interfaces defined in Ada.Iterator_Interfaces.
Another generalized form of looping iteration uses the keyword of in place of in. The loop parameter is then referring to components of arrays or of iterable container types, directly.
[loop name :] for var [: type] of [ reverse ] iterable loop
...
end loop [loop name];
Representation clauses
The keywords for, use and at are used for representation clauses.
A record representation clause specifies the Layout aspect of a record.
An enumeration representation clause specifies the Coding aspect of an enumeration type.
See Ada Programming/Representation_clauses.
Quantified expressions
Quantified expressions are Boolean expressions. They are either True or False, or propagate any exception raised during evaluation.
Universal quantification
Universal quantification expression:
(for all var in range => predicate)
(for all var of iterable => predicate)
Both forms evaluate to True when all of the values in range (of iterable) make the predicate yield True. Evaluation of predicate stops when either all values of loop parameter var have been exhausted, or when evaluation for some value yields False (short circuit).
Existential quantification
Existential quantification expression:
(for some var in range => predicate)
(for some var of iterable => predicate)
Both forms evaluate to True when some of the values in range (of iterable) makes the predicate yield True. Evaluation of predicate stops when either all values of loop parameter var have been exhausted, or when evaluation for some value yields True (short circuit).
See also
Wikibook
Ada Programming
Ada Programming/Keywords
Ada Reference Manual
2 9 Reserved Words
P (informative) Syntax Summary
5 5 Loop Statements
13 3 Operational and Representation Attributes
13 4 Enumeration Representation Clauses
13 5 1 Record Representation Clauses
J 7 At Clauses (obsolescent)
Ada 83
13 5 Address Clauses (obsolescent)
Ada Quality and Style Guide
3 1 3 Capitalization
References
For
Keywords:for