home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
CMDS
/
memacs400_cmds.lzh
/
MEMACS400
/
CMD
/
ppage.cmd
< prev
next >
Wrap
OS/2 REXX Batch file
|
1996-04-25
|
8KB
|
304 lines
; 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
toggle-fkeys
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]"