ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

ແລ່ນເຊີບເວີ | Ubuntu > | Fedora > |


OnWorks favicon

yaccplan9 - ອອນລາຍໃນຄລາວ

ແລ່ນ yaccplan9 ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ yaccplan9 ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


yacc - ຍັງ compiler-compiler ອື່ນ

ສະຫຼຸບສັງລວມ


yacc [ ທາງເລືອກ ... ] grammar

ລາຍລະອຽດ


Yacc ປ່ຽນໄວຍາກອນທີ່ບໍ່ມີບໍລິບົດ ແລະລະຫັດການແປເປັນຊຸດຂອງຕາຕະລາງສໍາລັບ an
LR(1) parser ແລະນັກແປ. ໄວຍາກອນອາດຈະບໍ່ຊັດເຈນ; ກົດ​ລະ​ບຽບ​ກ່ອນ​ຫນ້າ​ທີ່​ລະ​ບຸ​ໄວ້​ແມ່ນ​
ໃຊ້ເພື່ອທໍາລາຍຄວາມບໍ່ແນ່ນອນ.

ໄຟລ​໌​ຜົນ​ຜະ​ລິດ​ໄດ້​, y.tab.c, ຕ້ອງ​ໄດ້​ຮັບ​ການ​ສັງ​ລວມ​ໂດຍ C compiler ການ​ຜະ​ລິດ​ໂຄງ​ການ​ນີ້​
ໂຄງ​ການ​ຕ້ອງ​ໄດ້​ຮັບ​ການ​ໂຫຼດ​ທີ່​ມີ​ຫນ້າ​ທີ່​ການ​ວິ​ເຄາະ lexical​, yylex(void) (ມັກຈະສ້າງໂດຍ
lex(1)), ມີ ກ ຫຼັກ(int ໂຕ້ຖຽງ, char *argv[]) ໂຄງ​ການ​, ແລະ​ມີ​ການ​ຈັດ​ການ​ຜິດ​ປົກ​ກະ​ຕິ​,
yyerror(char*).

ທາງເລືອກແມ່ນ

-o output ຜົນຜະລິດໂດຍກົງກັບໄຟລ໌ທີ່ກໍານົດແທນທີ່ຈະເປັນ y.tab.c.

-Dn ສ້າງໄຟລ໌ y.debug, ປະກອບດ້ວຍຂໍ້ຄວາມວິນິດໄສ. ເພື່ອລວມພວກມັນເຂົ້າໃນ
parser, ລວບລວມມັນມີສັນຍາລັກ preprocessor yydebug ກໍານົດ. ປະລິມານຂອງ
ຜົນການວິນິໄສຈາກຕົວແຍກວິເຄາະແມ່ນຖືກຄວບຄຸມໂດຍຄ່າ n. ມູນຄ່າ 0 ລາຍງານ
ຄວາມຜິດພາດ; 1 ບົດລາຍງານການຫຼຸດຜ່ອນ; ຄ່າທີ່ສູງກວ່າ (ສູງສຸດ 4) ລວມມີຂໍ້ມູນເພີ່ມເຕີມ
ກ່ຽວກັບການຫັນປ່ຽນຂອງລັດ.

-v ສ້າງໄຟລ໌ y. ຜົນຜະລິດ, ປະກອບດ້ວຍຄໍາອະທິບາຍຂອງຕາຕະລາງການແຍກແລະຂອງ
ຂໍ້ຂັດແຍ່ງທີ່ເກີດຂື້ນຈາກຄວາມບໍ່ແນ່ນອນໃນໄວຍາກອນ.

-d ສ້າງໄຟລ໌ y.tab.h, ບັນ​ຈຸ #ກໍານົດ ຖະແຫຼງການທີ່ກ່ຽວຂ້ອງ yacc- ມອບ​ຫມາຍ​
'ລະຫັດ token' ກັບຜູ້ໃຊ້ປະກາດ 'ຊື່ token'. ລວມມັນຢູ່ໃນໄຟລ໌ແຫຼ່ງ
ອື່ນກ່ວາ y.tab.c ເພື່ອໃຫ້ການເຂົ້າເຖິງລະຫັດ token.

-s ຕົ້ນກໍາເນີດ ປ່ຽນຄຳນຳໜ້າຂອງຊື່ໄຟລ໌ y.tab.c, y.tab.h, y.debug, ແລະ y. ຜົນຜະລິດ to
ຕົ້ນກໍາເນີດ.

-S ຂຽນຕົວແຍກທີ່ໃຊ້ Stdio ແທນທີ່ ພິມ ປົກກະຕິໃນ libc.

-l ປິດການນຳໃຊ້ຄຳສັ່ງ #line ໃນຕົວແຍກວິເຄາະທີ່ສ້າງຂຶ້ນ.

-a ສ້າງ parser ທີ່ເອົາ argument ຂອງປະເພດ Yyarg ແລະຜ່ານ argument ນີ້
ຕໍ່ກັບແຕ່ລະຄໍາຮ້ອງຂອງຫນ້າທີ່ lexer, yylex. Yyarg ມີຕໍ່ຕົວຢ່າງ
ລັດ ແລະສະມາຊິກທີ່ເບິ່ງເຫັນໂດຍຜູ້ໃຊ້ດຽວ, arg, ປະເພດ void*.

ສະເພາະຂອງ yacc ຕົວຂອງມັນເອງເປັນສິ່ງຈໍາເປັນຄືກັນກັບສະບັບ UNIX ທີ່ອະທິບາຍໄວ້ໃນ
ເອກະສານອ້າງອີງທີ່ໄດ້ກ່າວມາຂ້າງລຸ່ມນີ້. ນອກຈາກ -D ທາງເລືອກ, ຄວາມແຕກຕ່າງທີ່ກ່ຽວຂ້ອງຕົ້ນຕໍແມ່ນ:

ການໂຕ້ຕອບກັບສະພາບແວດລ້ອມ C ແມ່ນໂດຍຄ່າເລີ່ມຕົ້ນໂດຍຜ່ານ ແທນ​ທີ່​ຈະ
1 the -S ທາງ​ເລືອກ​ທີ່​ຈະ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​ນີ້​.

parser ຍອມຮັບຂໍ້ຄວາມປ້ອນ UTF (ເບິ່ງ utf(7)), ເຊິ່ງມີຜົນກະທົບຄູ່.
ຫນ້າທໍາອິດ, ມູນຄ່າກັບຄືນຂອງ yylex() ບໍ່ເຫມາະໃນ a ສັ້ນ; ອັນທີສອງ, ການເລີ່ມຕົ້ນ
ຄ່າສຳລັບທີ່ບໍ່ແມ່ນເຄື່ອງໝາຍປາຍທາງໃນປັດຈຸບັນແມ່ນ 0xE000 ຫຼາຍກວ່າ 257.

parser ທີ່ສ້າງຂຶ້ນສາມາດ recursive: ການປະຕິບັດສາມາດໂທຫາ yyparse, ສໍາລັບການຍົກຕົວຢ່າງ
ປະຕິບັດປະເພດຂອງ #include ຖະແຫຼງການໃນນາຍພາສາ.

ສຸດທ້າຍ, ບາງການເຮັດວຽກພາຍໃນທີ່ບໍ່ມີເອກະສານຂອງ parser ໄດ້ຖືກປ່ຽນແປງ, ເຊິ່ງ
ອາດຈະສົ່ງຜົນກະທົບຕໍ່ບັນດາໂຄງການທີ່ຮູ້ຫຼາຍເກີນໄປກ່ຽວກັບໂຄງສ້າງຂອງມັນ.

ໃຊ້ yaccplan9 ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net


Ad


Ad