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

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μΧωρίς σύνοψη επεξεργασίας
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 1:
Στη [[θεωρητική πληροφορική]], η '''τυπική σημασιολογία'' ('''formal semantics''') είναι το πεδίο που ασχολείται με την ασυτηρήαυστηρή μεθηματικήμαθηματική μελέτη της σημασίας των γλωσσών προγραμματισμού και των υπολογιστικών μοντέλων.
 
Η τυπική σημασιολογία μιας γλώσσας μπορεί να δοθεί από ένα μαθηματικό μοντέλο που περιγράφει τους πιθανούς υπολογισμούς που περιγράφονται από τη γλώσσα.
Γραμμή 15:
Κάποιες παραλλαγές της τυπικής σημασιολογίας περιλαμβάνουν τα εξής:
* Η ''σημασιολογία δράσεων (action semantics)'', είναι μια προσέγγιση που προσπαθεί να οργανώσει τη δηλωτική σημασιολογία, χωρίζοντας τη διαδικασία τυποποίησης σε δύο επίπεδα (μάκρο- και μίκρο- σημασιολογία) και προκαθορίζει τρεις σημασιολογικές οντότητες (ενέργειες, δεδομένα και yielders) για την απλοποίηση της προδιαγραφής.
* Η ''αλγεβραϊκή σημασιολογία (algebraic semantics)'' περιγράφει τη σημασιολογία με όρους από άλγεβρες.
* Οι ''γραμματικές ιδιοτήτων (attribute grammars)'' ή ''κατηγορηματικές γραμματικές'' ορίζουν συστήματα που υπολογίζουν συστηματικά "μεταδεδομένα" (που αποκαλούνται ''ιδιότητες'' ή ''attributes'') για τις διάφορες περιπτώσεις της [[σύνταξη|σύνταξης]] μιας γλώσσας. Οι γραμματικές ιδιοτήτων μπορούν να θεωρηθούν δηλωτική σημασιολογία στην οποία η τελική γλώσσα είναι απλά η αρχική γλώσσα με την προσθήκη σημειώσεων για τις ιδιότητες. Εκτός από την τυπική σημασιολογία, οι γραμματικές ιδιοτήτων έχουν επίσης χρησιμοποιηθεί για την παραγωγή κώδικα σε [[μεταγλωττιστής|μεταγλωττιστές]] και για να προστεθούν συνθήκες με συμφραζόμενα (context-sensitive) σε κανονικές γραμματικές ή γραμματικές χωρίς συμφραζόμενα.
* Η ''κατηγορηματική σημασιολογία (categorical semantics'' ή ''functorial semantics)'' χρησιμοποιεί τη [[θεωρία κατηγοριών]] σαν τον κεντρικό της μαθηματικό φορμαλισμό.
Γραμμή 43:
== Αναφορές ==
* Carl Gunter. ''Semantics of Programming Languages''. MIT Press, 1992. (ISBN 0-262-07143-6)
* Robert Harper. ''Practical Foundations for Programming Languages''. Working draft, 2006. ([http://www.cs.cmu.edu/~rwh/plbook/book.pdf online], asσαν PDF)
* Shriram Krishnamurthi. ''Programming Languages: Application and Interpretation''. ([http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/ online], asσαν PDF)
* John C. Reynolds. ''Theories of Programming Languages''. Cambridge University Press, 1998. (ISBN 0-521-59414-6)
* Glynn Winskel. ''The Formal Semantics of Programming Languages: An Introduction''. MIT Press, 1993 (paperback ISBN 0-262-73103-7)