C στο Maguyva: γράφοι κλήσεων για κώδικα συστημάτων και ενσωματωμένων
Στη C, ο γράφος κλήσεων είναι η αρχιτεκτονική. Ένας πράκτορας πρέπει να τον διαβάσει πριν επεξεργαστεί.
Επεκτάσεις
.c, .h
Το Maguyva υποστηρίζει μονάδες Pascal και Delphi με AST, σύμβολα και γράφο, ώστε οι πράκτορες AI να χαρτογραφούν προτάσεις uses, κλάσεις και διαδικασίες πριν τις αλλάξουν.
Οι εφαρμογές Delphi και Free Pascal συχνά μεγαλώνουν γύρω από λίγες μεγάλες μονάδες που χρησιμοποιούν όλα τα υπόλοιπα. Οι φόρμες κληρονομούν από βασικές φόρμες, τα συστατικά από βασικά συστατικά και οι επιχειρηματικοί κανόνες βρίσκονται σε διαδικασίες που καλούν δεκάδες οθόνες. Ο κώδικας διαβάζεται εύκολα αρχείο προς αρχείο, αλλά οι αλλαγές στραβώνουν στις εξαρτήσεις.
Το Maguyva δίνει πρώτα στον πράκτορα τη δομή των μονάδων και κλάσεων, ώστε να μπορεί να πει τι αγγίζει μια αλλαγή πριν γράψει οτιδήποτε.
Το Maguyva καλύπτει τις μονάδες πηγαίου κώδικα .pas και .pp. Οι ορισμοί διαδικασιών και συναρτήσεων εξάγονται ως καλέσιμα σύμβολα και οι λέξεις-κλειδιά procedure, function, var και const αφαιρούνται από τα ονόματα των ορισμών. Οι κλάσεις και οι διεπαφές μπορούν να επιλεγούν ως ορισμοί τύπων στη δομική αναζήτηση.
Οι εισαγωγές προκύπτουν από τις προτάσεις uses· η λέξη-κλειδί αφαιρείται ώστε ο γράφος να αποθηκεύει ονόματα μονάδων. Οι κλήσεις κανονικοποιούνται με αφαίρεση προθεμάτων μελών, ορισμάτων και εξωτερικών παρενθέσεων, οπότε μια κλήση γραμμένη ως Self.Save(x) αποθηκεύεται ως Save.
Ο γράφος καταγράφει κλήσεις, κληρονομικότητα, υλοποίηση διεπαφών, επικαλύψεις, δημιουργία στιγμιοτύπων, αναφορές τύπων, αναγνώσεις και εγγραφές, καθώς και ακμές έγερσης και χειρισμού εξαιρέσεων. Περίπου 107 ρουτίνες της βιβλιοθήκης χρόνου εκτέλεσης (WriteLn, ReadLn, Inc, Dec, Ord και παρόμοιες) φιλτράρονται από τις σχέσεις.
DataModuleMain και τι καλούν από αυτήν;» (dependency_search incoming)TBaseEditForm και ποιες μεθόδους επικαλύπτουν;» (find_symbol, μετά dependency_search)get_task_context).pas και .pp αντιστοιχίζονται στην Pascal. Τα αρχεία έργων και φορμών Delphi, όπως .dpr και .dfm, δεν περιλαμβάνονται στη λίστα επεκτάσεων, οπότε οι διατάξεις φορμών και η διασύνδεση του έργου μένουν εκτός γράφου.methods στο structural_search δεν επιλέγει τίποτα. Χρησιμοποιήστε την προεπιλογή functions.text_pattern_search.Συνδέστε ένα αποθετήριο με τον γρήγορο οδηγό εκκίνησης και έπειτα δείτε τον πίνακα υποστήριξης στη σελίδα συμβατότητας. Αν η εφαρμογή συνδέει βιβλιοθήκες C, διαβάστε και τον οδηγό για τη C.
Ιδανική χρήση
Ροές εργασίας πρακτόρων
Λεπτομέρειες μηχανής
Χρήσιμα σημεία εισόδου MCP
Χρησιμοποιήστε το με όνομα κλάσης, φόρμας ή διαδικασίας όταν χρειάζεστε τον ορισμό και τις αναφορές.
Χρησιμοποιήστε διάσχιση incoming σε μια κοινόχρηστη μονάδα ή βασική κλάση για να δείτε ποιες μονάδες και απόγονοι εξαρτώνται από αυτήν.
Χρησιμοποιήστε το για προτροπές όπως «εξήγησε πώς καταχωρίζεται ένα τιμολόγιο, από τον χειριστή του κουμπιού μέχρι τη μονάδα της βάσης δεδομένων».
Σχετικοί οδηγοί
Στη C, ο γράφος κλήσεων είναι η αρχιτεκτονική. Ένας πράκτορας πρέπει να τον διαβάσει πριν επεξεργαστεί.
Επεκτάσεις
.c, .h
Εδώ είναι το σημείο όπου η ευρεία υποστήριξη γλωσσών παύει να είναι απλώς ένα στατιστικό και γίνεται εργαλείο εκσυγχρονισμού.
Επεκτάσεις
.cbl, .cob, .cpy