אוטומטים ושפות פורמליות/תכונות של שפות חסרות הקשר/דו-משמעות
תבנית:אוטומטים ושפות פורמליות נאמר שדקדוק הוא דו-משמעי (לעתים גם: רב-משמעי, ambiguous) אם קיימת בשפה הנוצרת על-ידי הדקדוק מילה, שניתן ליצור אותה בשני אופנים שונים. כלומר, אם קיימים שני עצי-גזירה שונים עבור אותה המילה. דוגמא לדקדוק דו-משמעי הוא הדקדוק הבא
קל לראות כי ניתן ליצור את המילה 01 בשני אופנים שונים: אך גם . עבור דוגמא זו קל לשנות את הדקדוק כך שיהיה חד-משמעי. למשל יוצר את אותה השפה, ואינו דו-משמעי.
דוגמא נוספת: הדקדוק הינו דו-משמעי. להלן שני עצי יצירה עבור המילה :
-
עץ יצירה 1 למילה aaa
-
עץ יצירה 2 למילה aaa
מאידך, הדקדוק יוצר את אותה שפה (), ואינו דו משמעי.

דו משמעות אינהרנטית
מחלקת השפות חופשיות ההקשר נחלקות לשתי תת-מחלקות:
- שפות שאינן דו-משמעיות
- שפות דו-משמעיות באופן אינהרנטי
לכל שפה במחלקה הראשונה, ניתן למצוא דקדוק שאינו דו משמעי. עם זאת, שפות במחלקה השנייה בנויות באופן שהן חייבות להיות דו משמעיות, וכל דקדוק שיוצר אותן יהיה דו משמעי. דוגמא לשפה דו-משמעית באופן אינהרנטי היא השפה
מילים מהצורה תמיד יהיו בעלי שני עצי גזירה שונים, אחד עקב הכללים שמייצרים את והשני עקב הכללים שמייצרים את עבור . תבנית:להשלים
כריעות בעיית הדו-משמעות
בהנתן דקדוק חסר-הקשר דו-משמעי, לא קיים אלגוריתם הממיר אותו לדקדוק לא דו-משמעי (אם קיים). יתר על כן, עצם השאלה האם דקדוק מסויים הוא דו-משמעי או לא, אינו בעיה כריעה - כלומר לא קיים אלגוריתם (מכונת טיורינג) המכריע את השפה
(זהו נושא מתקדם השייך לקורס תורת החישוביות)