home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / computervision / kermit.parser < prev    next >
Text File  |  2020-01-01  |  3KB  |  103 lines

  1. ; 16 aug 85 esj remove server commands that were added as aliases
  2. ; 12 aug 85 esj add extra aliases
  3. ;  6 aug 85 esj set dot count to 0 on every command
  4. ; 26 jly 85 esj detach kermit port on quit.
  5. * 15-Jul-85 lec; TPL conversion.
  6. ;--------------------------------------< parser >---------------------------
  7.       E:F
  8.       E'O PARSER.
  9. ;----------------------------------------------------------------------------
  10. ;
  11. ; Purpose
  12. ;  the main parser at the command level of kermit
  13.  
  14. ; Input
  15. ;  none
  16.  
  17. ; Output
  18. ;  none
  19.  
  20. ; Inserts
  21. /INCLUDE BYU.PROG.KERMIT.SYM.EQU.KERDEF
  22.  
  23. ; Globals
  24.    G'L HOSTON
  25.    G'L DODOTCT
  26.  
  27. ; Locals
  28.    I'R BLIN(132)
  29.    I'R STATUS
  30.    I:R OPTION(4)
  31.  
  32. ; Method
  33. ;  initialize keyword character string
  34.  
  35. ;  convert character string to integer array with an EOS at end
  36. ;  of the integer array
  37.  
  38. ;  do forever
  39.  
  40. ;---------------------------< start of code >-------------------------------
  41.  
  42.       STATUS=YES
  43.  
  44.       W'E (STATUS.EQ.YES)
  45. ;        set dot count to 0
  46.          DODOTCT = 0
  47.  
  48.          W'R HOSTON .E. YES
  49. ;           when running local kermit, put prompt in caps
  50.             E'E TYPOUT.(9, $KERMIT-CV$)
  51.          O'E
  52. ;           when running remote kermit, put prompt in lowercase
  53.             E'E TYPOUT.(9, $kermit-cv$)
  54.          E'L
  55.          W:R NEWCMD.($> $,1,0) .G. 0
  56.             E:E IDENT.(OPTION)
  57.  
  58.             ;it is the keyword CONNECT
  59.             W'R COMPNAM.(OPTION,$CONNECT $) .E. 0 .OR.
  60. 1               COMPNAM.(OPTION,$CON     $) .E. 0 .OR.
  61. 1               COMPNAM.(OPTION,$C       $) .E. 0
  62.                E'E SCONNECT.
  63.  
  64.             ;it is the keyword QUIT or EXIT
  65.             O'R COMPNAM.(OPTION,$QUIT    $) .E. 0 .OR.
  66. 1               COMPNAM.(OPTION,$EXIT    $) .E. 0 .OR.
  67. 1               COMPNAM.(OPTION,$Q       $) .E. 0 .OR.
  68. 1               COMPNAM.(OPTION,$E       $) .E. 0
  69.                E'E DETACH.($KM$)
  70.                E:E TYPEMSG.($Leaving KERMIT now...!$)
  71.                STATUS = $NO$
  72.  
  73.             ;it is the keyword HELP
  74.             O'R COMPNAM.(OPTION,$HELP    $) .E. 0
  75.                E'E SHELP.
  76.  
  77.             ;it is the keyword RECEIVE
  78.             O'R COMPNAM.(OPTION,$RECEIVE $) .E. 0 .OR.
  79. 1               COMPNAM.(OPTION,$REC     $) .E. 0 .OR.
  80. 1               COMPNAM.(OPTION,$R       $) .E. 0
  81.                E'E SRECEIVE.
  82.  
  83.             ;it is the keyword SET
  84.             O'R COMPNAM.(OPTION,$SET     $) .E. 0
  85.                E'E SSET.(BLIN)
  86.  
  87.             ;it is the keyword SEND
  88.             O'R COMPNAM.(OPTION,$SEND    $) .E. 0
  89.                E'E SSEND.
  90.  
  91.             ;it is the keyword STATUS
  92.             O'R COMPNAM.(OPTION,$STATUS  $) .E. 0
  93.                E'E SSTATUS.
  94.  
  95.             O'E
  96.                E:E TYPEMSG.($Unrecognized command  type "HELP"!$)
  97.             E'L
  98.          E:L
  99.       E'W
  100.  
  101.       F'N
  102.       E:N
  103.