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