ไวยากรณ์นามธรรมคืออะไร?

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

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

แนวคิดเชิงนามธรรมของการเขียนโปรแกรมประเภทนี้มักใช้ในทฤษฎีคอมไพเลอร์ คอมพิวเตอร์สามารถเข้าใจได้สองค่าเท่านั้น: 1s และ 0s สิ่งนี้เรียกว่ารหัสไบนารี่ เพื่อให้คอมพิวเตอร์เข้าใจโปรแกรมที่เขียนด้วยภาษาการเขียนโปรแกรมคอมพิวเตอร์นั้นจะต้องรวบรวมหรือแปลคำและตัวอักษรเป็นสตรีม 1 และ 0 คอมไพเลอร์มีความซับซ้อนในการสร้างและทำแผนที่ความคิดที่คลุมเครือหรือเป็นนามธรรมของสิ่งที่พวกเขาต้องทำช่วยโปรแกรมเมอร์วางแผนรหัสปราศจากข้อผิดพลาด

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