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

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

โครงการ:

ชื่อ


yacc - คอมไพเลอร์คอมไพเลอร์อีกตัวหนึ่ง

เรื่องย่อ


ย๊าก [ ตัวเลือก ... ] ไวยากรณ์

DESCRIPTION


ยัค แปลงไวยากรณ์และโค้ดการแปลที่ไม่มีบริบทเป็นชุดของตารางสำหรับ an
LR(1) parser และนักแปล ไวยากรณ์อาจคลุมเครือ กฎลำดับความสำคัญที่กำหนดคือ
ใช้เพื่อขจัดความคลุมเครือ

ไฟล์ที่ส่งออก, y.tab.cจะต้องคอมไพล์โดยคอมไพเลอร์ C เพื่อผลิตโปรแกรม This
โปรแกรมจะต้องโหลดด้วยฟังก์ชันวิเคราะห์คำศัพท์ yylex(เป็นโมฆะ) (มักสร้างโดย
ไฟแนนเชี่(1)) ด้วย a หลัก (int อาร์จีซี, ถัง *อาร์จีวี[]) โปรแกรม และด้วยรูทีนการจัดการข้อผิดพลาด
yyerror(อักขระ*).

ทางเลือกคือ

-o เอาท์พุต ส่งออกโดยตรงไปยังไฟล์ที่ระบุแทน y.tab.c.

-Dn สร้างไฟล์ คุณดีบักที่มีข้อความวินิจฉัย เพื่อรวมไว้ใน
parser คอมไพล์ด้วยสัญลักษณ์ตัวประมวลผลล่วงหน้า ยีเดบั๊ก กำหนดไว้ ปริมาณของ
เอาต์พุตการวินิจฉัยจาก parser ถูกควบคุมโดยค่า n. ค่า 0 รายงาน
ข้อผิดพลาด; 1 รายงานการลด; ค่าที่สูงกว่า (มากถึง 4) รวมถึงข้อมูลเพิ่มเติม
เกี่ยวกับการเปลี่ยนสถานะ

-v สร้างไฟล์ y.เอาท์พุทมีคำอธิบายของตารางการแยกวิเคราะห์และของ
ความขัดแย้งที่เกิดจากความคลุมเครือในไวยากรณ์

-d สร้างไฟล์ y.tab.hที่มี #กำหนด ข้อความที่เชื่อมโยง ย๊าก-ที่ได้รับมอบหมาย
`รหัสโทเค็น' พร้อม `ชื่อโทเค็น' ที่ผู้ใช้ประกาศ รวมไว้ในไฟล์ต้นฉบับ
นอกเหนือจาก y.tab.c เพื่อให้เข้าถึงรหัสโทเค็น

-s แง่ง เปลี่ยนคำนำหน้าของชื่อไฟล์ y.tab.c, y.tab.h, คุณดีบักและ y.เอาท์พุท ไปยัง
แง่ง.

-S เขียน parser ที่ใช้ Stdio แทน the พิมพ์ กิจวัตรใน libc

-l ปิดการใช้งาน #line directives ใน parser ที่สร้างขึ้น

-a สร้าง parser ที่รับอาร์กิวเมนต์ประเภท Yyarg และส่งผ่านอาร์กิวเมนต์นี้
สำหรับการเรียกใช้ฟังก์ชัน lexer แต่ละครั้ง yylex Yyarg มีต่ออินสแตนซ์
state และสมาชิกที่มองเห็นได้เพียงคนเดียว arg ประเภท void*

ข้อกำหนดของ ย๊าก โดยพื้นฐานแล้วจะเหมือนกับเวอร์ชัน UNIX ที่อธิบายไว้ใน
ข้อมูลอ้างอิงที่กล่าวถึงด้านล่าง นอกจาก -D ตัวเลือก ความแตกต่างที่เกี่ยวข้องหลักคือ:

อินเทอร์เฟซไปยังสภาพแวดล้อม C เป็นค่าเริ่มต้นผ่าน มากกว่า
; -S ตัวเลือกกลับสิ่งนี้

parser ยอมรับข้อความอินพุต UTF (ดู ยูทีเอฟ(7)) ซึ่งมีผลสองสามประการ
ขั้นแรกให้คืนค่าของ วายเล็กซ์() ไม่เหมาะกับ a . อีกต่อไป Short ; ประการที่สองการเริ่มต้น
ค่าสำหรับเทอร์มินัลที่ไม่ใช่ตอนนี้คือ 0xE000 แทนที่จะเป็น 257

parser ที่สร้างขึ้นสามารถเรียกซ้ำได้: การดำเนินการสามารถเรียก ยีพาร์ส, ตัวอย่างเช่น ถึง
ใช้การเรียงลำดับของ #include คำสั่งในล่าม

ในที่สุด การทำงานภายในที่ไม่มีเอกสารบางอย่างของ parser ก็เปลี่ยนไป ซึ่ง
อาจส่งผลกระทบต่อโปรแกรมที่รู้โครงสร้างมากเกินไป

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



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด