Yacc

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg
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 computer-program, 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.

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 recursive-descent parser.

Se også[redigér | redigér wikikode]

Eksterne henvisninger[redigér | redigér wikikode]