سورس کد کامپایلر به زبان جاوا

کامپایلر (Compiler) برنامه یا مجموعه‌ای از برنامه‌های کامپیوتری است که متنی از زبان برنامه‌نویسی سطح بالا (زبان مبدا) را به زبانی سطح پایین (زبان مقصد) تبدیل می‌کند. درس اصول طراحی کامپایلر یکی از دروس کارشناسی کامپیوتر (نرم افزار و فناوری اطلاعات) است که معمولا در آن نیمی از نمره به پیاده‌سازی یک کامپایلر اختصاص داده می‌شود.

ما هم یک زبان نمونه (با الهام از زبان‌های برنامه‌نویسی محبوب مانند جاوا و پاسکال و …) مرحله به مرحله طراحی و آن را در زبان برنامه‌نویسی Java پیاده کردیم که شما می‌توانید آن را به راحتی بعد از خریداری دانلود کرده و استفاده کنید.

(بیشتر…)

ساختمان داده لیست پیوندی Linked List در جاوا

لیست پیوندی نوعی از ساختمان داده برای حافظه است و ذخیره ی داده ها است. اما لیست پیوندی بر خلاف آرایه و … محدودیت مکانی ندارد و هر تعداد داده ای می‌توان در آن قرار داد. لیست پیوندی در اصل از یک گره یا Node به اسم head تشکیل شده است که همان گره خود اشاره گری به یک گره ی دیگر در خود دارد و آن گره هم یک اشاره گر به گره ی دیگر و … و عملا ما لیست یا زنجیری از گره ها را خواهیم داشت که به آن لیست پیوندی می‌گویند 🙂
معمولا برای لیست پیوندی متدهای زیر ممکن است تعریف شود:
متد insertFirst: یک داده به ابتدای لیست اضافه می‌کند.
متد insertLast: یک داده به انتهای لیست اضافه می‌کند.
متد deleteFirst: داده‌ی ابتدای لیست را برمی‌گرداند و سپس آن گره را از لیست حذف می‌کند.
متد deleteLast: داده‌ی انتهای لیست را برمی‌گرداند و سپس آن گره را از لیست حذف می‌کند.
متد peekFirst: داده‌ی ابتدای لیست را برمی‌گرداند ولی آن گره را از لیست حذف نمی‌کند.
متد peekLast: داده‌ی انتهای لیست را برمی‌گرداند ولی آن گره را از لیست حذف نمی‌کند.
متد isEmpty: در صورتی که لیست خالی باشد مقدار true را برمی‌گرداند.
(بیشتر…)

ساختمان داده صف Queue در جاوا

صف یا Queue یک حافظه ی First In – First Out است. یعنی داده ای که زودتر در این حافظه قرار می‌گیرد، زودتر از همه هم از حافظه خارج می‌شود.
معمولا برای صف متدهای زیر تعریف می‌شود:
متد insert: یک داده به انتهای صف اضافه می‌کند.
متد delete: داده ی ابتدای صف را برمی‌گرداند و سپس از صف خارج می‌کند.
متد peek: داده ی ابتدای صف را برمی‌گرداند ولی آن را از صف خارج نمی‌کند.
متد isEmpty: در صورتی که صف خالی باشد مقدار true را برمی‌گرداند.
متد isFull: در صورتی که ظرفیت حافظه ی صف پر شده باشد مقدار true را برمی‌گرداند.
متد size: تعداد اعضای منتظر در صف را برمی‌گرداند.
متد maxSize: ظرفیت صف را برمی‌گرداند.
(بیشتر…)

ساختمان داده پشته Stack در جاوا

پشته یا Stack یک حافظه ی First in – Last out است. یعنی داده ای که زودتر در این حافظه قرار می‌گیرد، دیرتر از همه هم از حافظه خارج می‌شود.
معمولا برای پشته متدهای زیر تعریف می‌شود:
متد push: یک داده به انتهای پشته اضافه می‌کند.
متد pop: آخرین داده در پشته را برمی‌گرداند و سپس از پشته حذف می‌کند.
متد peek: آخرین داده در پشته را برمی‌گرداند ولی آن را از پشته حذف نمی‌کند.
متد isEmpty: در صورتی که پشته خالی باشد مقدار true را برمی‌گرداند.
متد isFull: در صورتی که ظرفیت حافظه ی پشته پر شده باشد مقدار true را برمی‌گرداند.
متد getMaxSize: حداکثر اندازه‌ی پشته را برمی‌گرداند.
متد getSize: تعداد اعضای پر در پشته را برمی‌گرداند.
(بیشتر…)

بازی سودوکو در جاوا

در فایل sudoku.txt پنجاه پازل مختلف قرار دارند که از آسان به سخت مرتب شده اند. اعداد 0 در این فایل نشانگر جاهای خالی هستند که باید برنامه شما آن را پیدا کند. برنامه‌ای بنویسید که یکی از این پازل ها را انتخاب و نمایش دهد و سپس آن را حل کند.

1 2 3 5