VOOZH about

URL: https://hy.wikipedia.org/wiki/Tcl

⇱ TCL - Վիքիպեդիա


Jump to content
Վիքիպեդիայից՝ ազատ հանրագիտարանից
(Վերահղված է Tclից)
TCL
👁 պատկերանիշ
👁 Image
Տեսակscripting language?, ծրագրավորման պրոցեդուրային լեզու, օբյեկտ կողմնորոշված ծրագրավորման լեզու, բազմահարացուցային ծրագրավորման լեզու և ծրագրավորման ինտերպրետացվող լեզու
Կատարման ձևինտերպրետատոր
Առաջացել է1988 թ․
ՍտեղծողՋոն Օուստերհաուտ
ՆախագծողՋոն Օուստերհաուտ
Ընդլայնումներ.tcl և .tbc
Տիպիզացիադինամիկ
Համացանցի տվյալների տեսակapplication/x-tcl[1]
Ընթացիկ տարբերակ8.5.12 (2012 թ․ հուլիսի 16)
Փարձնական տարբերակ8.6b2 (2011 թ․ օգոստոսի 5)
Ներշնչվել էUNIX Shell, Lisp
Ներշնչել էPython
ԱրտոնագիրBSD արտոնագիր
Կայքtcl.tk(անգլ.)
Ելակոդcore.tcl-lang.org/tcl
👁 Image
 Tcl programming language family
Վիքիպահեստում

Tcl (անգլ.՝ Tool Command Language բառից, «հրամանային գործիքների լեզու», կարդացվում է որպես «թիքլ» կամ «թի-սի-էլ») բարձր մակարդակի սկրիպտային լեզու։ Շատ լավ է աշխատում «տողերի» (string) հետ։ Նրանով կարելի շատ արագ կատարել տեքստերում մասսայական փոփոխություններ, կոնկրետ կոնտեքստում որոնել անհրաժեշտ տեքստը։ Այս լեզուն մեծ կիրառություն ունի համակարգչային մի շարք ծրագրերում (օրինակ. ModelSim) հրամանների ավտոմատացման համար։

Tcl-ն հաճախ օգտագործվում է գրաֆիկական Tk (Tool Kit) ինտերֆեյսով, դրա համար շատ հաճախ օգտագործում են Tcl/Tk հասկացողություն։ Tcl-ն օգտագործվում է կոնսոլային ծրագրերին գրաֆիկական ինտերֆեյս տալու և թեսթավորման համար, ինչպես նաև օգտագործվում է վեբ ծրագրավորման ոլորտում։

Tcl-ը Perl և Python ծրագրերի հետ դարձել է ընդհանուր նշանակության երեք դասական լեզուներից մեկը։ Այս եռյակը ոչ միայն համարվում է ActiveState-ի կողմից տրամադրվող ազատ դիստրիբուտիվ, այլ այնպիսի լեզուներ, որոնցով կարելի է գրել տվյալների բազաների պահպանման և տրիգերների հետ աշխատանքի ծրագրեր։

Որպես ներդրված լեզու Tcl-ը կիրառություն է գտել Ավտոմատացված նախագծման համակարգեր ոլորտում[2][3]։ Այն, օրինակ, Unigraphics պոստպրոցեսորում օգտագործվում է որպես տվյալների բազայի ղեկավարման միջոց։ Բացի այդ Tcl-ը միկրոսխեմաների ոլորտի ծրագրային փաթեթների համար (Ծրագրավորվող լոգիկական ինտեգրալային սխեմա և ASIC) համարվում է ավտոմատացման և ինտեգրացման դե ֆակտո ստանդարտ լեզու։

Tcl ծրագրավորման լեզուն ստեղծվել է 1988 թվականի գարնանը՝ Ջոն Օուստերհուտի կողմից Կալիֆորնիայի Բերկլիի համալսարանի հետ համագործակցությամբ[4]։

Tcl լեզվի շարահյուսությունը

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

Tcl լեզվի շարահյուսությունը պարունակում է երկու կարևոր միավոր․ սկրիպտ և հրաման։

  • Սկրիպտը նոր տողի նիշով կամ կետ֊ստորակետ (;) նիշով իրարից բաժանված հրամանների հաջորդականություն է։
  • Հրամանը մեկ կամ ավելի արտահայտությունների շարք է՝ իրարից անջատված բացատանիշերով։ Այդ արտահայտություններից առաջինը հրամանի գործողությունն է, իսկ հաջորդները՝ արգումենտները։
commandNameargument1argument2...argumentN

Հրամանի որևէ արգումենտ կարելի է փոխարինել մեկ այլ հրամանով՝ դրա համար օգտագործելով հրամանների ներդրման [ և ] փակագծերը։ Օրինակ, հետևյալ հրամանում command_f գործողությոն երկրորդ արգումենտում տրված է incr հրամանի կիրառություն․

command_f12[incri]

Այլ կերպ ասած, քառակուսի փակագծերը կատարում և վերադարձնում են իրենց ներսում գրված հրամանի արժեքը։ Եթե անհրաժեշտ է հրամանին փոխանցել չհաշվարկվող մի արտահայտություն, ապա վերջինս պետք է վերցնել ձևավոր փակագծերի մեջ։ { և } փակագծերում վերցրած ցանկացած արգումենտ հրամանին փոխանցվում է անպես ինչպես գրված է։

Հատուկ նշանակության սիմվոլներ

[խմբագրել | խմբագրել կոդը]
  • — փոփոխականի ներդրման գործողություն։ Վերադարձնում է փոփոխականի արժեքը։
  • — հրամանի ներդրման գործողություն։ Վերադարձնում է փակագծերում բերված հրամանի արժեքը։
  • — խմբավորում է արգումենտները մի արգումնետի տեսքով։
  • — խմբավորում է արգումենտները մի արգումնետի մեջ։
  • — էկրանավորում է իրենից հետո գտնվող սիմվոլը։ Օգտագործվում է հատուկ նշանների հետ։
  • — մեկնաբանության սկզբի նշան։ Պետք է դրվի նոր տողից կամ կետ-ստորակատից (;) հետո։

Նոթեր սկրիպտի աշխատանքային պրոցեսի վերաբերյան

[խմբագրել | խմբագրել կոդը]
  • Ամեն մի հրամանի վրայից անցնելով սկրիպտն այն բաժանում է ըստ բառերի, ներդնում է փոփոխականների արժեքները և կատարում է ենթահրամանները։
  • Բոլոր սիմվոլները, որոնք գտնվում են և նշանների միջև, դիտարկվում են որպես մի տող։
  • Հրամանի առաջին բառը դիտարկվում է որպես ներդրված հրաման կամ արդեն հայտնի պրոցեդուրա։

Օգտագործման օրինակներ

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

Բարև, աշխարհ ծրագիրն ունի հետևյալ տեսքը։

puts"Բարև, աշխարհ"

Կամ այսպես

puts{Բարև,աշխարհ}

Զանգվածի արժեքի հարցում

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

Զանգվածի անդամներն ամբողջությամբ կարող ենք ստանալ array get հրամանով

arraysetcolornum{
white1
green2
blue3
red4
yellow5
}
arraygetcolornum

Զանգվածի անդամների գումար

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

Մեթոդ (Ա) — գումարի ստացում 'foreach' ցիկլի օգտագործումով

setnumbers{12345678910}
setresult0
foreachnumber$numbers{
setresult[expr{$result+$number}]
}
puts$result

Մեթոդ (Բ) — ավելի էլեգանտ ձև` օգտագործելով 'join' հրամանը

setnumbers{12345678910}
puts[expr[join$numbers+]]

Զանգվածի պարունակության ցուցակ

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

tcl_platform զանգվածում տեղեկություն է պահպանվում այն հարթակի մասին, որի վրայից կանչվել է Tcl-ը։ Այդ ցանկը կարելի է դուրս բերել հետևյալ կերպ.

arraynamestcl_platform

Հետևյալ հատվածը այդ ամենը դուրս է բերում իր արժեքների հետ միասին.

foreachi[arraynamestcl_platform]{
puts"$i = $tcl_platform($i)"
}

Եթե ուզում ենք, որ պարամետրերը լինեն խմբավորված, ապա կարող ենք կանչել

foreachi[lsort[arraynamestcl_platform]]{
puts"$i = $tcl_platform($i)"
}

Այստեղ ներկայացված է ներդրված հրամաններ։ Հրամանների ներդրվածությունը կարող է լիլնել ցանկացած աստիճանի։ Նույն արդյունքին կարելի է հասնել նաև parray (առկա է սկսած Tcl 8.5) հրամանի օգնությամբ։

Բազմությունների հատում

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

filter պրոցեդուրան ցուցակից վերադարձնում է այն էլեմենտները, որոնց համար script-ն ընդունում է TRUE արժեք.

procfilter{listscript}{
setres{}
foreache$list{if{[uplevel1$script$e]}{lappendres$e}}
return$res
}

uplevel 1 հրամանը թույլ է տալիս կոնտեքստից դուրս բերել արտահայտությունը, որտեղ կանչվում է filter բառը։

in պրոցեդուրան դա զանգված ստեղծելու կրճատված տարբերակ է.

procin{liste}{
expr{[lsearch-exact$list$e]>=0}
}

Ստուգում։

%filter{abc}{in{bcd}}
bc
proc!x{expr{$x<2?1:$x*[![incrx-1]]}}
\!5

Այստեղ ցույց է տրվել, որ պրոցեդուրայի հրաման կարող է լինել ցանկացած տող, ինչպես նաև մյուս լեզուներում հայտնի ?: օպերատորը։

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

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

Ռուսերեն լեզվով

[խմբագրել | խմբագրել կոդը]
Բլոգներ, նվիրված TCL-ին

Ռուսերեն լեզվով

[խմբագրել | խմբագրել կոդը]
  • Брент Б. Уэлш, Кен Джонс, Джеффри Хоббс «Практическое программирование на Tcl и Tk», ISBN 5-8459-0661-X,
բնօրինակը. Brent Welch, Ken Jones, Jeffrey Hobbs «Practical Programming in Tcl and Tk», ISBN 0-13-038560-3 (էլեկտրոնային տարբերակ[5])
  • Москвин П. В. «Азбука TCL», ISBN 5-93517-130-9
  • Алексей Петровский, Командный язык программирования TCL (Tool Command Language), ISBN 5-901321-16-2

Անգլերեն լեզվով

[խմբագրել | խմբագրել կոդը]
1-е издание «Tcl/Tk for Real Programmers», ISBN 0-12-261205-1

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

[խմբագրել | խմբագրել կոդը]
Օգտագործվող
լեզուները

Ադա ALGOL Ասեմբլեր AWK Basic Սի Կոբոլ C++ C# Clarion Clojure ColdFusion Common Lisp D dBase Delphi Eiffel Erlang Euphoria F# Fort Ֆորտրան Go Gambas Groovy HAL/S Haskell Icon Ջավա ՋավաՍկրիպտ Kotlin Limbo Լիսպ Lua Մաթլաբ Modula-3 Object Pascal Objective-C OCaml Oz Parser Պասկալ Perl PHP PowerBASIC Python PL/1 Prolog R Ruby Scala Scheme Smalltalk SQL Standard ML Swift PL/SQL Tcl Vala Visual Basic .NET

Ուսումնական

Agda Clean Curry Լոգո ML REFAL Simula Օբերոն

IEC 61131-3

Instruction List ST FBD Ladder Diagram (LD) • SFC

Այլ

Modula-2 Miranda Hope Rexx

Էզոտերիկ

HQ9+/HQ9++ • INTERCAL Brainfuck Brainfork Befunge Malbolge Piet Spoon Unlambda Whitespace FALSE LOLCODE

Վիզուալ
👁 Image
Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են «TCL» հոդվածին։