Стековый язык (Vmytkfdw x[dt)

Перейти к навигации Перейти к поиску

Стековый язык программирования (англ. stack-oriented programming language) — это язык программирования, в котором для передачи параметров используется машинная модель стека. Этому описанию соответствует несколько языков, в первую очередь Forth и PostScript, а также многие ассемблерные языки (использующие эту модель на низком уровне — Java, C#). При использовании стека в качестве основного канала передачи параметров между словами элементы языка естественным образом образуют фразы (последовательное сцепление). Это свойство сближает данные языки с естественными языками.

Выполнение программы в стековом языке программирования представляет собой операции на одном или нескольких стеках, которые могут иметь различное предназначение. Вследствие этого программные конструкции других языков программирования должны быть изменены, прежде чем они могут быть использованы в стековом языке. Стековые языки программирования используют так называемую «обратную польскую» нотацию (англ. RPN, reverse polish notation), или постфиксную нотацию, в которой аргументы или параметры команды должны быть записаны перед самой командой. Например, в обратной польской нотации операция сложения записывается как «2 3 +», а не «+ 2 3» (префиксная или «польская» нотация) или «2 + 3» (инфиксная нотация). Это позволяет использовать в полной мере стековые языки при ограниченных аппаратных ресурсах памяти в контроллерах встроенных систем.