Yacc
Fra Wikipedia, den frie encyklopædi
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-decent parser.
[redigér] Se også
- ANTLR - tidligere PCCTS
- lex, flex
- gcc