The Compilation of a Chaprola Language Source Module

After a Chaprola program is written and entered as a .CS file, it is not in a form that is directly usable by the computer. This file must be translated (or "compiled") into a language that the computer itself understands.

At the time that the Chaprola Language was defined and implemented, the compilation of the then common computer languages produced sets of native instructions of that computer. Normally, the compiled programs could not be used on another computer with a different internal architecture. Also, at this time (before 1975) computers did not possess enough internal memory to hold the very long programs that users would find necessary.

A technique was developed that was quite simple: the Chaprola language was broken down into the smallest functional building blocks of instructions that were possible. Each of the building blocks were sets of computer instructions, but instead of expressing these in terms of the instructions, the building block was given a number. So, a building block was expressed as a simple number, e.g., 4. When Chaprola is compiled, the Procedure file is comprised of a sequence of the building block numbers.

Now, a processor is written once (a different one for each different computer architecture). This processor reads the procedure file (.PR) and interprets each of the building block numbers and then executes the sequence of instructions that the numbers represent.

Today, the procedure files are called bytecode files. The Java language and the .NET run time library use the same methodology (but different bytecode meanings.) When Chaprola was first implemented (1974), the other languages did not exist.

Bytecode interpretation is a wonderful idea today. This was also true when Chaprola was invented.