Apa kelebihan dan kekurangan spesifik dari setiap cara untuk mengerjakan tata bahasa bahasa pemrograman? Mengapa / Kapan saya harus menggulung sendiri? Mengapa / Kapan saya harus menggunakan
Menganalisis (tidak) data terstruktur untuk mengubahnya menjadi format terstruktur dan dinormalisasi.
Apa kelebihan dan kekurangan spesifik dari setiap cara untuk mengerjakan tata bahasa bahasa pemrograman? Mengapa / Kapan saya harus menggulung sendiri? Mengapa / Kapan saya harus menggunakan
Saya telah terjun ke dunia parser baru-baru ini, ingin membuat bahasa pemrograman saya sendiri. Namun, saya menemukan bahwa ada dua pendekatan penulisan parser yang agak berbeda: Parser Generators dan Parser Combinators. Menariknya, saya tidak dapat menemukan sumber daya yang menjelaskan dalam...
Saya pikir saya mengerti tujuan AST, dan saya telah membangun beberapa struktur pohon sebelumnya, tetapi tidak pernah AST. Saya sebagian besar bingung karena node adalah teks dan bukan angka, jadi saya tidak bisa memikirkan cara yang bagus untuk memasukkan token / string karena saya parsing...
Saya sedang meneliti tentang suite kompiler gcc di wikipedia di sini , ketika ini muncul: GCC mulai menggunakan parser LALR yang dibuat dengan Bison, tetapi secara bertahap beralih ke parser rekursif-keturunan yang ditulis tangan; untuk C ++ pada tahun 2004, dan untuk C dan Objective-C pada...
Saya sering bertanya-tanya mengapa parsing ketat tidak dipilih saat membuat HTML. Untuk sebagian besar riwayat Internet, browser telah menerima segala jenis markup dan mencoba yang terbaik untuk menguraikannya. Proses ini menurunkan kinerja, memungkinkan orang untuk menulis omong kosong, dan...
Saya memperhatikan kegembiraan saya bahwa C ++ 11 memiliki std::sto@keluarga fungsi untuk dengan mudah membongkar int / mengapung / rindu apa pun dari string. Namun saya terkejut, yang terjadi malah sebaliknya. Mengapa komite standar tidak menyertakan std::itoskeluarga fungsi untuk beralih dari int...
Bagaimana komentar umumnya diperlakukan dalam bahasa pemrograman dan markup? Saya menulis parser untuk beberapa bahasa markup kustom dan ingin mengikuti prinsip paling tidak mengejutkan , jadi saya mencoba menentukan konvensi umum. Misalnya, haruskah komentar yang tertanam di dalam token...
Terpesona membaca tentang game petualangan teks The Hobbit yang menampilkan parser yang sangat tangguh bernama "Inglish": ... Inglish mengizinkan seseorang mengetik kalimat tingkat lanjut seperti "tanya Gandalf tentang peta yang ingin tahu lalu bawa pedang dan bunuh troll dengannya". Pengurai...
Pengurai konvensional mengkonsumsi seluruh input mereka dan menghasilkan pohon pengurai tunggal. Saya mencari yang mengkonsumsi aliran kontinu dan menghasilkan hutan parse [ edit: lihat diskusi dalam komentar mengenai mengapa penggunaan istilah itu mungkin tidak konvensional ]. Perasaan saya...
Memori (dan kunci sumber daya) dikembalikan ke OS pada titik deterministik selama eksekusi program. Alur kontrol suatu program dengan sendirinya cukup untuk mengetahui di mana, pasti, sumber daya yang diberikan dapat dialokasikan. Sama seperti bagaimana seorang programmer manusia tahu di mana harus...
Saya telah diberi tugas untuk mengimplementasikan Bahasa Spesifik Domain untuk alat yang mungkin menjadi sangat penting bagi perusahaan. Bahasa ini sederhana tetapi tidak sepele, itu sudah memungkinkan loop bersarang, penggabungan string, dll. Dan secara praktis yakin bahwa konstruksi lain akan...
Saya mencoba memahami kompilasi dan interpretasi, langkah demi langkah mencari gambaran total. Jadi saya mengajukan pertanyaan saat membaca http://www.cs.man.ac.uk/~pjj/farrell/comp3.html artikel ini Ia mengatakan : Tahap selanjutnya dari kompiler disebut Parser. Bagian kompiler ini memiliki...
Saya sedang dalam proses membuat bahasa pemrograman saya sendiri, yang saya lakukan untuk tujuan belajar. Saya sudah menulis lexer dan parser keturunan rekursif untuk subset dari bahasa saya (saya saat ini mendukung ekspresi matematika, seperti + - * /dan kurung). Pengurai memberikan saya kembali...
Pertanyaan ini dimigrasikan dari Stack Overflow karena dapat dijawab di Rekayasa Perangkat Lunak Stack Exchange. Bermigrasi 7 tahun yang lalu . Masalah: Jalankan perintah dalam bentuk string. contoh perintah: /user/files/ list all; setara dengan: /user/files/ ls
Seorang kolega dan saya baru-baru ini berdebat tentang apakah sebuah regex murni mampu sepenuhnya meng-enkapsulasi format csv, sedemikian rupa sehingga ia mampu mengurai semua file dengan char escape, quote char, dan char separator yang diberikan. Regex tidak harus mampu mengubah karakter ini...
Saya ingin membuat parser aturan umum untuk sistem RPG gaya pena dan kertas. Suatu aturan biasanya melibatkan 1 hingga N entitas 1 hingga N peran dadu dan menghitung nilai berdasarkan beberapa atribut entitas. Sebagai contoh: Pemain memiliki STR 18, senjatanya yang dilengkapi saat ini memberinya...
Ketika saya mulai menggunakan kombinator parser, reaksi pertama saya adalah rasa pembebasan dari apa yang terasa seperti perbedaan buatan antara parsing dan lexing. Tiba-tiba semuanya hanya parsing! Namun, saya baru-baru ini menemukan posting ini di codereview.stackexchange menggambarkan seseorang...
Jika saya ingat kursus kompiler saya dengan benar, kompiler tipikal memiliki garis besar yang disederhanakan berikut: Penganalisa leksikal memindai (atau memanggil beberapa fungsi pemindaian) kode sumber karakter-demi-karakter String karakter input diperiksa terhadap kamus leksem untuk...
Tes apa yang harus saya gunakan untuk menguji parser csv? Saya memiliki parser csv sederhana di C #, dan saya ingin memastikan bahwa saya memiliki cakupan tes unit yang baik dari semua kasus tepi umum (dan tidak umum). Tes apa yang harus saya gunakan untuk mengidentifikasi masalah potensial dan...
Saya sedang mengerjakan suatu produk di mana tanggung jawab salah satu modul adalah mem-parsing file XML dan membuang konten yang diperlukan dalam database. Meskipun persyaratan saat ini hanya untuk mem-parsing file XML, saya ingin merancang modul parsing saya dengan cara yang saya dapat mendukung...