در مهندسی کامپیوتر و پیاده سازی زبان های برنامه نویسی، ماشین پشته ای (به انگلیسی: Stack machine) یک کامپیوتر واقعی یا شبیه سازی شده است که به جای استفاده از ثبات های تکی، از یک پشته برای ارزیابی زیردستورها در برنامه استفاده می کند. کامپیوتر پشته ای با مجموعه دستورالعمل هایی که به روش نشانه گذاری لهستانی معکوس (نشانه گذاری پسوندی) نوشته شده اند، برنامه نویسی شده است.
جایگزین متداول ماشین پشته ای، ماشین ثبات است که در آن هر دستور به روشنی ثبات مشخصی را نام می برد که از آن برای مقدار عملوندها و نتیجه استفاده کند.
ماشین پشته ای، ثبات ها را با یک پشته پیاده سازی می کند. عملوندهای واحد محاسبه و منطق همواره دو ثبات بالایی موجود در پشته هستند و نتیجهٔ واحد محاسبه و منطق در ثبات بالایی پشته ذخیره می شود. مجموعه دستورالعمل تقریباً تمام عملیات واحد محاسبه و منطق را با نشانه گذاری پسوندی (روش لهستانی معکوس)، که فقط در پشته به کار می آید نه در رجیسترها و سلول های حافطه، پیش می برد.
ماشین های پشته ای از انواع دیگر ماشین ها دستورهای کوتاه تری دارند. اما بارگذاری عملوندها جداگانه صورت می گیرد و بنابراین کد پشته تقریباً به دو برابر دستورالعمل نسبت به کد معادل برای ماشین ثبات نیاز دارد. به طور کلی سایز کد (از نظر تعداد بایت) برای ماشین پشته ای کمتر است.
جایگزین متداول ماشین پشته ای، ماشین ثبات است که در آن هر دستور به روشنی ثبات مشخصی را نام می برد که از آن برای مقدار عملوندها و نتیجه استفاده کند.
ماشین پشته ای، ثبات ها را با یک پشته پیاده سازی می کند. عملوندهای واحد محاسبه و منطق همواره دو ثبات بالایی موجود در پشته هستند و نتیجهٔ واحد محاسبه و منطق در ثبات بالایی پشته ذخیره می شود. مجموعه دستورالعمل تقریباً تمام عملیات واحد محاسبه و منطق را با نشانه گذاری پسوندی (روش لهستانی معکوس)، که فقط در پشته به کار می آید نه در رجیسترها و سلول های حافطه، پیش می برد.
ماشین های پشته ای از انواع دیگر ماشین ها دستورهای کوتاه تری دارند. اما بارگذاری عملوندها جداگانه صورت می گیرد و بنابراین کد پشته تقریباً به دو برابر دستورالعمل نسبت به کد معادل برای ماشین ثبات نیاز دارد. به طور کلی سایز کد (از نظر تعداد بایت) برای ماشین پشته ای کمتر است.
wiki: ماشین پشته ای