Yacc

yacc  er et computerprogram, der fungerer som standard parser -generator på Unix-systemer . Navnet er et akronym for "Yet Another Compiler Compiler " . Yacc genererer en parser baseret på en analytisk grammatik beskrevet i BNF -notation (Backus-Naur Form) eller en kontekstfri grammatik. Outputtet af yacc er parserkoden i programmeringssproget C.

Yacc blev udviklet af Stephen C. Johnson hos AT&T til Unix -operativsystemet . Senere blev kompatible versioner af programmet skrevet, såsom Berkeley Yacc, GNU bison , MKS yacc og Abraxas yacc (en opdateret version af open source AT&T-versionen var også inkluderet i Suns OpenSolaris- projekt ). Hver variant tilbød mindre forbedringer og yderligere funktioner i forhold til originalen, men konceptet forblev det samme. Yacc er også blevet omskrevet på andre sprog, herunder Java , C# , Pascal , Ada , Ratfor , EFL, ML , Limbo , Erlang , Go osv.

Da parseren genereret af yacc kræver brug af en lexer , bruges den ofte sammen med en lexer generator, i de fleste tilfælde enten lex eller flex . IEEE POSIX P1003.2 -standarden definerer både funktionalitet og krav til lex og yacc.

Se også

Links