Yacc: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
m typo
m typo
Řádek 1: Řádek 1:
'''yacc''' je [[parser]] generátor vyvinutý Stephenem C. Johnsonem v [[AT&T]] pro [[Unix]]ové [[operační systém]]y. Tato zkratka znamená {{Cizojazyčně|en|"Yet Another Compiler Compiler"}} v překladu "Ještě další parser generátor". Yacc generuje [[parser]] (část [[překladač]]e, která má za úkol vygenerovat [[Lexikální analýza|lexikální]] a [[Syntaktická analýza|syntaktický analyzátor]] jazyka) z gramatiky, která obsahuje popis lexikálních symbolů pomocí regulárních výrazů (podobně jako [[Backus-Naurova forma|BNF]]). Yacc generuje [[Strojový kód|kód]] pro [[parser]] v [[C (programovací jazyk)|programovacím jazyce C]].
'''yacc''' je [[parser]] generátor vyvinutý Stephenem C. Johnsonem z [[AT&T]] pro [[Unix]]ové [[operační systém]]y. Tato zkratka znamená {{Cizojazyčně|en|"Yet Another Compiler Compiler"}} v překladu "Ještě další parser generátor". Yacc generuje [[parser]] (část [[překladač]]e, která má za úkol vygenerovat [[Lexikální analýza|lexikální]] a [[Syntaktická analýza|syntaktický analyzátor]] jazyka) z gramatiky, která obsahuje popis lexikálních symbolů pomocí regulárních výrazů (podobně jako [[Backus-Naurova forma|BNF]]). Yacc generuje [[Strojový kód|kód]] pro [[parser]] v [[C (programovací jazyk)|programovacím jazyce C]].


Yacc bylo dostupné jako implicitní parser generátor na většině unixových systémů. Později však bylo nahrazeno novějšími a kompatibilnějšími programy jako je [[Berkeley Yacc]], [[GNU bison]], [[MKS Inc.|MKS]] yacc a Abraxas pcyacc. Aktualizovaná verze původní verze od AT&T je nyní obsažena v projektu [[OpenSolaris]] společnosti [[Sun]]. Každá verze nabízí oproti původnímu yacc drobná vylepšení a doplňkové vlastnosti, ale základní koncept zůstal stejný. Yacc bylo také přepsáno pro další programovací jazyky jako je [[Ratfor]], [[Extended Fortran Language|EFL]], [[ML (programovací jazyk)|ML]], [[Ada (programovací jazyk)|Ada]], [[Java (programovací jazyk)|Java]], a [[Limbo (programovací jazyk)|Limbo]].
Yacc bylo dostupné jako implicitní parser generátor na většině unixových systémů. Později však bylo nahrazeno novějšími a kompatibilnějšími programy jako je [[Berkeley Yacc]], [[GNU bison]], [[MKS Inc.|MKS]] yacc a Abraxas pcyacc. Aktualizovaná verze původní verze od AT&T je nyní obsažena v projektu [[OpenSolaris]] společnosti [[Sun]]. Každá verze nabízí oproti původnímu yacc drobná vylepšení a doplňkové vlastnosti, ale základní koncept zůstal stejný. Yacc bylo také přepsáno pro další programovací jazyky jako je [[Ratfor]], [[Extended Fortran Language|EFL]], [[ML (programovací jazyk)|ML]], [[Ada (programovací jazyk)|Ada]], [[Java (programovací jazyk)|Java]], a [[Limbo (programovací jazyk)|Limbo]].

Verze z 16. 5. 2008, 22:11

yacc je parser generátor vyvinutý Stephenem C. Johnsonem z AT&T pro Unixové operační systémy. Tato zkratka znamená "Yet Another Compiler Compiler" v překladu "Ještě další parser generátor". Yacc generuje parser (část překladače, která má za úkol vygenerovat lexikální a syntaktický analyzátor jazyka) z gramatiky, která obsahuje popis lexikálních symbolů pomocí regulárních výrazů (podobně jako BNF). Yacc generuje kód pro parser v programovacím jazyce C.

Yacc bylo dostupné jako implicitní parser generátor na většině unixových systémů. Později však bylo nahrazeno novějšími a kompatibilnějšími programy jako je Berkeley Yacc, GNU bison, MKS yacc a Abraxas pcyacc. Aktualizovaná verze původní verze od AT&T je nyní obsažena v projektu OpenSolaris společnosti Sun. Každá verze nabízí oproti původnímu yacc drobná vylepšení a doplňkové vlastnosti, ale základní koncept zůstal stejný. Yacc bylo také přepsáno pro další programovací jazyky jako je Ratfor, EFL, ML, Ada, Java, a Limbo.

Parser vygenerovaný yacc vyžaduje ještě Lexikální analyzátor, jehož generátory jsou například Lex nebo Flex. Standard IEEE POSIX P1003.2 definuje funkci a požadavky jak na Lex tak i Yacc.

Některá verze AT&T yacc se postupem času staly open source aplikacemi. Otevřený zdrojový kód je dostupný například k různým implementacím distribucí Plan 9 a OpenSolaris.

Související články

  • Lexikální analýza - Lexikální analyzátor rozdělí vstupní posloupnost znaků na lexémy, ty jsou poskytnuty ke zpracování syntaktickému analyzátoru
  • Syntaktická analýza - proces analýzy posloupnosti formálních prvků s cílem určit jejich gramatickou strukturu vůči předem dané formální gramatice
  • Flex - programovací nástroj k řešení úlohy lexikální analýzy, který generuje text v jazyce C.
  • BNF - metasyntaxe používaná k vyjádření bezkontextové gramatiky, která se používá pro popis formálních jazyků
  • GCC - sada kompilátorů vytvořených v rámci projektu GNU


Externí odkazy

  • Tutorial pro lex/yacc/compiler napsaný Arnabem Chakrobarty. (v Angličtině)

V tomto článku byl použit překlad textu z článku yacc na anglické Wikipedii (číslo revize nebylo určeno)Šablona {{Překlad}} požaduje zadat hodnotu do parametru „revize“!.

Název tohoto článku není z technických důvodů zcela správný. Správný název by měl být yaac.