ภาษาอังกฤษอาหารฝรั่งเศสสเปน

ไอคอน Fav ของ OnWorks

cpphs-hugs - ออนไลน์ใน Cloud

เรียกใช้ cpphs-hugs ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง cpphs-hugs ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


cpphs - ตัวประมวลผลล่วงหน้าที่คล้ายกับ cpp-a-like สำหรับ Haskell

เรื่องย่อ


cpph [ชื่อไฟล์|ทางเลือกที่] ...

DESCRIPTION


cpph เป็นการนำกลับมาใช้ใหม่อย่างเสรีของ ซีพี (1) ตัวประมวลผลล่วงหน้า C ในและสำหรับ
ฮาสเคลล์.

ทำไมต้องใช้ cpp อีกครั้ง ถูกหรือผิด C พรีโปรเซสเซอร์ใช้กันอย่างแพร่หลายใน Haskell
รหัสแหล่งที่มา. เปิดใช้งานการคอมไพล์แบบมีเงื่อนไขสำหรับคอมไพเลอร์ที่แตกต่างกัน, different
คอมไพเลอร์รุ่นเดียวกันและแพลตฟอร์มระบบปฏิบัติการที่แตกต่างกัน นอกจากนี้ยังใช้เป็นครั้งคราว
สำหรับภาษามาโคร ซึ่งสามารถเปิดใช้งานรายละเอียดเฉพาะแพลตฟอร์มบางรูปแบบได้
การเติมเต็ม เช่น การสร้างคำจำกัดความของอินสแตนซ์และ FFI . ต้นแบบที่น่าเบื่อ
ประกาศ อย่างไรก็ตาม มีปัญหาสองประการกับ cpp นอกเหนือจากความสวยงามที่เห็นได้ชัด
คน:

สำหรับระบบ Haskell บางระบบ โดยเฉพาะ Hugs บน Windows ไม่มี cpp จริงโดย
ค่าเริ่มต้น.

แม้แต่สำหรับระบบ Haskell อื่น cpp ทั่วไปที่มีให้โดย gcc 3.x series
กำลังเปลี่ยนแปลงอย่างละเอียดในลักษณะที่ไม่เข้ากันกับไวยากรณ์ของ Haskell มี
มักมีปัญหากับช่องว่างสตริงและอักขระเฉพาะใน
ตัวระบุ ปัญหาเหล่านี้จะยิ่งแย่ลงเท่านั้น

ดังนั้นจึงดูเหมือนถูกต้องที่จะพยายามจัดหาทางเลือกอื่นให้กับ cpp ซึ่งทั้งคู่เข้ากันได้มากกว่า
Haskell และตัวมันเองเขียนด้วย Haskell เพื่อให้สามารถแจกจ่ายด้วยคอมไพเลอร์ได้

cpph ค่อนข้างมีคุณสมบัติครบถ้วนและเข้ากันได้กับ สไตล์ทรง สไตล์ซีพี
มันมีสองโหมด:

การรวบรวมตามเงื่อนไขเท่านั้น (--โนมาโคร),

และการขยายมาโครแบบเต็ม (ค่าเริ่มต้น)

In --โนมาโคร โหมด, cpph ดำเนินการคอมไพล์ตามเงื่อนไขเท่านั้น เช่น #includeของ,
#ถ้า'ทราย #ifdefถูกประมวลผลตามคำจำกัดความการแทนที่ข้อความ (ทั้งคำสั่ง-
บรรทัดและภายใน) แต่ไม่มีการขยายมาโครแบบกำหนดพารามิเตอร์ เต็ม
โหมดความเข้ากันได้ (ค่าเริ่มต้น) การแทนที่ข้อความและการขยายมาโครก็เช่นกัน
ประมวลผลในส่วนที่เหลือของข้อความที่ไม่ใช่ cpp

คุณสมบัติการทำงาน:

#ifdef การรวบรวมเงื่อนไขอย่างง่าย

#ถ้า ภาษาบูลีนเต็มรูปแบบของคำนิยาม (), &&, ||, == เป็นต้น

#เอลิฟ เงื่อนไขที่ถูกล่ามโซ่

#กำหนด
คำจำกัดความในบรรทัด (การแทนที่ข้อความและมาโคร)

#อันเดฟ การเพิกถอนคำจำกัดความในบรรทัด

#include
รวมไฟล์

#ไลน์ คำสั่งหมายเลขบรรทัด

\n ความต่อเนื่องของบรรทัดภายใน # directives ทั้งหมด

/ ** / token catenation ภายในคำจำกัดความของมาโคร

## Catenation โทเค็นสไตล์ ANSI

# การแปลงสตริงโทเค็นสไตล์ ANSI

__ไฟล์__
การแทนที่ข้อความพิเศษสำหรับข้อความแสดงข้อผิดพลาด DIY

__ไลน์__
การแทนที่ข้อความพิเศษสำหรับข้อความแสดงข้อผิดพลาด DIY

__วันที่__
การแทนที่ข้อความพิเศษ

__เวลา__
การแทนที่ข้อความพิเศษ

การขยายมาโครเป็นแบบเรียกซ้ำ การกำหนดชื่อแมโครใหม่จะไม่สร้างคำเตือน
สามารถกำหนดมาโครบนบรรทัดคำสั่งด้วย -D เช่นเดียวกับการเปลี่ยนข้อความ มาโคร
ชื่อได้รับอนุญาตให้เป็นตัวระบุ Haskell เช่น เฉพาะ ` และ backtick ´
อักขระซึ่งหลวมกว่าภาษา C เล็กน้อย แต่ยังไม่รวมตัวดำเนินการ
สัญลักษณ์

จำนวนบรรทัดในเอาต์พุตถูกรักษาไว้เพื่อให้ตัวประมวลผลในภายหลังสามารถให้
ข้อความแสดงข้อผิดพลาดที่มีความหมาย เมื่อไฟล์เป็น #include'NS, cpph แทรก #ไลน์ คำสั่งสำหรับ
เหตุผลเดียวกัน การกำหนดหมายเลขควรถูกต้องแม้ในกรณีที่มีการต่อบรรทัด
ถ้าคุณไม่ต้องการ #ไลน์ คำสั่งในผลลัพธ์สุดท้าย ใช้ --โนลีน ตัวเลือก

ข้อผิดพลาดทางไวยากรณ์ในคำสั่ง cpp จะส่งข้อความถึง stderr และหยุดโปรแกรม
ความล้มเหลวในการค้นหาไฟล์ #include'd ทำให้เกิดคำเตือนถึง stderr แต่การประมวลผลจะดำเนินต่อไป

คุณสามารถระบุชื่อไฟล์จำนวนเท่าใดก็ได้บนบรรทัดคำสั่ง ผลลัพธ์ขึ้นอยู่กับ
เอาต์พุตมาตรฐาน

-Dซิม กำหนดข้อความแทนที่ (ค่าเริ่มต้นคือ 1)

-ดีซิม=คลื่น
กำหนดข้อความแทนที่ด้วยค่าเฉพาะ

-Iเส้นทาง เพิ่มไดเร็กทอรีในเส้นทางการค้นหาสำหรับ #include's

-Oไฟล์ ระบุไฟล์สำหรับเอาต์พุต (ค่าเริ่มต้นคือ stdout)

--โนมาโคร
ประมวลผลเฉพาะ #ifdef's และ #include's
อย่าขยายมาโคร

--โนลีน
ลบ #line drops ออกจากเอาต์พุต

--สตริป
แปลงความคิดเห็นสไตล์ C เป็นช่องว่างแม้อยู่ภายนอก
คำสั่ง cpp

--แฮช
รู้จักตัวดำเนินการ stringise ของ ANSI # และ ## สำหรับ
token catenation ภายในมาโคร

--ข้อความ ถือว่าอินพุตเป็นข้อความธรรมดา ไม่ใช่รหัส Haskell

--เค้าโครง
รักษาบรรทัดใหม่ภายในการขยายมาโคร

--ไม่สว่าง
ลบความคิดเห็นแบบผู้รู้หนังสือ

--รุ่น
รายงานหมายเลขเวอร์ชันของ cpphs และหยุด

ไม่มีการแทนที่ข้อความที่กำหนดไว้โดยค่าเริ่มต้น (cpp ปกติมักจะมีคำจำกัดความ
สำหรับเครื่อง ระบบปฏิบัติการ ฯลฯ คุณสามารถเพิ่มสิ่งเหล่านี้ลงในซอร์สโค้ด cpph ได้อย่างง่ายดาย หากคุณต้องการ)
ค้นหาเส้นทางการค้นหาตามลำดับของ -I ยกเว้นว่าไดเร็กทอรีของ
ไฟล์การเรียก จากนั้นไดเร็กทอรีปัจจุบันจะถูกค้นหาก่อนเสมอ อีกครั้งไม่มี
เส้นทางการค้นหาเริ่มต้น (และอีกครั้ง นี้สามารถเปลี่ยนแปลงได้อย่างง่ายดาย)

ความแตกต่าง จาก CPP


โดยทั่วไป cpphs ขึ้นอยู่กับ สไตล์ทรง พฤติกรรม ไม่ใช่ ANSI C และมี
ตามความแตกต่างหลักจาก cpp มาตรฐาน

ทั่วไป

เทศกาล # ที่แนะนำคำสั่ง cpp ใด ๆ จะต้องอยู่ในคอลัมน์แรกของบรรทัด (ในขณะที่
ANSI อนุญาตช่องว่างก่อน # ).

สร้าง #ไลน์ n "ชื่อไฟล์" ไวยากรณ์ ไม่ใช่ # n "ชื่อไฟล์" ตัวแปร

ความคิดเห็น C จะถูกลบออกจากภายในคำสั่ง cpp เท่านั้น ไม่พรากจากผู้อื่น
ข้อความ. พิจารณาตัวอย่างเช่นใน Haskell สิ่งต่อไปนี้ทั้งหมดเป็นตัวดำเนินการที่ถูกต้อง
สัญลักษณ์: /* */ * / * อย่างไรก็ตาม คุณสามารถเปิดการลบความคิดเห็น C ด้วยปุ่ม --สตริป ตัวเลือก

แมโคร language

ยอมรับ / ** / สำหรับการวางโทเค็นในคำจำกัดความของมาโคร อย่างไรก็ตาม, /* */ (มีข้อความใด ๆ
ระหว่างความคิดเห็นเปิด/ปิด) แทรกช่องว่าง

ANSI ## ตัวดำเนินการวางโทเค็นสามารถใช้ได้กับ --แฮช ธง. นี่คือการหลีกเลี่ยง
ตีความโอเปอเรเตอร์ Haskell ที่ถูกต้องที่มีชื่อเดียวกันผิด

แทนที่พารามิเตอร์ที่เป็นทางการของมาโครด้วยค่าจริง แม้จะอยู่ภายในสตริง (double หรือ single
ยกมา) นี่เป็นพฤติกรรมดั้งเดิม ไม่รองรับใน ANSI

ตระหนักถึง # ตัวดำเนินการ stringisation ในคำจำกัดความของมาโครก็ต่อเมื่อคุณใช้ --แฮช
ตัวเลือก. (เป็นส่วนเพิ่มเติมของ ANSI เท่านั้น เนื่องจากสตริงที่ยกมา (ด้านบน) is
ห้ามโดย ANSI)

รักษาช่องว่างภายในคำจำกัดความการแทนที่ข้อความ (การขึ้นบรรทัดใหม่แบบโมดูล)
แต่พื้นที่นำหน้าและต่อท้ายถูกตัดออก

รักษาช่องว่างภายในคำจำกัดความของมาโคร (และต่อท้าย) ทุกประการ (modulo
ขึ้นบรรทัดใหม่) แต่พื้นที่นำหน้าจะถูกตัดออก

รักษาช่องว่างภายในอาร์กิวเมนต์การเรียกแมโครทุกประการ (รวมถึงการขึ้นบรรทัดใหม่) แต่นำหน้า
และช่องว่างต่อท้ายจะถูกตัดออก

กับ --เค้าโครง ตัวเลือก ความต่อเนื่องของบรรทัดในการแทนที่ข้อความหรือคำจำกัดความของมาโคร
จะถูกเก็บไว้เป็นการขึ้นบรรทัดใหม่ในการเรียกมาโคร (มีประโยชน์สำหรับโค้ดที่ไวต่อเลย์เอาต์ใน
ฮาสเคลล์)

ใช้ cpphs-hugs ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    ผู้จัดการ PAC
    ผู้จัดการ PAC
    PAC เป็นการแทนที่ Perl/GTK สำหรับ
    SecureCRT/สีโป๊ว/อื่นๆ (ลินุกซ์
    ssh/telnet/... gui)... มันมี GUI
    เพื่อกำหนดค่าการเชื่อมต่อ: ผู้ใช้
    รหัสผ่าน คาดว่าระเบียบ...
    ดาวน์โหลดตัวจัดการ PAC
  • 2
    GeoServer
    GeoServer
    GeoServer เป็นซอฟต์แวร์โอเพ่นซอร์ส
    เซิร์ฟเวอร์ที่เขียนด้วย Java ที่อนุญาตให้ผู้ใช้
    เพื่อแบ่งปันและแก้ไขข้อมูลเชิงพื้นที่
    ออกแบบมาเพื่อการทำงานร่วมกัน it
    เผยแพร่ดา...
    ดาวน์โหลด GeoServer
  • 3
    หิ่งห้อย III
    หิ่งห้อย III
    การเงินส่วนบุคคลฟรีและโอเพ่นซอร์ส
    ผู้จัดการ. คุณสมบัติ Firefly III
    ระบบการทำบัญชีสองรายการ คุณสามารถ
    ป้อนและจัดระเบียบของคุณอย่างรวดเร็ว
    ธุรกรรมที่ฉัน...
    ดาวน์โหลด หิ่งห้อย III
  • 4
    ส่วนขยาย Apache OpenOffice
    ส่วนขยาย Apache OpenOffice
    แคตตาล็อกอย่างเป็นทางการของ Apache
    ส่วนขยายของ OpenOffice คุณจะพบ
    นามสกุลตั้งแต่พจนานุกรมถึง
    เครื่องมือในการนำเข้าไฟล์ PDF และเชื่อมต่อ
    พร้อมต่อ...
    ดาวน์โหลดส่วนขยาย Apache OpenOffice
  • 5
    ตั๊กแตนตำข้าวBT
    ตั๊กแตนตำข้าวBT
    ตั๊กแตนตำข้าวเป็น web . ที่ปรับใช้ได้ง่าย
    ตัวติดตามบั๊กตามเพื่อช่วยบั๊กของผลิตภัณฑ์
    การติดตาม มันต้องใช้ PHP, MySQL และ a
    เว็บเซิร์ฟเวอร์. ชำระเงินตัวอย่างของเราและโฮสต์
    นำเสนอ...
    ดาวน์โหลด MantisBT.dll
  • 6
    LAN เมสเซนเจอร์
    LAN เมสเซนเจอร์
    LAN Messenger เป็นแอปพลิเคชั่นแชท p2p
    สำหรับการสื่อสารอินทราเน็ตและไม่
    ต้องการเซิร์ฟเวอร์ พกพาสะดวกหลากหลาย
    รองรับคุณสมบัติรวมถึง
    แจ้ง...
    ดาวน์โหลด LAN เมสเซนเจอร์
  • เพิ่มเติม»

คำสั่ง Linux

  • 1
    อาบิดวี
    อาบิดวี
    abidw - ทำให้เป็นอันดับ ABI ของ ELF
    ไฟล์ abidw อ่านไลบรารีที่ใช้ร่วมกันใน ELF
    จัดรูปแบบและปล่อยการแสดง XML
    ของ ABI ไปยังเอาต์พุตมาตรฐาน เดอะ
    ปล่อยออกมา ...
    วิ่งต่อไป
  • 2
    อาบีลินท์
    อาบีลินท์
    abilint - ตรวจสอบ abigail ABI
    การเป็นตัวแทนสามารถแยกวิเคราะห์พื้นเมืองได้
    การแสดง XML ของ ABI ตามที่ปล่อยออกมา
    โดย abidw. เมื่อแยกวิเคราะห์ XML แล้ว
    ปราบปราม...
    เรียกใช้ abilint
  • 3
    coresendmsg
    coresendmsg
    coresendmsg - ส่งข้อความ CORE API
    ถึง core-daemon daemon ...
    เรียกใช้ coresendmsg
  • 4
    core_server
    core_server
    core_server - เซิร์ฟเวอร์หลักสำหรับ
    สแปมเบย์ รายละเอียด: ปัจจุบันให้บริการ
    เว็บอินเตอร์เฟสเท่านั้น กำลังเสียบปลั๊ก
    ผู้ฟังสำหรับโปรโตคอลต่างๆ คือ TBD
    นี้ ...
    เรียกใช้ core_server
  • 5
    แฟลช
    แฟลช
    fwflash - โปรแกรมสำหรับแฟลชไฟล์ภาพ
    ไปยังอุปกรณ์ NXT ที่เชื่อมต่ออยู่ ...
    เรียกใช้ fwflash
  • 6
    fwts-รวบรวม
    fwts-รวบรวม
    fwts-collect - รวบรวมบันทึกสำหรับ fwts
    รายงานจุดบกพร่อง ...
    เรียกใช้ fwts-collect
  • เพิ่มเติม»

Ad