Rexx

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Jump to navigation Jump to search
Rexx-img-lg.png
Տեսակ ծրագրավորման լեզու, command line interface language և interpreted language
Առաջացել է 1979
Ստեղծող IBM
Նախագծող Mike Cowlishaw
Ներշնչվել է PL/I և BASIC
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 (hy-Armn)։ Վերցված է 2017-09-10 
  2. «Koha online catalog › Entry»։ haygirk.nla.am (hy-Armn)։ Վերցված է 2017-09-10 

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]