Alasan mempelajari Konsep Bahasa Pemrograman :
- Meningkatan kemampuan untuk mengekspresikan ide-ide
- Meningkatan latar belakang untuk memilih bahasa yang sesuai
- Meningkatan kemampuan untuk belajar bahasa baru
- Pemahaman yang Lebih baik tentang pentingnya pelaksanaan/implementasi
- Penggunaan bahasa Lebih baik yang sudah dikenal
- Secara keseluruhan untuk kemajuan komputasi
Programming Domains :
1. Aplikasi ilmiah/ Scientific
applications
- Sejumlah besar menggunakan perhitungan floating point, penggunaan array.
- Fortran
- Menghasilkan laporan, menggunakan angka desimal dan karakter
- COBOL
3. Kecerdasan buatan/Artificial
intelligence
- Simbol daripada nomor dimanipulasi; penggunaan daftar link
- LISP
4. Sistem pemrograman/Systems
programming
- Butuh efisiensi karena terus digunakan
- C
5. web Software
- Koleksi eklektik bahasa: markup (misalnya, XHTML), script (misalnya PHP), untuk keperluan umum (misalnya, Java)
Kriteria Bahasa Pemrograman :
Readability: Mudah untuk dibaca dan dimengerti
Writability: Mudah untuk membuat sebuah program
Reliability: Kesesuaian dengan spesifikasi/ kehandalannya
Cost: Biaya yang terjangkau
Pengaruh pada design Bahasa :
Arsitektur komputer
Bahasa yang dikembangkan di sekitar arsitektur komputer umum, yang dikenal sebagai arsitektur von Neumann
Pemrograman Metodologi
Metodologi pengembangan perangkat lunak baru (misalnya, berorientasi objek pengembangan perangkat lunak) menyebabkan paradigma pemrograman baru dan dengan perluasan, bahasa pemrograman baru
Compilation/ Kompilasi :
- Menerjemahkan program tinggi tingkat (bahasa sumber) ke dalam kode mesin (machine language)
- Lambat penerjemahan, eksekusi cepat
- Proses kompilasi memiliki beberapa tahap:
- Analisis leksikal: mengubah karakter dalam program sumber menjadi satuan-satuan leksikal
- Sintaks analisis: mengubah unit leksikal menjadi pohon parse yang mewakili struktur sintaksis dari program
- Semantik analisis: menghasilkan kode intermediate
- Pembuatan kode: kode mesin yang dihasilkan
Proses Kompilasi :
Introduction/ Pengenalan :
- Sintaks: bentuk atau struktur dari ekspresi, pernyataan, dan unit program
- Semantik: arti dari ekspresi, pernyataan, dan unit program
- Sintaks dan semantik memberikan definisi bahasa
- Definisi Pengguna bahasa :
- Penyusun bahasa lain
- Pelaksana
- Programmer (pengguna bahasa)
Masalah Umum Menggambarkan Sintaks: Terminologi
- Kalimat adalah string dari beberapa karakter alfabet
- Bahasa adalah seperangkat kalimat
- Lexeme adalah unit terendah sintaksis dari suatu bahasa (misalnya, *, jumlah, mulai)
- Token adalah kategori dari lexeme (misalnya, identifier)
CFG and BNF
Contexs- Free Grammars (Tata bahasa Bebas Konteks)
Dikembangkan oleh Noam Chomsky pada pertengahan 1950-an
Generator Bahasa, dimaksudkan untuk menggambarkan sintaks dari bahasa alami
Mendefinisikan kelas bahasa yang disebut bahasa bebas konteks
Backus Naur Form-(1959)
Diciptakan oleh John Backus untuk menggambarkan Algol 58. BNF setara dengan tata bahasa bebas konteks
BNF Fundamental
- Dalam BNF, abstraksi digunakan untuk mewakili kelas struktur sintaksis
- Mereka bertindak seperti variabel sintaksis (juga disebut simbol nonterminal, atau hanya terminal)
-Terminal adalah leksem atau token
-Aturan A memiliki sisi kiri (Left-Hand Side), yang merupakan nonterminal, dan sisi kanan (Right-Hand Side), yang merupakan serangkaian terminal dan / atau nonterminals
-Nonterminals sering ditutupi dalam kurung sudut
Contoh aturan BNF:
-Tata Bahasa: satu set yang tidak kosong hingga aturan
-Sebuah simbol awal adalah elemen khusus dari nonterminals dari tata bahasa
BNF Rules/ Aturan BNF :
Sebuah abstraksi (atau simbol nonterminal) dapat memiliki lebih dari satu RHS
| begin <stmt_list> end
Menggambarkan Daftar
Daftar sintaksis dijelaskan menggunakan rekursif
| Ident,
Derivasi adalah aplikasi diulang aturan, dimulai dengan simbol awal dan berakhir dengan kalimat (semua simbol terminal)
Contoh Grammar :
Contoh Derivasi :
Parse tree
Sebuah representasi hirarkis dari turunan
0 Komentar untuk "Konsep Bahasa Pemrograman"