1: ; Copyright (c) 1981 Harvard-Radcliffe Student Timesharing System
   2: ; Science Center, Harvard University
   3: .page
   4:         .sbttl character property table-- forrest howard, pdp-11 lisp
   5: 
   6: 
   7: 
   8: ;the purpose of this section is to provide the
   9: ;character table that is used by patom, the
  10: ;the system lexer, and the macro issep,isbrk,isnum,...when the
  11: ;system is used for am110 instruction
  12: 
  13: 
  14: 
  15: ;the following symbols will be re-defined by the system lex
  16: ;assembly code if the files are all assembled together.
  17: ;otherwise, they are set to constants that will be picked
  18: ;up by the macro expansions of is... .
  19: 
  20:         .if     ndf,vsep
  21:                 vsep=4
  22:                 vdq=0
  23:                 vnum=10
  24:                 vsq=0
  25:                 vperd=0
  26:                 vlpara!brk=0
  27:                 vrpara!brk=0
  28:                 vlbkta=0
  29:                 vrbkta=0
  30:                 veof=0
  31:                 vchar=2
  32:                 verr=0
  33: 
  34:         .endc
  35: 
  36: ;note that the format of the bytes in the system version
  37: ;is like so
  38: 
  39: ;		  axxxxxxb
  40: ;	with a being 1 if a break of seperator character
  41: ;            b being 1 if on printout the atom containing it
  42: ;			is to be double-quoted
  43: ;	     xxxxx is the offset from seploop  to which control
  44: ;			is transfered when the character is encountered first in
  45: ;			a lexeme
  46: ;	     c is 1 if the character is a valid numeric character(0-9)
  47: 
  48: 
  49: ;in the am110 version
  50: 
  51: ;		  a000srcb
  52: ;
  53: ;		with s  1 if a seperator character
  54: ;		with r 1 if  a "normal" character(i.e. not brk,number,...)
  55: ;		and rest as above
  56: 
  57: 
  58: 
  59: ;if this is a data-space only lisp, and onepage is on, and
  60: ;fpsim is on, we want to force ctable into the onepage psect.
  61: 
  62: .if     eq,multiseg
  63:   .if   ne,fpsim
  64:     .if ne,onepage
  65:         .psect  onepage
  66:       .iff
  67:         .psect  shbydat con
  68:     .endc
  69:    .iff
  70:         .psect  shbydat con
  71:   .endc
  72:  .iff
  73:         .psect  shbydat con
  74: .endc
  75: 
  76: 
  77: 
  78:                 dqo=1
  79:                 brk=200
  80: 
  81: ctable:
  82:       .rept  11
  83:         .byte   dqo!verr!brk
  84:       .endr                             ;above took care of thru backspace
  85:       .rept     15-10
  86:         .byte   dqo!brk!vsep
  87:       .endr                             ;and characters such as cr,lf
  88:       .rept     32-15
  89:         .byte   dqo!verr!brk
  90:       .endr                             ;miscelaneous characters
  91:         .byte   dqo!vsep!brk
  92:       .rept     37-33
  93:         .byte   dqo!verr!brk
  94:       .endr
  95:         .byte   dqo!vsep!brk            ;this corresponds to space
  96:         .byte   vchar                   ;for !
  97:         .byte   dqo!vdq                 ;for "
  98:       .rept     46-42
  99:         .byte    vchar
 100:       .endr
 101:         .byte   dqo!vsq!brk             ;for '
 102:         .byte   dqo!vlpara!brk
 103:         .byte   dqo!vrpara!brk
 104:       .rept     54-51
 105:         .byte   vchar
 106:       .endr
 107:         .byte   vnum                    ;for - this is a strange token, since
 108:                                         ;  -123  part of number
 109:                                         ; -   	 atom alone
 110:                                         ; -??? normal
 111:                                         ; ab-c normal
 112:         .byte   dqo!vperd!brk           ;for .
 113:         .byte   vchar                   ;for /
 114:       .rept     71-57
 115:         .byte   vnum
 116:       .endr                             ;do the integers
 117:       .rept     132-71
 118:         .byte   vchar
 119:       .endr                             ;and the characters
 120:         .byte   dqo!vlbkta!brk          ;the bracket
 121:         .byte   vchar
 122:         .byte   dqo!vrbkta!brk          ;and the other
 123:       .rept     177-135
 124:         .byte   vchar
 125:       .endr                             ;and now lower case stuff
 126:         .byte   dqo!veof!brk            ;end of file
 127:         .byte   0                       ;for even length's sake
Last modified: 1981-05-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 345
Valid CSS Valid XHTML 1.0 Strict