Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewNo.1No.2No.3No.4No.5No.6No.7No.8No.9No.10No.11No.12No.13No.14No.15No.16No.17No.18No.19No.20No.21No.22No.23No.24No.25No.26No.27No.28No.29No.30No.31No.33No.34
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureProgress ReportsSPROGS Notes
ACLLiteratureProgress ReportsSPROGS Notes
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
No.1
No.2
No.3
No.4
No.5
No.6
No.7
No.8
No.9
No.10
No.11
No.12
No.13
No.14
No.15
No.16
No.17
No.18
No.19
No.20
No.21
No.22
No.23
No.24
No.25
No.26
No.27
No.28
No.29
No.30
No.31
No.33
No.34

SPROGS Note No 6

R E Thomas

6 April 1972

TEXT PACKING

It has been pointed out that the dual packing scheme outlined in the previous SPROGS note will not work, since, eventually, even characters appearing in TEXT commands become file names.

We are trying to satisfy the following criteria:

(a) It should be possible to use the standard 029 character set in TEXT. This means that we must make allowances for 64 characters.

(b) File names should be capable of being at least 4 characters long, on any machine. We consider here the worst case as being 36 bit floating point (28 bit mantissa), since most 32 bit word (or less) machines allow double length floating point.

This can be done by varying the packing algorithm with the number of characters stored, and putting restrictions on long names.

We allow names consisting of up to 4 characters to contain any of the 64 basic characters. Names longer than 4 characters must consist entirely of alphanumeric characters.

Thus

   PQ.3 
   +A$ 
and 
   ABC23 
are legal names, whereas 
   PQ.34 
is not. 

Since we cannot use 0 to represent a character, we must use 65 and 37 as the two packing factors. In 27 bits, it is possible to pack 4 'full' characters or 5 alphanumeric characters. On the 1906A, it will be possible to pack 7 alphanumeric characters.

The largest four character name would then have a value 654-1 (17,850,624). However, the minimum five character name would be (375-1)/36 which is less than 654-1 (in fact, it is 1,926,221). However, if we reorder the SPROGS numbers so that the digits come before the letters, and add the restriction that any 5-character name must start with a letter, we can distinguish differently packed words by their size. On encoding, both packing forms will be saved until it is known which is required.

Space will delimit file names. TEXT will be split into a number of calls to STEXT as before, with each argument consisting, of 4 packed characters (or less). Spaces here will be treated as significant.

SPROGS Number   Character   SD4020 Octal    1906A Octal
      0
      1            1             1              1         
      2            2             2              2         
      3            3             3              3         
      4            4             4              4         
      5            5             5              5         
      6            6             6              6         
      7            7             7              7         
      8            8            10             10         
      9            9            11             11         
     10            0             0              0         
     11            A            21             41         
     12            B            22             42         
     13            C            23             43         
     14            D            24             44         
     15            E            25             45         
     16            F            26             46         
     17            G            27             47         
     18            H            30             50         
     19            I            31             51         
     20            J            41             52         
     21            K            42             53         
     22            L            43             54         
     23            M            44             55         
     24            N            45             56         
     25            O            46             57         
     26            P            47             60         
     27            Q            50             61         
     28            R            51             62         
     29            S            62             63         
     30            T            63             64         
     31            U            64             65         
     32            V            65             66         
     33            W            66             67         
     34            X            67             70         
     35            Y            70             71         
     36            Z            71             72         
     37            +            20             33         
     38            -            40             35         
     39            *            54             32         
     40            /            61             37         
     41           sp            60             20         
     42            .            33             36         
     43            ,            73             34         
     44            =            13             15         
     45            (            74             30         
     46            )            34             31         
     47            $            53             74         
     48            ?            37             17         
     49            '            15             27         
     50            "            14             22         
     51            <             1             14         
     52            >             1             16         
     53            [             1             73         
     54            ]             1             75         
     55            !             1             21         
     56            #             1             23         
     57            £             1             24         
     58            %             1             25         
     59            Q             1             26         
     60            @             1             40         
     61            :             1             12         
     62            ;             1             13         
     63            ↑             1             76         
     64            ←             1             77         
     65            ±            36                        
     66            d            57                        
     67            ∫            75                        
     68            ∑            76                        
     69            π            32                        
     70            ⊡           77                        
     71            α            17                        
     72            β            35                        
     73            γ            55                        
     74            δ            16                        
     75            °            72                        
     76            •            52                        
⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site