| Ragel. Ragel Compiles Executable Finite State Mesin dari Bahasa Reguler |
Unduh sekarang |
Ragel. Peringkat & Ringkasan
- Nama Penerbit:
- Adrian Thurston
- Situs web penerbit:
- http://research.cs.queensu.ca/~thurston/ragel/
Ragel. Tag
Ragel. Keterangan
Ragel mengkompilasi mesin negara terbatas yang dapat dieksekusi dari bahasa reguler Ragel mengkompilasi mesin negara terbatas yang dapat dieksekusi dari bahasa reguler. Ragel menargetkan C, Objective-C, D, C ++, Java dan Ruby. Ragel State Machines tidak hanya dapat mengenali urutan byte sebagai mesin ekspresi reguler, tetapi juga dapat melaksanakan kode pada titik sewenang-wenang dalam pengakuan bahasa reguler. Embedding kode dilakukan dengan menggunakan operator inline yang tidak mengganggu sintaks bahasa reguler. Bahasa inti terdiri dari operator ekspresi reguler standar (seperti Union, Concatenation dan Star Kleene) dan Operator Perlakuan Tindakan. Ekspresi reguler pengguna dikompilasi ke mesin negara deterministik dan tindakan tertanam dikaitkan dengan transisi mesin. Memahami hubungan formal antara ekspresi reguler dan automata terbatas deterministik adalah kunci untuk menggunakan Ragel Efektif. Danel juga menyediakan operator yang memungkinkan Anda mengontrol non-determinisme yang Anda buat, buat pemindai, dan membangun mesin status menggunakan model statechart. Dimungkinkan juga untuk mempengaruhi eksekusi mesin negara dari dalam tindakan tertanam dengan melompat atau menelepon ke bagian lain dari mesin, atau input pemrosesan ulang. Cagragel menyediakan antarmuka yang sangat fleksibel untuk bahasa host yang mencoba menempatkan pembatasan minimal Kode yang dihasilkan diintegrasikan ke dalam aplikasi. Kode yang dihasilkan tidak memiliki dependensi. Apa jenis tugasnya adalah ragel baik? · Menulis implementasi protokol yang kuat. · Mengurai format data. · Analisis leksikal bahasa pemrograman. · Memvalidasi input pengguna. Berikut adalah beberapa fitur utama "Ragel": · Membangun mesin negara terbatas menggunakan: operator bahasa reguler, operator grafik negara, operator pemindai, beberapa campuran tindakan · Embed ke dalam mesin di tempat yang sewenang-wenang. · Mengontrol non-determinisme menggunakan operator yang dijaga. · Minimalkan Algoritma Hopcroft. · Visualisasikan output dengan graphviz. · Gunakan byte, byte ganda atau huruf berukuran kata. · Hasilkan C, C ++, Objective-C, D, Java atau Kode Ruby tanpa dependensi. · Pilih dari tabel atau kontrol Aliran Mesin Negara. Apa yang baru dalam rilis ini: · Bug di Generasi Graphviz diperbaiki. · Bug yang terkait dengan sistem dan mesin 64-bit yang didefinisikan dengan nomor HEX diperbaiki. · Sistem build dipindahkan ke Automake.
Ragel. Perangkat Lunak Terkait