Skip to main content

Τι είναι ένα αφηρημένο δέντρο σύνταξης;

Ένα αφηρημένο δέντρο σύνταξης (AST) είναι μια συντακτική δομή που γίνεται για να αντιπροσωπεύει τις λειτουργίες που συμβαίνουν μέσα σε ένα πρόγραμμα.Βασίζεται στον πηγαίο κώδικα του προγραμματισμού.Συνήθως ιεραρχικά στο σχεδιασμό, το αφηρημένο δέντρο σύνταξης ξεκινά από τις βασικές λειτουργίες και τις ροές προς τα κάτω για να δείξει τις πιο εμπλεκόμενες λειτουργίες και τον κώδικα μέσα σε κάθε βασική λειτουργία.Η χρήση αυτού του δέντρου διευκολύνει τους προγραμματιστές να απεικονίζουν τον κώδικα χωρίς να κοιτάζουν τον ίδιο τον πηγαίο κώδικα, ο οποίος είναι πολύ μεγαλύτερος και μπορεί να αποκαλύψει ελαττώματα ή αδυναμίες στον κώδικα.Το δέντρο ονομάζεται αφηρημένο, όχι επειδή είναι δύσκολο να κατανοηθεί ή να έχει αφηρημένο σχήμα, αλλά επειδή δεν περιλαμβάνει τη σύνταξη κωδικοποίησης, όπως σημάδια παρένσης και άλλα σύμβολα που εμφανίζονται αναπόφευκτα στον κώδικα. Όταν ένας προγραμματιστής δημιουργεί ένα πρόγραμμα, αυτός ή αυτή πρέπει να οικοδομήσει τις λειτουργίες από τέτοια πράγματα όπως και οι δηλώσεις και αλλιώς δηλώσεις.Όταν εξετάζετε τον πηγαίο κώδικα, μπορεί να είναι δύσκολο να διαπιστωθεί εάν κάθε δήλωση και κατάσταση έχει πληρούνται πλήρως και εάν όλες οι λειτουργίες έχουν δημιουργηθεί σωστά.Ένα αφηρημένο δέντρο σύνταξης δίνει στον προγραμματιστή έναν γρήγορο τρόπο να κοιτάξει τον προγραμματισμό για να δει κάθε κατάσταση και πώς ισχύει για το πρόγραμμα συνολικά.

Το δέντρο γίνεται με ιεραρχικό τρόπο.Στην κορυφή είναι μια από τις κύριες δηλώσεις και, από τη δήλωση αυτή, τα υποκαταστήματα ρέουν προς τα κάτω για να δείξουν τι ικανοποιεί τις συνθήκες.Αυτό συνεχίζεται, παρουσιάζοντας άλλες λειτουργίες και συνθήκες για ολόκληρο το πρόγραμμα.Οι μεταβλητές στον προγραμματισμό εμφανίζονται συχνά.Οι περισσότερες γλώσσες προγραμματισμού έχουν τη δυνατότητα να δημιουργούν ένα αφηρημένο δέντρο σύνταξης.Αυτό δεν συμβαίνει με ένα αφηρημένο δέντρο σύνταξης.Ο λόγος για τον οποίο χρησιμοποιείται η λέξη αφηρημένη είναι επειδή το δέντρο δεν εμφανίζει τη σύνταξη και τον προγραμματισμό όπως είναι.Αντίθετα, αφαιρεί σιωπηρά σύμβολα που δεν είναι σημαντικά για την οθόνη.Για παράδειγμα, οι παρενθέσεις χρησιμοποιούνται συχνά αρκετά απελευθερωτικά στον προγραμματισμό, αλλά δεν εμφανίζονται στο δέντρο.Αυτό οφείλεται στο γεγονός ότι η εμφάνιση αυτής της σύνταξης διαρκεί πολύ περισσότερο χώρο, καθιστά πιο δύσκολο να δούμε το δέντρο και ο προγραμματιστής θα γνωρίζει αυτά τα σύμβολα στον πηγαίο κώδικα.

Εάν ένας προγραμματιστής θέλει να δει αυτά τα βοηθητικά σύμβολα, είναι ένα δέντρο σύνταξης σκυροδέματοςσυχνά απασχολείται.Αυτά τα δέντρα είναι παρόμοια με την αφηρημένη ποικιλία, μόνο που πηγαίνουν σε περισσότερες λεπτομέρειες με όλα τα σύμβολα.Αυτό το δέντρο είναι καλύτερο για την εξέταση των λείπουν κομμάτια συμβόλων ή κώδικα, ενώ το αφηρημένο δέντρο είναι καλύτερο για τον έλεγχο των λειτουργιών και των μεταβλητών του προγράμματος.