Yacc

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Yacc
Ontwikkelaar Stephen C. Johnson
Besturingssysteem Unix
Categorie Parsergenerator
Website (en) YACC Manual
Portaal  Portaalicoon   Informatica

Yacc is een computerprogramma dat op Unixsystemen dienst doet 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 gebruikt 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]

  • Johnson,Stephen C. YACC: Yet another compiler-compiler. Unix Programmer's Manual Vol 2b, 1979.

Zie ook[bewerken]

Externe link[bewerken]