Yacc: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Υπόλοιπη μετάφραση
Γραμμή 2:
Το πρόγραμμα '''yacc''' παράγει [[συντακτικός αναλυτής|συντακτικούς αναλυτές]] και δημιουργήθηκε από το Stephen C. Johnson στην [[AT&T]] για το [[λειτουργικό σύστημα]] [[Unix]]. Το όνομά του προέρχεται από τα αρχικά των λέξεων "Yet Another Compiler Compiler" ("άλλος ένας μεταγλωττιστής μεταγλωττιστών"). Παράγει ένα συντακτικό αναλυτή (το τμήμα του [[μεταγλωττιστής|μεταγλωττιστή]] που διαβάζει τον [[πηγαίος κώδικας|πηγαίο κώδικα]]) με βάση μια [[τυπική γραμματική|αναλυτική γραμματική]], γραμμένη σε μορφή κοντά στη [[Μορφή Μπάκους-Ναούρ|BNF]]. Από ιστορικής άποψης, το yacc παρήγαγε τον κώδικα για το συντακτικό αναλυτή της [[C (γλώσσα προγραμματισμού)|γλώσσας προγραμματισμού C]].<ref>[http://www.techworld.com.au/article/252319/-z_programming_languages_yacc?pp=1]</ref>
 
Το yacc ήταν η εξορισμού γεννήτρια συντακτικών αναλυτών στα περισσότερα συστήματα Unix, αλλά σήμερα έχει πια αντικατασταθεί από πιο σύγχρονα (αλλά συμβατά) προγράμματα, όπως το Berkeley Yacc, το [[GNU bison]], το MKS yacc και το Abraxas pcyacc. Μια ενημερωμένη έκδοση της αρχικής έκδοσης της AT&T συμπεριλαμβάνεται στο εγχείρημα [[OpenSolaris]] της [[Sun]]. Κάθε πρόγραμμα προσφέρει ελαφρές βελτιώσεις και επιπλέον στοιχεία σε σχέση με το αυθεντικό yacc, διατηρώντας τις ίδιες αρχές. Το yacc έχει επίσης γραφτεί πάλι για άλλες γλώσσες, όπως η Ratfor, η [[ML (γλώσσα προγραμματισμού)|ML]], η [[Ada]], η [[Pascal (γλώσσα προγραμματισμού)|Pascal]], η [[Java]], η [[Python]] και η [[Common Lisp]].
<!--
Yacc used to be available as the default parser generator on most Unix systems. It has since been supplanted as the default by more recent, largely compatible, programs such as [[Berkeley Yacc]], [[GNU bison]], [[MKS Inc.|MKS]] yacc and Abraxas pcyacc. An updated version of the original AT&T version is included as part of [[Sun Microsystems|Sun's]] [[OpenSolaris]] project. Each offers slight improvements and additional features over the original yacc, but the concept has remained the same. Yacc has also been rewritten for other languages, including [[Ratfor]], [[ML programming language|ML]], [[Ada programming language|Ada]], [[Pascal (programming language)|Pascal]], [[Java (programming language)|Java]], [[Python (programming language)|Python]] and [[Common Lisp]].
 
Ο συντακτικός αναλυτής που παράγεται από το yacc χρειάζεται ένα [[λεκτικός αναλυτής|λεκτικό αναλυτή]]. Υπάρχουν γεννήτριες συντακτικών αναλυτών, όπως το [[Lex]] ή το [[Flex]] και το πρότυπο IEEE [[POSIX]] P1003.2 ορίζει τι λειτουργίες και απαιτήσεις έχουν το Lex και το Yacc.
The parser generated by yacc requires a [[lexical analyzer]]. Lexical analyzer generators, such as [[Lex programming tool|Lex]] or [[Flex lexical analyser|Flex]] are widely available. The [[IEEE]] [[POSIX]] P1003.2 standard defines the functionality and requirements for both Lex and Yacc.
 
Κάποιες εκδόσεις του yacc της AT&T αποτελούν [[λογισμικό ανοιχτού κώδικα]]. Για παράδειγμα, υπάρχει διαθέσιμος πηγαίος κώδικας (για διάφορες υλοποιήσεις) στις διανομές του [[Plan 9 from Bell Labs|Plan 9]] και του [[OpenSolaris]].
Some versions of AT&T Yacc have become [[open source]]. For example, [[source code]] (for different implementations) is available with the standard distributions of [[Plan 9 from Bell Labs|Plan 9]] and [[OpenSolaris]].
-->
 
== Δείτε επίσης ==
* [[Κατάλογος βοηθημάτων του Unix]]
* [[GNU bison|Bison]]: TheΗ [[GNU] versionέκδοση ofτου Yaccyacc.
<!--
* [[Lex]] (και [[Flex]]), οι πιο συχνά χρησιμοποιούμενοι λεκτικοί αναλυτές για yacc (και Bison).
* [[LALR parser]]: The underlying parsing algorithm in Yacc.
* [[Μορφή Μπάκους Ναούρ|BNF]], μια μετασύνταξη για [[γραμματικής χωρίς συμφραζόμενα|γραμματικές χωρίς συμφραζόμενα]]: δηλ. για τυπικούς τρόπους ορισμού τυπικών γλωσσών
* [[GNU bison|Bison]]: The GNU version of Yacc.
* [[Lex programming tool|Lex]] (and [[Flex lexical analyser]]), the token parser commonly used in conjunction with yacc (and Bison).
* [[Backus-Naur form|BNF]], is a [[metasyntax]] used to express [[context-free grammar]]: that is, a formal way to describe formal languages.
-->
 
== Αναφορές ==
Ανακτήθηκε από "https://el.wikipedia.org/wiki/Yacc"