Skip to main content

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

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

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

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

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