11.07.2015 Views

Program Logic Manual - All about the IBM 1130 Computing System

Program Logic Manual - All about the IBM 1130 Computing System

Program Logic Manual - All about the IBM 1130 Computing System

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

If at any time during <strong>the</strong> compilation an entrycannot be made to <strong>the</strong> statement string or <strong>the</strong> SymbolTable due to <strong>the</strong> lack of sufficient storage, an overlaperror condition exists. In <strong>the</strong> event of such an overlapcondition, <strong>the</strong> remaining compilation is bypassedand an error message is printed (see CompilationErrors). Ei<strong>the</strong>r <strong>the</strong> size of <strong>the</strong> source program or<strong>the</strong> number of symbols used must be decreased, or<strong>the</strong> program must be compiled on a machine of largerstorage capacity.SYMBOL TABLEThe Symbol Table contains entries for variables,constants, statement numbers, various compilergeneratedlabels, and compiler-generated temporarystorage locations.The first entry of <strong>the</strong> Symbol Table occupies <strong>the</strong>three highest-addressed words of <strong>the</strong> String Area,1. e. , <strong>the</strong> 3 words just below <strong>the</strong> first word of <strong>the</strong>FORTRAN Communications Area. The second entryis positioned in <strong>the</strong> lower-numbered words adjacentto <strong>the</strong> first entry, etc.During <strong>the</strong> initialization of <strong>the</strong> Symbol Table inphase 1, three words are reserved for <strong>the</strong> firstSymbol Table entry. This entry is not made, however,until phase 3. From this point <strong>the</strong> size of <strong>the</strong>Symbol Table varies from phase to phase until itachieves its largest size in phase 18. Its size always.includes <strong>the</strong> three words reserved for <strong>the</strong> nextSymbol Table entry.During phases 3 through 18, <strong>the</strong> Symbol Table containsvariables, constants, and statement numbers.Information for <strong>the</strong>se entries has been removed from<strong>the</strong> statement string and has been replaced by <strong>the</strong>address of <strong>the</strong> ID word of <strong>the</strong> corresponding SymbolTable entry. Also, <strong>the</strong> Symbol Table contains <strong>the</strong>various compiler•generated labels and temporarystorage locations used in compilation.During <strong>the</strong> output phases, 19 through 26, <strong>the</strong>seentries in <strong>the</strong> Symbol Table are replaced by objectprogram addresses that are inserted into <strong>the</strong> objectcoding by phase 26.Format<strong>All</strong> entries in <strong>the</strong> Symbol Table consist of threewords -- an ID word and two Name-Data words.The entries for dimensioned variables are exceptional,however, in that <strong>the</strong>y are six-word entries, <strong>the</strong>additional three words containing <strong>the</strong> dimensioninformation.The ID word occupies <strong>the</strong> lowest-addressed wordof <strong>the</strong> three word entry. The Name-Data wordsoccupy <strong>the</strong> two higher-addressed words.A typical three-word entry is illustrated in <strong>the</strong>following example of <strong>the</strong> entry for <strong>the</strong> integer constant290.ID Word Data Word 1 Data Word 22 9 0 blank blank111000000000000001011001011100111010000000000000000 ILowest-Addressed Highest-AddressedWordWordEntry in hexadecimal form —E000 65CE 0000The entry for <strong>the</strong> subprogram name COUNT wouldappear as:ID Word Name Word 1 Name Word 2COUN T1000000001000000011000011010110100111000101011000111Lowest-Addressed Highest-AddressedWordWordEntry in hexadecimal form - C080 86B4 C56378

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!