From Wikipedia, the free encyclopedia
این مقاله دقیق، کامل و صحیح ترجمه نشده و نیازمند ترجمه به فارسی است. کل یا بخشی از این مقاله به زبانی بهجز زبان فارسی نوشته شدهاست. اگر مقصود ارائهٔ مقاله برای مخاطبان آن زبان است، باید در نسخهای از ویکیپدیا به همان زبان نوشته شود (فهرست ویکیپدیاها را ببینید). در غیر این صورت، خواهشمند است ترجمهٔ این مقاله را با توجه به متن اصلی و با رعایت سیاست ویرایش، دستور خط فارسی و برابر سازی به زبان فارسی بهبود دهید و سپس این الگو را از بالای صفحه بردارید. همچنین برای بحثهای مرتبط، مدخل این مقاله در فهرست صفحههای نیازمند ترجمه به فارسی را ببینید. اگر این مقاله به زبان فارسی بازنویسی نشود، تا دو هفتهٔ دیگر نامزد حذف میشود و/یا به نسخهٔ زبانی مرتبط ویکیپدیا منتقل خواهد شد. اگر شما اخیراً این مقاله را بهعنوان صفحهٔ نیازمند ترجمه برچسب زدهاید، لطفاً عبارت {{جا:هبک-ترجمه به فارسی|1=نظریه زبانها}} ~~~~ را نیز در صفحهٔ بحث نگارنده قرار دهید. |
در منطق، ریاضیات، علوم کامپیوتر و زبانشناسی، نظریهٔ زبانها به مطالعهٔ زبانهای قراردادی و دستهبندی آنها میپردازد. در نظریهٔ زبانها تنها جنبههای نحوی زبانها (یعنی الگوهای ساختاری درونی آنها) تجرید و انتزاع میشود و به معنای جملات و ... اهمیتی نمیدهیم (مثلاً جملهٔ «رنگ آسمان قرمز است» ممکن است در یک زبان قراردادی جملهٔ مورد قبولی باشد).
نظریهٔ زبانها به عنوان راهی برای درک قوانین نحوی زبانهای طبیعی از زبانشناسی سرچشمه گرفت و نوام چامسکی در پیشرفت آن نقش مؤثری داشت. در علوم کامپیوتر، زبانهای قراردادی به عنوان مبنایی برای تعریف دستور زبانهای برنامهنویسی استفاده میشوند. در نظریهٔ پیچیدگی محاسباتی، مسائل تصمیم معمولاً به عنوان زبانهای قراردادی تعریف میشوند و کلاسهای پیچیدگی به عنوان مجموعهای از زبانهای قراردادی تعریف میشوند که میتوانند توسط ماشینهای تجزیهگر تجزیه شوند. در منطق، فرمالیسم ریاضی و مبانی ریاضی، از زبانهای قراردادی برای تعریف دقیق نحو ماشین های مجازی همچون نظریهٔ مجموعهها استفاده میشود.[1]
یک زبان قراردادی (به انگلیسی: formal language) شامل کلماتی است متشکل از حروف یک الفبا که بر اساس قوانینی به صورت خوشساخت شکل بگیرند.[2]
در علوم کامپیوتر و ریاضیات که معمولاً با زبانهای طبیعی سروکار ندارند، صفت «قراردادی» حذف می شود.[3] مفهوم گرامر قراردادی شباهت بیشتری به تصور انسانی از یک زبان دارد. زبانی که با قواعد نحوی محدود شده باشد.
الفبای قراردادی مجموعهٔ حروفی (مثل الف، ب، پ و ...) به نام نماد است که با قرارگیری آنها در کنار هم (الحاقشان) کلماتی به نام رشته پدید میآیند. هر کلمهٔ قراردادی از به هم پیوستن حروف این الفبا به دست میآید. مثلاً کلمهٔ «آب» (با حروف آ + ب) به زبان فارسی تعلق دارد ولی در عربی معنا ندارد (با این وجود الفبای آنها یکسان است). گاهی کلماتی که به یک زبان قراردادی خاص تعلق دارند جمله یا فرمولهای خوشفرم نامیده می شوند.[1]
هر مجموعهای از رشتهها (یا کلمات) از یک الفبای خاص را یک زبان قراردادی در (یا بر روی ) مینامیم. به عبارتی دیگر است.[1]
با این تعریف مجموعهٔ تهی نیز یک زبان (زبان تهی بر روی هر دلخواه) محسوب میشود. در یک زبان لزومی ندارد که از همهٔ حروف الفبا استفاده شود.[2]
گاهی برای توصیف زبانها از دستور زبان قراردادی استفاده میشود و در این مواقع یک زبان را مجهز به یک گرامر فرض میکنیم:
ماهیت زبانها مجموعه است؛ در نتیجه اعمال مجموعهها (تفاضل، اجتماع، اشتراک و تفاضل متقارن) روی آنها نیز تعریف میشود:[1]
همچنین اعمال روی رشتهها و الفبا نیز روی زبانها قابل تعمیم است:[1]
برای تولید یا توصیف یک زبان از گرامر قراردادی، اتوماتا، عبارات باقاعده (به انگلیسی: regex) یا مدلهای محاسباتی استفاده میشود.[2]
مسئلهٔ تصمیم معادل عضویت در یک زبان قراردادی است. مجموعهٔ همهٔ رشتههایی که یک اتوماتا میپذیرد (یا یک گرامر تولید میکند یا با یک عبارت باقاعده تطابق دارند) یک زبان است. همچنین پذیرش یک رشته توسط یک ماشین معادل عضویت آن در زبان مذکور است. بنابراین نظریه زبانها بسیار با نظریهٔ ماشینها مرتبط است و همچنین یک حوزه کاربردی اصلی در نظریه رایانشپذیری و نظریهٔ پیچیدگی محاسباتی است.[2]
زبانهای قراردادی را میتوان به کمک وراثت چامسکی بر اساس قدرت مولد (گرامر) آنها یا پیچیدگی اتوماتای تصمیم آنها طبقهبندی کرد.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.