Yacc
Original skaber(e) | Stephen C. Johnson |
---|---|
Udvikler(e) | AT&T |
Udgivet | 1969 |
Operativsystem | UNIX |
Yacc (et akronym for Yet another compiler compiler) er et computerprogram, en parser-generator der især anvendes under UNIX. Yacc genererer en parser (den del af en computerprogram der forsøger at få mening ud af programmets input) ud fra en grammatik skrevet i BNF-notation. Yacc genererer programkode i programmeringssproget C. Yacc bruges typisk i sammenhæng med Lex eller et lignende program til leksikalsk analyse.
Den første udgave af Yacc blev lavet af Steven C. Johnson i programmeringssproget B i 1969. Formålet var at spare Johnson og Al Aho tid ved at automatisere det store arbejde det er at lave parsetabeller manuelt. Yacc blev senere omskrevet i C og blev en standarddel af UNIX.
Der er siden lavet flere varianter af Yacc, bl.a. GNU bison, Berkeley Yacc, m.fl. De har alle mindre forbedringer i forhold til originalen, men konceptet er det samme. Yacc er standardiseret i IEEE POSIX P1003.2 standarden.
Rent teknisk gør Yacc det muligt for en programmør at beskrive grammatik for et input-sprog (f.eks. et programmeringssprog) i en udvidet BNF-notation, hvor der sammen med grammatiken angives program-kode (i C) der udføres, når en term er genkendt. På grundlag heraf genererer Yacc en LALR-parser.
Eksterne henvisninger
|