'''Yacc''' (et [[akronym]] for ''Yet another compiler compiler'') er et [[computerprogram]], en [[parser-generator]]-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 [[Backus-Naur form|BNF]]-notation. Yacc genererer [[kildekode|programkode]] i [[programmeringssprog]]et [[C (programmeringssprog)|C]]. Yacc bruges typisk i sammenhæng med [[Lex]] eller et lignende program til [[leksikalsk analyse]].
Den første udgave af yaccYacc blev lavet af [[Steven C. Johnson]] i [[programmeringssprog]]et [[B (programmeringssprog)|B]] i [[1969]]. Formålet var at spare Johnson og [[Al Aho]] tid ved at automatisere det store arbejde det er at lave [[parsetabel]]lerparsetabeller manuelt. Yacc blev senere omskrevet i C og blev en standarddel af [[UNIX]].
Der er siden lavet flere varianter af yaccYacc, bl.a. [[GNU bison]], Berkeley Yacc, m.fl. De har alle mindre forbedringer i forhold til originalen, men konceptet er det samme. Yacc er [[standard]]iseret i [[IEEE]] [[POSIX]] P1003.2 standarden.
Rent teknisk gør yaccYacc 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 yaccYacc en [[LALR]] [[recursive-descent]] parser.