I recall that way back in the early to mid-1980s I had the pleasure of perusing a copy of the source code for a Pascal compiler. It was probably created directly under the inventor Nicklaus Wirth in Switzerland. I partially implemented a Pascal emulator for a Data General Eclipse minicomputer.
Here are some of the phases required for the creation of a Pascal computer program:
- Parse the source code.
- Create a symbol table.
- Interpret the symbols.
- Create P-Code for the interpreter.
Running the interpreter code involves translation of the P-Code to a computer readable bit string. Every computer scientist should at some time in her/his formal education should implement an assembler and a compiler.
Yesterday, April 11, 2023, I created a word index C++ application that takes a text file, parses the words, and creates an index also known as an English language symbol table. The app utilizes a C++ map that consists of integer keys and a node containing information about the words and their order in the text file. Below are the indexable text file and the symbol table (index).
This is a test of my index generator. The text file has
two lines. The second line is dummy definitions.
This is a test of my index generator. The text file has two lines. The second line is dummy definitions.
The first number is the line number and the second the position within a line. The 1 39 The 2 12 This 1 1 a 1 9 definitions 2 37 dummy 2 31 file 1 48 generator 1 28 has 1 53 index 1 22 is 2 28 is 1 6 line 2 23 lines 2 5 my 1 19 of 1 16 second 2 16 test 1 11 text 1 43 two 2 1