yaccplan9 - Online di Cloud

Ini adalah perintah yaccplan9 yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


yacc - satu lagi compiler-compiler

RINGKASAN


yacc [ Option ... ] tatabahasa

DESKRIPSI


Yacc mengonversi tata bahasa bebas konteks dan kode terjemahan menjadi satu set tabel untuk
LR(1) pengurai dan penerjemah. Tata bahasanya mungkin ambigu; aturan prioritas yang ditentukan adalah
digunakan untuk memecahkan ambiguitas.

Berkas keluaran, y.tab.c, harus dikompilasi oleh compiler C untuk menghasilkan program This
program harus dimuat dengan fungsi penganalisis leksikal, yylex (batal) (sering dihasilkan oleh
lex(1)), dengan utama (ke dalam argumen, tangki *argumen[]) program, dan dengan rutin penanganan kesalahan,
yyerror(karakter*).

Pilihannya adalah

-o keluaran Output langsung ke file yang ditentukan alih-alih y.tab.c.

-Dn Buat file y.debug, berisi pesan diagnostik. Untuk memasukkannya ke dalam
parser, kompilasi dengan simbol preprocessor yydebug didefinisikan. Jumlah
keluaran diagnostik dari parser diatur oleh nilai n. Nilai 0 laporan
kesalahan; 1 laporan pengurangan; nilai yang lebih tinggi (hingga 4) menyertakan lebih banyak informasi
tentang transisi negara.

-v Buat file y.keluaran, berisi deskripsi tabel parsing dan
konflik yang timbul dari ambiguitas dalam tata bahasa.

-d Buat file y.tab.h, mengandung #menetapkan pernyataan yang mengaitkan yacc-ditugaskan
`kode token' dengan `nama token' yang dideklarasikan oleh pengguna. Sertakan dalam file sumber
selain y.tab.c untuk memberikan akses ke kode token.

-s batang Ubah awalan nama file y.tab.c, y.tab.h, y.debug, dan y.keluaran untuk
batang.

-S Tulis parser yang menggunakan Stdio alih-alih mencetak rutinitas di libc.

-l Nonaktifkan arahan #line di parser yang dihasilkan.

-a Hasilkan parser yang mengambil argumen tipe Yyarg dan meneruskan argumen ini
untuk setiap pemanggilan fungsi lexer, yylex. Yyarg berisi per-instance
state dan satu anggota yang terlihat oleh pengguna, arg, bertipe void*.

Spesifikasi dari yacc itu sendiri pada dasarnya sama dengan versi UNIX yang dijelaskan dalam
referensi yang disebutkan di bawah ini. disamping -D pilihan, perbedaan utama yang relevan adalah:

Antarmuka ke lingkungan C secara default melalui daripada
; itu -S opsi membalikkan ini.

Parser menerima teks input UTF (lihat utf(7)), yang memiliki beberapa efek.
Pertama, nilai balik dari yylex() tidak lagi cocok dengan pendek; kedua, permulaan
nilai untuk non-terminal sekarang 0xE000 daripada 257.

Parser yang dihasilkan dapat bersifat rekursif: tindakan dapat memanggil kamu menguraikan, misalnya ke
menerapkan semacam #include pernyataan dalam penerjemah.

Akhirnya, beberapa cara kerja parser yang tidak terdokumentasi telah diubah, yang
dapat mempengaruhi program yang tahu terlalu banyak tentang strukturnya.

Gunakan yaccplan9 online menggunakan layanan onworks.net



Program online Linux & Windows terbaru