Rexx

Տեսակծրագրավորման լեզու, command line interface language? և ծրագրավորման ինտերպրետացվող լեզու
Առաջացել է1979
ՍտեղծողIBM և Mike Cowlishaw?
ՆախագծողMike Cowlishaw?
Ընդլայնումներ.cmd, .bat, .exec, .rexx, .rex և .EXEC
Ներշնչվել էPL/I, Ալգոլ, CMS EXEC? և EXEC 2?
 REXX (programming language) Վիքիպահեստում

REXX կամ Rexx (REstructured eXtended eXecutor, արտասանվում է «ռեքս»)[1], ինտերպրետացվող ծրագրավորման լեզու, որը մշկել է IBM ընկերությունը։ Գոյություն ունի տվյալ լեզվի կիրառման կոմերցիոն ձև, այնպես էլ ազատ տարածվող ձև[2]։

REXX իր տարածման առաջին պիկն ստացել է 1990-ականների կեսերին, հայտնի օպերացիոն համակարգ OS/2-ի հետ  միասին։ Սա պայմանավորված է նրանով, որ REXX-ի ինտերպրետատորը կարող է կանչվել թիմային պրոցեսորի կողմից, որի արդյունքում կարող է կատարել սկրիպտներ, որոնք բաղկացած են հրամանային վահանակի օպերատորներից «ինչպես bashGNU-ում»։

Այն դեպքում երբ REXX-ի ինտերպրեատորը  կանչվում է cmd.exe-ից «կամ 4os2.exe-ից» նա օգտագործում է թիմային ֆայլերը։ Եթե այն կանչվում է փոստային խմբագիր FleetStreet-ից, օգտագործում է FleetStreet թիմային ֆայլերը։ Ինքնին REXX-ը չի կցվում համակարգի կոկրետ մասի հետ, և կարող է օգտագործվել ցանկացած ծրագրում, որպես «իր» լեզու, ընդ որում  REXX ծրագրերից յուրաքանչյուր օգտվող կարող է  դրան ավելացնել իր գործառույթները,  որոնք հասանելի են միայն REXX-ի մշակման դեպքում, տվյալ ծրագրի համատեքստում։ Օրինակ mesa/2 էլեկտրոնային աղյուսակը REXX-ում ավելացրել է թիմ, որը թույլ է տալիս հաշվել և արձանագրել աղյուսակում բջիջների բովանդակությունը։

Այդ ժամանակից լեզուն ստացել է զարգացումներ OS/2-ի սահմաններից դուրս, բայց  ավանդաբար իր հատկություններով մնացել է թիմային օպերացիոն համակարգեր մուտք գործելու համար։ Ունի  տողերի հետ հզոր գործողության հնարավորություն, սխալների պարզեցված մշակման հնարավորություն։

Լեզվի առանձնահատկություններից է հզոր և հուսալի PARSE օպերատորը, տողերի վերլուծման համար (նման «=~ m/» (ինչպես Perl-ում), բայց ավելի հեշտ է)։ Նրա շարահյուսությունն է.

    parse [upper] ''ելակետային կաղապար'' 

թույլ է տալիս հեշտությամբ գրել ընթերցվող կառուցվածքներ

    MyVar = "Վոլոդյա Ստեփանյան"     parse var MyVar FirstName LastName     say "Անուն:" FirstName     say "Ազգանուն:" LastName 

կամ, օրինակ, թեթ անունը գրված է ստորակետով, այն կարելի է նշել կաղապարում

    MyVar = "Ստեփանյան, Վոլոդյա"     parse var MyVar LastName "," FirstName     say "Անուն:" FirstName     say "Ազգանուն:" LastName 

ինչպես նաև կարելի է օգտվել ուղիղ ինդեքսավորված սյուներից

    MyVar = "(202) 123—1234"     parse var MyVar 2 AreaCode 5 7 SubNumber     say "Քաղաքային կոդ:" AreaCode     say "Հեռախոս:" SubNumber 

հետևյալ տողերը կհայտնվեն էկրանի վրա

    Քաղաքային կոդ։ 202     Հեռախոս։ 123—1234 

Ծրագրի օրինակ

[խմբագրել | խմբագրել կոդը]

Ծրագրի օրինակ REXX’е-ում, հաշվիչ, որը կատարում է վեց գործառույթներ (+,-,*,/,//,%), հասկանալով փակագծերի գործողությունը և կամայական թվով փոփոխականները.

/* calc.cmd ժողովրդական հաշվիչ (с) 1998 */ SAY 'Ռուսական ժողովրդական հաշվիչр v0.0' XX = "X="; X0 = "X=X"   SAY 'Մուտքագրեք արտահայտությունը կամ Q ավարտելու համար' DO FOREVER   PULL v   IF v = 'Q' THEN LEAVE    S = LEFT( v, 1 )   IF( DATATYPE( S, 'A' ) )     THEN       DO         IF( POS( '=', v ) = 0 )            THEN              DO                  INTERPRET XX v                 SAY 'X=' X               END            ELSE                 INTERPRET v       END     ELSE       DO           INTERPRET X0 v         SAY 'X=' X       END END EXIT 

Ծրագրի կատարման օրինակ (> օգտագործողի մուտքագրումը նշվում է).

 Ռուսական ժողովրդական հաշվիչ v0.0  Մուտքագրեք արտահայտությունը կամ Q ավարտելու համար  >300+(12.5*2+5)  X= 330.0  >Y=X*2  >Y+2  X= 662.0  >+33  X= 695.0  >+123  X= 818.0  >/10  X= 81.8  >//2  X= 1.8  >+1024  X= 1025.8  >%4  X= 256 

Ծանոթագրություններ

[խմբագրել | խմբագրել կոդը]
  1. «Կոհա առցանց քարտարան › Հեղինակավորի որոնում › REXX, ծրագրավորման լեզու (Topical Term)». opac.flib.sci.am. Վերցված է 2017 թ․ սեպտեմբերի 10-ին.(չաշխատող հղում)
  2. «Koha online catalog › Entry». haygirk.nla.am. Վերցված է 2017 թ․ սեպտեմբերի 10-ին.

Արտաքին հղումներ

[խմբագրել | խմբագրել կոդը]
Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են «Rexx» հոդվածին։