Flex เป็นที่รู้จักกันอย่างกว้างขวางว่าเป็นตัววิเคราะห์คำศัพท์ที่รวดเร็วและเป็นแอพพลิเคชันบรรทัดคำสั่งแบบฟรีและหลายแพลตฟอร์มแบบโอเพนซอร์สที่ใช้ใน C / C ++ และออกแบบมาจากออฟเซตเพื่อใช้ในการสร้างเครื่องสแกนเนอร์
เครื่องสแกนเนอร์ที่สร้างโดยเครื่องมือ Flex ซึ่งไม่ควรสับสนกับการใช้ฟรีของ GNU ที่ไม่ใช่ GNU เป็นโปรแกรมที่สามารถจดจำรูปแบบคำศัพท์ในข้อความหรือที่เรียกว่าแอ็พพลิเคชันที่ทำการจับคู่รูปแบบข้อความได้
Flex ได้รับการออกแบบมาเพื่อให้สามารถสร้างไฟล์ต้นฉบับ C ที่เรียกว่า "lex.yy.c" ซึ่งสามารถกำหนดฟังก์ชัน yylex () ได้ ซอฟต์แวร์เป็นเครื่องมือบรรทัดคำสั่งเพื่อให้คุณสามารถใช้งานได้ผ่านทางเครื่องจำลองปลายทางใดก็ได้
ตัวเลือกบรรทัดคำสั่ง
ตัวเลือกบรรทัดคำสั่งของโปรแกรมจะจัดอยู่ในประเภทต่างๆเช่นการบีบอัดตารางการแก้จุดบกพร่องไฟล์พฤติกรรมสแกนเนอร์รหัสที่สร้างขึ้นและอื่น ๆ หากต้องการดูได้อย่างรวดเร็วให้เรียกใช้ & lsquo; flex --help & rsquo; หลังจากติดตั้งซอฟต์แวร์ในระบบของคุณแล้ว
ระหว่างตัวเลือกบรรทัดคำสั่งการบีบอัดตารางเราสามารถพูดถึงความสามารถในการสร้างคลาสที่เท่าเทียมกันและ / หรือความเท่าเทียมกันของเมตาเพื่อใช้การแทนตารางอื่นเพื่อใช้การบีบอัดเริ่มต้นเพื่อสร้างสแกนเนอร์ขนาดใหญ่และเร็วเช่นกัน ไม่บีบอัดตาราง
การแก้จุดบกพร่องตัวเลือกบรรทัดคำสั่งรวมถึงการสนับสนุนการเปิดใช้งานโหมดดีบักในสแกนเนอร์สนับสนุนการเขียนสรุปสถิติสแกนเนอร์เป็น stdout สนับสนุนการใช้งาน Flex ในโหมดการสืบค้นกลับรวมทั้งการสนับสนุนการเขียนข้อมูลการสำรองข้อมูลไปยังไฟล์ที่ระบุ รายงานประสิทธิภาพสำหรับ stderr
พฤติกรรมของเครื่องสแกนเนอร์สามารถปรับแต่งผ่านทางตัวเลือกบรรทัดคำสั่งซึ่งรวมถึงการสนับสนุนการสร้างเครื่องสแกนแบบ 7 บิตหรือ 8 บิตการสนับสนุนการสร้างเครื่องสแกนแบบแบทช์การสนับสนุนสำหรับการสร้างเครื่องสแกนแบบโต้ตอบรวมถึงการสนับสนุนการติดตาม นับบรรทัดใน yylineno.
รองรับแพลตฟอร์ม 32 บิต / 64 บิต Linux และ BSD
ซอฟต์แวร์ได้รับการเขียนขึ้นโดยสิ้นเชิงทั้งภาษา C และ C ++ และเป็นที่รู้จักว่าทำงานได้ดีทั้งบนระบบปฏิบัติการ Linux และ FreeBSD ขณะนี้สามารถติดตั้งได้บนคอมพิวเตอร์ที่รองรับสถาปัตยกรรมชุดคำสั่งแบบ 64 บิตหรือ 32 บิต
มีอะไรใหม่ ในรุ่นนี้: p>
- สร้าง:
- เป้าหมายการเยื้องตอนนี้ทราบเกี่ยวกับรูปแบบใหม่ (ณ วันที่ 2.6.0) ของ flex กฎการเยื้องที่จะใช้ไม่ถูกต้องและจำเป็นต้องได้รับการแก้ไข
- ไฟล์ที่รวมอยู่ในการจัดจำหน่ายดิจิตัลนี้สร้างขึ้นโดยรุ่นของดิ้นที่รวมอยู่ในการแจกจ่าย
- สคริปต์กำหนดค่ามีความคิดที่ดีกว่าว่าควรใช้ส่วนหัวใดในการสร้าง flex นอกจากนี้ยังจะมีข้อผิดพลาดเมื่อตรวจพบฟังก์ชันที่ขาดหายไป
- เราได้ลดรุ่นของ automake และ gettext ที่ configure.ac รายการตามต้องการสำหรับการสร้าง flex ใน autogen.sh ตอนนี้เราจะตรวจสอบวิธีเรียก libtoolize และใช้สิ่งที่เราพบในส่วนที่เหลือของสคริปต์
- เนื่องจากไฟล์ใน lib / ถูกดึงขึ้นตามต้องการโดย src / เราจะไม่สร้าง Makefile สำหรับไดเรกทอรีดังกล่าวอีกต่อไป
- Flex สามารถคอมไพล์ได้
- เอกสาร:
- พิมพ์ผิดบางส่วนออกจากคู่มือ
- สแกนเนอร์:
- การปรับปรุงประสิทธิภาพเล็กน้อยบางอย่าง
- เราเคารพผู้ใช้ที่กำหนดไว้ yy_ * มาโครอีกครั้ง เรายังระมัดระวังมากยิ่งขึ้นในการไม่ใช้คำจำกัดความของแมโครในไฟล์ส่วนหัว
- มีการเปิดตัวการแก้ไขปัญหาเกี่ยวกับการพกพาจำนวนมากเพื่อให้อาคารมีความน่าเชื่อถือมากขึ้นในแพลตฟอร์มอื่น ๆ นอกจากนี้สายการทำงานที่ล้าสมัยได้ถูกนำออกแล้ว
- เมื่อสร้าง flex executable เอง% # ความคิดเห็นจาก flex.skl จะถูกลบออกเมื่อสร้างอาร์เรย์ของรหัส C ซึ่งจะช่วยลดขนาดของ flex
- ชุดทดสอบ:
- สคริปต์ทั้งหมดในชุดทดสอบนี้ทำงานโดย $ (SHELL) และมีการรวมการแก้ไขปัญหาเกี่ยวกับการพกพาที่จำเป็นไว้แล้ว
- การอ้างอิงชุดทดสอบมีการจัดการที่ดีขึ้นมาก นี่เป็นเรื่องสำคัญหากคุณพัฒนา flex หรือชุดทดสอบอย่างแข็งขัน
- การทดสอบที่ขึ้นอยู่กับคุณลักษณะที่ขึ้นกับแพลตฟอร์มจะถูกข้ามไปเมื่อไม่มีแพลตฟอร์มเหล่านี้
- เมื่อใช้งาน & quot; make check & quot; ตอนนี้คุณสามารถเลือก V = 0 เพื่อปิดการสร้างได้มากขึ้น นี่เป็นประโยชน์เมื่อคุณไม่ค่อยกังวลเกี่ยวกับ
ความคิดเห็นที่ไม่พบ