Abstract

Recent expansion of new techniques invented a great number of application areas in which computers are used in the ways which have not been dreamed of a decade ago. Since the usage of computers was controlled by programs stored in computers, the production of programs has been increasing in enormous rate. In order to ease programming efforts, many programming devices have been invented and organized to become an operating system and a programming system. Nowadays the operating system serves as an interface between the hardware and the programming system or a programmer. They are designed as a multipurpose program so as to be able to handle any usage of the computer. The programming system is, on the other hand, the tool for the programmer to make a program. It serves as an interface between a programmer and the operating system or the hardware. Since there are peculiar notions in each application area, different programming languages are invented for each application area so that programs become short and easy to write. The nucleus of the programming system is the language processor, so the programming system is expanding in terms of language processors. It now becomes necessary to find an easy way to create programming systems which can be expanded easily. There are three main approaches to resolving this problem. The first approach is to make a universal language and to write all programs in this language. Only one language processor is necessary for one computer. But this has never been realized. PL/I is supposed to serve as a higher programming language version of a universal language. The second approach is to make one compiler-compiler and to generate all compilers for different programming languages by that compiler-compiler. Strong tools for defining the syntax of the language already exist, but it is still not easy to define semantics. So it is very difficult to generate a good compiler with a good optimization facility. The third approach, now becoming more attractive, is the attempt to make a language extensible. An extensible language is the language which can introduce new syntax, practically in the form of operators, and new data structures. So if a programmer wants special operators and data structures, he can declare them before the program and can program in terms of them. This approach is promising since the programmer can make a program constructively.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call