Category : Windows 3.X Files
Archive   : MEWIN.ZIP
Filename : PPAGE.CMD

 
Output of file : PPAGE.CMD contained in archive : MEWIN.ZIP
; PPAGE.CMD: Pascal MENU Page
; for MicroEMACS 3.9e and above
; (C)opyright 1988 by Ian Ornstein
; 2-May-1988
;
; This page was inspired by functionally similar code written
; for the ASE editor for the p-System by:
; Dick Karpinski Manager of Unix Services, UCSF Computer Center
; UUCP: ...!ucbvax!ucsfcgl!cca.ucsf!dick (415) 476-4529 (11-7)
; BITNET: dick@ucsfcca or dick@ucsfvm Compuserve: 70215,1277
; USPS: U-76 UCSF, San Francisco, CA 94143-0704 Telemail: RKarpinski
; I think it is only fair to give him the credit for the inspiration.
; - Ian -
;
; [I cleaned this up PC and added DOS shelling, CMODE for
; fence matching and indentation and put it in the distribution
; - dan]

; set up the "clean" procedure
store-procedure clean
delete-buffer "[Macro 10]"
delete-buffer "[Macro 11]"
delete-buffer "[Macro 12]"
delete-buffer "[Macro 13]"
delete-buffer "[Macro 14]"
delete-buffer "[Macro 15]"
delete-buffer "[Macro 16]"
delete-buffer "[Macro 17]"
delete-buffer "[Macro 18]"
delete-buffer "[Macro 19]"
set $cmode %oldmode
set $gmode %oldgmode
!endm

; make sure the function key window is up
set %rcfkeys FALSE
execute-macro-1
write-message "Loading..."

; Write out the page instructions
save-window
1 next-window
beginning-of-file
set $curcol 25
overwrite-string " F1 PROCEDURE F2 FUNCTION "
next-line
set $curcol 25
overwrite-string " F3 IF Then ELSE F4 WHILE "
next-line
set $curcol 25
overwrite-string " F5 REPEAT F6 CASE "
next-line
set $curcol 18
overwrite-string "PASC"
set $curcol 25
overwrite-string " F7 VALUE F8 Reserved words UP "
next-line
set $curcol 25
overwrite-string " F9 Reserve words CAPS F10 Shell to DOS "
unmark-buffer
beginning-of-file
!force restore-window
update-screen

;

10 store-macro
; set $debug TRUE
set %proc @"Procedure Name: "
insert-string &cat &cat "Procedure " %proc "~n"
insert-string " ( VAR ~n"
insert-string " );~n"
insert-string "~n"
; insert-string "CONST~n"
; insert-string "~n"
; insert-string "TYPE~n"
; insert-string "~n"
; insert-string "VAR~n"
; insert-string "~n"
insert-string &cat &cat "BEGIN (* " %proc " *)~n"
insert-string &cat &cat "END; (* " %proc " *)~n"
previous-line
open-line
insert-string " "
!force set $debug FALSE
!endm
bind-to-key execute-macro-10 FNC

; Function
11 store-macro
set %func @"Function Name: "
insert-string &cat &cat "Function " %func "~n"
insert-string " ( VAR ~n"
insert-string " ) : BOOLEAN;~n
insert-string "~n"
insert-string &cat &cat "BEGIN (* " %func " *)~n"
insert-string &cat &cat "END; (* " %func " *)~n"
previous-line
open-line
insert-string " "
!force set $debug FALSE
!endm
bind-to-key execute-macro-11 FND

;

12 store-macro
set %curcol $curcol
set %cond @"Condition Expr: "
; set $debug TRUE
insert-string &cat &cat "IF " %cond "~n"
%curcol insert-string " "
set $curcol %curcol
insert-string "THEN~n"
%curcol insert-string " "
set $curcol %curcol
insert-string " BEGIN~n"
%curcol insert-string " "
set $curcol %curcol
insert-string &cat &cat " END (* TRUE " %cond " *)~n"
%curcol insert-string " "
set $curcol %curcol
insert-string "ELSE~n"
%curcol insert-string " "
set $curcol %curcol
insert-string " BEGIN~n"
%curcol insert-string " "
set $curcol %curcol
!if &EQUal %curcol 3
insert-string &cat &cat " END; (* FALSE " %cond " *)"
!else
insert-string &cat &cat " END (* FALSE " %cond " *)"
!endif
3 previous-line
beginning-of-line
open-line
%curcol insert-string " "
insert-string " "
!force set $debug FALSE
!endm
bind-to-key execute-macro-12 FNy

;

13 store-macro
set %cond @"Condition Expr: "
;set $debug TRUE
set %curcol $curcol
insert-string &cat &cat "WHILE " %cond " DO~n"
%curcol insert-string " "
set $curcol %curcol
insert-string " BEGIN~n"
%curcol insert-string " "
set $curcol %curcol
!if &EQUal %curcol 3
insert-string &cat &cat " END; (* WHILE " %cond " *)"
!else
insert-string &cat &cat " END (* WHILE " %cond " *)"
!endif
beginning-of-line
open-line
%curcol insert-string " "
insert-string " "
!force set $debug FALSE
!endm
bind-to-key execute-macro-13 A-FN6

14 store-macro
set %cond @"Condition Expr: "
;set $debug TRUE
set %curcol $curcol
insert-string &cat &cat "REPEAT~n"
%curcol insert-string " "
set $curcol %curcol
!if &EQUal %curcol 3
insert-string &cat &cat "UNTIL " %cond ";"
!else
insert-string &cat "UNTIL " %cond
!endif
beginning-of-line
open-line
%curcol insert-string " "
insert-string " "
!force set $debug FALSE
!endm
bind-to-key execute-macro-14 FN^V

15 store-macro
set %expr @"Case Expr: "
;set $debug TRUE
set %curcol $curcol
insert-string &cat &cat "CASE " %expr " OF~n"
%curcol insert-string " "
set $curcol %curcol
!if &EQUal %curcol 3
insert-string &cat &cat "END; (* Case " %expr " *)"
!else
insert-string &cat &cat "END (* Case " %expr " *)"
!endif
beginning-of-line
open-line
%curcol insert-string " "
insert-string " "
!force set $debug FALSE
!endm
bind-to-key execute-macro-15 A-FN5

16 store-macro
; set $debug TRUE
set %curcol $curcol
set %value @"Value: "
insert-string &cat %value " : BEGIN~n"
%curcol insert-string " "
insert-string " END;~n"
%curcol insert-string " "
previous-line
beginning-of-line
open-line
%curcol insert-string " "
insert-string " "
!force set $debug FALSE
!endm
bind-to-key execute-macro-16 FN^B

17 store-macro
; set $debug TRUE
set %curcol $curcol
;save-file
set-mark
beginning-of-file
write-message "[Replacing 'begin']
replace-string "begin" "BEGIN"

beginning-of-file
write-message "[Replacing 'end']
replace-string "end" "END"

beginning-of-file
write-message "[Replacing ' if']
replace-string " if" " IF"

beginning-of-file
write-message "[Replacing ' else']
replace-string " else" " ELSE"

beginning-of-file
write-message "[Replacing ' repeat']
replace-string " repeat" " REPEAT"

beginning-of-file
write-message "[Replacing ' while']
replace-string " while" " WHILE"

exchange-point-and-mark
!force set $debug FALSE
!endm
bind-to-key execute-macro-17 ^X8

18 store-macro
; set $debug TRUE
set %curcol $curcol
;save-file
set-mark
beginning-of-file
write-message "[Replacing 'begin']
replace-string "begin" "Begin"

beginning-of-file
write-message "[Replacing 'end']
replace-string "end" "End"

beginning-of-file
write-message "[Replacing ' if']
replace-string " if" " IF"

beginning-of-file
write-message "[Replacing ' else']
replace-string " else" " Else"

beginning-of-file
write-message "[Replacing ' repeat']
replace-string " repeat" " Repeat"

beginning-of-file
write-message "[Replacing ' while']
replace-string " while" " While"

exchange-point-and-mark
!force set $debug FALSE
!endm
bind-to-key execute-macro-18 ^X9

19 store-macro
i-shell
!endm

; Set up CMODE
set %oldmode $cmode
set %oldgmode $gmode
add-mode CMODE
add-global-mode CMODE

write-message "[PASCAL MENU page loaded]"


  3 Responses to “Category : Windows 3.X Files
Archive   : MEWIN.ZIP
Filename : PPAGE.CMD

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/