Yacc
Yacc | ||||
---|---|---|---|---|
Ontwikkelaar(s) | Stephen C. Johnson | |||
Uitgebracht | 1970 | |||
Besturingssysteem | Unix | |||
Geschreven in | C | |||
Categorie | Parsergenerator | |||
Licentie(s) | onbekend | |||
Versiebeheer | Officiële broncode | |||
Website | (en) YACC Manual | |||
|
Yacc is een computerprogramma dat op Unixsystemen dienstdoet als standaard parsergenerator. De naam is een acroniem voor Yet Another Compiler Compiler. Het programma genereert een parser, dit is het stuk code van een compiler dat probeert de grammaticale structuur van de invoer te achterhalen. Het programma maakt daarbij gebruik van een grammatica die in BNF-notatie is beschreven. Yacc genereert code voor de programmeertaal C.
Yacc werd ontwikkeld door Stephen C. Johnson van AT&T voor het besturingssysteem Unix. Later werden verschillende compatibele programma's geschreven, zoals Berkeley Yacc, GNU bison, MKS yacc en Abraxas yacc. Een geüpdatete versie van de oorspronkelijke AT&T-versie is als open source beschikbaar als onderdeel van het OpenSolaris-project. Elke versie biedt wat lichte verbeteringen en extra opties ten opzichte van de originele Yacc, maar het concept bleef hetzelfde. Yacc is eveneens herschreven voor andere talen, zoals ML, Ada en Java.
Omdat de parser die door Yacc wordt gegenereerd ook een lexicale analyse moet maken, wordt het programma vaak gebruikt in combinatie met een lexical analyzer generator. Daarvoor gebruikt men vaak Lex of het vrije Flex. De IEEE POSIX P1003.2-standaard definieert de functionaliteit en vereisten voor zowel Lex als Yacc.
Referenties
[bewerken | brontekst bewerken]- Johnson,Stephen C. YACC: Yet another compiler-compiler. Unix Programmer's Manual Vol 2b, 1979.
Zie ook
[bewerken | brontekst bewerken]Externe link
[bewerken | brontekst bewerken]- (en) YACC Manual, door Stephen C. Johnson