The design and implementation of a preprocessor for modular PASCAL
Successful data processing depends on efficient and reliable hardware and software. There have been dramatic improvements in the hardware. However, software development has become a critical problem in data processing. The ad hoc methods used previously cannot cope with the complex requirements of current data processing systems. It is now widely accepted that improvements are possible only with a rigorous software development methodology. A rigorous design methodology emphasizes information hiding modules and hierarchical system structure. To enhance the implementation, the programming language used should support the creation of a hierarchy of information hiding modules. In particular, it should be possible to implement data abstraction modules. Though PASCAL facilitates structured programming, it does not support modular programming. PASCAL on the VAX/VMS system provides 'module' capability which, however, is intended only for separate compilation. In this thesis, we extend the VAX/VMS PASCAL of version 3.0 by (1) allowing each module to encapsulate its data structure; (2) allowing the creation of generic modules; (3) facilitating a hierarchical system structure. A preprocessor for supporting these extensions has been designed and implemented using the rigorous approach.