-*- Mode: Text; Fonts: Ct18b -*- 2.5 TERMINOLOGY Every subject has its own terminology or jargon and Ada is no exception. (Indeed in Ada an exception is a kind of error as we have seen!) A glossary of terms will be found in Appendix 3. Terminology will generally be introduced as required but before starting off with the detailed description of Ada it is convenient to mention a few concepts which will occur from time to time. The term static refers to things that can be determined at compilation whereas dynamic refers to things determined during execution. Thus a static expression is one whose value can be determined by the compiler such as 2 + 3 and a static array is one whose bounds are known at compilation time. Sometimes it is necessary to make a parenthetic remark to the compiler where the remark is not a part of the program as such but more a useful hint. This can be done by means of a construction known as a pragma. As an example we can indicate that only parts of our program are to be listed by writing pragma LIST(ON); and pragma LIST(OFF); at appropriate places. Generally a pragma can appear anywhere that a declaration or statement can appear, but sometimes there may be restrictions on the position of a particular pragma.