Кіріспе
Стек машина модельіне негізделген бағдарламалау парадигмасы. Стекке бағдарланған бағдарламалау – деректерді өңдеу және/немесе параметрлерді беру үшін стекке (немесе бірнеше стекке) сүйенетін бағдарламалау парадигмасы. Forth, RPL және PostScript сияқты бірнеше бағдарламалау тілдері осы сипаттамаға сай келеді. Стекке бағдарланған бағдарламалау тілдері бір немесе бірнеше стектерде жұмыс істейді, олардың әрқайсысы әртүрлі мақсатта қолданылуы мүмкін. Басқа бағдарламалау тілдеріндегі бағдарламалау құрылымдарын стекке бағдарланған жүйеде пайдалану үшін өзгерту қажет. Көптеген стекке бағдарланған тілдер постфикс немесе кері Польша нотациясында жұмыс істейді. Команданың барлық аргументтері немесе параметрлері сол командадан бұрын жазылады. Мысалы, постфикс нотациясында 2, 3, көбейту деп жазылады, ал көбейту, 2, 3 (префикс немесе Польша нотациясы) немесе 2 көбейту 3 (инфикс нотациясы) деп жазылмайды. Forth, Factor, RPL, PostScript, BibTeX стильдік жобалау тілі және көптеген ассемблерлер осы парадигмаға сәйкес келеді. Стекке негізделген алгоритмдер деректерді пайдаланады, стек үстінен бір деректерді алып, нәтижені стек үстіне қайтарады. Стекпен манипуляциялау операторларының болуы, стекке деректерді өңдеуге мүмкіндік береді. Оператордың әсерін көрсету үшін, оператордан бұрын және кейін стек үстіндегі мәнді көрсететін түсініктеме қолданылады. Бұл стек эффект диаграммасы деп аталады. PostScript стектері қосымша мақсаттар үшін бөлек стектерді қарастырады, соның ішінде айнымалылар, сөздіктер, процедуралар, кейбір процедуралардың құрылысы, басқару және ағын. Тіл моделін талдау, өрнектер мен бағдарламаларды қарапайым және теориялық тұрғыдан түсіндіруге мүмкіндік береді.
Stack oriented programming is a programming paradigm that relies on a stack (or multiple stacks) to manipulate data and/or pass parameters. Several programming languages fit this description, notably Forth, RPL, and PostScript. Stack oriented programming languages operate on one or more stacks, each of which may serve a different purpose. Programming constructs in other programming languages need to be modified for use in a stack oriented system. Most stack oriented languages operate in postfix or Reverse Polish notation. Any arguments or parameters for a command are stated before that command. For example, postfix notation would be written 2, 3, multiply instead of multiply, 2, 3 (prefix or Polish notation), or 2 multiply 3 (infix notation). The programming languages Forth, Factor, RPL, PostScript, BibTeX style design language and many assembly languages fit this paradigm. Stack based algorithms consider data, by utilising one piece of data from atop the stack, and returning data back atop the stack. The need for stack manipulation operators, allow for the stack to manipulate data. To emphasise the effect of a statement, a comment is used showing the top of the stack before and after the statement. This is known as the stack effect diagram. PostScript stacks consider separate stacks for additional purposes. This considers variables, dictionaries, procedures, anatomy of some typical procedures, control and flow. The analysis of the language model allows expressions and programs to be interpreted simply and theoretically.
Стейкпен жұмыс істеу
Стек – стекке бағытталған тілде деректерді өңдеудің негізгі құралы болғандықтан, мұндай тілдер көбінесе стекті манипуляциялау операторларын ұсынады. Көбінесе ұсынылатындары: стектің үстіндегі элементті көшіру үшін `dup`, стектің үстіндегі элементтерді ауыстыру үшін `exch` (немесе `swap`) (бірінші екінші, екінші бірінші болады), стектегі немесе стектің бір бөлігіндегі элементтерді циклдық түрде жылжыту үшін `roll`, стектің үстіндегі элементті жою үшін `pop` (немесе `drop`) (жабу әрекеті тікелей түсініледі) және басқалары. Бұлар процедураларды зерттеуде маңызды рөл атқарады.
PostScript стектері
PostScript және кейбір басқа стек тілдерінің әртүрлі мақсаттар үшін тағы да бөлек стектері бар.
Тіл моделінің талдауы
Стекке бағытталған тілде ұсынылған қарапайым модель өрнектер мен бағдарламаларды оңай түсіндіруге және теориялық тұрғыдан әлдеқайда жылдам бағалауға мүмкіндік береді, себебі синтаксистік талдау қажет емес, тек лексикалық талдау ғана қажет. Мұндай бағдарламалардың жазылу әдісі машиналарға түсіндіруді жеңілдетеді, сондықтан PostScript принтерлерге оны пайдалану үшін өте ыңғайлы. Дегенмен, PostScript бағдарламаларын жазудың сәл жасанды тәсілі PostScript сияқты стекке бағытталған тілдерді түсінуге алғашқы кедергі болуы мүмкін. Ішкі және басқа анықтамаларды қайта жабу арқылы көлеңкелеу мүмкіндігі бағдарламаларды түзетуді қиындатуы мүмкін, ал осы мүмкіндікті жауапкершіліксіз пайдалану болжамсыз мінез-құлыққа әкелуі мүмкін, бірақ бұл кейбір функцияларды қатты жеңілдетеді. Мысалы, PostScript-те showpage операторын бетке белгілі бір стильді қолдану үшін өзгертуге болады, стильді жасау үшін операторды қайта анықтаудың немесе кодты қайталаудың қажеті жоқ.