หมายเหตุ ว่า
- Code: Select all
ส่วนของ lex เราใช้โปรแกรม flex
ส่วนของ yacc เราใช้โปรแกรม bison
คำชี้แจงว่า
- Code: Select all
flex และ bison เป็นโปรแกรมโปรแกรมหนึ่ง(สองอันก็สองโปรแกรม) ซึ่งทำงานบน linux
เราไม่แน่ใจนะว่าใน windows มีให้ใช้หรือเปล่า แล้วใช้โปรแกรมอะไร
แต่ว่าเราลอง search ว่าflex on windows มันก็มี .exe ให้ดาวน์โหลดนะ
แต่ยังไม่ได้ลองใช้
อยากได้ข้อมูลเพิ่มเติม เข้า http://www.google.co.th แล้วลอง search flex , bison หรือ lex & yacc ดูนะ
นี่ก็ได้ลองศึกษาไปแล้วบ้าง แต่ทำต่อไม่ได้ เลยเอามาเขียน
เผื่อจะมีประโยชน์และก็รอคนอื่นทำต่อด้วย
วิธีการติดตั้ง
เราใช้ ubuntu อยู่เป็น linux อะนะ
วิธีการลงก็ง่ายๆ
พิมพ์ code ข้างล่างลงใน terminal นะ
- Code: Select all
sudo apt-get install flex
sudo apt-get install bison
แล้วก็มาว่าด้วย flex กันต่อ
flex ก็เหมือน compiler ที่ compile โค๊ดภาษา c อะแหละ
ซึ่ง compiler ภาษา c มันจะ compile ไฟล์ .c ให้เป็น ภาษาเครื่อง (.exe -- executable file)
แต่ว่าไอ้เจ้า flex เนี่ย จะ compile ไฟล์นามสกุล .l ให้เป็นไฟล์ภาษา c (ไฟล์ .c )
แล้วเราก็เอา ไฟล์ภาษา c ที่ได้มา compile ต่อเป็นภาษาเครื่อง
แล้วเราก็จะได้โปรแกรมที่รับ input แล้วเอาไปตัดเป็น tokens ตามที่เราตั้งกฎไว้
ยกตัวอย่าง ตามทีเราเขียนไว้นะ