Forth (програмски језик) — разлика између измена

Садржај обрисан Садржај додат
Нема описа измене
Ред 1:
{{Инфокутија програмски језик
| име = Форт (програмски језик)
| paradigm = [[Procedural programming|Procedural]], [[stack-oriented programming language|stack-oriented]], [[Reflection (computer science)|reflective]], [[Concatenative programming language|concatenative]]
| настанак = {{start date and age|1970}}
| дозајнер = [[Charles H. Moore]]
| typing = typeless
| implementations = SwiftForth (Forth, Inc.)<br>[[Gforth]] (Free software)<br>VFX Forth (MicroProcessor Engineering)
| influenced_by = [[Burroughs large systems]], [[Lisp (programming language)|Lisp]], [[APL (programming language)|APL]]
| influenced = [[Factor (programming language)|Factor]], [[RPL (programming language)|RPL]], [[REBOL]]
}}
 
Форт ({{јез-енгл|Forth}}) је [[програмски језик]] заснован на [[Стек (апстрактни тип података)|стеку]]. Такође, то је и назив за интерактивно окружење које омогућава развој и извршавање [[рачунарски програм|програма]] писаних у Форту.
Форт се лако проширује. Користи [[Обрнута пољска нотација|обрнуту пољску нотацију]]. Не поседује проверу [[Тип податка|типова података]]. Погодан је за контролу процеса који се одвијају у реалном времену као што је, на пример, управљање [[телескоп]]има, што му је једна од првобитних намена.<ref>[http://www.forth.org/whatis.html What is Forth?<!-- Bot generated title -->]</ref>
Погодан је за контролу процеса који се одвијају у реалном времену као што је, на пример, управљање [[телескоп]]има, што му је једна од првобитних намена.<ref>[http://www.forth.org/whatis.html What is Forth?<!-- Bot generated title -->]</ref>
 
Творац програмског језика Форт је Чарлс Мур.<ref>[http://www.forth.com/resources/evolution/evolve_0.html The Evolution of Forth<!-- Bot generated title -->]</ref>
 
== Здраво свете ==
 
За испис поруке „Здраво свете!", у интерактивном начину рада, може да послужи следећи код:
." Здраво свете!"
Линија 15 ⟶ 24:
 
== Синтакса ==
 
Форт има једноставну [[Синтакса|синтаксу]]. Било каква група речи, које су међу собом раздвојене празнином, може да представља програм. На пример:
Сипај~воду додај~поврће кувај посоли послужи~топло
Линија 23 ⟶ 31:
 
== Речи ==
 
Писање [[рачунарски програм|програма]], у програмском језику Форт, најчешће се састоји из писања кратих [[функција (програмирање)|потпрограма]] који се повезују у веће целине. Сваки потпрограм се придружује једној речи. Овакав пар (реч, потпрограм) обично се једноставно зове: реч.
 
== Стек ==
 
Код већине програмских језика код којих постоји могућност рекурзивног позивања [[процедура]] или [[Функција (програмирање)|функција]] генерише се [[стек]] током извршавања програма. У програмским језицима као што су [[Модула-2]] или [[C (програмски језик)|''C'']] програмер не манипулише директно овим стеком. Он служи да би се сачувале повратне адресе код позива процедура или функција, као и за чување неких других привремених података као што су локалне променљиве и стварни параметри (или њихове референце) предати при позиву. Форт такође поседује стек на коме чува повратне адресе потпрограма али поседује још један стек. Програмер директно приступа овом другом стеку. Користи га обично да би предао параметре, сачувао повратну вредност, или за смештање привремених података. Зато се овај стек понекад зове параметарски стек или стек података, али најчешће само стек. Први поменути стек са повратним адресама обично се назива повратни стек ({{јез-енгл|return stack}} или {{јез-енгл|linkage stack}}).
 
=== Примери рада са стеком ===
 
Програмирајући у Форту програмер готово да не може да избегне да директно не користи параметарски стек. Ако у Форту напишемо:
 
Линија 171 ⟶ 176:
{{Програмски језици}}
 
[[Категорија:Софтвер 1970.]]
[[Категорија:Програмски језици са ИСО стандардом]]