คำถามติดแท็ก syntax

ไวยากรณ์หมายถึงชุดของกฎที่กำหนดวิธีการเขียนโปรแกรมที่มีโครงสร้างอย่างถูกต้องในภาษา ไม่ได้เกี่ยวข้องกับความหมายหรือการตีความของโปรแกรมอย่างชัดเจน

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

11
ภาษาการเขียนโปรแกรมควรเข้มงวดหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ใน Python และ JavaScript เซมิโคลอนเป็นทางเลือก ใน PHP เครื่องหมายคำพูดรอบ ๆ คีย์อาร์เรย์เป็นตัวเลือก ( $_GET[key]vs $_GET['key']) แม้ว่าคุณจะไม่ใส่มันก็ตามมันจะค้นหาค่าคงที่ด้วยชื่อนั้นก่อน นอกจากนี้ยังอนุญาตให้มีลักษณะที่แตกต่างกัน 2 แบบสำหรับบล็อก (เครื่องหมายโคลอนหรือตัวคั่นรั้ง) ตอนนี้ฉันกำลังสร้างภาษาการเขียนโปรแกรมและฉันพยายามที่จะตัดสินใจว่าฉันควรทำอย่างไร มีหลายกรณีที่อักขระพิเศษไม่จำเป็นจริงๆและสามารถตีความได้อย่างไม่น่าสงสัยเนื่องจากลำดับความสำคัญ แต่ฉันสงสัยว่าฉันควรบังคับใช้พวกเขาหรือไม่เพื่อส่งเสริมความมั่นคง คุณคิดอย่างไร? โอเคภาษาของฉันไม่ได้เป็นภาษาการเขียนโปรแกรมเป็นภาษาเทมเพล ชนิดของการข้ามระหว่างHamlและDjango แม่ หมายถึงจะใช้กับ C # เว็บเฟรมเวิร์กของฉันและควรจะขยายได้มาก

6
เป็นไปได้หรือไม่ที่จะออกแบบภาษาที่ไม่มีข้อผิดพลาดทางไวยากรณ์? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา ในคำอื่น ๆ ภาษาที่ทุกสายที่เป็นไปได้คือไวยากรณ์ที่ถูกต้อง? แก้ไข : นี่คือคำถามเชิงทฤษฎี ฉันไม่มีความสนใจในการใช้ภาษาดังกล่าว ฉันแค่ถามว่ามันเป็นไปได้ แก้ไขเพิ่มเติม ฉันไปข้างหน้าภาษาดังกล่าวที่ออกแบบมา ดูErrorFree

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

11
มีภาษาการเขียนโปรแกรมที่ปรับเปลี่ยนได้ส่วนบุคคลที่คุณสามารถใช้ในการแปลงให้เป็นผู้อื่นได้หรือไม่?
มีภาษาการเขียนโปรแกรมที่คุณสามารถตั้งค่าการกำหนดค่าไวยากรณ์ของคุณเองและมันจะแปลงรหัสเป็นภาษาที่คุณเลือกหรือไม่? ตัวอย่างเช่นคุณจะเลือกการกำหนดค่าเฉพาะเช่น "บล็อกที่จัดทำดัชนีของ Python" [a,b,c]เริ่มต้นอาร์เรย์^สำหรับการยกกำลังและอื่น ๆ สคริปต์จะแปลงเป็นภาษาที่คุณเลือก

2
ทำไมตัวแปร PHP จำเป็นต้องนำหน้าด้วยเครื่องหมายดอลลาร์
ฉันเข้าใจว่าตัวแปร PHP ทั้งหมดจะต้องนำหน้าด้วยเครื่องหมายดอลลาร์ (เช่น$someValue = 1) แต่ทำไมถึงเป็นเช่นนั้น ทำไมตัวเลือกการออกแบบนี้ถูกสร้างขึ้นมา? เหตุผลที่ฉันถามคือแฟนของฉันถามว่าทำไมเมื่อฉันพูดถึงว่าตัวแปร PHP ต้องเริ่มต้นด้วยเครื่องหมายดอลลาร์และฉันรู้ว่าฉันไม่รู้ว่าทำไมตัวเลือกประโยคนี้จึงถูกสร้างขึ้น ความคิดใด ๆ
13 php  syntax 

3
โอเปอเรเตอร์ของ infix มีประโยชน์อย่างไรในภาษาการเขียนโปรแกรม?
โอเปอเรเตอร์ของ infix มีประโยชน์อย่างไรในภาษาการเขียนโปรแกรม? พวกเขาคุ้มค่ากับความซับซ้อนที่เพิ่มขึ้นหรือไม่ คุณสามารถให้ตัวอย่างใด ๆ ที่ตัวดำเนินการมัดเหมาะกับปัญหาที่ไม่สามารถจัดการได้โดยเพียงแค่บรรทุกเกินพิกัดตัวดำเนินการปกติหรือไม่

1
'ไวยากรณ์น้ำส้มสายชู' หมายถึงอะไร
ฉันอ่านGroovy in Action, Second Editionและจากเชิงอรรถฉันพบข้อความต่อไปนี้ Java เท "น้ำส้มสายชูไวยากรณ์" มากกว่าโครงสร้างเพื่อกีดกันโปรแกรมเมอร์จากการใช้มัน คำนี้syntax vinegarหมายถึงอะไรที่นี่? ฉันไม่เคยได้ยินคำนี้มาก่อนและค้นหาใน DuckDuckGo และ Google แต่ไม่พบความหมาย แต่มันถูกใช้ในหลาย ๆ ที่ มันจะดีถ้ามีใครสามารถอธิบายความหมายของคำนี้และนำไปใช้ในบริบทของการเขียนโปรแกรมภาษา หวังว่านี่จะถือว่าเป็นคำถามที่ถูกต้อง ไม่พบไซต์ stackexchange อื่นที่ฉันสามารถถามได้
12 java  syntax  groovy 

8
การเรียน makefiles มีความสำคัญแค่ไหน? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันทำงานใน c ++ ส่วนใหญ่เป็นงานอดิเรก (ฉันยังเรียนหนังสืออยู่และไม่มีงานจริง) IDEs สร้าง makefile ให้ฉันและฉันก็สงสัยว่ามันคุ้มค่าที่จะเรียนรู้วิธีทำให้มันเป็นตัวของตัวเองหรือเปล่า โดย "การเรียนรู้ที่คุ้มค่า" ฉันหมายถึงฉันควรวางทุกอย่างและเรียนรู้วิธีการเขียนก่อนที่จะเรียนรู้ c ++ ต่อไปหรือไม่ การเรียนรู้พวกเขาจะจำเป็นจริงๆหรือ? ถ้าเป็นเช่นนั้นฉันควรเรียนรู้เกี่ยวกับพวกเขา (ไวยากรณ์ทั่วไปและความเข้าใจวิธีการทำงาน ฯลฯ ) หรือเรียนรู้วิธีการเขียนพวกเขาจริง ๆ ?
12 java  learning  c++  syntax  make 

5
ไวยากรณ์ของภาษาโปรแกรมขึ้นอยู่กับการนำไปใช้หรือไม่
แม้ว่าคำถามของฉันอาจไม่เกี่ยวข้องทั้งหมด แต่ฉันได้สัมผัสรูปแบบระหว่างภาษาโปรแกรมส่วนใหญ่และการใช้งานอย่างเป็นทางการของพวกเขา การตีความ (byte-ตีความแล้ว?) ภาษาเช่น Python, Lua ฯลฯ มักจะมีรูปแบบที่ผ่อนปรนและง่ายและโดยทั่วไปจะพิมพ์น้อยกว่าหรือไม่ต้องการให้ผู้พัฒนาเขียนประเภทตัวแปรในซอร์สโค้ดอย่างชัดเจน ภาษาที่คอมไพล์เช่น C, C ++, Pascal ฯลฯ มักจะมีไวยากรณ์ที่เข้มงวดโดยทั่วไปมีประเภทและส่วนใหญ่ต้องการรหัส / เวลาในการพัฒนามากขึ้น ภาษาที่มีการใช้งานอย่างเป็นทางการคือJIT-Compiledเช่น Java / C # มักจะเป็นการประนีประนอมระหว่างสองคนข้างต้นกับคุณสมบัติที่ดีที่สุดของทั้งสองอย่าง ภาษาโปรแกรมคอมไพล์ที่ทันสมัยกว่าบางภาษาเช่น D และ Vala (และการนำ GNU GJC ไปใช้ของ Java) อาจเป็นข้อยกเว้นของกฎนี้และคล้ายกับไวยากรณ์และคุณลักษณะของภาษาที่รวบรวม JIT เช่น Java และ C # คำถามแรกของฉันคือสิ่งนี้เกี่ยวข้องกันจริงหรือ? หรือนี่เป็นเรื่องบังเอิญที่ภาษาที่ถูกตีความส่วนใหญ่มีไวยากรณ์ง่าย ๆ JIT-Compiled มีไวยากรณ์และคุณสมบัติในระดับปานกลางเป็นต้น ประการที่สองหากนี่ไม่ใช่เรื่องบังเอิญเหตุใดจึงเป็นเช่นนั้น ตัวอย่างเช่นคุณสมบัติบางอย่างสามารถนำไปใช้ในภาษาการเขียนโปรแกรมถ้าคุณพูด JIT- รวบรวมมัน?

22
โครงสร้างการควบคุมทางเลือกใดที่มีประโยชน์ที่คุณรู้ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา คำถามที่คล้ายกันถูกปิดใน SO บางครั้งเมื่อเราเขียนโปรแกรมเราพบว่าโครงสร้างการควบคุมบางอย่างจะมีประโยชน์มากสำหรับเรา แต่ไม่สามารถใช้ได้โดยตรงในภาษาการเขียนโปรแกรมของเรา โครงสร้างการควบคุมทางเลือกใดที่คุณคิดว่าเป็นวิธีที่มีประโยชน์ในการจัดระเบียบการคำนวณ เป้าหมายที่นี่คือการได้รับวิธีการคิดใหม่เกี่ยวกับการสร้างโค้ดเพื่อที่จะปรับปรุงการแยกและการใช้เหตุผล คุณสามารถสร้างไวยากรณ์ / ความหมายที่ปรารถนาไม่พร้อมใช้งานในขณะนี้หรืออ้างอิงโครงสร้างการควบคุมที่รู้จักน้อยในภาษาการเขียนโปรแกรมที่มีอยู่ รู้รอบควรให้แนวคิดสำหรับภาษาการเขียนโปรแกรมใหม่หรือปรับปรุงภาษาจริง คิดว่านี่เป็นการระดมสมองดังนั้นโพสต์สิ่งที่คุณคิดว่าเป็นความคิดที่บ้า แต่มันสามารถทำงานได้ในบางสถานการณ์ มันเกี่ยวกับการเขียนโปรแกรมที่จำเป็น

2
ฉันคือ j = 1 ทำให้เข้าใจผิดจริงเหรอ? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา มีข้อโต้แย้งทั่วไปเกี่ยวกับการกำหนดค่าเริ่มต้นหลายตัวแปรในหนึ่งซับคือ: ลองพิจารณาตัวอย่าง int i, j = 1; ซึ่งอาจทำให้บางคนเชื่อว่าตัวแปรทั้งสองกำลังเริ่มต้นผิดพลาด เราอาจโต้แย้งว่าบางคนควรรู้ไวยากรณ์ของภาษาของเขามากพอที่จะไม่เข้าใจผิดเกี่ยวกับเรื่องนั้น อาจเป็นอีกเรื่องที่นักพัฒนาเราเรียนรู้ภาษามากมายที่เราสามารถทำผิดพลาดระหว่างความเฉพาะเจาะจงระหว่างภาษา อย่างไรก็ตามสำหรับกรณีที่เฉพาะเจาะจงฉันสงสัยว่าต่อไปนี้จะมีภาษาที่ไวยากรณ์มากi, j = 1เริ่มต้นตัวแปรทั้งสองหรือไม่ หากไม่ใช่ข้อโต้แย้งนั้นก็จะไม่มีผล

3
ทำไมเราไม่สามารถเขียนฟังก์ชั่นการจดชวเลขซ้อนใน Clojure ได้?
ฉันพยายามประเมินการแสดงออกของ Clojure ด้วยฟังก์ชั่นชวเลขที่ซ้อนกันในวันนี้และมันจะไม่ยอมให้ฉัน การแสดงออกคือ: (#(+ % (#(+ % (* % %)) %)) 5) ; sorry for the eye bleed ผลลัพธ์คือ: IllegalStateException Nested #()s are not allowed clojure.lang.LispReader$FnReader.invoke (LispReader.java:630) ...and a bunch of other garbage

5
ชื่อสำนวนสำหรับตัวแปรที่ถูกทิ้งคืออะไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา คำสั่งการตั้งค่าภาษาเทมเพลต Velocityต้องการตัวแปรทางด้านซ้ายมือ มันใช้งานไม่ได้ #set ( $entries.add("d") ) แม้ว่าฉันจะไม่ได้ใช้สำหรับค่าตอบแทนของadd("d")ฉันต้องกำหนดให้ตัวแปร #set ( $x = $entries.add("d") ) ฉันต้องการสื่อสารว่าตัวแปรมีความจำเป็น แต่ฉันไม่ต้องการใช้ในภายหลัง มีแบบแผนสำหรับตัวแปรการตั้งชื่อที่มีอยู่เพื่อเอาใจคอมไพเลอร์เท่านั้น?
11 naming  syntax 

6
คุณคิดอย่างไรกับไวยากรณ์ if-then ใหม่นี้ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันแค่คิดว่าจะมีอะไรบางอย่างที่เจ๋งจริง ๆ ที่มีอยู่ในการควบคุม if-elif-else if condition: stuff() elif condition: otherstuff() then: stuff_that_applies_to_both() else: stuff_that_doesnt_aply_to_either() ดังนั้นโดยทั่วไป a thenจะถูกเรียกใช้เมื่อเงื่อนไขใด ๆ ถูกเรียกใช้ยกเว้นเงื่อนไขอื่น คุณคิดว่าสิ่งนี้มีประโยชน์หรือไม่? มันคล้ายกับ try-except-else ของ python ฉันคิดว่าพวกคุณบางคนกำลังวางมือในการดำเนินการเบื้องต้น thenบล็อกจะเป็นเช่นเดียวกับelseบล็อกในtry-exceptบล็อกในหลาม เหตุผลที่แท้จริงที่ฉันแนะนำสิ่งนี้สำหรับสถานการณ์เช่นนี้ m = {} if condition == '1': m['condition'] = condition elif condition2 == '3': m['condition2'] = …
11 syntax 

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