Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 3.36 KB

File metadata and controls

58 lines (42 loc) · 3.36 KB

مینیمایزر و ویژوالایزر DFA

این پروژه یک ابزار مبتنی بر JavaFX برای نمایش، ویرایش و مینیمایز کردن DFA (ماشین‌های متناهی قطعی) ارائه می‌دهد. این ابزار به کاربران کمک می‌کند تا ماشین‌های حالت را با یک رابط کاربری بصری مشاهده، تحلیل و بهینه‌سازی کنند.

ویژگی‌ها

  • نمایش DFA: امکان ترسیم و دستکاری بصری DFA
  • مینیمایز کردن DFA: ابزارهای خودکار برای مینیمایز کردن DFA با استفاده از الگوریتم‌های کارآمد
  • مدیریت تعاملی حالت‌ها: حالت‌های قابل جابجایی و کنترل‌های بصری برای مدیریت انتقال‌ها
  • ساخته شده با Java و JavaFX: این پروژه با استفاده از Java و JavaFX برای تجربه کاربری تعاملی پیاده‌سازی شده است.

نصب و استفاده

  1. کلون کردن مخزن:
    https://github.com/amir-azari/DFA-Minimizer-JavaFX.git

مشارکت

ما از مشارکت شما استقبال می‌کنیم! لطفاً مشکلات را گزارش دهید یا درخواست‌های pull را برای همکاری ارسال کنید.

تماس

برای سوالات یا بازخورد، لطفاً با من تماس بگیرید:

نحوه اضافه کردن ورودی

  • تعریف نمادها: نمادها باید با فاصله از هم جدا شوند. مثال: a b c
  • تعریف حالت‌ها: حالت‌ها باید با فاصله از هم جدا شوند. مثال: q1 q2 q3

نحوه ترسیم DFA

  • افزودن حالت‌ها: با کلیک راست روی بوم می‌توانید حالت جدید اضافه کنید.
  • جابجایی حالت‌ها: حالت‌ها را می‌توان با کلیک چپ و نگه داشتن جابجا کرد.
  • انتخاب حالت‌های شروع و نهایی: می‌توانید با نگه داشتن CTRL + کلیک چپ روی حالت‌ها، آنها را برای انتقال انتخاب کنید.
  • تعریف حالت‌های نهایی و شروع: با دوبار کلیک چپ روی یک حالت می‌توانید آن را به عنوان حالت نهایی یا شروع مشخص کنید یا این مشخصات را حذف کنید.
  • تغییر موقعیت حالت‌های حلقه خودی: با کلیک چپ روی حالت‌های حلقه خودی می‌توانید موقعیت آنها را تغییر دهید.
  • مدیریت انتقال‌ها: می‌توانید از قابلیت‌های Undo و Redo برای مدیریت انتقال‌ها استفاده کنید.
  • به‌روزرسانی انتقال‌ها: انتقال‌ها را می‌توان در صورت نیاز به‌روزرسانی کرد.

دمو