ນີ້ແມ່ນຄໍາສັ່ງ ragel ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຫຼາຍອັນຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
ragel - ລວບລວມພາສາປົກກະຕິເຂົ້າໄປໃນເຄື່ອງຂອງລັດທີ່ປະຕິບັດໄດ້
ສະຫຼຸບສັງລວມ
ໃຈຮ້າຍ [ທາງເລືອກໃນການ] ເອກະສານ
ລາຍລະອຽດ
Ragel ລວບລວມເຄື່ອງລັດທີ່ມີຂອບເຂດທີ່ສາມາດປະຕິບັດໄດ້ຈາກພາສາປົກກະຕິ. Ragel ສາມາດເຮັດໄດ້
ສ້າງລະຫັດ C, C++, Objective-C, D, Go, ຫຼື Java. ເຄື່ອງຈັກຂອງລັດ Ragel ສາມາດບໍ່ພຽງແຕ່
ຮັບຮູ້ລໍາດັບ byte ເປັນເຄື່ອງສະແດງອອກປົກກະຕິເຮັດ, ແຕ່ຍັງສາມາດປະຕິບັດລະຫັດຢູ່ທີ່
ຈຸດທີ່ຕົນເອງມັກໃນການຮັບຮູ້ພາສາປົກກະຕິ. ລະຫັດຜູ້ໃຊ້ຖືກຝັງໂດຍໃຊ້
ຕົວປະຕິບັດການ inline ທີ່ບໍ່ລົບກວນ syntax ພາສາປົກກະຕິ.
ພາສາຫຼັກປະກອບດ້ວຍຕົວປະຕິບັດການສະແດງອອກປົກກະຕິມາດຕະຖານເຊັ່ນ: ສະຫະພັນ,
concatenation ແລະ kleene star, ປະກອບໂດຍການປະຕິບັດການຝັງຕົວ. Ragel ຍັງ
ສະຫນອງຕົວປະຕິບັດການທີ່ຊ່ວຍໃຫ້ທ່ານຄວບຄຸມຄວາມບໍ່ກໍານົດໃດໆທີ່ທ່ານສ້າງ, ກໍ່ສ້າງ
ເຄື່ອງສະແກນໂດຍໃຊ້ຕົວແບບທີ່ກົງກັນຍາວທີ່ສຸດ, ແລະສ້າງເຄື່ອງຈັກຂອງລັດໂດຍໃຊ້ຕາຕະລາງລັດ
ຕົວແບບ. ມັນຍັງເປັນໄປໄດ້ທີ່ຈະມີອິດທິພົນຕໍ່ການປະຕິບັດເຄື່ອງຂອງລັດຈາກພາຍໃນ
ການປະຕິບັດການຝັງໂດຍການໂດດຫຼືໂທຫາພາກສ່ວນອື່ນໆຂອງເຄື່ອງແລະການປຸງແຕ່ງ
input
Ragel ໃຫ້ການໂຕ້ຕອບທີ່ມີຄວາມຍືດຫຍຸ່ນຫຼາຍກັບພາສາເຈົ້າພາບທີ່ພະຍາຍາມວາງ
ຂໍ້ຈໍາກັດຫນ້ອຍທີ່ສຸດກ່ຽວກັບວິທີທີ່ລະຫັດທີ່ສ້າງຂຶ້ນຖືກນໍາໃຊ້ແລະປະສົມປະສານເຂົ້າໃນ
ຄໍາຮ້ອງສະຫມັກ. ລະຫັດທີ່ສ້າງຂຶ້ນບໍ່ມີການຂຶ້ນກັບ.
OPTIONS
-h, -H, -?, - ຊ່ວຍ
ສະແດງການຊ່ວຍເຫຼືອ ແລະອອກ.
-v ພິມຂໍ້ມູນສະບັບແລະອອກ.
-o ເອກະສານ
ຂຽນຜົນໄດ້ຮັບໃສ່ໄຟລ໌. ຖ້າ -o ບໍ່ໄດ້ຖືກມອບໃຫ້, ຊື່ໄຟລ໌ເລີ່ມຕົ້ນຈະຖືກເລືອກໂດຍ
ການປ່ຽນແທນການຂະຫຍາຍໄຟລ໌ຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ. ສໍາລັບໄຟລ໌ແຫຼ່ງທີ່ລົງທ້າຍດ້ວຍ .rh the
suffix .h ຖືກນໍາໃຊ້. ສໍາລັບໄຟລ໌ແຫຼ່ງອື່ນໆທັງໝົດແມ່ນຄໍາຕໍ່ທ້າຍໂດຍອີງໃສ່ພາສາຜົນຜະລິດ
ຖືກນໍາໃຊ້ (.c, .cpp, .m, ແລະອື່ນໆ). ຖ້າ -o ບໍ່ໄດ້ຖືກມອບໃຫ້ Graphviz ຜົນຜະລິດທີ່ສ້າງຂຶ້ນ
ໄຟລ໌ dot ຖືກຂຽນເປັນຜົນຜະລິດມາດຕະຖານ.
-s ພິມສະຖິຕິບາງຢ່າງກ່ຽວກັບຄວາມຜິດພາດມາດຕະຖານ.
--error-format=gnu
ພິມຂໍ້ຄວາມຜິດພາດໂດຍໃຊ້ຮູບແບບ "file:line:column:" (ຄ່າເລີ່ມຕົ້ນ)
--error-format=msvc
ພິມຂໍ້ຄວາມຜິດພາດໂດຍໃຊ້ຮູບແບບ "file(line,column):"
-d ຢ່າເອົາການກະທຳທີ່ຊໍ້າກັນອອກຈາກລາຍການຄຳສັ່ງ.
-I dir
ເພີ່ມ dir ເຂົ້າໃນບັນຊີລາຍຊື່ຂອງໄດເລກະທໍລີເພື່ອຊອກຫາໄຟລ໌ລວມແລະນໍາເຂົ້າ
-n ຢ່າປະຕິບັດການຫຼຸດຜ່ອນລັດ.
-m ດໍາເນີນການຫຼຸດຫນ້ອຍລົງຫນຶ່ງຄັ້ງ, ໃນຕອນທ້າຍຂອງການລວບລວມເຄື່ອງຈັກຂອງລັດ.
-l ຫຼຸດຫນ້ອຍລົງຫຼັງຈາກເກືອບທຸກໆການດໍາເນີນງານ. ບັນຊີລາຍຊື່ຂອງການດໍາເນີນງານເຊັ່ນ: ສະຫະພັນແມ່ນ
ຫຼຸດຫນ້ອຍລົງຫນຶ່ງຄັ້ງໃນຕອນທ້າຍ. ນີ້ແມ່ນຕົວເລືອກການຫຼຸດຜ່ອນຄ່າເລີ່ມຕົ້ນ.
-e ຫຼຸດຜ່ອນຫຼັງຈາກການດໍາເນີນງານທຸກຄັ້ງ.
-x ລວບລວມເຄື່ອງຈັກຂອງລັດແລະປ່ອຍຕົວສະແດງ XML ຂອງຂໍ້ມູນເຈົ້າພາບແລະ
ເຄື່ອງຈັກ.
-V ສ້າງໄຟລ໌ຈຸດສໍາລັບ Graphviz.
-p ສະແດງຕົວອັກສອນທີ່ສາມາດພິມໄດ້ໃນປ້າຍຊື່.
-S
ຂໍ້ມູນຈໍາເພາະ FSM ກັບຜົນຜະລິດ.
-M
ຄໍານິຍາມຂອງເຄື່ອງຈັກ / ການເຕືອນເພື່ອຜົນຜະລິດ.
-C ພາສາເຈົ້າພາບແມ່ນ C, C++, Obj-C ຫຼື Obj-C++. ນີ້ແມ່ນພາສາເຈົ້າພາບເລີ່ມຕົ້ນ
ທາງເລືອກ.
-D ພາສາເຈົ້າພາບແມ່ນ D.
-J ພາສາໂຮດແມ່ນ Java.
-Z ພາສາເຈົ້າພາບແມ່ນ Go.
-R ພາສາເຈົ້າພາບແມ່ນ Ruby.
-L ຍັບຍັ້ງການຂຽນ # ເສັ້ນທາງ.
0 (C/D/Java/Ruby/C#/Go) ສ້າງຕາຕະລາງທີ່ຂັບເຄື່ອນດ້ວຍ FSM. ນີ້ແມ່ນຮູບແບບລະຫັດເລີ່ມຕົ້ນ.
ຕາຕະລາງທີ່ຂັບເຄື່ອນ FSM ເປັນຕົວແທນຂອງເຄື່ອງຈັກຂອງລັດເປັນຂໍ້ມູນສະຖິດ. ມີຕາຕະລາງ
ຂອງລັດ, ການຫັນປ່ຽນ, ຕົວຊີ້ວັດ ແລະການກະທໍາ. ສະຖານະປັດຈຸບັນຖືກເກັບໄວ້ໃນ a
ຕົວແປ. ການປະຕິບັດແມ່ນ loop ທີ່ເບິ່ງວ່າສະຖານະການປະຈຸບັນແລະ
ລັກສະນະປະຈຸບັນທີ່ຈະປຸງແຕ່ງເບິ່ງການປ່ຽນແປງທີ່ຈະໃຊ້ເວລາການນໍາໃຊ້ການຄົ້ນຫາຄູ່,
ປະຕິບັດການກະທໍາໃດຫນຶ່ງແລະຍ້າຍອອກໄປໃນລັດເປົ້າຫມາຍ. ໂດຍທົ່ວໄປ, ຕາຕະລາງຂັບເຄື່ອນ
FSM ຜະລິດ binary ຂະຫນາດນ້ອຍກວ່າ ແລະຕ້ອງການ compile ພາສາເຈົ້າພາບທີ່ມີລາຄາແພງກວ່າ
ແຕ່ສົ່ງຜົນໃຫ້ລະຫັດແລ່ນຊ້າລົງ. ຕາຕະລາງຂັບເຄື່ອນ FSM ແມ່ນເຫມາະສົມສໍາລັບ FSM ໃດ.
1 (C/D/Ruby/C#/Go) ສ້າງຕາຕະລາງ FSM ທີ່ໄວຂຶ້ນໂດຍການຂະຫຍາຍລາຍການປະຕິບັດໃນ
ລະຫັດປະຕິບັດການປະຕິບັດ.
-F0 (C/D/Ruby/C#/Go) ສ້າງຕາຕະລາງຮາບພຽງທີ່ຂັບເຄື່ອນດ້ວຍ FSM. ການຫັນປ່ຽນແມ່ນເປັນຕົວແທນ
array ທີ່ຖືກດັດສະນີໂດຍຕົວອັກສອນປະຈຸບັນ. ນີ້ກໍາຈັດຄວາມຕ້ອງການສໍາລັບ a
ການຄົ້ນຫາຄູ່ເພື່ອຊອກຫາການຫັນປ່ຽນແລະຜະລິດລະຫັດໄວຂຶ້ນ, ແນວໃດກໍ່ຕາມມັນເປັນພຽງແຕ່
ທີ່ເຫມາະສົມສໍາລັບຕົວອັກສອນຂະຫນາດນ້ອຍ.
-F1 (C/D/Ruby/C#/Go) ສ້າງຕາຕະລາງຮາບພຽງທີ່ໄວຂຶ້ນໂດຍຂັບເຄື່ອນ FSM ໂດຍການຂະຫຍາຍລາຍການປະຕິບັດ.
ໃນລະຫັດປະຕິບັດການປະຕິບັດ.
0 (C/D/C#/Go) ສ້າງ FSM ທີ່ຂັບເຄື່ອນໂດຍ goto. FSM ທີ່ຂັບເຄື່ອນໂດຍ goto ເປັນຕົວແທນຂອງລັດ
ເຄື່ອງເປັນຊຸດຂອງຄໍາຖະແຫຼງທີ່ goto. ໃນຂະນະທີ່ຢູ່ໃນເຄື່ອງ, ສະຖານະປະຈຸບັນແມ່ນ
ເກັບຮັກສາໄວ້ໂດຍຕົວຊີ້ຄໍາແນະນໍາຂອງໂປເຊດເຊີ. ການປະຕິບັດແມ່ນຫນ້າທີ່ຮາບພຽງ
ບ່ອນທີ່ການຄວບຄຸມແມ່ນຜ່ານຈາກລັດໄປຫາລັດໂດຍໃຊ້ goto. ໂດຍທົ່ວໄປ, goto FSM
ຜະລິດລະຫັດໄວຂຶ້ນແຕ່ສົ່ງຜົນໃຫ້ binary ໃຫຍ່ກວ່າ ແລະເປັນເຈົ້າພາບທີ່ມີລາຄາແພງກວ່າ
ລວບລວມພາສາ.
1 (C/D/C#/Go) ສ້າງ Goto ທີ່ຂັບເຄື່ອນດ້ວຍ FSM ທີ່ໄວຂຶ້ນໂດຍການຂະຫຍາຍລາຍການປະຕິບັດໃນ
ລະຫັດປະຕິບັດການປະຕິບັດ.
2 (C/D/Go) ສ້າງ FSM ທີ່ຂັບເຄື່ອນດ້ວຍ goto ທີ່ໄວແທ້ໆໂດຍການຝັງລາຍຊື່ການປະຕິບັດຢູ່ໃນ
ລະຫັດຄວບຄຸມເຄື່ອງຈັກຂອງລັດ.
- ປ (C/D) N-Way Split ໄວແທ້ FSM ທີ່ຂັບເຄື່ອນໂດຍ goto.
RAGEL ປັດໄຈນໍາເຂົ້າ
ຫມາຍເຫດ: ນີ້ແມ່ນຄໍາອະທິບາຍສັ້ນໆຂອງການປ້ອນຂໍ້ມູນ Ragel. Ragel ໄດ້ຖືກອະທິບາຍໃນລາຍລະອຽດເພີ່ມເຕີມ
ໃນຄູ່ມືຜູ້ໃຊ້ທີ່ມີຢູ່ໃນຫນ້າທໍາອິດ (ເບິ່ງຂ້າງລຸ່ມນີ້).
Ragel ປົກກະຕິຈະສົ່ງໄຟລ໌ປ້ອນຂໍ້ມູນໂດຍກົງໄປຫາຜົນຜະລິດ. ເມື່ອມັນເຫັນ FSM
ຂໍ້ມູນຈໍາເພາະທີ່ປະກອບດ້ວຍເຄື່ອງ instantiations ມັນຢຸດເພື່ອສ້າງເຄື່ອງຈັກຂອງລັດ.
ຖ້າມີການຂຽນຂໍ້ຄວາມ (ເຊັ່ນ "ຂຽນ exec") ຫຼັງຈາກນັ້ນ ragel ປ່ອຍຕົວທີ່ສອດຄ້ອງກັນ.
ລະຫັດ. ສາມາດມີຈໍານວນສະເພາະຂອງ FSM ໃນໄຟລ໌ປ້ອນຂໍ້ມູນ. FSM ຫຼາຍສາຍ
ສະເພາະເລີ່ມຕົ້ນດ້ວຍ '%%{' ແລະລົງທ້າຍດ້ວຍ '}%%'. ຂໍ້ສະເພາະ FSM ແຖວດຽວ
ເລີ່ມຕົ້ນດ້ວຍ %% ແລະສິ້ນສຸດຢູ່ທີ່ແຖວໃໝ່ທຳອິດ.
FSM ຖະແຫຼງການ
ເຄື່ອງ ຊື່ຂອງທ່ານ:
ຕັ້ງຊື່ຂອງເຄື່ອງຈັກ. ຖ້າໃຫ້, ມັນຕ້ອງເປັນຄໍາຖະແຫຼງທໍາອິດ.
ຕົວອັກສອນ ປະເພດ:
ກໍານົດປະເພດຂໍ້ມູນຂອງຕົວອັກສອນ.
GetKey:
ລະບຸວິທີການດຶງຕົວໜັງສືຈາກປະເພດອົງປະກອບ.
ປະກອບດ້ວຍ:
ລວມເອົາເຄື່ອງທີ່ມີຊື່ດຽວກັນກັບປັດຈຸບັນ ຫຼືຂອງຊື່ອື່ນຢູ່ໃນເຄື່ອງ
ໄຟລ໌ປັດຈຸບັນ ຫຼືບາງໄຟລ໌ອື່ນໆ.
ການປະຕິບັດ ຄວາມຫມາຍ:
ກໍານົດການປະຕິບັດທີ່ສາມາດຖືກຮຽກຮ້ອງໂດຍ FSM.
Fsm ຄໍານິຍາມ, ຕົວຊີ້ບອກ ແລະ ຍາວທີ່ສຸດ ການແຂ່ງຂັນ ຕົວຊີ້ບອກ:
ໃຊ້ເພື່ອສ້າງ FSMs. ຄໍາອະທິບາຍ syntax ໃນສອງສາມພາກຕໍ່ໄປ.
ການເຂົ້າເຖິງ:
ລະບຸວິທີການເຂົ້າເຖິງຕົວແປເຄື່ອງຈັກສະຖານະຄົງທີ່.
ຂຽນ: ຂຽນບາງອົງປະກອບຂອງເຄື່ອງຈັກ.
Variable:
ລົບລ້າງຊື່ຕົວແປເລີ່ມຕົ້ນ (p, pe, cs, act, ແລະອື່ນໆ).
BASIC ເຄື່ອງ
ເຄື່ອງຈັກພື້ນຖານແມ່ນຕົວປະຕິບັດພື້ນຖານຂອງການສະແດງອອກຂອງພາສາປົກກະຕິ.
'ສະບາຍດີ'
Concat ຕົວຫນັງສື. ຜະລິດການສົມທົບຂອງຕົວອັກສອນໃນສະຕຣິງ. ສະຫນັບສະຫນູນ
ລຳດັບໜີດ້ວຍ '\'. ຜົນໄດ້ຮັບຈະມີສະຖານະເລີ່ມຕົ້ນແລະການຫັນປ່ຽນເປັນ
ສະຖານະໃໝ່ສຳລັບແຕ່ລະຕົວອັກສອນໃນສະຕຣິງ. ລັດສຸດທ້າຍໃນລໍາດັບຈະ
ຈະໄດ້ຮັບການສຸດທ້າຍ. ເພື່ອເຮັດໃຫ້ສະຕຣິງເປັນຕົວພິມນ້ອຍ, ຕື່ມ 'i' ໃສ່ສະຕຣິງ, ດັ່ງ
ໃນ 'cmd'i.
"ສະບາຍດີ"
ຄືກັນກັບສະບັບອ້າງອີງດຽວ.
[ສະບາຍດີ]
ຫຼືຮູ້ຫນັງສື. ຜະລິດສະຫະພັນຂອງລັກສະນະ. ສະຫນັບສະຫນູນລະດັບຕົວອັກສອນທີ່ມີ '-',
ປະຕິເສດຄວາມຮູ້ສຶກຂອງສະຫະພາບດ້ວຍ '^' ເບື້ອງຕົ້ນ ແລະ ໜີ ຈາກລໍາດັບ '\'.
ຜົນໄດ້ຮັບຈະມີສອງລັດທີ່ມີການຫັນປ່ຽນລະຫວ່າງພວກມັນສໍາລັບແຕ່ລະລັກສະນະ
ຫຼືໄລຍະ.
ຫມາຍເຫດ: '', "", ແລະ [] ຜະລິດ FSMs null. ເຄື່ອງຈັກ Null ມີລັດດຽວທີ່ເປັນທັງການເລີ່ມຕົ້ນ
ສະຖານະ ແລະສະຖານະສຸດທ້າຍ ແລະກົງກັບສະຕຣິງຄວາມຍາວສູນ. ເຄື່ອງຈັກ null ອາດຈະຖືກສ້າງຂື້ນ
ກັບເຄື່ອງ builtin null.
integer
ສ້າງເຄື່ອງລັດສອງອັນດ້ວຍການປ່ຽນອັນໜຶ່ງໃນຈຳນວນເຕັມທີ່ໃຫ້.
hex ສ້າງເຄື່ອງລັດສອງອັນດ້ວຍການຫັນປ່ຽນອັນໜຶ່ງຢູ່ໃນເລກຖານສິບຫົກທີ່ໃຫ້ໄວ້.
/simple_regex/
ການສະແດງອອກປົກກະຕິງ່າຍດາຍ. ຮອງຮັບ notation '.', '*' ແລະ '[]', character
ໄລຍະທີ່ມີ '-', negating ຄວາມຮູ້ສຶກຂອງສະແດງອອກ OR ກັບແລະເບື້ອງຕົ້ນ '^' ແລະ
ລຳດັບໜີດ້ວຍ '\'. ນອກຈາກນີ້ຍັງສະຫນັບສະຫນູນຫນຶ່ງຕໍ່ຫນ້າທຸງ: i. ໃຊ້ມັນເພື່ອຜະລິດ a
ການສະແດງອອກປົກກະຕິຂອງ case-insensitive, ເຊັ່ນໃນ /GET/i.
lit .. lit
ລະບຸໄລຍະ. ຂອບເຂດເທິງແລະລຸ່ມທີ່ອະນຸຍາດແມ່ນ concat literals ຂອງ
ຄວາມຍາວຫນຶ່ງແລະເຄື່ອງຕົວເລກ. ຕົວຢ່າງ, 0x10..0x20, 0..63, ແລະ 'a'..'z' ແມ່ນ
ຊ່ວງທີ່ຖືກຕ້ອງ.
variable_name
ອ້າງອີງເຖິງຄໍານິຍາມເຄື່ອງທີ່ມອບໝາຍໃຫ້ກັບຊື່ຕົວແປທີ່ໃຫ້.
builtin_machine
ມີເຄື່ອງກໍ່ສ້າງຫຼາຍອັນ. ພວກເຂົາເຈົ້າແມ່ນທັງສອງເຄື່ອງຈັກຂອງລັດສໍາລັບ
ຈຸດປະສົງຂອງການຈັບຄູ່ຫ້ອງຮຽນທົ່ວໄປຂອງລັກສະນະ. ພວກເຂົາແມ່ນ:
ໃດ ຕົວອັກສອນໃດນຶ່ງໃນຕົວໜັງສື.
ASCII ຕົວອັກສອນ Ascii 0..127.
ຂະຫຍາຍ Ascii ຂະຫຍາຍຕົວອັກສອນ. ນີ້ແມ່ນໄລຍະ -128..127 ສໍາລັບຕົວອັກສອນທີ່ລົງນາມ
ແລະຂອບເຂດ 0..255 ສໍາລັບຕົວອັກສອນທີ່ບໍ່ໄດ້ເຊັນ.
alpha ຕົວໜັງສື /[A-Za-z]/.
ຫລັກ ຕົວເລກ /[0-9]/.
ເລກເກົ່າ ຕົວເລກອັນຟາ /[0-9A-Za-z]/.
ຕ່ໍາ ຕົວພິມນ້ອຍ /[az]/.
ເທິງ ຕົວພິມໃຫຍ່ /[AZ]/.
xdigit ຕົວເລກເລກຖານສິບຫົກ /[0-9A-Fa-f]/.
cntrl ຕົວອັກສອນຄວບຄຸມ 0..31.
graph ໂຕອັກສອນ /[!-~]/.
ພິມ ຕົວອັກສອນທີ່ສາມາດພິມໄດ້ /[ -~]/.
punct ເຄື່ອງໝາຍວັກຕອນ. ຕົວອັກສອນທີ່ເປັນກາຟິກທີ່ບໍ່ແມ່ນຕົວເລກອັນຟາ
/[!-/:-@\[-`{-~]/.
ຊ່ອງ ຍະຫວ່າງ /[\t\v\f\n\r]/.
null ສະຕຣິງຄວາມຍາວສູນ. ເທົ່າກັບ '', "" ແລະ [].
ຫວ່າງເປົ່າ ຊຸດເປົ່າ. ບໍ່ກົງກັນ.
ບໍລິສັດ BRIEF ຜູ້ ດຳ ເນີນການ ການອ້າງອິງ
ຜູ້ປະກອບການຖືກຈັດກຸ່ມຕາມລໍາດັບ, ກຸ່ມ 1 ແມ່ນຕໍ່າສຸດ ແລະ ກຸ່ມ 6 ສູງສຸດ.
ກຸ່ມ 1:
ຕົວຢ່າງ , ຕົວຢ່າງ
ເຂົ້າຮ່ວມເຄື່ອງຈັກຮ່ວມກັນໂດຍບໍ່ມີການແຕ້ມການຫັນປ່ຽນໃດຫນຶ່ງ, ການສ້າງຕັ້ງລັດເລີ່ມຕົ້ນຫຼື
ລັດສຸດທ້າຍໃດໆ. ສະຖານະເລີ່ມຕົ້ນຕ້ອງຖືກລະບຸຢ່າງຊັດເຈນດ້ວຍປ້າຍ "ເລີ່ມຕົ້ນ".
ລັດສຸດທ້າຍອາດຈະຖືກລະບຸດ້ວຍການຫັນປ່ຽນຂອງ epsilon ໄປເປັນ implicitly
ສ້າງລັດ "ສຸດທ້າຍ".
ກຸ່ມ 2:
ຕົວຢ່າງ | ຕົວຢ່າງ
ຜະລິດເຄື່ອງທີ່ກົງກັບສະຕຣິງໃດນຶ່ງໃນເຄື່ອງໜຶ່ງ ຫຼືເຄື່ອງຈັກສອງ.
ຕົວຢ່າງ & ຕົວຢ່າງ
ຜະລິດເຄື່ອງຈັກທີ່ກົງກັບສະຕຣິງໃດໆທັງຢູ່ໃນເຄື່ອງຈັກດຽວແລະເຄື່ອງຈັກ
ສອງ.
ຕົວຢ່າງ - ຕົວຢ່າງ
ຜະລິດເຄື່ອງຈັກທີ່ກົງກັບສະຕຣິງໃດນຶ່ງທີ່ຢູ່ໃນເຄື່ອງໜຶ່ງແຕ່ບໍ່ໄດ້ຢູ່ໃນ
ເຄື່ອງສອງ.
ຕົວຢ່າງ -- ຕົວຢ່າງ
ການຫັກລົບທີ່ເຂັ້ມແຂງ. ກົງກັບສະຕຣິງໃດນຶ່ງໃນເຄື່ອງໜຶ່ງທີ່ບໍ່ມີສະຕຣິງໃດໆ
ໃນເຄື່ອງສອງເປັນ substring.
ກຸ່ມ 3:
ຕົວຢ່າງ . ຕົວຢ່າງ
ຜະລິດເຄື່ອງທີ່ກົງກັບສາຍທັງໝົດໃນເຄື່ອງໜຶ່ງຕາມດ້ວຍເຄື່ອງທັງໝົດ
ສາຍໃນເຄື່ອງສອງ.
ຕົວຢ່າງ :> ຕົວຢ່າງ
Entry-Guarded Concatenation: ຢຸດເຄື່ອງໜຶ່ງເມື່ອເຂົ້າໄປຫາເຄື່ອງສອງ.
ຕົວຢ່າງ :>> ຕົວຢ່າງ
Finish-Guarded Concatenation: ຈະຢຸດເຄື່ອງໜຶ່ງເມື່ອເຄື່ອງສອງສຳເລັດ.
ຕົວຢ່າງ <: ຕົວຢ່າງ
ການປະສົມກັນແບບປ້ອງກັນຊ້າຍ: ໃຫ້ຄວາມສຳຄັນສູງກວ່າກັບເຄື່ອງຈັກອັນໜຶ່ງ.
ຫມາຍເຫດ: Concatenation ແມ່ນຕົວປະຕິບັດການເລີ່ມຕົ້ນ. ສອງເຄື່ອງຕິດກັນບໍ່ມີ
ຜູ້ປະຕິບັດການລະຫວ່າງພວກມັນສົ່ງຜົນໃຫ້ການດໍາເນີນງານ concatenation.
ກຸ່ມ 4:
ປ້າຍ: ຕົວຢ່າງ
ແນບປ້າຍກຳກັບໃສ່ສຳນວນ. ປ້າຍຊື່ສາມາດຖືກນໍາໃຊ້ໂດຍການຫັນປ່ຽນ epsilon ແລະ
fgoto ແລະ fcall ຖະແຫຼງການໃນການປະຕິບັດ. ຍັງສັງເກດວ່າການອ້າງອີງຂອງເຄື່ອງຈັກ
ຄໍານິຍາມເຮັດໃຫ້ເກີດການສ້າງປ້າຍຊື່ອັນດຽວກັນ.
ກຸ່ມ 5:
ຕົວຢ່າງ -> ປ້າຍ
ແຕ້ມການຫັນປ່ຽນຂອງ epsilon ໄປຫາລັດທີ່ກໍານົດໂດຍປ້າຍຊື່. ປ້າຍກຳກັບຕ້ອງເປັນຊື່ໃນ
ຂອບເຂດປະຈຸບັນ. ການຫັນປ່ຽນ Epsilon ຖືກແກ້ໄຂເມື່ອຕົວປະຕິບັດການເຄື່ອງໝາຍຈຸດ
ການປະເມີນແລະຢູ່ໃນຮາກຂອງຕົ້ນໄມ້ສະແດງອອກຂອງເຄື່ອງຈັກ
ການມອບໝາຍ/ຕົວຊີ້ບອກ.
ກຸ່ມ 6: ການກະທໍາ
ການກະທຳອາດຈະເປັນຊື່ທີ່ກຳນົດໄວ້ລ່ວງໜ້າດ້ວຍຄຳຖະແຫຼງການກະທຳ ຫຼືອາດຈະຖືກລະບຸໂດຍກົງ
ດ້ວຍ '{' ແລະ '}' ໃນການສະແດງຜົນ.
ຕົວຢ່າງ > ການປະຕິບັດ
ຝັງການປະຕິບັດເຂົ້າໃນການເລີ່ມຕົ້ນການຫັນປ່ຽນ.
ຕົວຢ່າງ @ ການປະຕິບັດ
ຝັງການປະຕິບັດເຂົ້າໄປໃນການຫັນປ່ຽນໄປສູ່ສະຖານະສຸດທ້າຍ.
ຕົວຢ່າງ $ ການປະຕິບັດ
ຝັງການປະຕິບັດເຂົ້າໄປໃນທຸກການຫັນປ່ຽນ. ບໍ່ລວມເອົາໄລຍະທີ່ຍັງຄ້າງຢູ່.
ຕົວຢ່າງ % ການປະຕິບັດ
ຝັງການປະຕິບັດເຂົ້າໄປໃນການລໍຖ້າການຫັນປ່ຽນຈາກລັດສຸດທ້າຍ.
ກຸ່ມ 6: EOF ການກະທໍາ
ເມື່ອການສໍາເລັດຮູບປົກກະຕິຂອງເຄື່ອງຈັກເອີ້ນວ່າການປະຕິບັດ EOF ຂອງລັດປະຈຸບັນຖືກປະຕິບັດ.
ຕົວຢ່າງ >/ ການປະຕິບັດ
ຝັງການດໍາເນີນການ EOF ເຂົ້າໄປໃນສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ </ ການປະຕິບັດ
ຝັງການດໍາເນີນການ EOF ເຂົ້າໄປໃນທຸກລັດຍົກເວັ້ນສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ $/ ການປະຕິບັດ
ຝັງການດໍາເນີນການ EOF ເຂົ້າໄປໃນລັດທັງຫມົດ.
ຕົວຢ່າງ %/ ການປະຕິບັດ
ຝັງການປະຕິບັດ EOF ເຂົ້າໄປໃນລັດສຸດທ້າຍ.
ຕົວຢ່າງ @/ ການປະຕິບັດ
ຝັງການດໍາເນີນການ EOF ເຂົ້າໄປໃນທຸກລັດທີ່ບໍ່ແມ່ນສຸດທ້າຍ.
ຕົວຢ່າງ <>/ ການປະຕິບັດ
ຝັງການດໍາເນີນການ EOF ເຂົ້າໄປໃນທຸກລັດທີ່ບໍ່ແມ່ນລັດເລີ່ມຕົ້ນແລະນັ້ນບໍ່ແມ່ນ
ສຸດທ້າຍ (ລັດກາງ).
ກຸ່ມ 6: Global Error ການກະທໍາ
ການປະຕິບັດຄວາມຜິດພາດທົ່ວໂລກຈະຖືກເກັບໄວ້ໃນລັດຈົນກ່ວາເຄື່ອງຂອງລັດສຸດທ້າຍໄດ້ຢ່າງເຕັມສ່ວນ
ກໍ່ສ້າງ. ຫຼັງຈາກນັ້ນ, ພວກມັນຖືກໂອນໄປສູ່ການຫັນປ່ຽນຄວາມຜິດພາດ, ໃຫ້ຜົນກະທົບຂອງ a
ຄຳສັ່ງເລີ່ມຕົ້ນ.
ຕົວຢ່າງ >! ການປະຕິບັດ
ຝັງການດໍາເນີນການຜິດພາດທົ່ວໂລກເຂົ້າໄປໃນສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ <! ການປະຕິບັດ
ຝັງການປະຕິບັດຄວາມຜິດພາດທົ່ວໂລກເຂົ້າໄປໃນທຸກລັດຍົກເວັ້ນສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ $! ການປະຕິບັດ
ຝັງການກະທໍາຄວາມຜິດພາດທົ່ວໂລກເຂົ້າໄປໃນລັດທັງຫມົດ.
ຕົວຢ່າງ %! ການປະຕິບັດ
ຝັງການປະຕິບັດຄວາມຜິດພາດທົ່ວໂລກເຂົ້າໄປໃນລັດສຸດທ້າຍ.
ຕົວຢ່າງ @! ການປະຕິບັດ
ຝັງການກະ ທຳ ຂໍ້ຜິດພາດທົ່ວໂລກເຂົ້າໄປໃນທຸກລັດທີ່ບໍ່ແມ່ນສຸດທ້າຍ.
ຕົວຢ່າງ <>! ການປະຕິບັດ
ຝັງການປະຕິບັດຄວາມຜິດພາດທົ່ວໂລກເຂົ້າໄປໃນທຸກລັດທີ່ບໍ່ແມ່ນສະຖານະເລີ່ມຕົ້ນແລະເປັນ
ບໍ່ແມ່ນສຸດທ້າຍ (ລັດກາງ).
ກຸ່ມ 6: ທ້ອງຖິ່ນ Error ການກະທໍາ
ການປະຕິບັດຄວາມຜິດພາດໃນທ້ອງຖິ່ນຈະຖືກເກັບໄວ້ໃນລັດຈົນກ່ວາເຄື່ອງທີ່ມີຊື່ໄດ້ຖືກສ້າງຂື້ນຢ່າງສົມບູນ.
ເຂົາເຈົ້າໄດ້ຖືກໂອນຫຼັງຈາກນັ້ນໄປສູ່ການຫັນປ່ຽນຄວາມຜິດພາດ, ໃຫ້ຜົນກະທົບຂອງການປະຕິບັດໃນຕອນຕົ້ນສໍາລັບ
ພາກສ່ວນຂອງເຄື່ອງຈັກທັງຫມົດ. ໃຫ້ສັງເກດວ່າຊື່ອາດຈະຖືກຍົກເວັ້ນ, ໃນກໍລະນີນີ້
ການກະ ທຳ ຈະຖືກໂອນໄປສູ່ການກະ ທຳ ຂໍ້ຜິດພາດເມື່ອການກໍ່ສ້າງເຄື່ອງປະຈຸບັນ.
ຕົວຢ່າງ >^ ການປະຕິບັດ
ຝັງການດໍາເນີນການຄວາມຜິດພາດໃນທ້ອງຖິ່ນເຂົ້າໄປໃນສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ <^ ການປະຕິບັດ
ຝັງຄຳສັ່ງຄວາມຜິດພາດໃນທ້ອງຖິ່ນໃສ່ໃນທຸກສະຖານະ ຍົກເວັ້ນສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ $^ ການປະຕິບັດ
ຝັງການກະທໍາຄວາມຜິດພາດໃນທ້ອງຖິ່ນເຂົ້າໄປໃນລັດທັງຫມົດ.
ຕົວຢ່າງ %^ ການປະຕິບັດ
ຝັງການດໍາເນີນການຄວາມຜິດພາດໃນທ້ອງຖິ່ນເຂົ້າໄປໃນສະຖານະສຸດທ້າຍ.
ຕົວຢ່າງ @^ ການປະຕິບັດ
ຝັງການດໍາເນີນການຜິດພາດໃນທ້ອງຖິ່ນເຂົ້າໄປໃນທຸກສະຖານະທີ່ບໍ່ແມ່ນສຸດທ້າຍ.
ຕົວຢ່າງ <>^ ການປະຕິບັດ
ຝັງການດໍາເນີນການຄວາມຜິດພາດໃນທ້ອງຖິ່ນເຂົ້າໄປໃນທຸກສະຖານະທີ່ບໍ່ແມ່ນສະຖານະເລີ່ມຕົ້ນແລະເປັນ
ບໍ່ແມ່ນສຸດທ້າຍ (ລັດກາງ).
ກຸ່ມ 6: ກັບລັດ ການກະທໍາ
ການກະ ທຳ ຂອງລັດຈະຖືກເກັບໄວ້ໃນລັດແລະຖືກປະຕິບັດທຸກຄັ້ງທີ່ເຄື່ອງເຄື່ອນຍ້າຍເຂົ້າໄປໃນ a
ລັດ. ນີ້ປະກອບມີການຫັນປ່ຽນປົກກະຕິ, ແລະການໂອນການຄວບຄຸມເຊັ່ນ fgoto. ຫມາຍເຫດ
ທີ່ກໍານົດສະຖານະປະຈຸບັນຈາກພາຍນອກເຄື່ອງ (ຕົວຢ່າງໃນໄລຍະ
initialization) ບໍ່ນັບເປັນການຫັນປ່ຽນໄປສູ່ລັດ.
ຕົວຢ່າງ >~ ການປະຕິບັດ
ຝັງການປະຕິບັດການປະຕິບັດຕໍ່ລັດເຂົ້າໄປໃນສະຖານະການເລີ່ມຕົ້ນ.
ຕົວຢ່າງ <~ ການປະຕິບັດ
ຝັງການກະທຳຕໍ່ລັດເຂົ້າໄປໃນທຸກລັດ ຍົກເວັ້ນສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ $~ ການປະຕິບັດ
ຝັງການກະທຳຕໍ່ລັດເຂົ້າໄປໃນທຸກລັດ.
ຕົວຢ່າງ %~ ການປະຕິບັດ
ຝັງການກະ ທຳ ຕໍ່ລັດເຂົ້າໄປໃນລັດສຸດທ້າຍ.
ຕົວຢ່າງ @~ ການປະຕິບັດ
ຝັງການກະທຳຕໍ່ລັດເຂົ້າໄປໃນທຸກລັດທີ່ບໍ່ແມ່ນຂັ້ນສຸດທ້າຍ.
ຕົວຢ່າງ <>~ ການປະຕິບັດ
ຝັງການກະທໍາຕໍ່ລັດເຂົ້າໄປໃນລັດທັງຫມົດທີ່ບໍ່ແມ່ນລັດເລີ່ມຕົ້ນແລະບໍ່ແມ່ນ
ສຸດທ້າຍ (ລັດກາງ).
ກຸ່ມ 6: ຈາກລັດ ການກະທໍາ
ການປະຕິບັດຈາກລັດຈະຖືກປະຕິບັດທຸກຄັ້ງທີ່ລັດປ່ຽນຕົວລະຄອນໃດໜຶ່ງ. ນີ້
ປະກອບມີການຫັນປ່ຽນຄວາມຜິດພາດແລະການຫັນປ່ຽນໄປສູ່ຕົນເອງ.
ຕົວຢ່າງ >* ການປະຕິບັດ
ຝັງການດໍາເນີນການຈາກລັດເຂົ້າໄປໃນສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ <* ການປະຕິບັດ
ຝັງການກະ ທຳ ຈາກລັດເຂົ້າໄປໃນທຸກໆລັດຍົກເວັ້ນລັດເລີ່ມຕົ້ນ.
ຕົວຢ່າງ $* ການປະຕິບັດ
ຝັງການກະ ທຳ ຈາກລັດເຂົ້າໄປໃນທຸກລັດ.
ຕົວຢ່າງ %* ການປະຕິບັດ
ຝັງການກະ ທຳ ຈາກລັດເຂົ້າໄປໃນລັດສຸດທ້າຍ.
ຕົວຢ່າງ @* ການປະຕິບັດ
ຝັງການກະທຳຈາກລັດເຂົ້າໄປໃນທຸກລັດທີ່ບໍ່ແມ່ນຂັ້ນສຸດທ້າຍ.
ຕົວຢ່າງ <>* ການປະຕິບັດ
ຝັງການກະ ທຳ ຈາກລັດເຂົ້າໄປໃນທຸກລັດທີ່ບໍ່ແມ່ນລັດເລີ່ມຕົ້ນແລະບໍ່ແມ່ນ
ສຸດທ້າຍ (ລັດກາງ).
ກຸ່ມ 6: ບູລິມະສິດ ການມອບຫມາຍ
ບຸລິມະສິດຖືກມອບໝາຍໃຫ້ຊື່ພາຍໃນໄລຍະການຫັນປ່ຽນ. ບຸລິມະສິດພຽງແຕ່ຊື່ດຽວກັນເທົ່ານັ້ນ
ອະນຸຍາດໃຫ້ໂຕ້ຕອບກັບ. ໃນຮູບແບບທໍາອິດຂອງການບູລິມະສິດຊື່ເລີ່ມຕົ້ນຂອງຊື່ຂອງ
ນິຍາມເຄື່ອງໝາຍບູລິມະສິດຖືກມອບໝາຍໃນ. ການຫັນປ່ຽນບໍ່ມີຄ່າເລີ່ມຕົ້ນ
ບູລິມະສິດ.
ຕົວຢ່າງ > int
ກຳນົດບູລິມະສິດ int ໃນທຸກການຫັນປ່ຽນອອກຈາກສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ @ int
ກຳນົດບູລິມະສິດ int ໃນທຸກການຫັນປ່ຽນທີ່ເຂົ້າສູ່ສະຖານະສຸດທ້າຍ.
ຕົວຢ່າງ $ int
ກຳນົດບູລິມະສິດ int ໃນທຸກການຫັນປ່ຽນທີ່ມີຢູ່ແລ້ວ.
ຕົວຢ່າງ % int
ກຳນົດບູລິມະສິດ int ໃນທຸກໄລຍະທີ່ຍັງຄ້າງຢູ່.
ຮູບແບບທີສອງຂອງການມອບຫມາຍບູລິມະສິດອະນຸຍາດໃຫ້ຜູ້ຂຽນໂປລແກລມລະບຸຊື່ທີ່
ບູລິມະສິດໄດ້ຖືກມອບຫມາຍ, ອະນຸຍາດໃຫ້ການໂຕ້ຕອບຂ້າມຂອບເຂດກໍານົດເຄື່ອງຈັກ.
ຕົວຢ່າງ > (ຊື່, int)
ກຳນົດບູລິມະສິດ int ໃຫ້ກັບຊື່ໃນທຸກການຫັນປ່ຽນອອກຈາກສະຖານະເລີ່ມຕົ້ນ.
ຕົວຢ່າງ @ (ຊື່, int)
ກຳນົດບູລິມະສິດ int ໃຫ້ກັບຊື່ໃນທຸກການຫັນປ່ຽນທີ່ເຂົ້າສູ່ສະຖານະສຸດທ້າຍ.
ຕົວຢ່າງ $ (ຊື່, int)
ກຳນົດບູລິມະສິດ int ໃຫ້ກັບຊື່ໃນທຸກການຫັນປ່ຽນທີ່ມີຢູ່.
ຕົວຢ່າງ % (ຊື່, int)
ກຳນົດບູລິມະສິດ int ໃຫ້ກັບຊື່ໃນທຸກໄລຍະທີ່ຍັງຄ້າງຢູ່.
ກຸ່ມ 7:
ຕົວຢ່າງ * ຜະລິດດາວ kleene ຂອງເຄື່ອງຈັກ. ກົງກັບສູນ ຫຼືຫຼາຍກວ່າການຄ້າງຫ້ອງຂອງ
ເຄື່ອງຈັກ.
ຕົວຢ່າງ **
ການແຂ່ງຂັນດົນທີ່ສຸດ Kleene Star. ສະບັບຂອງ kleene star ນີ້ວາງຄວາມສໍາຄັນສູງກວ່າ
ຢູ່ໃນເຄື່ອງຫຼາຍກວ່າຫໍ່ປະມານແລະເລີ່ມຕົ້ນໃຫມ່. ຜູ້ປະກອບການນີ້ແມ່ນ
ເທົ່າກັບ ( ( expr ) $0 %1 )*.
ຕົວຢ່າງ ? ຜະລິດເຄື່ອງຈັກທີ່ຍອມຮັບເຄື່ອງທີ່ໃຫ້ຫຼືສາຍ null. ຜູ້ປະກອບການນີ້
ເທົ່າກັບ ( expr | '' ).
ຕົວຢ່າງ + ຜະລິດເຄື່ອງຈັກ concatenated ກັບ kleen star ຂອງຕົນເອງ. ກົງກັບຫນຶ່ງຫຼື
ການຄ້າງຫ້ອງຫຼາຍຂອງເຄື່ອງຈັກ. ຕົວປະຕິບັດການນີ້ແມ່ນເທົ່າກັບ ( expr . expr * ).
ຕົວຢ່າງ {n}
ຜະລິດເຄື່ອງທີ່ກົງກັບການຊໍ້າຄືນຂອງ expr.
ຕົວຢ່າງ {,n}
ຜະລິດເຄື່ອງຈັກທີ່ກົງກັນທຸກບ່ອນຈາກສູນຫາ n ການຊໍ້າຄືນຂອງ expr.
ຕົວຢ່າງ {n,}
ຜະລິດເຄື່ອງຈັກທີ່ກົງກັບ n ຫຼືຫຼາຍກວ່າການຄ້າງຫ້ອງຂອງ expr.
ຕົວຢ່າງ {n,m}
ຜະລິດເຄື່ອງຈັກທີ່ກົງກັບ n ຫາ m repetitions ຂອງ expr.
ກຸ່ມ 8:
! ຕົວຢ່າງ ຜະລິດເຄື່ອງທີ່ກົງກັບສະຕຣິງໃດນຶ່ງທີ່ບໍ່ກົງກັບເຄື່ອງທີ່ໃຫ້ມາ. ນີ້
operator ແມ່ນທຽບເທົ່າກັບ ( *extend - expr ).
^ ຕົວຢ່າງ ການປະຕິເສດລະດັບຕົວອັກສອນ. ກົງກັບຕົວອັກສອນຕົວດຽວທີ່ບໍ່ກົງກັບຕົວດຽວ
ເຄື່ອງຕົວອັກສອນ expr.
ກຸ່ມ 9:
( ຕົວຢ່າງ )
ບັງຄັບໃຫ້ມີຄວາມສຳຄັນກວ່າຕົວດຳເນີນການ.
VALUES ທີ່ມີຢູ່ IN CODE ບລັອກ
fc ລັກສະນະປະຈຸບັນ. ເທົ່າກັບ *p.
fpc ຕົວຊີ້ໄປຫາລັກສະນະປັດຈຸບັນ. ທຽບເທົ່າ p.
fcurs ຄ່າຈຳນວນເຕັມທີ່ສະແດງເຖິງສະຖານະປັດຈຸບັນ.
ftargs ຄ່າຈຳນວນເຕັມທີ່ສະແດງເຖິງສະຖານະເປົ້າໝາຍ.
ຮົ້ວ ( )
ຄ່າຈຳນວນເຕັມທີ່ເປັນຕົວແທນຂອງຈຸດເຂົ້າ .
ຖະແຫຼງການ ທີ່ມີຢູ່ IN CODE ບລັອກ
fhold; ຢ່າກ້າວໄປຂ້າງຫນ້າໃນລັກສະນະປະຈຸບັນ. ເທົ່າກັບ --p;
ເຟັກ ;
ກໍານົດລັກສະນະປະຈຸບັນເປັນອັນອື່ນ. ເທົ່າກັບ p = ( )-1;
fgoto ;
ໄປຫາເຄື່ອງທີ່ກໍານົດໂດຍ .
fgoto * ;
ໂດດໄປຫາຈຸດເຂົ້າທີ່ໃຫ້ໂດຍ . ການສະແດງຜົນຕ້ອງປະເມີນເປັນຈໍານວນເຕັມ
ຄ່າທີ່ເປັນຕົວແທນຂອງລັດ.
fnext ;
ກໍານົດລັດຕໍ່ໄປເປັນຈຸດເຂົ້າທີ່ກໍານົດໄວ້ໂດຍ . ຖະແຫຼງການຕໍ່ໄປ
ບໍ່ທັນທີທັນໃດເຕັ້ນໄປຫາລັດທີ່ລະບຸໄວ້. ລະຫັດການປະຕິບັດໃດໆປະຕິບັດຕາມ
ຖະແຫຼງການຖືກປະຕິບັດ.
fnext * ;
ຕັ້ງສະຖານະຕໍ່ໄປເປັນຈຸດເຂົ້າທີ່ມອບໃຫ້ . ການສະແດງອອກຕ້ອງ
ປະເມີນເປັນຄ່າຈຳນວນເຕັມທີ່ເປັນຕົວແທນຂອງລັດ.
ໂທຫາ ;
ໂທຫາເຄື່ອງທີ່ກໍານົດໂດຍ . fret ຕໍ່ໄປຈະເຕັ້ນໄປຫາເປົ້າຫມາຍຂອງ
ການປ່ຽນແປງທີ່ການປະຕິບັດໄດ້ຖືກຮຽກຮ້ອງ.
ໂທຫາ * ;
ໂທຫາຈຸດເຂົ້າທີ່ໃຫ້ໂດຍ . fret ຕໍ່ໄປຈະເຕັ້ນໄປຫາເປົ້າຫມາຍຂອງ
ການປ່ຽນແປງທີ່ການປະຕິບັດໄດ້ຖືກຮຽກຮ້ອງ.
fret; ກັບຄືນສູ່ສະຖານະເປົ້າຫມາຍຂອງການຫັນປ່ຽນທີ່ fcall ສຸດທ້າຍໄດ້ເຮັດ.
fbreak;
ຊ່ວຍປະຢັດສະຖານະປະຈຸບັນແລະທັນທີທັນໃດແຕກອອກຈາກເຄື່ອງ.
CREDITS
Ragel ໄດ້ຖືກຂຽນໂດຍ Adrian Thurston[email protected]>. ຜົນໄດ້ຮັບຂອງ Objective-C
ປະກອບສ່ວນໂດຍ Erich Ocean. ຜົນຜະລິດ D ປະກອບສ່ວນໂດຍ Alan West. ຜົນຜະລິດ Ruby ປະກອບສ່ວນໂດຍ
Victor Hugo Borja. ການສ້າງລະຫັດ C Sharp ປະກອບສ່ວນໂດຍ Daniel Tang. ການປະກອບສ່ວນເພື່ອ
ການສ້າງລະຫັດ Java ໂດຍ Colin Fleming. ການສ້າງລະຫັດ Go ປະກອບສ່ວນໂດຍ Justine Tunney.
ໃຊ້ ragel ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net