Flex adalah generator penganalisa leksikal cepat. Ini adalah alat untuk menghasilkan program yang melakukan pencocokan pola pada teks. Flex adalah gratis (tetapi non-GNU) pelaksanaan program lex Unix asli.
Flex adalah alat untuk menghasilkan scanner. Sebuah scanner, kadang-kadang disebut tokenizer, adalah program yang mengakui pola leksikal dalam teks. Program fleksibel membaca file input yang ditentukan pengguna atau input standar jika tidak ada nama file yang diberikan, untuk penjelasan tentang scanner untuk menghasilkan. Deskripsi adalah dalam bentuk pasang ekspresi reguler dan kode C, yang disebut aturan. Flex menghasilkan file sumber C bernama, "lex.yy.c", yang mendefinisikan yylex fungsi (). File "lex.yy.c" dapat dikompilasi dan dihubungkan untuk menghasilkan dieksekusi. Ketika eksekusi dijalankan, itu menganalisis input untuk kejadian dari teks yang cocok dengan ekspresi reguler untuk setiap aturan. Setiap kali menemukan pertandingan, itu akan mengeksekusi kode C yang sesuai.
Apakah Scanner itu?
Pemindai melakukan analisis leksikal dari program tertentu (dalam kasus kami, program sederhana). Ini membaca program sumber sebagai urutan karakter dan mengakui "lebih besar" unit tekstual disebut token. Sebagai contoh, jika program sumber berisi karakter
VAR ics142: INTEGER; deklarasi / / variabel
scanner akan menghasilkan token
VAR ID (ics142) Usus ID (INTEGER) titik koma
VAR ID (ics142) Usus ID (INTEGER) titik koma
untuk diproses pada tahap selanjutnya dari compiler. Perhatikan bahwa pemindai membuang spasi dan komentar antara token, yaitu mereka yang "disaring" dan tidak diteruskan ke tahap selanjutnya. Contoh nontokens adalah tab, feed baris, tombol kembali, dll
Cara menggunakan FLEX?
FLEX (generator analyzer Cepat leksikal) adalah alat untuk menghasilkan scanner. Dalam manfaat dari menulis scanner dari awal, Anda hanya perlu mengidentifikasi kosakata bahasa tertentu (misalnya Sederhana), menulis spesifikasi pola menggunakan ekspresi reguler (misalnya digit [0-9]), dan FLEX akan membangun scanner untuk Anda. FLEX umumnya digunakan dengan cara yang digambarkan di sini:
Pertama, FLEX membaca spesifikasi scanner baik dari file * masukan lex, atau dari input standar,. Dan menghasilkan sebagai output file sumber C lex.yy.c. Kemudian, lex.yy.c dikompilasi dan dihubungkan dengan "-LFL" perpustakaan untuk menghasilkan a.out dieksekusi. Akhirnya, a.out menganalisis input stream dan mengubahnya menjadi urutan token.
*. Lex adalah dalam bentuk pasang ekspresi reguler dan kode C. (Sample1.lex, sample2.lex)
*. Lex adalah dalam bentuk pasang ekspresi reguler dan kode C. (Sample1.lex, sample2.lex)
sample1
sample2
lex.yy.c mendefinisikan yylex rutin () yang menggunakan spesifikasi untuk mengenali token.
a.out sebenarnya pemindai!
a.out sebenarnya pemindai!
Tidak ada komentar:
Posting Komentar