rexx語言概覽(修改稿)課件_第1頁
rexx語言概覽(修改稿)課件_第2頁
rexx語言概覽(修改稿)課件_第3頁
rexx語言概覽(修改稿)課件_第4頁
rexx語言概覽(修改稿)課件_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

REXX語言概覽——REXX學(xué)習(xí)小組2023/7/211精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/212精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/213精選PPTREXX語言簡介*什么是腳本語言?*REXX:REstructuredeXtendedeXecutor1979-1982IBMMikeCowlishaw為簡化編程而設(shè)計(jì)*主要應(yīng)用于大型主機(jī)平臺(tái)*其他平臺(tái):Windows,Linux,Unix,AIX,DOS*主要應(yīng)用:執(zhí)行日常例行任務(wù),例如輸入TSO/E命令調(diào)用其他REXX程序編寫ISPF應(yīng)用對(duì)問題的一次性快速解決系統(tǒng)編程2023/7/214精選PPT*特點(diǎn):用途多樣可讀易用書寫自由單一數(shù)據(jù)類型強(qiáng)大的內(nèi)置函數(shù)跟蹤調(diào)試方便解釋型語言*缺點(diǎn):難以維護(hù),執(zhí)行效率不高2023/7/215精選PPT*組成指令:關(guān)鍵字,賦值,標(biāo)簽,空子句,命令調(diào)用內(nèi)置函數(shù):由編譯器直接支持TSO/E外部函數(shù):由TSO/E環(huán)境支持?jǐn)?shù)據(jù)棧函數(shù)eg:/*REXX*/SAY"WHAT'SYOURNAME?"PULLNAMESAY'HELLOWORLD!THISIS'NAME2023/7/216精選PPT執(zhí)行方法:1.2.3.已放在系統(tǒng)庫中,可以直接在命令欄里指定執(zhí)行4.批處理方式,使用JCL提交作業(yè)執(zhí)行PGM=IKJEFT012023/7/217精選PPT調(diào)試方式:Trace指令調(diào)試TraceC:所有的命令調(diào)用均被追蹤TraceE:只追蹤返回碼非零的錯(cuò)誤RC和SIGLRC:返回碼無錯(cuò)時(shí)為0,有錯(cuò)誤時(shí)置為該錯(cuò)誤的返回碼SIGL:控制流發(fā)生轉(zhuǎn)變時(shí)的代碼行號(hào)SIGNALONERROR定位錯(cuò)誤發(fā)生位置交互式調(diào)試:TRACE?R2023/7/218精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/219精選PPTREXX語法指令概覽*語法規(guī)則:指令可為大寫,小寫,大小寫混合,編譯執(zhí)行過程中自動(dòng)轉(zhuǎn)化成大寫(引號(hào)中的除外)SAYhelloSAY"hello"*指令格式:指令格式自由,系統(tǒng)自動(dòng)忽略多余的空格和空行續(xù)行:加入空格,不加入空格SAY'THISISANEXTENDED','INSTRUCTION.'SAY'THISISASTRINGCONT'||,'ENT.'指令結(jié)束可用;作為結(jié)尾,一行只有一條命令,可以不加結(jié)尾SAY'hello';SAYhello;SAY"GOON"2023/7/2110精選PPT指令類型*關(guān)鍵字:SAY,IF,THEN,ELSE,EXIT,END,DO*賦值:Variable=9;Variable=Variable+3*標(biāo)簽:后面緊跟冒號(hào)的名稱符,出現(xiàn)在指令開始處*空子句:注釋或者空行,作用是增加可讀性*命令調(diào)用2023/7/2111精選PPT變量和表達(dá)式*變量命名:大小寫字母,@,#,$,?,.,!,_等雙字符X'41'(程序中指定ETMODE)雙字符變量要用<>括起來eg:OPTIONS'ETMODE'<.S.Y.M.D>=10約束:第一個(gè)字符不能是數(shù)字,也不能是點(diǎn),長度不超過250字節(jié),不能取保留字*變量的取值:整型,浮點(diǎn)型,有符號(hào)數(shù),字符串,其他變量值或表達(dá)式變量沒有初始化,則默認(rèn)值為變量名的大寫字母表示變量賦值可通過PARSE指令,VALUE內(nèi)置函數(shù),賦值表達(dá)式及其他編程語言2023/7/2112精選PPT變量類型:*簡單變量:不帶.變量,沒有對(duì)其賦值,默認(rèn)值為對(duì)應(yīng)的大寫表示。大小寫不敏感*復(fù)合變量:帶.的變量,由詞干和詞尾組成,遵循簡單變量命名規(guī)則,不超過255個(gè)字符,對(duì)應(yīng)其他語言中的數(shù)組,但下標(biāo)不一定為數(shù)字eg:TIME=3REXX.TIME值為REXX.3*復(fù)合詞干:復(fù)合變量的第一個(gè)詞干和.組成,用于將復(fù)合變量所表示的整個(gè)變量集賦初值eg:room.=emptyroom.mine=fullSAYroom.1room.mine/*emptyfull*/2023/7/2113精選PPT表達(dá)式的使用:*常量表達(dá)式:數(shù)字常量,字符串常量(通常寫在引號(hào)中,避免混淆)*算數(shù)表達(dá)式:+-*/%(取商)//(取余)**(乘方),+/-正負(fù)優(yōu)先級(jí):()圓括號(hào)

+,-前綴符號(hào)

**指數(shù)運(yùn)算符號(hào)

*,/,%,//乘法和除法

+,-加法和減法*比較表達(dá)式:數(shù)值比較,字符串比較eg:'HELLO'=hello普通比較,返回1'HELLO'==hello嚴(yán)格比較,返回0比較符:=,(﹁=,\=,<>,><),(>=,﹁<,\<)(<=,﹁>,\>),(﹁==,\==),<,>2023/7/2114精選PPT*邏輯表達(dá)式:&|\&&(異或)*連接表達(dá)式空格:連接兩項(xiàng),并在中間加入空格,默認(rèn)設(shè)置為加入一個(gè)空格SAYXYZ/*XYZ*/“||”直接連接兩端,中間不加空格8||(3*3)/*89*/直接相鄰eg:percent=60percent‘%’/*60%*/2023/7/2115精選PPT關(guān)鍵字指令*SAY向終端輸出字符*PULL從鍵盤讀取*(PARSE)ARG讀取用戶提供的參數(shù)(用戶提供的參數(shù)為(‘hello’,2))ARGstring,num/*string='hello',num=2*/(用戶提供的參數(shù)為“helloworld”)ARGstr1,str2/*str1=hello,str2=world*/*NOP空子句,表示不執(zhí)行操作*UPPER將變量值轉(zhuǎn)化成大寫eg:A='hello'

UPPERASAYA/*HELLO*/*ADDRESS,PROCEDURE,CALL,DROP,NUMERIC,OPTIONS,SIGNAL......

2023/7/2116精選PPT條件控制語句*IF-THEN-ELSEIFexprTHENinstructionsELSEinstructionseg:

IFweather=fineTHENDOSAY'lovelyday!'

IFgym=freeTHENSAY'let'splaybasketball!'

ELSE

NOPEND

ELSESAY'badweather!'2023/7/2117精選PPT*SELECT/WHEN/OTHER/ENDSELECTWEHNexpr1THENinstructionWEHNexpr2THENinstruction......OTHERWISEinstructionsEND2023/7/2118精選PPTeg:SELECTWHENweather=fineTHENSAY'lovelyday'WHENgym=freeTHENSAY'let'splaybasketball'OTHERWISESAY'badweather'END2023/7/2119精選PPT循環(huán)控制語句循環(huán)指令分為兩類:重復(fù)循環(huán)和條件循環(huán)循環(huán)語句寫在DO-END結(jié)構(gòu)內(nèi),循環(huán)可以嵌套,DO和END要匹配基本用法:DorepetitorClauseInstructionsEnd2023/7/2120精選PPT*重復(fù)循環(huán)語句默認(rèn)情況每次變量加1,可以通過BY來更改每次的增量,F(xiàn)OR來控制最大循環(huán)次數(shù)eg:

Doi=1to10BY2FOR2SAY'HELLO'

END/*結(jié)果輸出兩行HELLO*/2023/7/2121精選PPT*條件循環(huán)語句DOWHILE:第一次進(jìn)入循環(huán)體前先檢測(cè)條件,當(dāng)條件為真時(shí)繼續(xù)循環(huán)DOUNTIL:在語句執(zhí)行后進(jìn)行條件檢測(cè),條件為假時(shí)繼續(xù)循環(huán)eg:QUANTITY=20DONUMBER=1TO10

WHILEQUANTITY<50/*UNTILQUANTITY>=50*/QUANTITY=QUANTITY+NUMBERSAY'QUANTITY='QUANTITYEND2023/7/2122精選PPT*DOFOREVER無限循環(huán)死循環(huán)處理按中斷鍵,用戶收到IRX0920I的消息,回復(fù)HI若沒有停止,再次按中斷鍵,回復(fù)HE*LEAVE和ITERATE指令LEAVE:立刻終止循環(huán)ITERATE:終止當(dāng)次循環(huán)eg:DOi=1TO5IFi=3THEN

ITERATEELSESAYiEND/*輸出12452023/7/2123精選PPTeg:DOouter=1TO2DOinner=1TO2IFinner>1THEN

LEAVEinnerELSESAY'INNER'ENDSAY'OUTER'END/*INNEROUTERINNEROUTER*/2023/7/2124精選PPT中斷語句*EXIT:無條件終止并且返回到程序調(diào)用處*CALL:通過調(diào)用內(nèi)部或者外部子例程來中斷現(xiàn)有程序*RETURN:調(diào)用程序結(jié)束后返回原調(diào)用處,繼續(xù)執(zhí)行原程序*SIGNAL:跳轉(zhuǎn)到目標(biāo)標(biāo)簽處,通常用于程序的測(cè)試或特殊情況的處理,無法返回2023/7/2125精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/2126精選PPTREXX命令TSO/EREXX命令TSO環(huán)境下提供給REXX使用的系統(tǒng)命令此種命令只能用于REXX程序,在CLIST和TSOREADY模式下不能使用

可提供的服務(wù):I/O控制操作數(shù)據(jù)棧檢查宿主命令環(huán)境改變程序執(zhí)行2023/7/2127精選PPT常用命令*數(shù)據(jù)棧相關(guān)命令(TSO/E和非TSO/E下均可使用):*NEWSTACK創(chuàng)建一個(gè)數(shù)據(jù)棧DELSTACK刪除最新建的數(shù)據(jù)棧及里面的全部數(shù)據(jù)

"NEWSTACK"/*創(chuàng)建新的數(shù)據(jù)棧*/PUSHelem1PUSHelem2......

"DELSTACK"/*刪除之前創(chuàng)建的數(shù)據(jù)棧*/2023/7/2128精選PPT*MAKEBUF在數(shù)據(jù)棧上創(chuàng)建一個(gè)新的緩沖區(qū),并返回編號(hào),保存在RC中DROPBUF刪除最新創(chuàng)建的緩沖區(qū)并清空數(shù)據(jù)*QSTACK返回程序中存在的數(shù)據(jù)棧數(shù)量(包括buffer0),如果未使用MAKESTACK命令,返回值為1*QBUF就算新創(chuàng)建的數(shù)據(jù)棧上建立的緩沖區(qū)數(shù)量,為使用過MAKEBUF命令,QBUF命令返回0*QELEM計(jì)算新創(chuàng)建的數(shù)據(jù)棧緩沖區(qū)中的元素?cái)?shù)量,未使用過MAKEBUF返回值為0,與當(dāng)前數(shù)據(jù)棧中元素的數(shù)量無關(guān)2023/7/2129精選PPT*EXECIO命令用于處理數(shù)據(jù)集的輸入輸出,對(duì)數(shù)據(jù)集進(jìn)行增,刪,改,查等操作可以執(zhí)行I/O操作的數(shù)據(jù)集是PS,PDS/PDSE的成員該命令不具備分配數(shù)據(jù)集的功能*EXECUTIL命令--設(shè)置系統(tǒng)運(yùn)行庫在程序載入后是否關(guān)閉--控制TRACE指令的開啟和關(guān)閉--終止程序的翻譯過程--禁止和回府程序?qū)K端的輸出--修改程序包目錄中的項(xiàng)目--設(shè)置出了SYSPROC之外的其他運(yùn)行庫2023/7/2130精選PPT*立即命令--TS(TraceStart)啟動(dòng)TraceTE(TraceEnd)結(jié)束Trace--HI停止對(duì)所有REXX和CLIST程序的翻譯,包括調(diào)用該命令本身的程序--HT常規(guī)的輸出被掛起,如SAY輸出指令,但REXX運(yùn)行正常,錯(cuò)誤信息仍然可以顯示RT恢復(fù)之前掛起的輸出--HE終止REXX程序的執(zhí)行*SUBCOM通過設(shè)置RC的值檢測(cè)某個(gè)宿主環(huán)境是否可用

"SUBCOMISPEXEC"IFRC=0THEN

ADDRESSISPEXECELSENOP2023/7/2131精選PPTeg:/*REXX*/MAINRTN:......CALLSUBRTN

"EXECUTILTE"......EXITSUBRTN:

"EXECUTILTS"......RETURN2023/7/2132精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/2133精選PPT函數(shù)與子例程什么是函數(shù)接受數(shù)據(jù),處理數(shù)據(jù)并返回值,已完成特定功能的代碼片段REXX中的函數(shù)種類內(nèi)置函數(shù):豐富的內(nèi)置函數(shù)幾大地方便用戶編程用戶函數(shù):內(nèi)部函數(shù),外部函數(shù)函數(shù)包:將函數(shù)以打包的形式發(fā)布函數(shù)調(diào)用ReturnValue=functionName([expr[,expr[,......]])函數(shù)名與左括號(hào)中間不能有空格2023/7/2134精選PPT子例程與函數(shù)的區(qū)別*函數(shù)必須有返回值,子例程不必要*函數(shù)的返回值要替代調(diào)用的位置,而子例程的返回值保存在特殊變量result中*調(diào)用方式不同子例程的調(diào)用

eg:CALLSUBSTR'verylongword',1,8x=RESULT為什么要用函數(shù)和子例程結(jié)構(gòu)化程序所必須的將程序分為多個(gè)模塊代碼的重復(fù)利用函數(shù)和子程序可以是內(nèi)部或外部的

2023/7/2135精選PPT/****************REXX*******************/

CALLsubroutine'ab','cd','ef'SAYresult/*輸出結(jié)果abcdef*/SAYsubfunc('ab','cd','ef')/*輸出結(jié)果efcdab*/RETURN0/**************subroutine子例程實(shí)現(xiàn)***************/subroutine:PROCEDUREPARSEARGstring1,string2,string3RETURNstring1||string2||string3/**************subfunc()子函數(shù)實(shí)現(xiàn)***************/subfunc:PROCEDUREPARSEARGstr1,str2,str3RETURNstr3||str2||str12023/7/2136精選PPT函數(shù)和例程的搜索順序該調(diào)用是否是內(nèi)部函數(shù)或例程是否是內(nèi)置函數(shù)是否是外部函數(shù)或例程FUNCSOFL:標(biāo)記位,判斷是否在搜索REXX程序前先搜索運(yùn)行庫2023/7/2137精選PPT參數(shù)傳遞*共享變量/************REXX******************/number1=10CALLsubroutineSAYnumber1number2EXITsubroutine:PROCEDUREnumber1=7number2=5SAYnumber1number2RETURN2023/7/2138精選PPT使用EXPOSE共享變量eg:/********REXX***********/J=1;Z.1='A'CALLTOFTSAYJKMEXIT/********子例程********/TOFT:PROCEDUREEXPOSEJKZ.JSAYJKZ.JK=7;M=3RETURN2023/7/2139精選PPT*參數(shù)傳遞/***********REXX******************/PARSEARGLONGWIDECALLPERIMETERLONG,WIDESAY'RESULTIS'RESULTEXIT

PERIMETER:PROCEDURE

ARGLENGTH,WIDTHPERIM=2*LENGTH+2*WIDTHRETURNPERIM2023/7/2140精選PPT內(nèi)置函數(shù)

算數(shù)函數(shù):執(zhí)行對(duì)數(shù)值的運(yùn)算比較函數(shù):比較字符串和數(shù)值是否相同或判斷類型轉(zhuǎn)換函數(shù):進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換格式函數(shù):設(shè)置字符串中字符和空格的格式字符串操作函數(shù):設(shè)置字符串中字符和空格的顯示方式其他函數(shù)2023/7/2141精選PPT*算數(shù)函數(shù)ABS:求絕對(duì)值MAX:最大值MIN:最小值RANDOM:產(chǎn)生隨機(jī)數(shù)SIGN:返回?cái)?shù)值符號(hào)(-1,0,1)FORMFUZZTRUNC*比較函數(shù)COMPARE比較兩個(gè)字符串,相同返回0,不同返回第一個(gè)不同字母的位置DATATYPESYMBOL*轉(zhuǎn)換函數(shù)B2XC2DC2XD2CD2XX2BX2CX2D2023/7/2142精選PPT*格式函數(shù)FORMAT(number,before,after,expp,expt)before,after表示小數(shù)點(diǎn)前后的位數(shù)expp設(shè)置指數(shù)的位數(shù),設(shè)置為0則不使用指數(shù)expt設(shè)置何時(shí)使用指數(shù),當(dāng)整數(shù)或小數(shù)部分的位數(shù)分別超過了expt的一倍或兩倍,那么就用指數(shù)表示;若expt為0,則在有小數(shù)部分的時(shí)候就使用指數(shù)表示若expp為0,則expt自動(dòng)設(shè)為0CENTER/CENTRECOPIESJUSTIFYLEFTRIGHTSPACE2023/7/2143精選PPT*字符串操作函數(shù)DELWORDFINDINDEXINSERTLASTPOSLENGTHOVERLAYPOSREVERSESTRIPSUBSTRSUBWORDTRANSLATEVERIFYWORDWORDINDEXWORDLENGTH*其他內(nèi)置函數(shù)ADDRESS:返回當(dāng)前命令提交執(zhí)行的環(huán)境ARG:返回傳給子例程的參數(shù)信息CONDITION:返回當(dāng)前捕捉到的特殊情況的信息DATE:按照指定格式返回當(dāng)前系統(tǒng)信息EXTERNALS:返回中斷輸入緩沖區(qū)的字符數(shù)LINESIZE:返回終端的行寬減1TIME:返回指定格式的系統(tǒng)時(shí)間2023/7/2144精選PPTTSO/E外部函數(shù)*OUTTRAP函數(shù)將命令的輸出放在一組變量中,REXX可以處理這些變量中的輸出內(nèi)容調(diào)用格式OUTTRAP((off),varname,max,concat)參數(shù):off:關(guān)閉錯(cuò)誤跟蹤varname:可以是復(fù)合變量或者數(shù)字變量的前綴,max:設(shè)置捕捉的最大行數(shù)concat:設(shè)置輸出方式CONCAT:設(shè)置命令被捕捉的最大值NOCONCAT:設(shè)置每次變量的輸出從變量1開始存儲(chǔ)2023/7/2145精選PPTeg1:x=OUTTRAP("ABC",4,"CONCAT")ABC0===>3ABC1===>第一行輸出ABC2===>第二行輸出ABC3===>第三行輸出/*若此時(shí)又有一條命令有兩行輸出,那么第二行不被跟蹤*/ABC4===>第四行輸出/*ABC0到ABC3不變*/2023/7/2146精選PPTeg2:/*REXX*/callouttrap'line.'"listdste02.rexx.lab"calloutrap'off'say"lines:"line.0doi=1toline.0sayline.iend/*運(yùn)行結(jié)果*/lines:5TE02.REXX.LAB--RECFM-LRECL-BLKSIZE-DSORGFB8032720PO--VOLUMES--USER022023/7/2147精選PPT*SYSDSN函數(shù)判斷指定的數(shù)據(jù)集名稱是否存在或該數(shù)據(jù)集是否可用,指定的數(shù)據(jù)集是順序數(shù)據(jù)集還是分區(qū)數(shù)據(jù)集的成員,檢查是否有訪問權(quán)限eg:X=SYSDSN("PRO.REXX(MEM)")IFX='OK'THEN

CALLROUTINE1ELSECALLROUTINE22023/7/2148精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/2149精選PPTREXX數(shù)據(jù)處理數(shù)據(jù)解析數(shù)據(jù)棧操作文件讀寫2023/7/2150精選PPT數(shù)據(jù)解析

*常用解析命令

PULL、ARG、PARSEVAR、PARSEVALUE-WITH等

指令

*template——list詳解2023/7/2151精選PPT--PULL指令

Pull:交互式的讀入,等待用戶輸入

Eg:say‘pleaseenteryourname’

pullname(會(huì)將小寫轉(zhuǎn)換成大寫字母)

parsepullname(不進(jìn)行轉(zhuǎn)換)--ARG指令A(yù)RG:取執(zhí)行或調(diào)用時(shí)傳遞的參數(shù)argname&parseargname

Eg:execREXX(ARG)‘dong’exec2023/7/2152精選PPT--PARSE(upper)VAR指令

sentence=‘Iloverexxverymuch’

Parsevarsentencestr1str2str3

Saystr1/*輸出變量I*/

Saystr2/*love*/

Saystr3/*rexxverymuch*/--PARSEVERSION指令

Parseversionver

Sayver/*輸出版本號(hào)*/2023/7/2153精選PPT*PARSEVALUE-WITH指令--語法:parsevalue[expression]with--將一個(gè)表達(dá)式解析為一個(gè)或多個(gè)變量--Eg:

Parsevalue‘rexxisgood’withstr1str2str3str4

/*str1將輸出rexx*/

/*str2is*/

/*str3good*/

/*str4為空*/2023/7/2154精選PPT*Template_list詳解--數(shù)據(jù)解析式通過對(duì)比源數(shù)據(jù)和模板把源數(shù)據(jù)解析成單獨(dú)的數(shù)據(jù)數(shù)據(jù)解析分兩步:1、將源數(shù)據(jù)解析為模板格式指定的子串2、將各子串放入對(duì)應(yīng)的變量中。2023/7/2155精選PPT1、空格分隔符Eg:

Parsevalue‘valuewithblanks.’withab

/*a取得value*/

/*b取得withblank*/2、占位符分隔符

Parsevalue‘valuewithperiodsinit.’witha.b.

/*a取得value*/

/*b取得periods*/2023/7/2156精選PPT3、字符(變量)分隔符

Sentence=‘youhere,ornothere’

Parsevarsentencestr1‘,’str2/*用逗號(hào)表示該處分隔*/

Str1=‘youhere’

Str2=‘ornothere’

P=‘,’

Parsevarsentencestr1(p)str22023/7/2157精選PPT4、位置分隔符(a)列的絕對(duì)位置

String=‘tomorrowwillbebetter.’

Parsevarstringstr16str29str3

Parsevarstringstr1=6str29str3

Str1=tomor

Str2=row

Str3=‘willbebetter’

Parsevarstringstr16str21str3

Str2=rowwillbebetter

Str3=tomorrowwillbebetter2023/7/2158精選PPT(b)列的相對(duì)位置(+右移–左移)

String=‘tomorrowwaitingforu’

Parsevarstringstr1+8str2+8str3

/*str1=‘tomorrow’*/

/*str2=‘waiting’*/

/*str3=‘foru’*/

Parsevarstringstr1+8str2-8str3

Str1=tomorrow

Str2=‘waitingforu’

Str3=tomorrowwaitingforu2023/7/2159精選PPT數(shù)據(jù)棧操作數(shù)據(jù)棧操作指令:1、添加數(shù)據(jù)棧元素

Push:在數(shù)據(jù)棧頂部增加數(shù)據(jù)

Queue:在數(shù)據(jù)部底部增加數(shù)據(jù)

A=5b=10

PushA

Queueb2023/7/2160精選PPT2、刪除數(shù)據(jù)棧元素

Pull:從數(shù)據(jù)棧取數(shù)據(jù),當(dāng)數(shù)據(jù)棧為空時(shí),pull指令從終端取數(shù)據(jù)。

Pullstackitem

Parsepullstackitem3、數(shù)據(jù)棧元素?cái)?shù)量

內(nèi)置函數(shù)queued返回?cái)?shù)據(jù)棧中元素?cái)?shù)量

Number=queued()

Donumber

pullelement

sayelement

end2023/7/2161精選PPT文件讀寫1、什么時(shí)候使用EXECIO命令

a從一個(gè)數(shù)據(jù)集中讀取數(shù)據(jù)

b向一個(gè)數(shù)據(jù)集中寫入數(shù)據(jù)

c打開一個(gè)數(shù)據(jù)集,并不進(jìn)行任何讀寫操作

d清空一個(gè)數(shù)據(jù)集

e從一個(gè)數(shù)據(jù)集中拷貝數(shù)據(jù)到另一個(gè)數(shù)據(jù)集中

f從一個(gè)復(fù)合變量列表中讀取數(shù)據(jù)存入數(shù)據(jù)集中g(shù)向一個(gè)順序數(shù)據(jù)集末尾增加數(shù)據(jù)h一次更新數(shù)據(jù)集中的一行數(shù)據(jù)2023/7/2162精選PPTEXECIO命令語法*格式:

EXECIOLines/*diskr/diskru/diskwddname

lineNUMread/writeParms

Lines/*:lines代表處理的記錄數(shù),*表示整個(gè)數(shù)據(jù)集

Diskr只讀方式處理文件

Disku表示讀取記錄允許更新文件

Diskw表示寫文件

lineNum開始讀記錄的起始位置

Read/writeParms讀寫參數(shù)2023/7/2163精選PPT*文件讀取

a)“execio*diskrmyindd(finis”

Finis表示讀完之后關(guān)閉數(shù)據(jù)集

b)“execio1diskrumyindd(open”

“execio1diskwmyindd(finis”2023/7/2164精選PPT*Diskr&diskru參數(shù)選項(xiàng)1、Open打開數(shù)據(jù)集

“execio0diskrmyindd(open”2、Finis讀完之后關(guān)閉數(shù)據(jù)集3、Stem讀取信息到一個(gè)可被索引的復(fù)合變量中

“execio*diskrmyindd(stemnewvar.”

newvar.0表示復(fù)合變量中元素的數(shù)量

使用dropnewvar.清除所有變量4、skip跳過數(shù)據(jù)集中特定行,不寫入數(shù)據(jù)棧

“execio6diskrmyindd(skip”2023/7/2165精選PPTLIFO:rexx使用push指令將信息放到數(shù)據(jù)棧中FIFO:使用queue指令將信息放到數(shù)據(jù)戰(zhàn)中默認(rèn)使用FIFO輸入數(shù)據(jù)集:一個(gè)I/O數(shù)據(jù)集必須首先定義成DDNAME才能通過execio進(jìn)行操作。

“allocda(ur535.rexx.data)f(myindd)shrreuse”

“execio*diskrmyindd(finis”2023/7/2166精選PPT文件讀取示例“EXECIO0DISKRmyindd(open”“EXECIO0diskrmyindd100(open”“EXECIO25diskrmyindd(open”“EXECIO*diskrmyindd(open”“EXECIO5diskrmyindd100(finis”2023/7/2167精選PPT文件寫入

“EXECIO*DISKWmyoutdd(finis”1、diskw參數(shù)選項(xiàng)

(a)Open、finis、stem

“execio*diskwmyoutdd(stemnewvar.”

將復(fù)合變量內(nèi)容寫入到myoutdd中

(b)輸出數(shù)據(jù)集

同文件讀取類似,輸出數(shù)據(jù)集必須首先分配一個(gè)ddname

“allocda(ur535.rexx.data)f(myoutdd)oldreuse”

“execio*diskwmyoutdd(finis”2023/7/2168精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/2169精選PPTREXX與子系統(tǒng)的交互目標(biāo):1)執(zhí)行宿主命令。2)REXX與TSO環(huán)境的交互3)REXX與JES的交互4)REXX與SDSF的交互

2023/7/2170精選PPT執(zhí)行宿主命令1.REXX命令指REXX語言實(shí)現(xiàn)本身所提供的程序操作的命令:

eg:I/O控制數(shù)據(jù)集的讀寫(EXECIO)和數(shù)據(jù)棧的操作等。2.宿主命令指REXX程序執(zhí)行的宿主環(huán)境所能識(shí)別的命令。即識(shí)別并

執(zhí)行特定命令的運(yùn)行環(huán)境eg:rexx默認(rèn)環(huán)境是TSO/E環(huán)境2023/7/2171精選PPTTSO/EREXX可用的宿主環(huán)境1、TSO:可執(zhí)行TSO/E和REXX命令2、MVS:在非TSO/E地址空間中執(zhí)行rexx命令3、LINK:可連接相同級(jí)別的模塊4、ATTACH:可將不同級(jí)別的模塊連接到一起5、ISPEXEC:可執(zhí)行ISPF命令6、ISREDIT:可以執(zhí)行ISPF/PDFEDIT命令,即可查找、修改、插入、刪除數(shù)據(jù)等2023/7/2172精選PPTADDRESS命令用來指定或切換當(dāng)前命令執(zhí)行的宿主環(huán)境格式:AddressenvironmentAddressenvironmentcommandExpressionEg:ADDRESSISPEXEC“EDITDATASET(“DSNAME”)”只有當(dāng)前命令在ispf宿主環(huán)境中執(zhí)行ADDRESSISPF所有命令都將在ispf宿主環(huán)境中執(zhí)行2023/7/2173精選PPT1、查看當(dāng)前所處宿主環(huán)境:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論