คำถามติดแท็ก formal-grammars

คำถามเกี่ยวกับไวยากรณ์ที่เป็นทางการคำอธิบายกำเนิดของภาษาที่เป็นทางการ

1
การเปรียบเทียบทางทฤษฎีภาษาของ LL และไวยากรณ์กรัม
ผู้คนมักบอกว่าตัวแยกวิเคราะห์LR (k)นั้นมีพลังมากกว่าตัวแยกวิเคราะห์LL (k) ข้อความเหล่านี้ส่วนใหญ่คลุมเครือ โดยเฉพาะอย่างยิ่งเราควรเปรียบเทียบคลาสสำหรับคงที่หรือสหภาพกับkทั้งหมดหรือไม่ ดังนั้นสถานการณ์เป็นอย่างไร โดยเฉพาะอย่างยิ่งฉันสนใจที่ LL (*) จะเข้ากันได้อย่างไรkkkkkk เท่าที่ฉันรู้ชุดของตัวแยกไวยากรณ์ LL และ LR ที่เกี่ยวข้องนั้นเป็น orthogonal ดังนั้นให้เราพูดถึงภาษาที่สร้างขึ้นโดยชุดของไวยากรณ์ที่เกี่ยวข้อง ให้แสดงถึงระดับของภาษาที่สร้างขึ้นโดยไวยากรณ์ที่สามารถแยกวิเคราะห์โดยตัวแยกวิเคราะห์L R ( k )และคล้ายกับคลาสอื่น ๆL R ( k )LR(k)LR(k)L R ( k )LR(k)LR(k) ฉันสนใจในความสัมพันธ์ต่อไปนี้: L L ( k ) ⊆?L R ( k )LL(k)⊆?LR(k)LL(k) \overset{?}{\subseteq} LR(k) ⋃∞i=1LL(k)⊆?⋃∞i=1LR(k)⋃i=1∞LL(k)⊆?⋃i=1∞LR(k)\bigcup_{i=1}^{\infty} LL(k) \overset{?}{\subseteq} \bigcup_{i=1}^{\infty} LR(k) ⋃∞i=1LL(k)=?LL(∗)⋃i=1∞LL(k)=?LL(∗)\bigcup_{i=1}^{\infty} …

2
มีภาษาที่ไม่มีบริบทที่คลุมเครือและไม่แน่นอนหรือไม่
ให้เราเรียกใช้ภาษาที่ไม่มีบริบทถ้าหากมันสามารถได้รับการยอมรับจากหุ่นยนต์แบบกดลงที่กำหนดได้และเป็นอย่างอื่น ให้เราเรียกภาษาที่ปราศจากบริบทโดยเนื้อแท้ถ้าหากไวยากรณ์ไวยากรณ์ที่ไม่ใช้บริบททั้งหมดที่สร้างภาษานั้นคลุมเครือและไม่คลุมเครือเป็นอย่างอื่น ตัวอย่างของภาษาที่กำหนดขึ้นมาอย่างไม่แน่นอนคือภาษา: ตัวอย่างของภาษา nondeterministic ไม่กำกวมคือภาษา: { w ∈ { a , b } ∗ | w = w R }{ anขn∈ { a , b }* * * *| n≥0}{anbn∈{a,b}∗|n≥0}\{a^{n}b^{n} \in \{a, b\}^{*} | n \ge 0\}{w∈{a,b}∗|w=wR}{w∈{a,b}∗|w=wR}\{w \in \{a, b\}^{*} | w = w^{R}\} จากวิกิพีเดียตัวอย่างของภาษาที่ไม่มีบริบทที่คลุมเครือโดยเนื้อแท้คือการรวมกันของภาษาที่ไม่ใช้บริบทต่อไปนี้ซึ่งจะต้องปราศจากบริบท: L={anbmcmdn∈{a,b,c,d}∗|n,m≥0}∪{anbncmdm∈{a,b,c,d}∗|n,m≥0}L={anbmcmdn∈{a,b,c,d}∗|n,m≥0}∪{anbncmdm∈{a,b,c,d}∗|n,m≥0}L = \{a^{n}b^{m}c^{m}d^{n} \in …

9
ความสำคัญของภาษาตามบริบท (ประเภท 1) คืออะไร
เห็นได้ว่าในรัฐChomsky Hierarchy Type 3 สามารถรับรู้โดยเครื่องของรัฐที่ไม่มีหน่วยความจำภายนอก (เช่นเครื่อง จำกัด อัตโนมัติ), Type 2 โดยเครื่องของรัฐที่มีสแต็กเดียว (เช่นเครื่องกดลง) และ Type 0 โดย เครื่องรัฐที่มีสองกอง (หรือเทียบเท่าเทปเช่นเดียวกับกรณีของทัวริงเครื่อง) ภาษาประเภท 1 พอดีกับภาพนี้ได้อย่างไร และข้อดีอะไรบ้างที่นำมาพิจารณาว่าภาษาไม่เพียง แต่พิมพ์ 0 แต่พิมพ์ 1

2
"บริบท" ใน "ไวยากรณ์ที่ไม่มีบริบท" หมายถึงอะไร
มีคำจำกัดความออนไลน์มากมายเกี่ยวกับไวยากรณ์ที่ปราศจากบริบท แต่ไม่มีอะไรที่ฉันพอใจคือปัญหาหลักของฉัน: บริบทใดที่ปราศจาก ในการตรวจสอบฉัน Googled "บริบทที่ไวต่อไวยากรณ์" แต่ฉันยังคงล้มเหลวในการค้นหาว่า "บริบท" เกี่ยวกับอะไร ใครช่วยกรุณาอธิบายสิ่งที่contextคำที่อ้างถึงในชื่อเหล่านี้?

3
สิ่งที่แท้จริงหมายถึงอะไรโดยบริบทในไวยากรณ์คำศัพท์บริบท?
ฉันกำลังศึกษาคอมไพเลอร์อยู่พักหนึ่งและฉันค้นหาสิ่งที่มีความหมายโดย "บริบท" ในไวยากรณ์และความหมายของไวยากรณ์คือ "ปราศจากบริบท" แต่ไม่มีผลลัพธ์ ใครช่วยได้บ้าง

6
การสร้างชุดค่าผสมจากชุดคู่โดยไม่มีการทำซ้ำองค์ประกอบ
ฉันมีชุดของคู่ แต่ละคู่เป็นรูปแบบ (x, y) เช่นว่า x, y [0,n)เป็นจำนวนเต็มจากช่วง ดังนั้นถ้า n คือ 4 ดังนั้นฉันมีคู่ต่อไปนี้: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) ฉันมีคู่แล้ว ตอนนี้ฉันต้องสร้างชุดค่าผสมโดยใช้n/2คู่ที่ไม่มีจำนวนเต็มซ้ำ (กล่าวอีกอย่างหนึ่งว่าจำนวนเต็มแต่ละค่าปรากฏอย่างน้อยหนึ่งครั้งในชุดค่าผสมสุดท้าย) ต่อไปนี้เป็นตัวอย่างของชุดค่าผสมที่ถูกต้องและไม่ถูกต้องเพื่อความเข้าใจที่ดีขึ้น 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] มีคนแนะนำฉันถึงวิธีในการสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดเมื่อฉันมีคู่

2
จะพิสูจน์ได้อย่างไรว่าภาษาไม่มีบริบท
มีเทคนิคมากมายที่จะพิสูจน์ว่าภาษาไม่ได้เป็นแบบไม่มีบริบท แต่ฉันจะพิสูจน์ได้อย่างไรว่าภาษานั้นไม่มีบริบท มีเทคนิคอะไรที่จะพิสูจน์ได้? เห็นได้ชัดว่าวิธีหนึ่งคือการแสดงไวยากรณ์ที่ไม่มีบริบทสำหรับภาษา มีเทคนิคใด ๆ ที่เป็นระบบเพื่อค้นหาไวยากรณ์ที่ไม่มีบริบทสำหรับภาษาที่กำหนดหรือไม่ สำหรับภาษาที่ปกติมีมี วิธีการที่เป็นระบบที่จะได้รับเป็นประจำไวยากรณ์ / จำกัด รัฐหุ่นยนต์: ตัวอย่างเช่น Myhill-Nerode ทฤษฎีบทมีวิธีหนึ่ง มีเทคนิคที่สอดคล้องกันสำหรับภาษาที่ไม่มีบริบทหรือไม่ แรงจูงใจของฉันที่นี่คือ (หวังว่า) สร้างคำถามอ้างอิงที่มีรายการเทคนิคที่มักจะเป็นประโยชน์เมื่อพยายามพิสูจน์ว่าภาษาที่กำหนดไม่มีบริบท เนื่องจากเรามีคำถามมากมายที่นี่ซึ่งเป็นกรณีพิเศษของสิ่งนี้มันจะดีถ้าเราสามารถบันทึกแนวทางทั่วไปหรือเทคนิคทั่วไปที่เราสามารถใช้เมื่อเผชิญกับปัญหาแบบนี้

4
จะพิสูจน์ได้อย่างไรว่าไวยากรณ์นั้นไม่คลุมเครือ?
ปัญหาของฉันคือฉันจะพิสูจน์ได้อย่างไรว่าไวยากรณ์ไม่คลุมเครือ? ฉันมีไวยากรณ์ต่อไปนี้: S→statement∣if expression then S∣if expression then S else SS→statement∣if expression then S∣if expression then S else SS → statement ∣ \mbox{if } expression \mbox{ then } S ∣ \mbox{if } expression \mbox{ then } S \mbox{ else } S และทำให้เป็นไวยากรณ์ที่ชัดเจนฉันคิดว่ามันถูกต้อง: S→S1∣S2S→S1∣S2 S → S_1 ∣ S_2 S1→if expression …

1
มีขั้นตอนวิธีการแยก CFG nongeneral ที่รับรู้ EPAL หรือไม่
EPAL ภาษาของ palindromes คู่ถูกกำหนดเป็นภาษาที่สร้างขึ้นโดยไวยากรณ์บริบทที่ไม่มีความชัดเจนต่อไปนี้: S→aaS→aaS \rightarrow a a S→bbS→bbS \rightarrow b b S→aSaS→aSaS \rightarrow a S a S→bSbS→bSbS \rightarrow b S b EPAL เป็น 'bane' ของอัลกอริทึมการแยกวิเคราะห์หลายอย่าง: ฉันยังไม่เคยพบอัลกอริทึมการแยกวิเคราะห์สำหรับ CFG ที่ไม่คลุมเครือซึ่งสามารถแยกไวยากรณ์ใด ๆ ที่อธิบายภาษา มักใช้เพื่อแสดงว่ามี CFG ที่ไม่คลุมเครือซึ่งไม่สามารถแยกวิเคราะห์โดยตัวแยกวิเคราะห์เฉพาะได้ นี่เป็นแรงบันดาลใจให้กับคำถามของฉัน: มีอัลกอริธึมการแยกวิเคราะห์ที่ยอมรับเฉพาะ CFG ที่ชัดเจนซึ่งใช้งานได้กับ EPAL หรือไม่ แน่นอนหนึ่งสามารถออกแบบ ad-hoc parser สอง pass- สำหรับไวยากรณ์ที่แยกวิเคราะห์ภาษาในเวลาเชิงเส้น ฉันสนใจวิธีการวิเคราะห์คำที่ไม่ได้ออกแบบมาเป็นพิเศษโดยคำนึงถึง EPAL

1
วิธีการแสดงว่า L = L (G)
ระบุภาษาอย่างเป็นทางการโดยให้ไวยากรณ์อย่างเป็นทางการเป็นงานบ่อย: เราต้องไวยากรณ์ไม่เพียง แต่จะอธิบายภาษา แต่ยังจะแยกพวกเขาหรือแม้กระทั่งการทำวิทยาศาสตร์ที่เหมาะสม ในทุกกรณีเป็นสิ่งสำคัญที่ไวยากรณ์ในมือนั้นถูกต้องซึ่งจะสร้างคำที่ต้องการทั้งหมด บ่อยครั้งที่เราสามารถโต้แย้งในระดับสูงว่าทำไมไวยากรณ์เป็นตัวแทนที่เพียงพอของภาษาที่ต้องการโดยไม่ต้องมีการพิสูจน์อย่างเป็นทางการ แต่ถ้าเรามีข้อสงสัยหรือต้องการหลักฐานอย่างเป็นทางการด้วยเหตุผลบางอย่าง เราใช้เทคนิคอะไรได้บ้าง? นี้ควรจะกลายเป็นคำถามที่อ้างอิง ดังนั้นโปรดระมัดระวังในการให้คำตอบทั่วไปนำเสนอคำตอบที่แสดงตัวอย่างอย่างน้อยหนึ่งตัวอย่าง แต่อย่างไรก็ตามยังครอบคลุมหลาย ๆ สถานการณ์ ขอบคุณ!

4
มีวิธีอื่นในการอธิบายภาษาที่เป็นทางการนอกเหนือจากไวยากรณ์หรือไม่
คำถามนี้ถูกย้ายจาก Theoretical Computer Science Exchange Exchange เนื่องจากสามารถตอบได้ใน Computer Science Stack Exchange อพยพ 7 ปีที่ผ่านมา ฉันกำลังมองหาทฤษฎีทางคณิตศาสตร์ที่เกี่ยวข้องกับการอธิบายภาษาทางการ (ชุดของสตริง) โดยทั่วไปและไม่ใช่แค่ลำดับชั้นของไวยากรณ์

4
เหตุใดการเรียกคืนซ้ำจึงไม่ดี
ในการออกแบบคอมไพเลอร์เหตุใดจึงควรเหลือการเรียกซ้ำไปเป็นแกรมม่า ฉันกำลังอ่านว่าเป็นเพราะมันสามารถทำให้เกิดการเรียกซ้ำแบบไม่สิ้นสุด แต่มันไม่เป็นความจริงสำหรับไวยากรณ์แบบเรียกซ้ำที่ถูกต้องเช่นกัน?

1
ความเท่าเทียมกันทางภาษาสำหรับไวยากรณ์ที่ไม่มีบริบทเชิงเส้นเป็นสิ่งที่ตัดสินได้หรือไม่?
ลองพิจารณาสองไวยากรณ์ที่ปราศจากบริบทและG 2และถามคำถามต่อไปนี้: L ( G 1 ) = L ( G 2 )นั่นคือสองไวยากรณ์นั้นเทียบเท่ากันหรือไม่G1G1G_1G2G2G_2L ( G1) = L ( G2)L(G1)=L(G2)L(G_1) = L(G_2) โดยทั่วไปปัญหานี้จะไม่สามารถตัดสินใจได้ อย่างไรก็ตามหากทั้งและG 2เป็นไวยากรณ์ซ้าย - ขวา (หรือขวา - เชิงเส้น) แสดงว่าปัญหานั้นสามารถแก้ไขได้เนื่องจากไวยากรณ์ทั้งสองอธิบายถึงภาษาปกติG1G1G_1G2G2G_2 คำถามของฉันคือว่าปัญหาเดียวกันนั้นสามารถตัดสินใจได้หรือไม่เมื่อไวยากรณ์ทั้งสองเป็นเส้นตรง นอกจากนี้หากใครสามารถชี้วรรณกรรมที่เกี่ยวข้องนั่นจะได้รับการชื่นชมอย่างมาก!

1
ฉันจะแปลงเครื่องทัวริงให้จดจำภาษาเป็นไวยากรณ์ที่ไม่ จำกัด ได้อย่างไร
จากบทความ Wikipedia นี้ไวยากรณ์ที่ไม่ จำกัด นั้นเทียบเท่ากับเครื่องจักรทัวริง บทความบันทึกว่าฉันสามารถแปลงเครื่องทัวริงให้เป็นไวยากรณ์ที่ไม่ จำกัด แต่แสดงให้เห็นเพียงวิธีการแปลงไวยากรณ์เป็นเครื่องทัวริง ฉันจะทำอย่างนั้นและแปลงเครื่องทัวริงให้ตระหนักถึงภาษาเป็นไวยากรณ์ที่ไม่ จำกัด ได้อย่างไร ฉันได้ลองเปลี่ยนกฎการเปลี่ยนเป็นกฎไวยากรณ์ แต่เครื่องทัวริงสามารถกำหนดค่าสถานะที่แตกต่างกันมากมายเช่นกัน ...LLL

2
จะมี 'รัฐที่ตายแล้ว' ในไวยากรณ์ที่ไม่มีบริบทหรือไม่?
ไวยากรณ์ที่ไม่ใช้บริบทสามารถรวม "สถานะที่ตายแล้ว" จากหุ่นยนต์เช่น G = ( { a , b , c } , { A , B , C} , { A → a B , B → b , B → C, C→ c C.} , A )?G=({a,ข,ค},{A,B,ค},{A→aB,B→ข,B→ค,ค→คค},A)?G = \big(\{a, b, c\}, \{A, B, C\}, \{A\to aB, B\to …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.