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

OnWorks favicon

cpphs-hugs - ອອນລາຍໃນຄລາວ

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

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

ໂຄງການ:

NAME


cpphs - liberalized cpp-a-like preprocessor ສໍາລັບ Haskell

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


cpphs [ຊື່​ເອ​ກະ​ສານ|ທາງເລືອກ] ...

ລາຍລະອຽດ


cpphs ເປັນ​ການ​ປະ​ຕິ​ບັດ​ຄືນ​ໃຫມ່​ເປີດ​ເສລີ​ຂອງ​ cpp (1) C pre-processor, ໃນແລະສໍາລັບ
Haskell.

ເປັນຫຍັງການຈັດຕັ້ງປະຕິບັດ cpp ຄືນໃໝ່? ຖືກຫຼືຜິດ, C pre-processor ຖືກນໍາໃຊ້ຢ່າງກວ້າງຂວາງໃນ Haskell
ລະຫັດແຫຼ່ງ. ມັນເຮັດໃຫ້ການລວບລວມເງື່ອນໄຂສໍາລັບການລວບລວມຂໍ້ມູນທີ່ແຕກຕ່າງກັນ, ທີ່ແຕກຕ່າງກັນ
ຮຸ່ນຂອງຄອມພີວເຊີດຽວກັນ, ແລະແພລະຕະຟອມ OS ທີ່ແຕກຕ່າງກັນ. ມັນຍັງຖືກນໍາໃຊ້ເປັນບາງໂອກາດ
ສໍາ​ລັບ​ພາ​ສາ​ມະ​ຫາ​ພາກ​ຂອງ​ຕົນ​, ທີ່​ສາ​ມາດ​ເຮັດ​ໃຫ້​ຮູບ​ແບບ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​ຂອງ​ລະ​ອຽດ​ສະ​ເພາະ​ເວ​ທີ​ການ​.
ການຕື່ມ, ເຊັ່ນການສ້າງ boilerplate tedious ຂອງຄໍານິຍາມຕົວຢ່າງແລະ FFI
ຖະແຫຼງການ. ຢ່າງໃດກໍ່ຕາມ, ມີສອງບັນຫາກັບ cpp, ນອກເຫນືອຈາກຄວາມງາມທີ່ຊັດເຈນ
ອັນ​ທີ່:

ສໍາລັບບາງລະບົບ Haskell, ໂດຍສະເພາະ Hugs ໃນ Windows, cpp ທີ່ແທ້ຈິງແມ່ນບໍ່ສາມາດໃຊ້ໄດ້ໂດຍ
Default

ເຖິງແມ່ນວ່າສໍາລັບລະບົບ Haskell ອື່ນໆ, cpp ທົ່ວໄປທີ່ສະຫນອງໂດຍຊຸດ gcc 3.x
ມີການປ່ຽນແປງເລັກນ້ອຍໃນທາງທີ່ບໍ່ເຂົ້າກັນກັບ syntax ຂອງ Haskell. ມີ
ສະເຫມີມີບັນຫາກັບ, ສໍາລັບການຍົກຕົວຢ່າງ, ຊ່ອງຫວ່າງສາຍ, ແລະລັກສະນະຕົ້ນຕໍໃນ
ຕົວລະບຸ. ບັນຫາເຫຼົ່ານີ້ພຽງແຕ່ຈະຮ້າຍແຮງຂຶ້ນ.

ດັ່ງນັ້ນ, ມັນເບິ່ງຄືວ່າຖືກຕ້ອງທີ່ຈະພະຍາຍາມສະຫນອງທາງເລືອກສໍາລັບ cpp, ທັງສອງທີ່ເຫມາະສົມກັບ
Haskell, ແລະຕົວຂອງມັນເອງຂຽນໃນ Haskell ເພື່ອໃຫ້ມັນສາມາດແຈກຢາຍກັບ compilers.

cpphs ແມ່ນ pretty-much feature-complete, ແລະເຂົ້າກັນໄດ້ກັບ - ແບບດັ້ງເດີມ ແບບຂອງ cpp.
ມັນ​ມີ​ສອງ​ຮູບ​ແບບ​:

ການລວບລວມເງື່ອນໄຂເທົ່ານັ້ນ (--nomacro),

ແລະການຂະຫຍາຍມະຫາພາກເຕັມ (ຄ່າເລີ່ມຕົ້ນ).

In --nomacro ຮູບແບບ, cpphs ປະຕິບັດພຽງແຕ່ການປະຕິບັດການລວບລວມເງື່ອນໄຂ, ie #includeຂອງ,
# ຖ້າ's, ແລະ #ifdef's ຖືກປະມວນຜົນຕາມຄໍານິຍາມການປ່ຽນຂໍ້ຄວາມ (ທັງສອງຄໍາສັ່ງ-
ເສັ້ນແລະພາຍໃນ), ແຕ່ບໍ່ມີການຂະຫຍາຍມະຫາພາກ parameterised ແມ່ນປະຕິບັດ. ເຕັມ
ຮູບແບບຄວາມເຂົ້າກັນໄດ້ (ຄ່າເລີ່ມຕົ້ນ), ການປ່ຽນຂໍ້ຄວາມແລະການຂະຫຍາຍມະຫາພາກ
ປະມວນຜົນໃນສ່ວນທີ່ຍັງເຫຼືອຂອງຂໍ້ຄວາມທີ່ບໍ່ແມ່ນ cpp.

ຄຸນລັກສະນະການເຮັດວຽກ:

#ifdef ການລວບລວມເງື່ອນໄຂງ່າຍດາຍ

# ຖ້າ ພາສາ boolean ເຕັມຂອງ defined(), &&, ||, ==, ແລະອື່ນໆ.

#ເອລີຟ ເງື່ອນໄຂຖືກຕ່ອງໂສ້

#ກໍານົດ
ຄໍານິຍາມໃນແຖວ (ການປ່ຽນຂໍ້ຄວາມ ແລະມາໂຄຣ)

#ສຸດຍອດ ການຖອນຄໍານິຍາມໃນແຖວ

#include
ລວມໄຟລ໌

#ສາຍ ຄໍາສັ່ງເລກແຖວ

\n ການສືບຕໍ່ສາຍພາຍໃນທັງໝົດ # ຄຳແນະນຳ

/ ** / token catenation ພາຍໃນຄໍານິຍາມມະຫາພາກ

## ການແຍກໂທເຄັນແບບ ANSI

# ການປັບຕົວໂທເຄັນແບບ ANSI

__FILE__
ການທົດແທນຂໍ້ຄວາມພິເສດສໍາລັບຂໍ້ຄວາມຄວາມຜິດພາດ DIY

__LINE__
ການທົດແທນຂໍ້ຄວາມພິເສດສໍາລັບຂໍ້ຄວາມຄວາມຜິດພາດ DIY

__DATE__
ການປ່ຽນແທນຂໍ້ຄວາມພິເສດ

__TIME__
ການປ່ຽນແທນຂໍ້ຄວາມພິເສດ

ການຂະຫຍາຍຕົວ Macro ແມ່ນ recursive. ການໃຫ້ຄຳນິຍາມໃໝ່ຂອງຊື່ມະຫາພາກບໍ່ໄດ້ສ້າງຄຳເຕືອນ.
Macros ສາມາດຖືກກໍານົດຢູ່ໃນເສັ້ນຄໍາສັ່ງທີ່ມີ -D ຄືກັນກັບການທົດແທນຂໍ້ຄວາມ. ມະຫາພາກ
ຊື່​ແມ່ນ​ອະ​ນຸ​ຍາດ​ໃຫ້​ເປັນ Haskell ຕົວ​ລະ​ບຸ​ຕົວ​ຢ່າງ​ທີ່​ມີ prime `ແລະ backtick ´
ຕົວ​ອັກ​ສອນ​, ເຊິ່ງ​ແມ່ນ​ຫນ້ອຍ​ກ​່​ວາ​ໃນ C​, ແຕ່​ພວກ​ເຂົາ​ເຈົ້າ​ຍັງ​ບໍ່​ສາ​ມາດ​ປະ​ກອບ​ດ້ວຍ​ຕົວ​ປະ​ຕິ​ບັດ​ການ​
ສັນຍາລັກ.

ຕົວເລກຂອງສາຍໃນຜົນຜະລິດແມ່ນເກັບຮັກສາໄວ້ເພື່ອໃຫ້ໂຮງງານຜະລິດຕໍ່ມາສາມາດໃຫ້
ຂໍ້​ຄວາມ​ຜິດ​ພາດ​ທີ່​ມີ​ຄວາມ​ຫມາຍ​. ໃນເວລາທີ່ໄຟລ໌ແມ່ນ #include'd, cpphs inserts #ສາຍ ຄໍາແນະນໍາສໍາລັບ
ເຫດຜົນດຽວກັນ. ຕົວເລກຄວນຈະຖືກຕ້ອງເຖິງແມ່ນວ່າຢູ່ໃນການສືບຕໍ່ແຖວ.
ຖ້າເຈົ້າບໍ່ຕ້ອງການ #ສາຍ ຄໍາແນະນໍາໃນຜົນໄດ້ຮັບສຸດທ້າຍ, ໃຊ້ --noline ທາງເລືອກ.

ຂໍ້ຜິດພາດຂອງ syntax ໃດໆໃນຄໍາສັ່ງ cpp ຈະສົ່ງຂໍ້ຄວາມໄປຫາ stderr ແລະຢຸດໂຄງການ.
ການລົ້ມເຫລວໃນການຊອກຫາໄຟລ໌ #include'd ເຮັດໃຫ້ເກີດການເຕືອນ stderr, ແຕ່ການປະມວນຜົນຍັງສືບຕໍ່.

ທ່ານ​ສາ​ມາດ​ໃຫ້​ຈໍາ​ນວນ​ຂອງ​ຊື່​ໄຟລ​໌​ໃນ​ບັນ​ຊີ​ຄໍາ​ສັ່ງ​. ຜົນໄດ້ຮັບແມ່ນ catenated ສຸດ
ຜົນຜະລິດມາດຕະຖານ.

-Dຊິມ ກໍານົດການປ່ຽນຂໍ້ຄວາມ (ຄ່າເລີ່ມຕົ້ນແມ່ນ 1)

-Dsym=h
ກໍານົດການທົດແທນຂໍ້ຄວາມທີ່ມີຄ່າສະເພາະ

-Iເສັ້ນທາງ ເພີ່ມໄດເລກະທໍລີໄປຫາເສັ້ນທາງຄົ້ນຫາສໍາລັບ #include's

-Oເອກະສານ ລະບຸໄຟລ໌ສໍາລັບຜົນຜະລິດ (ຄ່າເລີ່ມຕົ້ນແມ່ນ stdout)

--nomacro
ພຽງແຕ່ຂະບວນການ #ifdef ແລະ #includes,
ບໍ່ຂະຫຍາຍມະຫາພາກ

--noline
ເອົາ #line droppings ອອກຈາກຜົນຜະລິດ

--ເສັ້ນ
ປ່ຽນຄຳເຫັນແບບ C ໃຫ້ເປັນຊ່ອງຫວ່າງ, ແມ້ແຕ່ຢູ່ນອກ
cpp ຄໍາແນະນໍາ

--hashes
ຮັບຮູ້ ANSI # stringise operator, ແລະ ## for
token catenation, ພາຍໃນ macro

--ຂໍ້​ຄວາມ ປະຕິບັດການປ້ອນຂໍ້ມູນເປັນຂໍ້ຄວາມທຳມະດາ, ບໍ່ແມ່ນລະຫັດ Haskell

-- ຮູບແບບ
ຮັກສາສາຍໃຫມ່ພາຍໃນການຂະຫຍາຍມະຫາພາກ

--unlit
ລົບ​ລ້າງ​ຄວາມ​ຄິດ​ເຫັນ​ທີ່​ຮູ້​ຫນັງ​ສື​

- ການປ່ຽນແປງ
ລາຍງານຈໍານວນເວີຊັນຂອງ cpphs ແລະຢຸດ

ບໍ່ມີການປ່ຽນແທນຂໍ້ຄວາມທີ່ກຳນົດໄວ້ຕາມຄ່າເລີ່ມຕົ້ນ. (cpp ປົກກະຕິມັກຈະມີຄໍານິຍາມ
ສໍາລັບເຄື່ອງ, OS, ແລະອື່ນໆ. ສິ່ງເຫຼົ່ານີ້ສາມາດຖືກເພີ່ມໃສ່ລະຫັດແຫຼ່ງ cpphs ໄດ້ຢ່າງງ່າຍດາຍຖ້າທ່ານຕ້ອງການ.)
ເສັ້ນທາງຄົ້ນຫາແມ່ນຊອກຫາຕາມລໍາດັບ -I ທາງເລືອກ, ຍົກເວັ້ນວ່າໄດເລກະທໍລີຂອງ
ໄຟລ໌ການໂທ, ຫຼັງຈາກນັ້ນ, ໄດເລກະທໍລີປະຈຸບັນ, ສະເຫມີຖືກຄົ້ນຫາກ່ອນ. ອີກເທື່ອຫນຶ່ງ, ບໍ່ມີ
ເສັ້ນທາງຄົ້ນຫາເລີ່ມຕົ້ນ (ແລະອີກເທື່ອຫນຶ່ງ, ນີ້ສາມາດປ່ຽນແປງໄດ້ງ່າຍ).

ຄວາມແຕກຕ່າງ ຈາກ CPP


ໂດຍທົ່ວໄປ, cpphs ແມ່ນອີງໃສ່ - ແບບດັ້ງເດີມ ພຶດຕິກໍາ, ບໍ່ແມ່ນ ANSI C, ແລະມີ
ປະຕິບັດຕາມຄວາມແຕກຕ່າງຕົ້ນຕໍຈາກ cpp ມາດຕະຖານ.

ໂດຍ​ທົ່ວ​ໄປ

ໄດ້ # ທີ່ແນະນໍາ cpp ຄໍາສັ່ງໃດໆຕ້ອງຢູ່ໃນຖັນທໍາອິດຂອງແຖວ (ໃນຂະນະທີ່
ANSI ອະນຸຍາດໃຫ້ຊ່ອງຫວ່າງກ່ອນ # ).

ສ້າງ #ສາຍ n "ຊື່​ເອ​ກະ​ສານ" syntax, ບໍ່ແມ່ນ # n "ຊື່​ເອ​ກະ​ສານ"ຕົວແປ.

ຄໍາຄິດເຫັນ C ຖືກເອົາອອກຈາກພາຍໃນຄໍາສັ່ງ cpp ເທົ່ານັ້ນ. ພວກ​ເຂົາ​ເຈົ້າ​ບໍ່​ໄດ້​ຖືກ​ລອກ​ເອົາ​ຈາກ​ອື່ນໆ​
ຂໍ້​ຄວາມ. ພິຈາລະນາຕົວຢ່າງວ່າໃນ Haskell, ທັງຫມົດຕໍ່ໄປນີ້ແມ່ນຕົວປະຕິບັດການທີ່ຖືກຕ້ອງ
ສັນຍາລັກ: /* */ * / * ຢ່າງໃດກໍຕາມ, ທ່ານສາມາດເປີດການໂຍກຍ້າຍ C-comment ກັບ the --ເສັ້ນ ທາງເລືອກ.

Macro ພາສາ

ຍອມຮັບ / ** / ສໍາລັບການວາງ token ໃນຄໍານິຍາມ macro. ແນວໃດກໍ່ຕາມ, /* */ (ດ້ວຍຂໍ້ຄວາມໃດນຶ່ງ
ລະຫວ່າງຄຳເຫັນເປີດ/ປິດ) ໃສ່ຊ່ອງຫວ່າງ.

ANSI ## ຕົວປະຕິບັດການ token-pasting ສາມາດໃຊ້ໄດ້ກັບ --hashes ທຸງ. ນີ້ແມ່ນເພື່ອຫຼີກເວັ້ນການ
ການຕີຄວາມຜິດອັນໃດນຶ່ງຂອງຕົວປະຕິບັດການ Haskell ທີ່ຖືກຕ້ອງຂອງຊື່ດຽວກັນ.

ແທນທີ່ພາຣາມິເຕີທີ່ເປັນທາງການຂອງມະຫາພາກດ້ວຍຕົວຈິງ, ເຖິງແມ່ນວ່າຢູ່ໃນສະຕຣິງ (ຄູ່ ຫຼືອັນດຽວ
ອ້າງອີງ). ນີ້ແມ່ນ - ພຶດຕິກໍາແບບດັ້ງເດີມ, ບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນໃນ ANSI.

ຮັບຮູ້ # ຕົວປະຕິບັດການ stringisation ໃນຄໍານິຍາມ macro ພຽງແຕ່ຖ້າທ່ານໃຊ້ --hashes
ທາງເລືອກ. (ມັນເປັນການເພີ່ມ ANSI, ພຽງແຕ່ຕ້ອງການເນື່ອງຈາກວ່າ stringisation ວົງຢືມ (ຂ້າງເທິງ) ແມ່ນ
ຫ້າມໂດຍ ANSI.)

ຮັກສາພື້ນທີ່ຂາວພາຍໃນຄຳນິຍາມການປ່ຽນຂໍ້ຄວາມຢ່າງແນ່ນອນ (modulo newlines),
ແຕ່ພື້ນທີ່ຊັ້ນນໍາແລະທາງຫລັງຖືກລົບລ້າງ.

ຮັກສາພື້ນທີ່ຂາວພາຍໃນນິຍາມມະຫາພາກ (ແລະຕິດຕາມມັນ) ຢ່າງແນ່ນອນ (ໂມດູໂລ
newlines), ແຕ່ຊ່ອງຊັ້ນນໍາແມ່ນຖືກລົບລ້າງ.

ຮັກສາຊ່ອງຫວ່າງພາຍໃນການໂຕ້ຖຽງການໂທມະຫາພາກຢ່າງແນ່ນອນ (ລວມທັງແຖວໃໝ່), ແຕ່ນຳໜ້າ
ແລະພື້ນທີ່ trailing ໄດ້ຖືກລົບລ້າງ.

ມີ -- ຮູບແບບ ທາງ​ເລືອກ​, ການ​ສືບ​ຕໍ່​ເສັ້ນ​ໃນ​ການ​ທົດ​ແທນ​ຕົວ​ຫນັງ​ສື​ຫຼື​ຄໍາ​ນິ​ຍາມ macro​
ຖືກຮັກສາໄວ້ເປັນການແບ່ງແຖວໃນການໂທມະຫາພາກ. (ເປັນປະໂຫຍດສໍາລັບການຈັດວາງລະຫັດທີ່ລະອຽດອ່ອນໃນ
Haskell.)

ໃຊ້ cpphs-hugs ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo ເປັນຕົວແປງສັນຍານຮູບພາບ JPEG
    ທີ່ໃຊ້ຄໍາແນະນໍາ SIMD (MMX, SSE2,
    NEON, AltiVec) ເພື່ອເລັ່ງພື້ນຖານ
    ເປີດການບີບອັດ JPEG ແລະ decompression
    x86,x8...
    ດາວໂຫລດ libjpeg-turbo
  • 2
    ຜູ້ຈັດການດາວໂຫລດ Xtreme
    ຜູ້ຈັດການດາວໂຫລດ Xtreme
    ໂຄງການມີເຮືອນໃຫມ່ໃນປັດຈຸບັນ:
    https://xtremedownloadmanager.com/ For
    ນັກພັດທະນາ:
    https://github.com/subhra74/xdm Xtreme
    Download Manager ເປັນ​ເຄື່ອງ​ມື​ທີ່​ມີ​ອໍາ​ນາດ t ...
    ດາວໂຫລດ Xtreme Download Manager
  • 3
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    ຄຸນນະສົມບັດ: 4:3 ແລະ 16:9 ຄວາມລະອຽດຕ່ໍາ
    VGA outputPS/2 keyboard ແລະຫນູ
    ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ທີ່ອີງໃສ່ຂໍ້ຄວາມ input (TUI)
    ກັບ dialog managerPartial Unicode
    ສະ​ຫນັບ​ສະ​ຫນູນ​ຂ້າ​ໃຊ້ ...
    ດາວໂຫລດ TTGO VGA32 Lite
  • 4
    Clover EFI bootloader
    Clover EFI bootloader
    ໂຄງການໄດ້ຍ້າຍໄປ
    https://github.com/CloverHackyColor/CloverBootloader..
    ຄຸນສົມບັດ: ເປີດ macOS, Windows, ແລະ Linux
    ໃນ UEFI ຫຼືຮູບແບບ legacy ໃນ Mac ຫຼື PC ກັບ
    ຢູ...
    ດາວໂຫລດ Clover EFI bootloader
  • 5
    unitedrpms
    unitedrpms
    ເຂົ້າຮ່ວມກັບພວກເຮົາໃນ Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    ເປີດໃຊ້ URPMS repository ໃນຂອງທ່ານ
    ລະບົບ -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    ດາວໂຫລດ unitedrpms
  • 6
    ເພີ່ມຫ້ອງສະCຸດ C ++
    ເພີ່ມຫ້ອງສະCຸດ C ++
    Boost ສະຫນອງການ Portable ຟຣີ
    ຫ້ອງສະໝຸດ C++ ທີ່ໄດ້ທົບທວນຄືນໂດຍໝູ່. ໄດ້
    ເນັ້ນໜັກໃສ່ຫ້ອງສະໝຸດແບບເຄື່ອນທີ່
    ເຮັດວຽກໄດ້ດີກັບຫ້ອງສະຫມຸດມາດຕະຖານ C ++.
    ເບິ່ງ http://www.bo...
    ດາວໂຫລດ Boost C++ Libraries
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad