Σύνταξη (γλώσσα προγραμματισμού): Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 3:
Στην [[επιστήμη των υπολογιστών]], η '''σύνταξη''' μιας [[γλώσσα προγραμματισμού|γλώσσας προγραμματισμού]] είναι το σύνολο από κανόνες που ορίζουν τους συνδυασμούς συμβόλων που θεωρούνται σωστά δομημένα προγράμματα στη γλώσσα αυτή. Η σύνταξη μιας γλώσσας ορίζει τη φόρμα της όπως φαίνεται.<ref name="eopl">{{cite book|last=Friedman|first=Daniel P. |coauthors= Mitchell Wand, Christopher T. Haynes|title=Essentials of Programming Languages|publisher=The MIT Press|date=1992|edition=1st|isbn=0-262-06145-7}}</ref> Οι γλώσσες προγραμματισμού που βασίζονται σε κείμενο, βασίζονται σε ακολουθίες χαρακτήρων, ενώ οι [[οπτικές γλώσσες προγραμματισμού]] βασίζονται στη χωρική διάταξη και στις συνδέσεις μεταξύ συμβόλων (που μπορούν να είναι κείμενο ή γραφικά).
 
Η [[λεκτική γραμματική]] μιας γλώσσας βασισμένης στο κείμενο ορίζει πώς οι χαρακτήρες ομαδοποιούνται μαζί σε λεκτικές μονάδες (tokens). Άλλοι κανόνες της σύνταξης ορίζουν τις επιτρεπτές ακολουθίες αυτών των λεκτικών μονάδων και η διαδικασία με την οποία ανατίθεται σε αυτές τις ακολουθίες κάποια σημασία, αποτελεί μέρος της [[τυπική σημασιολογία των γλωσσών προγραμματισμού|σημασιολογίας]].
 
Η συντακτική ανάλυση του πηγαίου κώδικα συνήθως αποτελείται από το μετασχηματισμό της γραμμικής ακολουθίας των λεκτικών μονάδων σε ένα ιεραρχικό συντακτικό δένδρο (με τα δένδρα αφηρημένης σύνταξης, τα "abstract syntax trees", να αποτελούν μια βολική μορφή συντακτικών δένδρων). Η διαδικασία αυτή ονομάζεται ''[[συντακτική ανάλυση]]'' (''parsing''), όπως η [[σύνταξη|συντακτική ανάλυση]] της [[γλωσσολογία|γλωσσολογίας]]. Έχουν γραφεί εργαλεία που δημιουργούν αυτόματα συντακτικούς αναλυτές από μια προδιαγραφή της γραμματικής της γλώσσας, γραμμένης σε [[μορφή Μπάκους-Ναούρ]] (Backus-Naur form), π.χ. ο [[Yacc]].