Yacc: Forskelle mellem versioner

Content deleted Content added
m bot: indsæt skabelon autoritetsdata
Gennemsyn mhp. links. Skrevet Lex (se også) ind i teksten. Det skrives Yacc på dansk.
Linje 21:
|hjemmeside =
}}
'''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.
 
== Se også ==
* [[ANTLR]] – tidligere [[PCCTS]]
* [[lex]], [[flex]]
* [[gcc]]
 
== Eksterne henvisninger ==