Signed-off-by: Jose E. Marchesi <[email protected]>
gcc/algol68/ChangeLog
* ga68-coding-guidelines.texi (Enquiry clauses): New section.
---
gcc/algol68/ga68-coding-guidelines.texi | 26 +++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gcc/algol68/ga68-coding-guidelines.texi
b/gcc/algol68/ga68-coding-guidelines.texi
index ee68d7ae853..ef0bcfc4acc 100644
--- a/gcc/algol68/ga68-coding-guidelines.texi
+++ b/gcc/algol68/ga68-coding-guidelines.texi
@@ -773,6 +773,7 @@ facilities of the language.
@menu
* Writing routines::
+* Enquiry clauses::
* Nihils::
@end menu
@@ -813,6 +814,31 @@ it may be wise to judiciously pass those non-nearby values
as
arguments in order that the programmer be aware that non-nearby values
are being accessed or possibly altered.
+@node Enquiry clauses
+@section Enquiry clauses
+
+@dfn{Enquiry clauses} are not just ``boolean expressions'' with a
+fancy name. They can be thought as a sort of specialized serial
+clauses, and as such they can contain any number of declarations and
+units while being required to always yield a value of mode
+@code{bool}.
+
+Avoid polluting the lexical environment with declarations that are
+intended to be used exclusively within conditional and loop clauses:
+use a declaration in the enquiry-clause of the clause instead. This
+also makes it easier to later refactor code.
+
+Examples:
+
+@example
+@{ The range of `c' is the entire loop clause. @}
+while char c = getchar;
+ c /= char_eof
+do
+ ... use c ...
+od
+@end example
+
@node Nihils
@section Nihils
--
2.39.5