Stanf~Rdlinearacceleratorcenter Stanf~Rduniversi~,Stanford,California94309
Total Page:16
File Type:pdf, Size:1020Kb
SLAC-R-447 SLAG447 CONF-9405161-- UC-405 PO _ - PROCEEDINGS OF THE REXX SYMPOSIUM FOR DEVELOPERS AND USERS May l-3,1994 Boston, Massachusetts Convened by STANF~RDLINEARACCELERATORCENTER STANF~RDUNIVERSI~,STANFORD,CALIFORNIA94309 Program Committee Cathie Dager of SLAC, Convener Forrest Garnett of IBM Pat Ryall Prepared for the Department of Energy under Contract number DE-AC03-76SF00515 Printed in the United States of America. Available from the National Technical Information Service, U.S. Department of Commerce, 5285 Port Royal Road, Springfield, Virginia 22161. PROCEEDINGS OF THE REXX SYMPOSIUM FOR DEVELOPERS AND USERS TABLE OF CONTENTS - - A. Summary ii B. Presentations Tom Brawn IBM AIX REXX/6000 and IBM REXX for NetWare 1 Tom Brawn Object REXX-What’s New? 13 Anders Christensen Techniques for Performance Tuning REXX Interpreters-A Case Study of Regina 24 Ian Collier REXX/imc: A REXX Interpreter for UNIX 33 Mike Cowlishaw Interesting Corners of REXX 41 James Crosskey IBM Views on REXX 64 Hal German Choosing a Command Language- An Application-Centric Approach 74 Klaus Hansjakob News From the REXX Compiler 78 Mark Hessling Using REXX as a Database Tool 95 Lee Krystek Using REXX in a UNIX Environment to Manage Network Operations 109 Luc Lafrance REXX at Simware 125 Linda Littleton REXX Resources on the Internet 138 Alan P. Matthews Using REXX and Notrix for Lotus Notes Data Manipulation 142 Patrick J. Mueller Adventures in Object-Oriented Programming in REXX 166 Patrick Mueller ROX-REXX Object extensions 188 Simon Nash The Object REXX Class Hierarchy 211 Edmond Pruul Portable REXX Applications and Reusable Design 223 David Shriver REXX for CICS/ESA 231 Timothy Sipples Working (and Playing!) with REXX and OS/2 Multimedia 246 Hobart Spitz Converting MVS/JCL to REXX/TSO 250 C. Attendees 265 Summary --- The fifth annual REXX Symposium for Developers and Users convened in Boston, Massachusetts, May 2-4. The. fifty-seven attendees -came from Australia, Austria, England, Norway, Canada and many US states. This conference has become the premier event for exchanging REXX technical information, and people were impressed with how much REXX has spread since the last Symposium. This year we welcomed implementations for new platforms and continued growth in numbers of users and in importance of uses. One of the most popular sessions was “Object-Oriented Extensions,” given by Simon Nash of IBM. Also IBM gave the first public demonstration of their Object REXX for Windows. And the attendees continued the Symposium tradition of contributing software and making diskettes available for all. The Symposium served as a springboard for the REXX Language Association (RexxLA) which will help promote the use of the language. RexxLA held its first public meeting in conjunction with this year’s REXX Symposium. Next year the Symposium will be held at the Stanford Linear Accelerator Center. 1994 Steering Committee: Cathie Burke Dager Forrest Gamett Pat Ryall ii I IBM AIX REXX/6000 and IBM REXX for NetWare Tom Brawn IBM IBM AIX REXX/6000 & IBM REXX for NetWare Thomas J. Brawn Object REXX Development / IBM Endicott, NY 1 Internet id: [email protected] IBM AIX REXX16000 n Available 12/93 n Program number 5764-057 - REXX/6000 Reference guide SC24-5708 - comments on reference guide can be sent to pubrcf@gdlvme. vnet. ibm. corn .,<..jg$$k.!.~.<~~.&~,~~~$$~x:!:....% ‘.‘-.. ‘~>:.yww~ ” n Supports AIX release 3.2 and up ..;.::g:>:..,.:s$::.:...:.:::q$w “’ ,,:..;<y::._:buysQy.:. ’ n “AS-IS” release ..p;y,,&+ ‘” - In use internally at over 100 IBM locations fb:~ve~ 2 ,.::$y ,.$.,&...y::.’ ’ ’ years ,.::;:;z..::::...:::::>..::::!’ .::::::..::::. .:: p ..::: ? ,::)i” ,,>i’ ::;y I .::::::’ .:::::. .:::::. ..:p .$$y .::::. ..v PZ~ ,.; /,,: REXX16000 Additiotial details... n Port of IBM’s OS/2 REXX kernel to the AIX platform - SAA Level 2 w I/O functions (charin, charout, stream, etc) b System exits - Default command environment .*.r:cli~~~~~.,.........,.. ,...:.>:<&$$g*”~ w address ksh ‘Is -Fc’ +,:.:p;::.:...,,,,:#+.,,,.:g$#y.x. ‘ .’ ‘.’“ . ..,<,<<v,.,,::$p,++...’ ’ - Access to AIX environment variables ,.$(y,::gv...<.::y ..::::y..;<:::.*,.:x::. b value(‘PA TH ‘,; ‘ENVIRONlENT’) ..::::y.&X‘$$.” ,&.,<gg::...:’ 1:;:;:r:..:...::::;..::::..’ ’ ..:::P,::.:p..::::v,:::::: .:g.::::;::.<:p.i:::Y ’ .:::::..::p,,y:::...:.:c I [ REXX,6000 !,: ’ /*: ;;;’ v I I. Additional Functions n Directory - Works just like OS/2 cmd n RexxRegisterFunctiotVRexxRegisterFunctionPkg ~~~~~~~~!.A..g:..s&gy&$<.+>2: .A.........A.... <.:<<.:.. ., ..A.,...) . ~:~~:$$g$g$$$~~:;&;>9.+:.x::<:,.<.*,,,&. r - For registering functions from an application or functions ~~:~~~~“.A..::::.f+,.<,q::.)&:$.y~<$&a,........<..<,.$. :wx.:::::::~:::::.:;:~:::$~:.:~.$<::.:.:.::::#z::::::::::::::::.....!.~i..:) Y m:~.~from a function package Ln ::::::::::::::::::::::::::+:::.:$,~~~~~~iiiai:i:i~~~~~aa:::::i::ii:‘:.::i:::::::::::~: ~::i:~.~~~~iiiiii~~~~~~~:~::::~:~:~:~:~:~.~::::::~:::::::::.:.:.:.:.:.:.:.:::::::“‘,.A.,0:..,.,.......,.,:.:.:+:.,:.::::.:,: I:,::::; ,....<<.~$$#p.ysA :::::;::.:.:x:.:.:.:.:.l:‘i..........>>:::::::::+:.:.:.:::::x::.‘.‘.““:.:.:.:.:,:,‘:.:.:.:.:.:.:.:.:.:,....,.....,:.:‘:‘.“‘-t,~:.:.:.:,~ S imilar‘.:.:,: API’s for Subcom handlers and Exit handle~~~~~~~~. :::::;.:.:,:.::..iiQ...>..:.:,:.:....:. ..._. .,... .j,:::::::j::::::::j . :.:.:.:.:.:.;.:.,.:...’. 1Sli:::):::i:i:i:~~:::.::::::.:. .i.. - SysAddFuncPkg, SysAddCmdPkg, etc. functi~~~~~~~ilow {$;::;:.;;:$I,.:,,::..).: :...:.;.’ .:::.:::::::::::.:.::i$:ii3 :::,:::::j: ’ ’.:.i:~:~:~:~:~:~:~:~ ,.$$:...::::i. ::::::.:.y--.::::::::.;:i.::.:::::.,: :.:,j:::y:.. ,,p;:;:;:::;:;:...,..........:,:,.:.y.:.::....I . ’ ,&.....:::::s,.;,y$...” .:..:,.,,...‘ ,., easy access to API functions &$..,::::$.,.:$gp’ ’ .. .:,. .,.:.:..&y,<:$y .:. n SysCreatePipe ,.:.p;::::p,...:a - Creates an “unnamed pipe” for comm~ff&tion between .:#..::p.::g.::::;.a:;: two processes j/r RExx,6000 ;! ;;,: More functions... n SysFork() - Interface to fork command n SysGetpid() - Returns process ID I SysWait() - Waits on child process to end REXXl6000 x IBM REXX for NetWare n Available 3/94 n Program number 5764-075 - IBM REXX for NetWare Reference Guide SH24-5286 - comments on reference guide can be sent to pubrcf@gdlvme. vnet. ibm. corn n Supports NetWare release 3.11, 3.12, or 4.0 n “AS-IS” release REXX for NetWare x - v ----------I-.-----------I Additional details n Port of IBM’s OS/2 REXX kernel to Novell’s NetWare platform - SAA Level 2 b I,,0 functions (charin, charout, stream, etc) b System exits - Default command environment ,,~~::~~~~~~~~:!..~~...,....y.:., .” w#$$q ’ ,&.<<::::r:,.~,,:,:#p+,.<>~>:$$y+~~’ ’ b Address netware ‘load monitor’ ,...*:p...::,,,~$pF @P .,:$!:.::.:::.,.::y.+.:.:::..’ ” ....,,::::.\: . /:!p ..:::y,.::::::...::::p..::::::.. ::::::.,.:::..::yy,++ ’ .<::y::::,J$..,.p,.:::::c ,,:gy,<:;:y::g3: ” :::::::::>y,.:::;. I ;:::::,.:jp..::;::... Pt,:.:.,.g REXX ::;: ;!j,; ’ for NetWare ! I 2. I I n RexxRegisterSubcomNLM - registers a subcommand handler from a NetWare loadable module n RexxRegisterSubcomAdr - registers a subcdmmand handler from within an application routine ~.:.:~~~~~~~~~~.:.:.:.(.cA.. ...A.. ” I Similar AP,‘s for registering external functions a~~d~~~~’ ,.,.::::+,.:.:Zp handlers ..::,.:::::...q.::>,..:: y yx ..::j:,,.$$$..,::::::...: @’ ..::pJ::,.;:py” ,,..::$,*..,.:px:::. .:g.:<y..:::;:: ..<:y.::::...:$? I .:::.::I::.::j:..’ ’ ;! j for NetWare x 1 I j NetWare specific utilities n RxConsolePrint - Display a line of text on the system console n RxDosCopy - Copies a file from the DOS partition to the NetWare partition m RxDospresent .*.+$,...<.:q:#+:+*,.,*:.&$.yqy~>$gs!v: .. @ ::::.:.” .L...................,..~............. ..~......1............ ..A.a.. ,&gz+.~..,.$$y:: ,.,.:2<+:.,yh. ‘: “. E:.:l:aa:;~ilii,:~~~:~~~~~~~~:::;~.::::::..,.,..........‘ . ‘.‘...‘. ‘.‘‘::..:::i:I:::I::::~:.‘...:.:.:. ,,:*$y*,,.p.v,~>~:;:~:.:.. .,.,.,.,.,.:y,:.:::::....::::::.:.:.:.:.:.:.:.:..;:~:+.:.:.:;:~:~:]:::::::::... ..::.:.: .:.._.,...‘..,..,::)::.:(: .::.>:,.....(.....;,,.>;, >;. - ‘ Queries:. ‘::::~:~:$;:~ whether DOS is in memory ,.:,$?’ pi:.:.:.:.:.::...:.;.:.j:.:.:.:.,.,.,.,.,.,.,.,. .,.; :.>:...:,.,. I RxGetNumberOfVolumes .,::p.::::y,::$Y.....e ,.,..‘/. .<:::y - Queries the number of volumes on the 1~~~1server .<:p;:::i’ .;:g:j:;::,;p n RxGetVoIumeName .::;$y.::>t I - Given a volume number, get the volu;hej$ namhExx ..!:“.r n RxQueryNLM .!,,c - Return NLM handle if the NLM is loaded for NetWare x i .-.._-.-...._.____ -----...___---... .._.___ ‘i R - 2 .-L l- I Trademarks IBM, 092, AIX, REXX/6000, IBM REXX for NetWare,are registered trademarks of International Business Machines Corporation. NetWare is a trademark of Novell, Inc. Tritus SPF is a trademark of Tritus Corporation. NLMAuto Professional and NLMerlin are trademarks of Knozall Systems, Inc. Object REXX-What’s New? Tom Brawn IBM ::r- Tom Brawn :: Object REXX Development i IBM Endicott, NY / Internet id: [email protected].&om - $ ______..................................... :’ . .................................................................................... + Background Work began in 1988 Prototyped since 1989 Complete rewrite of interpreter Language architecture “in progress” and subject to change Significant enhancements over the past 18 months Limited beta on OS/2 and Windows 4/94 ‘ &+ *@@@ g@* &&-+j I $$$ /.& :: :i :i !r -.--.. -- .... -.... --.-- ..... -.--...-- ..... --.-.- ....... --- ......... -.-...- . .. --..- . --- .. ..___...................................~...........~~~~~~~~.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..~~~~~~~~~~~~~.~~~.~.~~~~~~~~~~~~