On the access-before-elaboration problem in Ada
暂无分享,去创建一个
Ada requires compilers (and their linkers) to choose an order of elaboration (OOE) for the library units of a program being prepared for execution. July 1980 Ada [Ada-80] further requires that this order be chosen so that no formal access-before-elaboration (F-ABE) situation result. The proposed revisions to Ada following the ANSI canvass [Ada-82] have eliminated this requirement but now provide that an actual access-before-elaboration (A-ABE) shall cause the exception SOME_ERROR to be raised.
This paper will define F-ABE and A-ABE, will discuss rationales for both the old and the new rules, and will discuss implications of the new rules in relation to other language features proposed for inclusion in 1982 Ada.
The algorithms used in IAPC-20, the Intermetrics Ada Prototype Compiler for TOPS-20, which implement the July 1980 rules regarding F-ABE and OOE, will also be discussed and sketched.
[1] Benjamin M. Brosgol. Summary of Ada language changes , 1982, ALET.