cparser เป็นตัวแยกวิเคราะห์ C99 แบบเรียกซ้ำที่เขียนด้วยภาษา C99 ประกอบด้วยตัวประมวลผลล่วงหน้า, lexer, parser, สร้าง AST และทำการวิเคราะห์เชิงความหมาย โดยทำหน้าที่เป็นส่วนหน้าของไลบรารีการแสดงระดับกลางของ libFirm วิธีนี้ดำเนินการปรับให้เหมาะสมและการสร้างโค้ด คอมไพเลอร์รองรับการคอมไพล์ข้ามสถาปัตยกรรมเป้าหมายหลายตัวด้วยสวิตช์บรรทัดคำสั่ง มันมาพร้อมกับตรรกะของไดรเวอร์สำหรับการเรียกแอสเซมเบลอร์และตัวเชื่อมโยงรวมถึงตัวเลือกบรรทัดคำสั่งในการแยกวิเคราะห์ ซึ่งช่วยให้สามารถทดแทน gcc หรือ clang ในหลาย ๆ สถานการณ์ได้
ความต้องการ:
คลาย libfirm ในไดเร็กทอรีชื่อ libfirm ในไดเร็กทอรีต้นทาง หรือคุณสามารถตั้งค่าตำแหน่งอื่นด้วยไฟล์ 'config.mak' เพียงพิมพ์ 'make' ในไดเรกทอรีต้นทาง ผลลัพธ์จะถูกใส่ลงในไดเร็กทอรีที่เรียกว่า "build" คุณสามารถแทนที่แฟล็กตัวประมวลผลล่วงหน้า คอมไพลเลอร์ และลิงก์เกอร์ รวมถึงพาธในตัวสำหรับไดเร็กทอรีรวมได้โดยการสร้างไฟล์ 'config.mak'
cparser มีระบบสร้าง cmake เพิ่มเติม CMake เป็นระบบบิลด์ที่ซับซ้อนกว่า make-based build และนักพัฒนา cparser ส่วนใหญ่ไม่ได้ใช้ อย่างไรก็ตาม สามารถปรับแฟล็กคอมไพลเลอร์และลิงก์เกอร์เพื่อสร้างไลบรารีแบบแบ่งใช้สำหรับระบบที่หลากหลายมากขึ้น มีเป้าหมายในการติดตั้ง และมักจะคุ้นเคยมากกว่าสำหรับผู้ที่เตรียมแพ็คเกจสำหรับการแจกจ่าย
แม้ว่า cparser มักจะทำงานได้ดีจากไดเร็กทอรีต้นทาง/บิลด์ การติดตั้งที่เหมาะสมควรได้รับการกำหนดค่าด้วยพาธระบบที่ถูกต้อง สำหรับสิ่งนี้ ควรสร้างไฟล์ config.mak
และตั้งค่าตัวแปรต่อไปนี้อย่างเหมาะสมสำหรับระบบ: PREFIX
, SYSTEM_INCLUDE_DIR
, LOCAL_INCLUDE_DIR
, COMPILER_INCLUDE_DIR
, MULTILIB_M32_TRIPLE
, MULTILIB_M64_TRIPLE
, variant=optimize
ตัวแปรอาจถูกกำหนดให้ว่างเปล่า ดู config.default.mak
และ Makefile
สำหรับรายละเอียด
เว็บไซต์อย่างเป็นทางการ: http://libfirm.org/
อีเมลติดต่อ: [email protected]
รายชื่อผู้รับจดหมาย: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
เครื่องมือติดตามข้อบกพร่อง: http://pp.ipd.kit.edu/~firm/bugs
แชทรีเลย์อินเทอร์เน็ต: irc://chat.freenode.net/#firm