IMPLEMENTATION METHODS

  • Two of the primary components of a computer are its internal memory and its processor.
  • The internal memory is used to store programs and data.
  • The processor is a collection of circuits that provides a realization of a set of primitive operations, or machine instructions, such as those for arithmetic and logic operations.
  • These instructions, which are sometimes called macroinstructions, are actually implemented with a set of instructions called microinstructions, which are defined at an even lower level.
  • Because microinstructions are never seen by software.
  • The machine language of the computer is its set of instructions.
  • In the absence of other supporting software, its own machine language is the only language that most hardware computers “understand.”
  • Theoretically, a computer could be designed and built with a particular high-level language as its machine language, but it would be very complex and expensive.
  • The more practical machine design choice implements in hardware a very low-level language that provides the most commonly needed primitive operations and requires system software to create an interface to programs in higher-level languages.
  • A language implementation system cannot be the only software on a computer. Also required a large collection of programs, called the operating system, which supplies higher-level primitives than those of the machine language.
  • These primitives provide system resource management, input and output operations, a file management system, text and/or program editors, and a variety of other commonly needed functions.
  • Language implementation systems need many of the operating system facilities, they interface with the operating system rather than directly with the processor.
  • Operating system and language implementations are layered over the machine language interface of a computer.
  • For example, an operating system and a C compiler provide a virtual C computer. With other compilers, a machine can become other kinds of virtual computers.
  • The layered view of a computer is shown in below Figure.
  • Fig: Layered interface of virtual computers
  • The implementation systems of the first high-level programming languages, constructed in the late 1950s, were among the most complex software systems of that time.
  • In the 1960s, intensive research efforts were made to understand and formalize the process of constructing these high-level language implementations.
  • The greatest success of those efforts was in the area of syntax analysis, primarily because that part of the implementation process is an application of parts of automata theory and formal language theory that were then well understood.

Comments