Yacc: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
+ související články
m typo
Řádek 3: Řádek 3:
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]].


Parser vygenerovaný yacc vyžaduje ještě Lexikální analyzátor, jehož generátory jsou například [[Lex (programovací nástroj)|Lex]] nebo [[Flex]]. Standard [[IEEE]] [[POSIX]] P1003.2 definuje funkci a pořadavky jak na Lex tak i Yacc.
Parser vygenerovaný yacc vyžaduje ještě Lexikální analyzátor, jehož generátory jsou například [[Lex (programovací nástroj)|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]].
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]].

Verze z 16. 5. 2008, 22:09

yacc je parser generátor vyvinutý Stephenem C. Johnsonem v 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.