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

ไอคอน Fav ของ OnWorks

antlr - ออนไลน์ในคลาวด์

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

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

โครงการ:

ชื่อ


antlr - เครื่องมืออื่นสำหรับการรู้จำภาษา

ซิงค์


มดแดง [ตัวเลือก] grammar_files

DESCRIPTION


มด แปลงรูปแบบเพิ่มเติมของไวยากรณ์ที่ไม่มีบริบทเป็นชุดของฟังก์ชัน C ซึ่ง
ใช้รูปแบบที่มีประสิทธิภาพของ parser LL(k) deterministic recursive-descent โดยตรง
ไวยากรณ์ที่ปราศจากบริบทอาจเสริมด้วยเพรดิเคตเพื่อให้ความหมายมีอิทธิพล
การแยกวิเคราะห์; นี้ช่วยให้รูปแบบของการแยกวิเคราะห์ตามบริบท การย้อนรอยที่เลือกก็เช่นกัน
พร้อมใช้งานเพื่อจัดการกับโครงสร้างที่ไม่ใช่ LL(k) และแม้แต่โครงสร้างที่ไม่ใช่ LALR(k) มด ยังผลิต a
คำจำกัดความของ lexer ซึ่งสามารถแปลงเป็นรหัส C โดยอัตโนมัติสำหรับ DFA-based
lexer โดย DLG. ดังนั้น มดแดง ทำหน้าที่เหมือนกับของ ย๊ากอย่างไรก็ตามมันคือ
มีความยืดหยุ่นมากขึ้นอย่างเห็นได้ชัดและรวมเข้ากับเครื่องกำเนิดไฟฟ้าเล็กเซอร์ (มดแดง โดยตรง
สร้าง DLG รหัสในขณะที่ ย๊าก และ ไฟแนนเชี่ จะได้รับคำอธิบายที่เป็นอิสระ) ไม่เหมือน ย๊าก
ซึ่งยอมรับ ลลล(1) ไวยากรณ์ มดแดง ยอมรับไวยากรณ์ LL(k) ในรูปแบบ BNF แบบขยาย —
ซึ่งขจัดความจำเป็นในการจัดลำดับความสำคัญ

Like ย๊าก ไวยากรณ์ มดแดง ไวยากรณ์สามารถใช้แอตทริบิวต์สัญลักษณ์ที่ได้รับการบำรุงรักษาโดยอัตโนมัติ
ค่าที่อ้างอิงเป็นตัวแปรดอลลาร์ ยิ่งไปกว่านั้น เพราะ มดแดง สร้าง parsers จากบนลงล่าง
ค่าโดยพลการอาจสืบทอดมาจากกฎหลัก (ส่งผ่านเหมือนพารามิเตอร์ของฟังก์ชัน)
มด มีกลไกในการสร้างและจัดการ abstract-syntax-trees

มีความน่ารักอื่น ๆ มากมายใน มดแดงรวมถึงความสามารถในการเผยแพร่หนึ่งไวยากรณ์
หลายไฟล์หรือแม้แต่หลายไวยากรณ์ในไฟล์เดียว ความสามารถในการสร้าง
เวอร์ชันของไวยากรณ์ที่มีการดำเนินการแยกออก (เพื่อวัตถุประสงค์ในการจัดทำเอกสาร) และ lots
ขึ้น

OPTIONS


-ค n ใช้ได้ถึง n สัญลักษณ์ของ lookahead เมื่อใช้บีบอัด (การประมาณเชิงเส้น)
มองไปข้างหน้า. Lookahead ประเภทนี้ราคาถูกมากในการคำนวณและเคยลองใช้มาก่อน
LL(k) lookahead แบบเต็ม ซึ่งมีความซับซ้อนแบบทวีคูณในกรณีที่เลวร้ายที่สุด ใน
โดยทั่วไป Lookahead ที่บีบอัดอาจลึกกว่ามาก (เช่น -ck 10) มากกว่า full
lookahead (ซึ่งมักจะต้องน้อยกว่า 4)

- ปชช สร้างเอาต์พุต C++ จากทั้ง ANTLR และ DLG

-cr สร้างการอ้างอิงโยงสำหรับกฎทั้งหมด สำหรับแต่ละกฎ พิมพ์รายการอื่นๆ ทั้งหมด
กฎเกณฑ์ที่อ้างอิง

-e1 ความคลุมเครือ/ข้อผิดพลาดที่แสดงในรายละเอียดต่ำ (ค่าเริ่มต้น)

-e2 ความคลุมเครือ/ข้อผิดพลาดที่แสดงในรายละเอียดเพิ่มเติม

-e3 ความคลุมเครือ/ข้อผิดพลาดที่แสดงในรายละเอียดที่ระทมทุกข์

-เฟ ไฟล์
ตั้งชื่อใหม่ ความผิดพลาด ไฟล์.

-ฉ ไฟล์
ตั้งชื่อใหม่ stdpccts.h ส่วนหัว (เปิด -ก) เพื่อยื่น

- ชั้น ไฟล์
เปลี่ยนชื่อเอาต์พุตคำศัพท์ parser.dlg, เพื่อยื่น

-เอฟเอ็ม ไฟล์
เปลี่ยนชื่อไฟล์ด้วยคำจำกัดความโหมดคำศัพท์ โหมด.h, เพื่อยื่น

-fr ไฟล์
เปลี่ยนชื่อไฟล์ซึ่งทำการแมปสัญลักษณ์ที่มองเห็นได้ทั่วโลก รีแมป.h, เพื่อยื่น

- ฟุต ไฟล์
ตั้งชื่อใหม่ โทเค็น.h ไฟล์.

-กา สร้างรหัสที่เข้ากันได้กับ ANSI (ตัวพิมพ์เริ่มต้น) นี้ไม่ได้รับการทดสอบอย่างเข้มงวด
เพื่อให้เป็นไปตามมาตรฐาน ANSI XJ11 C แต่ก็ใกล้เคียง เอาต์พุตปกติของ มดแดง is
ปัจจุบันสามารถคอมไพล์ได้ภายใต้ทั้ง K&R, ANSI C และ C++—ตัวเลือกนี้ไม่ทำอะไรเลย
เพราะ มดแดง สร้าง #ifdef จำนวนมากเพื่อทำสิ่งที่ถูกต้องขึ้นอยู่กับ
ภาษา.

-gc แสดงว่า มดแดง ไม่ควรสร้างรหัส C กล่าวคือทำการวิเคราะห์บน .เท่านั้น
ไวยากรณ์.

-gd ใส่รหัส C ในแต่ละ มดแดง สร้างฟังก์ชันการแยกวิเคราะห์เพื่อให้สำหรับ
การจัดการที่ผู้ใช้กำหนดของการติดตามการแยกวิเคราะห์โดยละเอียด รหัสที่ใส่ประกอบด้วย
เรียกมาโครที่ผู้ใช้จัดหาหรือฟังก์ชันที่เรียกว่า zzTRACIN และ zzTRACEOUT.
อาร์กิวเมนต์เดียวคือ a ถัง * ชี้ไปที่สตริงสไตล์ C ซึ่งเป็นไวยากรณ์
กฎที่รับรู้โดยฟังก์ชันการแยกวิเคราะห์ปัจจุบัน หากไม่มีการกำหนดให้
ฟังก์ชันการติดตาม เมื่อเข้าและออกกฎ จะมีการพิมพ์ข้อความระบุว่า
ว่ากฎเฉพาะที่เข้าหรือออก

-ge สร้างคลาสข้อผิดพลาดสำหรับแต่ละเทอร์มินัลที่ไม่ใช่

-ก ผลิต stdpccts.h เพื่อให้รวมไฟล์ที่ไม่ได้สร้าง ANTLR ไฟล์นี้มี
คำจำกัดความทั้งหมดที่จำเป็นในการอธิบายประเภทของ parser ที่สร้างโดย มดแดง (เช่นเท่าไหร่
ใช้ Lookahead และไม่ว่าจะสร้างต้นไม้หรือไม่) และมี ส่วนหัว
การดำเนินการที่ระบุโดยผู้ใช้

-กค สร้าง parsers ที่หน่วงเวลาการดึงข้อมูล lookahead จนกว่าจะจำเป็น หากไม่มีตัวเลือกนี้
มดแดง สร้าง parsers ซึ่งมักจะมี k มีโทเค็นของ lookahead

-gl สร้างข้อมูลบรรทัดเกี่ยวกับการดำเนินการทางไวยากรณ์ในตัวแยกวิเคราะห์ C ของฟอร์ม # เส้น "ไฟล์"
ซึ่งทำให้ข้อความแสดงข้อผิดพลาดจากคอมไพเลอร์ C/C++ สมเหตุสมผลมากขึ้นตามที่ต้องการ
ชี้ไปที่ไฟล์ไวยากรณ์ไม่ใช่ไฟล์ C ที่เป็นผลลัพธ์ การแก้จุดบกพร่องนั้นง่ายกว่าเช่นกัน
เพราะคุณจะก้าวผ่านไวยากรณ์ไม่ใช่ไฟล์ C

-gs อย่าสร้างชุดสำหรับรายการนิพจน์โทเค็น แทนที่จะสร้าง ||-แยกออกจากกัน
ลำดับของ LA(1)==token_number. ค่าเริ่มต้นคือการสร้างชุด

-gt สร้างโค้ดสำหรับ Abstract-Syntax Trees

-gx อย่าสร้างไฟล์ตัววิเคราะห์คำศัพท์ (เกี่ยวกับ dlg) ตัวเลือกนี้ควรเป็น
กำหนดเมื่อผู้ใช้ต้องการจัดเตรียมเครื่องวิเคราะห์คำศัพท์ที่ปรับแต่งได้ นอกจากนี้ยังอาจ
ถูกนำมาใช้ ทำ สคริปต์ที่จะทำให้ parser เท่านั้นที่จะสร้างใหม่เมื่อไม่เปลี่ยนแปลง
ส่งผลกระทบต่อโครงสร้างคำศัพท์ที่ทำกับไวยากรณ์การป้อนข้อมูล

-k n ตั้งค่า k ของ LL(k) เป็น n; เช่นตั้งค่าโทเค็นการมองไปข้างหน้า (ค่าเริ่มต้น==1)

-o dir Directory ที่ไฟล์เอาต์พุตควรไป (default="") นี้เป็นสิ่งที่ดีมากสำหรับ
ทำให้ไดเร็กทอรีต้นทางชัดเจนจากการวางไข่ ANTLR และ DLG

-p ไวยากรณ์ที่สมบูรณ์ รวบรวมจากไฟล์ไวยากรณ์อินพุตทั้งหมดและถอดทั้งหมด
ข้อคิดเห็นและการดำเนินการที่ฝังไว้ อยู่ในรายการของ แย่. นี้มีวัตถุประสงค์เพื่อช่วยใน
การดูไวยากรณ์ทั้งหมดโดยรวมและเพื่อขจัดความจำเป็นในการดำเนินการต่อไป
ย่อให้อ่านไวยกรณ์ง่าย ดังนั้นจึงเป็นการดีกว่าที่จะ
ฝังการกระทำที่ซับซ้อนลงในไวยากรณ์โดยตรง แทนที่จะเรียกว่า
รูทีนย่อย เนื่องจากโอเวอร์เฮดการเรียกรูทีนย่อยจะถูกบันทึกไว้

- พ่อ ตัวเลือกนี้เหมือนกับ -p ยกเว้นว่าเอาต์พุตจะมีหมายเหตุประกอบกับตัวแรก
ชุดที่กำหนดจากการวิเคราะห์ไวยากรณ์

-prc on
เปิดการคำนวณและยกบริบทเพรดิเคต

-prc ปิด
ปิดการคำนวณและยกบริบทเพรดิเคต ตัวเลือกนี้ทำให้ 1.10
ทำตัวเหมือนรุ่น 1.06 พร้อมตัวเลือก - พฤ บน. การคำนวณบริบทปิดโดย
ค่าเริ่มต้น.

-rl n จำกัดจำนวนโหนดทรีสูงสุดที่ใช้โดยการวิเคราะห์ไวยากรณ์ไว้ที่ n.
เป็นครั้งคราว มดแดง ไม่สามารถวิเคราะห์ไวยากรณ์ที่ผู้ใช้ส่งมาได้ นี้
สถานการณ์ที่หายากจะเกิดขึ้นได้ก็ต่อเมื่อไวยากรณ์มีขนาดใหญ่และจำนวนการมองไปข้างหน้า
มีค่ามากกว่าหนึ่ง PCCTS ใช้อัลกอริธึมการวิเคราะห์แบบไม่เชิงเส้นเพื่อจัดการกับ
กรณีทั่วไปของการแยกวิเคราะห์ LL(k) อย่างไรก็ตาม ความซับซ้อนโดยเฉลี่ยของการวิเคราะห์คือ
ใกล้เป็นเส้นตรงเนื่องจากการเดินเท้าแฟนซีในการดำเนินการซึ่งช่วยลด
จำนวนการเรียกใช้อัลกอริธึม LL(k) แบบเต็ม ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น
ถ้าถึงขีดจำกัดนี้ ซึ่งบ่งชี้ถึงโครงสร้างไวยากรณ์ที่กำลังวิเคราะห์เมื่อ
มดแดง ตีความไม่เชิงเส้น ใช้ตัวเลือกนี้ if มดแดง ดูเหมือนจะออกไปทานอาหารกลางวันและ
ดิสก์ของคุณเริ่มฟาดฟัน ลอง n= 10000 เพื่อเริ่มต้น เมื่อสิ่งก่อสร้างที่กระทำผิดมี
ถูกระบุ พยายามขจัดความคลุมเครือที่ มดแดง พยายามที่จะเอาชนะด้วย
การวิเคราะห์การมองไปข้างหน้าขนาดใหญ่ การแนะนำตัวของ (...)? บล็อกย้อนรอย
ขจัดปัญหาเหล่านี้ - มดแดง ไม่วิเคราะห์ทางเลือกที่เริ่มต้น
กับ (...)? (มันแค่ย้อนรอย ถ้าจำเป็น ณ รันไทม์)

-w1 ตั้งระดับการเตือนต่ำ อย่าเตือนถ้าภาคแสดงความหมายและ/หรือ (...)? บล็อกคือ
ถือว่าครอบคลุมทางเลือกที่คลุมเครือ

-w2 การตัดสินใจแยกวิเคราะห์ที่คลุมเครือทำให้เกิดคำเตือนแม้ว่าภาคแสดงความหมายหรือ (...)?
ใช้บล็อก เตือนว่าเพรดิเคตบริบทคำนวณและภาคแสดงความหมาย
แยกแยะการผลิตทางเลือกที่ไม่สมบูรณ์

- อ่านไวยากรณ์จากอินพุตมาตรฐานและสร้าง stdin.c เป็นไฟล์ parser

พิเศษ ที่ต้องคำนึงถึง


มด ทำงาน...เราคิดว่า. ไม่มีการรับประกันโดยปริยายของสิ่งใด เราจองไม่
ถูกกฎหมาย สิทธิ์ในซอฟต์แวร์ที่เรียกว่า Purdue Compiler Construction Tool Set (PCCTS) —
PCCTS เป็นสาธารณสมบัติ บุคคลหรือบริษัทจะทำอะไรก็ได้ตามต้องการด้วย
ซอร์สโค้ดที่แจกจ่ายด้วย PCCTS หรือรหัสที่สร้างโดย PCCTS รวมถึง
การรวม PCCTS หรือผลลัพธ์ของมันเข้ากับซอฟต์แวร์เชิงพาณิชย์ เราสนับสนุนให้ผู้ใช้
พัฒนาซอฟต์แวร์ด้วย PCCTS อย่างไรก็ตาม เราขอให้เครดิตเพื่อการพัฒนา
พีซีซีทีเอส โดย "เครดิต" เราหมายความว่าหากคุณรวมซอร์สโค้ดของเราเข้ากับหนึ่งใน . ​​ของคุณ
โปรแกรม (ผลิตภัณฑ์เชิงพาณิชย์ โครงการวิจัย หรืออื่นๆ) ที่คุณรับทราบ
ข้อเท็จจริงอยู่ที่ไหนสักแห่งในเอกสารรายงานการวิจัย ฯลฯ ... ถ้าคุณชอบ PCCTS และมี
พัฒนาเครื่องมือที่ดีพร้อมผลลัพธ์ โปรดแจ้งว่าคุณพัฒนาโดยใช้ PCCTS
ตราบใดที่มีการปฏิบัติตามแนวทางเหล่านี้ เราคาดว่าจะปรับปรุงระบบนี้ต่อไปและ
คาดว่าจะมีเครื่องมืออื่นๆ พร้อมใช้งานเมื่อเสร็จสิ้น

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


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

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

คำสั่ง Linux

Ad