ນີ້ແມ່ນຄໍາສັ່ງທີ່ມີຄວາມສຸກທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
ມີຄວາມສຸກ - ເຄື່ອງກໍາເນີດ parser ສໍາລັບ Haskell
ສະຫຼຸບສັງລວມ
ມີຄວາມສຸກ [ທາງເລືອກ] ... ເອກະສານ [ທາງເລືອກ] ...
ລາຍລະອຽດ
ຫນ້າຄູ່ມືນີ້ເອກະສານສັ້ນໆກ່ຽວກັບ ມີຄວາມສຸກ ຄໍາສັ່ງ.
ຫນ້າຄູ່ມືນີ້ຖືກຂຽນຂື້ນສໍາລັບການແຈກຢາຍ Debian GNU/Linux ເພາະວ່າຕົ້ນສະບັບ
ໂຄງການບໍ່ມີຫນ້າຄູ່ມື. ແທນທີ່ຈະ, ມັນມີເອກະສານອື່ນໆ
ຮູບແບບ, ລວມທັງ DVI, ຂໍ້ມູນແລະ HTML; ເບິ່ງຂ້າງລຸ່ມນີ້.
ມີຄວາມສຸກ ແມ່ນລະບົບ parser generator ສໍາລັບ Haskell. 'HAPPY' ແມ່ນຄໍາຫຍໍ້ຂອງ dyslexic ສໍາລັບ 'A
Yacc-like Haskell Parser generator'.
ມີສອງປະເພດຂອງໄຟລ໌ໄວຍາກອນ, file.y ແລະ file.ly, ມີການສັງເກດການສຸດທ້າຍ
reverse comment bird track convention (ie ແຕ່ລະເສັ້ນລະຫັດຕ້ອງເລີ່ມຕົ້ນດ້ວຍ `>'). ໄດ້
ຕົວຢ່າງທີ່ແຈກຢາຍດ້ວຍ ມີຄວາມສຸກ ແມ່ນທັງຫມົດຂອງ .ly ແບບຟອມ.
ຂໍ້ຄວນລະວັງ: ເມື່ອໃຊ້ hbc (Chalmers Haskell) ໂຄງສ້າງການໂຕ້ຖຽງຄໍາສັ່ງແມ່ນເລັກນ້ອຍ
ແຕກຕ່າງກັນ. ນີ້ແມ່ນຍ້ອນວ່າລະບົບເວລາແລ່ນ hbc ໃຊ້ທຸງບາງຢ່າງເປັນຂອງຕົນເອງ (ສໍາລັບ
ການຕັ້ງຄ່າສິ່ງຕ່າງໆເຊັ່ນ: ຂະຫນາດຂອງ heap, ແລະອື່ນໆ). ບັນຫານີ້ສາມາດຫຼີກເວັ້ນໄດ້ໂດຍການເພີ່ມ a
dash ດຽວ (`-') ໄປຫາເສັ້ນຄໍາສັ່ງຂອງທ່ານ. ດັ່ງນັ້ນເມື່ອໃຊ້ hbc ສະບັບສ້າງຂອງ Happy,
ໂຄງປະກອບການໂຕ້ຖຽງແມ່ນ:
ມີຄວາມສຸກ - [ທາງເລືອກ] ... ເອກະສານ [ທາງເລືອກ] ...
OPTIONS
ບັນດາໂຄງການປະຕິບັດຕາມ syntax ເສັ້ນຄໍາສັ່ງ GNU ປົກກະຕິ, ມີທາງເລືອກຍາວເລີ່ມຕົ້ນດ້ວຍສອງ
ຂີດຕໍ່ (`--'). ສະຫຼຸບຂອງທາງເລືອກແມ່ນລວມຢູ່ຂ້າງລຸ່ມນີ້. ສໍາລັບລາຍລະອຽດຄົບຖ້ວນ, ເບິ່ງ
ເອກະສານອື່ນໆ.
-h, - ຊ່ວຍ
ສະແດງສະຫຼຸບຂອງທາງເລືອກ.
-v, - ການປ່ຽນແປງ
ພິມຂໍ້ມູນສະບັບກ່ຽວກັບຜົນຜະລິດມາດຕະຖານຈາກນັ້ນອອກສໍາເລັດຜົນ.
-a, --ອາເຣ
ແນະນຳໃຫ້ Happy ເພື່ອສ້າງຕົວແຍກວິເຄາະໂດຍໃຊ້ array-based shift ຫຼຸດ parser.
ເມື່ອໃຊ້ຮ່ວມກັບ -g, arrays ຈະຖືກເຂົ້າລະຫັດເປັນ strings, ຜົນໄດ້ຮັບ
ໃນຕົວວິເຄາະໄວຂຶ້ນ. ໂດຍບໍ່ມີການ -g, ມາດຕະຖານ Haskell arrays ຈະຖືກນໍາໃຊ້.
-g, --ghc
ແນະນໍາ Happy ເພື່ອສ້າງຕົວແຍກວິເຄາະທີ່ໃຊ້ສ່ວນຂະຫຍາຍສະເພາະ GHC ເພື່ອໃຫ້ໄດ້ມາ
ລະຫັດໄວຂຶ້ນ.
-c, --ບີບບັງຄັບ
ໃຊ້ GHC's UnsafeCoerce# ສ່ວນຂະຫຍາຍເພື່ອສ້າງຕົວວິເຄາະຂະໜາດນ້ອຍໄວກວ່າ. ຈຸດອ່ອນອັນໜຶ່ງ
ແມ່ນວ່າຄວາມປອດໄພບາງປະເພດແມ່ນສູນເສຍ, ຊຶ່ງຫມາຍຄວາມວ່າ parser ສ້າງຂຶ້ນດ້ວຍ -c ອາດຈະ
ລວບລວມດີແຕ່ຂັດໃນເວລາແລ່ນ. ໃຫ້ແນ່ໃຈວ່າຈະລວບລວມໄວຍາກອນຂອງທ່ານໂດຍບໍ່ມີການ -c
ທໍາອິດເພື່ອຮັບປະກັນວ່າມັນແມ່ນປະເພດທີ່ຖືກຕ້ອງ.
ທາງເລືອກນີ້ມີຜົນກະທົບຢ່າງຫຼວງຫຼາຍຕໍ່ການປະຕິບັດຜົນໄດ້ຮັບ
parser, ແຕ່ຈື່ໄວ້ວ່າ parser ທີ່ສ້າງຂຶ້ນດ້ວຍວິທີນີ້ພຽງແຕ່ສາມາດລວບລວມໄດ້ໂດຍ
GHC 3.02 ແລະສູງກວ່າ.
ຕົວເລືອກນີ້ອາດຈະຖືກໃຊ້ໃນການສົມທົບກັບ -g.
-d, --debug
ສ້າງຕົວວິເຄາະທີ່ຈະພິມຂໍ້ມູນການດີບັກໄປຫາ stderr ໃນເວລາແລ່ນ,
ລວມທັງການປ່ຽນແປງ, ການຫຼຸດຜ່ອນ, ການຫັນປ່ຽນຂອງລັດແລະການປ້ອນຂໍ້ມູນ token ທັງຫມົດທີ່ປະຕິບັດ
ໂດຍ parser ໄດ້.
ຕົວເລືອກນີ້ອາດຈະຖືກໃຊ້ໃນການສົມທົບກັບ -a.
-i [ເອກະສານ], -- ຂໍ້ມູນ[=ເອກະສານ]
Directs Happy ເພື່ອຜະລິດໄຟລ໌ຂໍ້ມູນທີ່ມີຂໍ້ມູນລາຍລະອຽດກ່ຽວກັບ
ໄວຍະກອນ, parser state, parser actions, ແລະຂໍ້ຂັດແຍ່ງ. ໄຟລ໌ຂໍ້ມູນມີຄວາມສໍາຄັນໃນລະຫວ່າງ
ການດີບັກຂອງໄວຍາກອນ.
ອາກິວເມັນຊື່ໄຟລ໌ເປັນທາງເລືອກ, ແລະຖ້າຖືກລະເວັ້ນ, ໄຟລ໌ຂໍ້ມູນຈະຖືກຂຽນໃສ່
FILE.info (ບ່ອນທີ່ ເອກະສານ ແມ່ນຊື່ໄຟລ໌ການປ້ອນຂໍ້ມູນທີ່ມີການຂະຫຍາຍໃດຫນຶ່ງທີ່ເອົາອອກ).
-o ເອກະສານ, --outfile=ເອກະສານ
ລະບຸປາຍທາງຂອງໂມດູນ parser ທີ່ສ້າງຂຶ້ນ. ຖ້າຖືກລະເວັ້ນ, ຕົວວິເຄາະ
ຈະຖືກວາງໄວ້ໃນ FILE.hs, ບ່ອນທີ່ ເອກະສານ ແມ່ນຊື່ຂອງໄຟລ໌ປ້ອນຂໍ້ມູນທີ່ມີໃດ
ລຶບສ່ວນຂະຫຍາຍອອກແລ້ວ. ຖ້າ ເອກະສານ is - ຕົວວິເຄາະທີ່ສ້າງຂຶ້ນແມ່ນຖືກສົ່ງໄປຫາມາດຕະຖານ
ຜົນຜະລິດ.
-m NAME, --magic-name=NAME
Happy prefixes ສັນຍາລັກທັງຫມົດທີ່ມັນໃຊ້ພາຍໃນກັບທັງສອງ ມີຄວາມສຸກ or ມີຄວາມສຸກທີ່ຢູ່ To
ໃຊ້ສະຕຣິງທີ່ແຕກຕ່າງກັນ, ຕົວຢ່າງເຊັ່ນຖ້າການໃຊ້ ມີຄວາມສຸກ ແມ່ນຂັດແຍ້ງກັບຫນຶ່ງໃນ
ຫນ້າທີ່ຂອງເຈົ້າເອງ, ລະບຸຄໍານໍາຫນ້າໂດຍໃຊ້ -m ທາງເລືອກ.
-t DIR, --ແມ່ແບບ=DIR
ແນະນໍາ Happy ໃຫ້ໃຊ້ໄດເລກະທໍລີນີ້ເມື່ອຊອກຫາໄຟລ໌ແມ່ແບບ: ໄຟລ໌ເຫຼົ່ານີ້
ມີລະຫັດສະຖິດທີ່ Happy ລວມຢູ່ໃນທຸກໆຕົວແຍກທີ່ສ້າງຂຶ້ນ. ເຈົ້າ
ບໍ່ຄວນຈະຕ້ອງການນໍາໃຊ້ທາງເລືອກນີ້ຖ້າຫາກວ່າ Happy ຖືກຕັ້ງຄ່າເຫມາະສົມສໍາລັບທ່ານ
ຄອມພິວເຕີ.
-l, --glr
ແນະນໍາ Happy ທີ່ຈະອອກ GLR parser ແທນທີ່ຈະເປັນ ລລລ(1) parser.
-k, --ຖອດລະຫັດ
ເຮັດໃຫ້ GLR parser ສ້າງລະຫັດສໍາລັບການຖອດລະຫັດປ່າ parse ເປັນບັນຊີລາຍຊື່ຂອງ
ຜົນໄດ້ຮັບ semantic (ຕ້ອງການ --ghc).
-f, --ການກັ່ນຕອງ
ເຮັດໃຫ້ GLR parser ກັ່ນຕອງ nodes ທີ່ບໍ່ຕ້ອງການສໍາລັບ semantic
ຜົນໄດ້ຮັບ (ການເພີ່ມປະສິດທິພາບການທົດລອງ, ຮຽກຮ້ອງໃຫ້ມີ --ghc).
ໃຊ້ຄວາມສຸກອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net