Yacc

yacc  on tietokoneohjelma, joka toimii tavallisena jäsentimen generaattorina Unix - järjestelmissä . Nimi on lyhenne sanoista "Yet Another Compiler Compiler " . Yacc luo jäsentimen, joka perustuu BNF -merkinnöissä kuvattuun analyyttiseen kielioppiin (Backus-Naur Form) tai yhteydettömään kielioppiin. Yacc:n tulos on C-ohjelmointikielen jäsennyskoodi .

Yaccin on kehittänyt Stephen C. Johnson AT&T :ssä Unix - käyttöjärjestelmää varten . Myöhemmin ohjelmasta kirjoitettiin yhteensopivia versioita, kuten Berkeley Yacc, GNU bison , MKS yacc ja Abraxas yacc (päivitetty versio avoimen lähdekoodin AT&T-versiosta sisällytettiin myös Sunin OpenSolaris -projektiin ). Jokainen versio tarjosi pieniä parannuksia ja lisäominaisuuksia alkuperäiseen verrattuna, mutta konsepti pysyi samana. Yacc on myös kirjoitettu uudelleen muilla kielillä, mukaan lukien Java , C# , Pascal , Ada , Ratfor , EFL , ML , Limbo , Erlang , Go jne.

Koska yaccin luoma jäsentäjä vaatii lexerin käyttöä , sitä käytetään usein yhdessä lexer-generaattorin kanssa, useimmiten joko lex tai flex . IEEE POSIX P1003.2 -standardi määrittelee sekä toiminnallisuuden että vaatimukset lexille ja yaccille.

Katso myös

Linkit