Yacc

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
OntwikkelaarStephen C. Johnson
BesturingssysteemUnix
CategorieParsergenerator
Versiebeheerbxr.su
Website(en) YACC Manual
Portaal    Informatica

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

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

Zie ook

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.