**گرامر حساس به متن** گرامری است که سمت چ‍‍پ و سمت راست هر قوانین آن ممکن است توسط نمادهای پایانی و غیر پایانی احاطه شده باشد. گرامرهای حساس به متن نسبت به گرامرهای مستقل از متن عمومی تر هستند چرا که بعضی از زبان‌ها شاید نتوان با گرامر مستقل از متن نشان داده شوند اما با گرامر حساس به متن بیان می‌توان بیان کرد. گرامر حساس به متن نسبت به گرامر نامحدود کمتر حالت عمومی دارد؛ یعنی CSGها موقعیت میانی بین گرامرهای مستقل از متن و نامحدود در سلسه مراتب چامسکی را پر می‌کنند.
زبان رسمی که توسط گرامرحساس به متن نشان داده می‌شود - به‌طور معادل (هم ارز) , توسط آتاماتای خطی کران‌دار-زبان حساس به متن نامیده می‌شود. بعضی از کتاب‌ها CSGها را به صورت گرامر غیر متعامد نیز تعریف می‌کنند. این مدل تعریف کردن هیچ تفاوتی در نظریه زبان‌ها به وجود نمی‌آورد (یعنی هر دو تعریف هم ارز بسیار ضعیفی دارند) اما این تفاوت را در نظریه اینکه کدام گرامرها به‌طور ساختاری حساس به متن در نظر گرفته شده‌است وجود دارد. در ادامه متن آنالیز چامسکی در سال ۱۹۶۳ گفته می‌شود.
والتر ساویچ اصطلاح **حساس به متن** را گمراه کننده خوانند و اصطلاح **غیر پاک شونده** را پیشنهاد کرد که بهتر تفاوت بین CSG و گرامر نامحدود را مشخص کند.
اگر چه اینکه ویژگی‌ها خاصی از زبان (مانند وابستگی متقابل سریال) مستقل از متن نیستند؛ اما یک سؤال پژوهشی وجود دارد که گرامر مستقل از متن چه مقدار قدرت بیان لازم را دارد تا حساسیت متن موجود در زبان طبیعی را بیابد. تحقیقات بعدی در این منطقه بیشتر روی محاسبات زبان ملایم حساس به متن تمرکز دارد.

تعریف رسمی
----------

گرامر **G** به این صورت تعریف می‌شود که *G* = (*N*, Σ, *P*, *S*)که در آن **N** مجموعه متغیرهای گرامر و Ʃ مجموعه ترمیتال‌ها و **P** مجموعه قوانین و **S**نماد آغاز گر گرامر است.
در گرامر **حساس به متن** تمام قوانین در P به صورت زیر است:
α*A*β → αγβ

که

A ∈ N α,β ∈ (N∪Σ)\* and γ ∈ (N∪Σ)+.
زبان گرامر G مجموعه ایی از همهٔ رشته‌های با نماد ترمینال‌ها که از نماد شروع مشتق می‌شود است.
*L*(*G*) = { *w* ∈ Σ\*: *S* ⇒\* *w* }.

تنها تفاوت بین این تعریف از چامسکی و گرامر بدون محدودیت آن است که γ می‌تواند در گرامر بدون محدودیت تهی باشد.
اسم حساس به متن αو β که فرم A را نشان می‌دهند بیان می‌شود؛ و تعیین می‌کند آیا A می‌تواند با γ جایگزین شود یا خیر. این قاعده متفاوت ازگرامر مستقل از متن است که در آن متن از غیر ترمینال‌ها مورد توجه قرار گرفته‌است. در واقع هر قاعده تولید از گرامر مستقل از متن به فرم است که v یک نماد تک غیر ترمینال است و w یک رشته از ترمینال‌ها است؛ w می‌تواند خالی باشد.

مثال
----

گرامر زیر با نماد s شروع شده و استاندارد زبان غیر مستقل از متن زیر را ساخته است.
{ *a**n**b**n**c**n*: *n* ≥ ۱ }

|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| 1. |  | *S* | → | *a* | *b* | *c* |
| 2. |  | *S* | → | *a* | *S* | *B* | *c* |
| 3. | *c* | B | → | *W* | *B* |
| 4. | *W* | *B* | → | *W* | *X* |
| 5. | *W* | *X* | → | *B* | *X* |
| 6. | *B* | *X* | → | *B* | *c* |
| 7. | *b* | B | → | *b* | *b* |

  

قواعد ۱ و ۲ s را به
قواعد ۱و ۲
s
را به
*a**n*(*Bc*)*n* تبدیل می‌کند

قاعده ۷ برای آن است B را با b جایگزین کند.
یک زنجیره تولید برای aaabbbccc به صورت زیر است:

```
 S
 →2 aSBc
 →2 aaSBcBc
 →1 aaabcBcBc
 →3 aaabWBcBc
 →4 aaabWXcBc
 →5 aaabBXcBc
 →6 aaabBccBc
 →3 aaabBcWBc
 →4 aaabBcWXc
 →5 aaabBcBXc
 →6 aaabBcBcc
 →3 aaabBWBcc
 →4 aaabBWXcc
 →5 aaabBBXcc
 →6 aaabBBccc
 →7 aaabbBccc
 →7 aaabbbccc
```

پا نوشته‌ها
-----------

1. ↑  Peter Linz (2011). *An Introduction to Formal Languages and Automata*. Jones & Bartlett Publishers. p. 291. ISBN 978-1-4496-1552-9.
2. ↑  Alexander Meduna (2000). *Automata and Languages: Theory and Applications*. Springer Science & Business Media. p. 730. ISBN 978-1-85233-074-3.
3. ↑  Martin Davis; Ron Sigal; Elaine J. Weyuker (1994). *Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science* (2nd ed.). Morgan Kaufmann. p. 189. ISBN 978-0-08-050246-5.

جستارهای وابسته
---------------

* وراثت چامسکی


| * ن
* ب
* و
نظریه اتوماتا: زبان صوری و دستور زبان‌های صوری |
| --- |
| 

|  |  |  |  |
| --- | --- | --- | --- |
| وراثت چامسکی | دستور زبان صوری | زبان صوری | دستگاه انتزاعیs |
|  |
| 
* Type-0
* —
* Type-1
* —
* —
* —
* —
* —
* Type-2
* —
* —
* Type-3
* —
* —

 | 
* Unrestricted
* (no common name)
* گرامر حساس به متن
* Positive range concatenation
* گرامر نمایه‌سازی‌شده
* —
* تعمیم گرامر مستقل از متنs
* گرامر درخت مجاورت
* گرامر مستقل از متن
* گرامرهای مستقل از متن قطعی
* Visibly pushdown
* دستور زبان منظم
* —
* قواعد بازگشتی

 | 
* زبان شمارش‌پذیر بازگشتی
* زبان بازگشتی
* زبان حساس به متن
* Positive range concatenation\*
* زبان نمایه‌سازی‌شده\*
* —
* تعمیم گرامر مستقل از متن
* گرامر درخت مجاورت
* زبان مستقل از متن
* زبان مستقل از متن قطعی
* حروف معین
* زبان منظم
* Star-free
* زبان منظم

 | 
* ماشین تورینگ
* ماشین تورینگ کامل
* آتاماتای خطی کران‌دار
* کلاس پی Turing Machine
* ماشین پشته‌ای مشبک
* اتوماتای نخی
* —
* ماشین پشته‌ای جاسازی‌شده
* اتوماتون پشته‌ای
* ماشین قطعی پشته‌ای
* حروف معین
* ماشین حالات متناهی
* Counter-free (with aperiodic finite monoid)
* ماشین غیر مدور قطعی متناهی

 |

 |
|  هر دسته‌ای از زبان‌ها، به جز آنهایی که با علامت ستاره علامتگذاری شده‌اند، زیرمجموعه مناسبی از دسته‌ای است که مستقیماً در بالای آن قرار دارد. هر زبانی، در هر دسته، به وسیله یک دستور زبان و یک اتومیشن در آن دسته و در سطر مشابه تولید می‌شود. |