yaccplan9 - Dalam Talian di Awan

Ini ialah arahan yaccplan9 yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


yacc - satu lagi penyusun-penyusun

SINOPSIS


yacc [ pilihan ... ] tatabahasa

DESCRIPTION


Yacc menukar tatabahasa bebas konteks dan kod terjemahan kepada set jadual untuk
LR(1) penghurai dan penterjemah. Tatabahasa mungkin samar-samar; peraturan keutamaan yang ditentukan ialah
digunakan untuk memecahkan kekaburan.

Fail keluaran, y.tab.c, mesti disusun oleh pengkompil C untuk menghasilkan atur cara This
program mesti dimuatkan dengan fungsi penganalisis leksikal, yylex(kosong) (sering dijana oleh
lex(1)), dengan a utama(int berhujah, tangki *argv[]) program, dan dengan rutin pengendalian ralat,
yyerror(char*).

Pilihannya ialah

-o output Output terus ke fail yang ditentukan dan bukannya y.tab.c.

-Dn Buat fail y.debug, yang mengandungi mesej diagnostik. Untuk memasukkan mereka ke dalam
parser, susun dengan simbol prapemproses yydebug ditakrifkan. Jumlah
output diagnostik daripada parser dikawal oleh nilai n. Nilai 0 dilaporkan
kesilapan; 1 laporan pengurangan; nilai yang lebih tinggi (sehingga 4) termasuk lebih banyak maklumat
tentang peralihan negeri.

-v Buat fail y.keluaran, mengandungi penerangan tentang jadual penghuraian dan daripada
konflik yang timbul daripada kekaburan dalam tatabahasa.

-d Buat fail y.tab.h, mengandungi #tentukan kenyataan yang mengaitkan yacc-ditugaskan
`kod token' dengan `nama token' yang diisytiharkan pengguna. Sertakan ia dalam fail sumber
selain daripada y.tab.c untuk memberi akses kepada kod token.

-s berpunca Tukar awalan nama fail y.tab.c, y.tab.h, y.debug, dan y.keluaran kepada
berpunca.

-S Tulis penghurai yang menggunakan Stdio dan bukannya cetak rutin dalam libc.

-l Lumpuhkan arahan #line dalam parser yang dijana.

-a Hasilkan penghurai yang mengambil hujah jenis Yyarg dan lulus hujah ini
untuk setiap seruan fungsi lexer, yylex. Yyarg mengandungi setiap contoh
state dan ahli tunggal yang boleh dilihat oleh pengguna, arg, jenis void*.

Spesifikasi yacc itu sendiri pada asasnya sama dengan versi UNIX yang diterangkan dalam
rujukan yang dinyatakan di bawah. Selain daripada -D pilihan, perbezaan utama yang relevan ialah:

Antara muka kepada persekitaran C adalah secara lalai melalui daripada
; yang -S pilihan membalikkan ini.

Penghurai menerima teks input UTF (lihat utf(7)), yang mempunyai beberapa kesan.
Pertama, nilai pulangan bagi yylex() tidak lagi sesuai dengan a pendek; kedua, permulaan
nilai untuk bukan terminal kini ialah 0xE000 dan bukannya 257.

Penghurai yang dijana boleh menjadi rekursif: tindakan boleh memanggil yyparse, contohnya kepada
melaksanakan semacam #include kenyataan dalam penterjemah.

Akhirnya, beberapa kerja dalaman yang tidak didokumenkan bagi penghurai telah diubah, yang mana
boleh menjejaskan program yang mengetahui terlalu banyak tentang strukturnya.

Gunakan yaccplan9 dalam talian menggunakan perkhidmatan onworks.net



Program dalam talian Linux & Windows terkini