Τυπική σημασιολογία των γλωσσών προγραμματισμού: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Νέα σελίδα: Στη θεωρητική πληροφορική, η '''τυπική σημασιολογία'' ('''formal semantics''') είναι το πεδίο που ασχολείτα...
 
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 14:
 
Κάποιες παραλλαγές της τυπικής σημασιολογίας περιλαμβάνουν τα εξής:
* Η ''σημασιολογία δράσεων (action semantics)'', είναι μια προσέγγιση που προσπαθεί να οργανώσει τη δηλωτική σημασιολογία, χωρίζοντας τη διαδικασία τυποποίησης σε δύο επίπεδα (μάκρο- και μίκρο- σημασιολογία) και προκαθορίζει τρεις σημασιολογικές οντότητες (ενέργειες, δεδομένα και yielders) για την απλοποίηση της προδιαγραφής.
* Η 'αλγεβραϊκή σημασιολογία (algebraic semantics)'' περιγράφει τη σημασιολογία με όρους από άλγεβρες.
* Οι ''γραμματικές ιδιοτήτων (attribute grammars)'' ή ''κατηγορηματικές γραμματικές'' ορίζουν συστήματα που υπολογίζουν συστηματικά "μεταδεδομένα" (που αποκαλούνται ''ιδιότητες'' ή ''attributes'') για τις διάφορες περιπτώσεις της [[σύνταξη|σύνταξης]] μιας γλώσσας. Οι γραμματικές ιδιοτήτων μπορούν να θεωρηθούν δηλωτική σημασιολογία στην οποία η τελική γλώσσα είναι απλά η αρχική γλώσσα με την προσθήκη σημειώσεων για τις ιδιότητες. Εκτός από την τυπική σημασιολογία, οι γραμματικές ιδιοτήτων έχουν επίσης χρησιμοποιηθεί για την παραγωγή κώδικα σε [[μεταγλωττιστής|μεταγλωττιστές]] και για να προστεθούν συνθήκες με συμφραζόμενα (context-sensitive) σε κανονικές γραμματικές ή γραμματικές χωρίς συμφραζόμενα.
* Η ''κατηγορηματική σημασιολογία (categorical semantics'' ή ''functorial semantics)'' χρησιμοποιεί τη [[θεωρία κατηγοριών]] σαν τον κεντρικό της μαθηματικό φορμαλισμό.
* Η ''σημασιολογία του ταυτοχρονισμού (concurrency semantics)'' είναι ένας όρος που εφαρμόζεται σε κάθε τυπική σημασιολογία που περιγράφει ταυτόχρονους υπολογισμούς. Ιστορικά σημαντικοί ταυτόχρονοι φορμαλισμοί είναι το [[μοντέλο Actor]] και οι [[process calculi]].
* Η ''σημασιολογία παιγνίων (game semantics)'' χρησιμοποιεί μια μεταφορά εμπνευσμένη από τη [[θεωρία παιγνίων]].
* Η ''σημασιολογία μετασχηματισμού κατηγορημάτων (predicate transformer semantics)'', που αναπτύχθηκε από τον [[Έντσγκερ Ντάικστρα]], περιγράφει τη σημασία ενός τμήματος ενός προγράμματος σαν τη συνάρτηση που μετασχηματίζει μια μετασυνθήκη (postcondition) στην προσυνθήκη (precondition) που χρειάζεται για τη λειτουργία του.
 
Υπάρχουν πολλοί λόγοι για τους οποίους κάποιος θα ήθελε να περιγράψει τις σχέσεις μεταξύ των διάφορων τυπικών σημασιολογιών. Για παράδειγμα:
Γραμμή 34:
 
Συνδέεται στενά με άλλες περιοχές της επιστήμης των υπολογιστών όπως η σχεδίαση γλωσσών προγραμματισμού, η [[θεωρία τύπων]], οι [[μεταγλωττιστής|μεταγλωττιστές]], οι [[Διερμηνέας_(υπολογιστές)|διερμηνείς]], η [[ορθότητα προγράμματος]] και ο [[έλεγχος μοντέλων]].
 
== Δείτε επίσης ==
* [[Διερμηνέας (υπολογιστές)]]
* [[Έλεγχος μοντέλων]]
* [[Μεταγλωττιστής]]
* [[Τυπική σημασιολογία]]
 
== Αναφορές ==