Ito ang command na yaccplan9 na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
yacc - isa pang compiler-compiler
SINOPSIS
yacc [ opsyon ... ] gramatika
DESCRIPTION
Yacc nagko-convert ng grammar at translation code na walang konteksto sa isang set ng mga talahanayan para sa isang
LR(1) parser at tagasalin. Maaaring malabo ang gramatika; ang mga tinukoy na tuntunin sa pangunguna ay
ginamit upang masira ang mga kalabuan.
Ang output file, y.tab.c, ay dapat na pinagsama-sama ng C compiler upang makagawa ng isang programang This
programa ay dapat na puno ng isang lexical analyzer function, yylex(walang bisa) (kadalasang nabuo ng
lex(1)), na may a pangunahing(int argc, tangke *argv[]) programa, at may nakagawiang paghawak ng error,
yyerror(char*).
Ang mga pagpipilian ay
-o output Direktang output sa tinukoy na file sa halip na y.tab.c.
-Dn Lumikha ng file y.debug, na naglalaman ng mga diagnostic na mensahe. Upang isama ang mga ito sa
ang parser, i-compile ito gamit ang simbolo ng preprocessor yydebug tinukoy. Ang halaga ng
ang output ng diagnostic mula sa parser ay kinokontrol ng halaga n. Ang halagang 0 ay nag-uulat
mga pagkakamali; 1 nag-uulat ng mga pagbawas; mas mataas na halaga (hanggang 4) kasama ang higit pang impormasyon
tungkol sa mga paglipat ng estado.
-v Lumikha ng file y.output, na naglalaman ng paglalarawan ng mga talahanayan ng pag-parse at ng
mga salungatan na nagmumula sa mga kalabuan sa gramatika.
-d Lumikha ng file y.tab.h, na naglalaman # tukuyin mga pahayag na nag-uugnay yacc-itinalaga
`mga token code' na may `token name' na idineklara ng user. Isama ito sa mga source file
bukod sa y.tab.c para magbigay ng access sa mga token code.
-s sumalunga Baguhin ang prefix ng mga pangalan ng file y.tab.c, y.tab.h, y.debug, at y.output sa
sumalunga.
-S Sumulat ng parser na gumagamit ng Stdio sa halip na ang i-print mga gawain sa libc.
-l Huwag paganahin ang #line na mga direktiba sa nabuong parser.
-a Bumuo ng parser na kumukuha ng argument na may uri ng Yyarg at ipinapasa ang argumentong ito
sa bawat invocation ng lexer function, yylex. Naglalaman ang Yyarg ng per-instance
estado at isang miyembrong nakikita ng user, arg, ng uri na void*.
Ang detalye ng yacc ang sarili nito ay mahalagang kapareho ng bersyon ng UNIX na inilarawan sa
ang mga sanggunian na binanggit sa ibaba. Bukod sa -D opsyon, ang mga pangunahing nauugnay na pagkakaiba ay:
Ang interface sa kapaligiran ng C ay sa pamamagitan ng default sa halip na
; ang -S Binabaliktad ito ng opsyon.
Ang parser ay tumatanggap ng UTF input text (tingnan utf(7)), na may ilang mga epekto.
Una, ang return value ng yylex() hindi na kasya sa a maikli; pangalawa, ang simula
ang halaga para sa mga hindi terminal ay 0xE000 na ngayon sa halip na 257.
Ang nabuong parser ay maaaring recursive: ang mga aksyon ay maaaring tumawag yparse, halimbawa sa
ipatupad ang isang uri ng # isama pahayag sa isang interpreter.
Sa wakas, nabago ang ilang hindi dokumentadong panloob na gawain ng parser, na
maaaring makaapekto sa mga programang masyadong alam ang tungkol sa istruktura nito.
Gamitin ang yaccplan9 online gamit ang mga serbisyo ng onworks.net