سوئیبل کیست؟ توضیح بده.
تجزیه‌کننده‌ی متون ویکی سوئیبل(به : Sweble) ابزاری متن باز برای تجزیه زبان نشانه‌گذاری متن ویکی است که توسط مدیاویکی، نرم‌افزار پشت ویکی‌پدیا، استفاده شده‌است. توسعه اولیه این تجزیه‌کننده توسط هانس دورن به عنوان پروژه پایان‌نامه دکتری در گروه پژوهشی منبع آزاد استاد دیرک ریه در دانشگاه ارلانگن-نورنبرگ از سال ۲۰۰۹ تا ۲۰۱۱ انجام شد. نتایج پایان نامه وی برای اولین بار در کنفرانس ویکی‌سیم() در سال 2011 به عموم مردم ارائه شد. پیش از آن ، پایان‌نامه از نظر علمی مورد بازرسی مستقل و تأیید قرار گرفته و در انجمن ماشین‌های حسابگر منتشر شده‌بود.براساس آمار فعلی موجود در ، تجزیه‌کننده سوئیبل اکثراً به زبان برنامه نویسی جاوا نوشته شده‌است و در مه ۲۰۱۱ منبع باز بوده‌است. خود تجزیه‌کننده سوئیبل از دستور زبان بیان تجزیه (PEG یا parsing expression grammer) با استفاده از تولیدگر تجزیه‌کننده‌ی !Rats تولید شده‌است. رمزگذاری‌ها نیز با استفاده از تحلیل‌گر واژگانی فلکس که در JFlex نوشته شده اعتبارسنجی می‌شود.نسخه پیش از انتشار مقاله در مورد تجزیه متون ویکی سوئیبل را می‌توانید در صفحه اصلی پروژه‌ها مشاهده کنید. علاوه بر این، یک صفحه خلاصه در مورد آن در نگاه به آینده مدیاویکی نیز وجود دارد.حالت کنونی تجزیه کردن.تجزیه‌کننده‌ای که در مدیاویکی استفاده می‌شود، محتوا را به طور مستقیم از متن‌ویکی به اچ‌تی‌ام‌ال تبدیل می‌کند. این پردازش در دو مرحله انجام می‌شود.همان‌طور که نویسندگان سوئیبل در مقاله‌شان ذکر کرده‌اند، آنالیزی بر روی کد منبع تجزیه‌کننده مدیاویکی نشان داد که استراتژی استفاده از قدم‌های تبدیل جداگانه خود باعث بروز مشکلاتی می‌شود: بیشتر توابع استفاده شده اهمیتی به دامنه‌ی عناصر اطراف نمی‌دهند. این مسئله باعث بروز اشتباهاتی در محاسبات مربوط به اچ‌تی‌ام‌ال خروجی می‌شود. در نتیجه، ارزیابی و تفسیر خروجی امکان دارد مبهم شود که به موتور تفسیر مرورگر وب استفاده‌شده بستگی دارد. آن‌ها می‌گویند:«مراحل پردازش فردی اغلب منجر به رفتار غیرمنتظره و متناقض از تجزیه‌کننده می شود. به عنوان مثال، لیست‌ها در داخل سلول‌های جدول شناخته می شوند؛ اما اگر خود جدول در داخل یک تصویر فریم ظاهر شود، لیست‌ها شناخته نمی‌شوند.»همانطور که در کنفرانس ویکی‌سیم () در سال ۲۰۰۸ میلادی مطرح شد، دو عامل عدم دقت زبان و جداشدن مؤلفه، مانع از تکامل نرم‌افزار ویکی می‌شوند. اگر محتوای ویکی دارای بازنویسی مشخص و کاملاً قابل پردازش در دستگاه باشد، این امر نه تنها به دستیابی به محتوای بهتر آن منجر می‌شود بلکه روش‌های پردازش آن را نیز بهبود می‌بخشد و گسترش می‌دهد.علاوه بر این ، یک مدل شیءگرایی خوب تعریف شده برای محتوای ویکی، اجازه می‌دهد تا ابزارهای بیشتری روی آن کار کنند. تاکنون تلاش‌های بسیاری در زمینه اجرای یک تجزیه‌کننده جدید برای مدیاویکی انجام شده‌است(را ببینید)؛ اما هیچکدام از آن‌ها تاکنون موفق نشده‌اند. نویسندگان سوئیبل معتقدند که این موضوع ممکن است «به دلیل انتخاب گرامرهای مشهور (LALR(1 و (LL(k باشد. این گرامرها زیرمجموعه‌ای از گرامرهای مستقل از متن هستند. در صورتی که متن ویکی احتیاج به یک حالت تجزیه‌کننده جهانی دارد و در نتیجه می‌تواند نوعی از زبان‌های حساس به متن تلقی شود.» در نتیجه، آن‌ها تجزیه‌کننده خود را بر اساس دستور زبان بیان تجزیه (PEG) پایه گذاری می‌کنند.سوئیبل چطور کار می‌کند؟.سوئیبل متون ویکی را تجزیه می‌کند و یک درخت نحو انتزاعی خروجی می‌دهد. این کار کمک می‌کند که جلوی اشتباهاتی که ناشی از کد نشانه‌گذاری نادرست است گرفته شود. (خطاهایی مانند داشتن پیوند بین چندین خانه یک جدول) اطلاعات بیشتر در مورد مدل درخت نحوی انتزاعی در گزارش فنی مدل شی‌گرای متون ویکی‌پدیا موجود است.گام‌های تجزیه کردن.تجزیه کننده‌ی سوئیبل متون ویکی‌پدیا را در ۵ گام تجزیه می‌کند.تفسیر انواع مختلف خروجی و هم‌چنین توابع تحلیل به عنوان الگوی بازدیدگر برداشت می‌شوند. این امر به جداسازی ساختار داده‌ی درخت نحوی انتزاعی از الگوریتم‌هایی که روی داده‌ها کار می‌کنند، کمک می کند.