موضوع مقاله: جعبه ابزار مهندسی مجدد نرم‌افزار DMS | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # جعبه ابزار مهندسی مجدد نرم‌افزار DMS | مقدمه: طریقه استفاده DMS برای پیاده‌سازی طیف وسیع ای از ابزارهای عملی مورد استفاده قرار گرفته‌است، شامل زبان‌های اختصاصی دامنه (مانند تولید کد برای کنترل کارخانه)، قابل پوشش تست و ابزارهای پروفایل، شناسایی clone , ابزار مهاجرت به زبان، مهندسی مجدد جزء ++C. | ## بخش 1: جعبه ابزار مهندسی مجدد نرم‌افزار DMS | این مجموعه ابزار ابزاری برای تعریف دستور زبان در اختیار ما قرار می‌دهد وparser تولید می‌کند که به‌طور خودکار درخت‌های انتزاعی انتزاعی (ASTs) را ایجاد می‌کنند، و زیبا را برای تبدیل ASTهای اصلی یا اصلاح شده به متن منبع کامپایل شده تبدیل می‌کند. ضبط درختان پارس، و زیباترین چاپگرها، جزئیات کاملی در مورد برنامه منبع اصلی از جمله منبع منبع، نظرات، ردیف و قالب اعداد و غیره را بازسازی می‌کنند تا اطمینان حاصل کنند که متن منبع بازسازی شده به همان اندازه مدول متن اصلی برای یک برنامه‌نویس قابل تشخیص است. هرگونه تحول کاربردی بسیاری از ابزارهای تجزیه و تحلیل و تحول برنامه محدود به مجموعه شخصیت‌های ASCII یا اروپای غربی مانند ISO-8859 است. DMS از فناوری تجزیه و تحلیل GLR استفاده می‌کند، این امکان را می‌دهد تا همه دستور زبان‌های بدون متن را عملی کند. DMS ارزیاب گرامر صفت را برای محاسبه آنالیزهای سفارشی از طریق ASTها، مانند اندازه‌گیری‌ها، و از جمله پشتیبانی ویژه برای ساخت جدول نمادها فراهم می‌کند. سایر واقعیت‌های برنامه را می‌توان با موتورهای کنترل جریان داخلی و تجزیه و تحلیل داده‌ها، تجزیه و تحلیل نشانگر محلی و جهانی، استخراج نمودار تماس با برنامه کامل، و تجزیه و تحلیل دامنه نمادین با تفسیر انتزاعی استخراج کرد. | ## بخش 2: جعبه ابزار مهندسی مجدد نرم‌افزار DMS | تغییر در ASTs می‌تواند با استفاده از هر دو روش تشریفاتی رمزگذاری شده در PARLANSE و تبدیل درخت به منبع کدگذاری شده به عنوان بازنویسی قوانین با استفاده از نحو سطح شرط شده توسط هر واقعیت برنامه استخراج شده، با استفاده از زبان خصوصیات قانون DMS (RSL) انجام شود. موتور قاعده بازنویسی که از RSL پشتیبانی می‌کند، قوانین مقدماتی و ارتباطی را کنترل می‌کند. هر قانون دارای یک "مطابقت با این" و "جایگزین که" جفت الگوی هم جدا شده توسط ->، در مثال ما، در خطوط جداگانه برای خوانایی. در این مورد، هر دو الگو باید از نحو دسته بیانیه همچنین در همدردی با الگوهای از هم جدا می‌شود ->. زبان هدف (به عنوان مثال، C) نحو سطح در داخل متن نقل قول‌ها کدگذاری شده‌است "، برای جدا کردن نحو قاعده بازنویسی از زبان مقصد. نمایش‌های برگشتی در داخل نقل قول‌ها، فرار از دامنه را نشان می‌دهد، برای نشان دادن متغیرهای الگوی متا (به عنوان مثال، \ v , \ e1، \ e2) که مطابق با هر ساختار زبانی مطابق با اعلامیه قابل مشاهده در خط امضا است، به عنوان مثال، e1 باید از دسته نحوی باشد: (هر) بیان اگر یک متغیر متغیر در الگوی مسابقه چندین بار ذکر شده باشد، باید با زیر درختان یکسان مطابقت داشته باشد. | ## بخش 3: جعبه ابزار مهندسی مجدد نرم‌افزار DMS | شرط مشروط اگر شرط دیگری را فراهم کند که باید این قاعده را رعایت کند، مثلاً اینکه metavariable v یکسان، یک سمت چپ دلخواه است، نباید عوارض جانبی داشته باشد (مثلاً، نمی‌تواند از نوع a باشد. دستیابی به یک تغییر و تحول پیچیده بر روی کد با ارائه تعدادی از قوانین که برای دستیابی به اثر مطلوب همکاری می‌کنند، انجام می‌شود. این آیین‌نامه بر روی بخش‌هایی از برنامه توسط برنامه‌های برنامه‌نویسی رمزگذاری شده در PARLANSE متمرکز شده‌است. زبانهای از پیش تعریف شده به شخصی سازان این امکان را می‌دهند که بلافاصله بر روی وظیفه مهندسی مجدد خود تمرکز کنند تا جزئیات جزئیات زبانهایی که باید پردازش شوند. DMS علاوه بر این غیر معمول است که با یک زبان برنامه‌نویسی موازی، PARLANSE اجرا می‌شود، که از چند پردازنده متقارن موجود در ایستگاه‌های کاری کالا استفاده می‌کند. | ## جمع‌بندی | این DMS را قادر می‌سازد پاسخهای سریع تری را برای آنالیزها و تبدیلهای سیستم بزرگ ارائه دهد.