Last active
January 26, 2019 16:35
-
-
Save ha-yi/e2fcc5b7672bff324af9bdf8e2ccba7a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Setiap ada Awal, pasti ada Akhir. | |
—------- | |
dalam beberapa bahasa pemrograman, sebuah blok kode dibuka dengan tanda { dan di akhiri dengan tanda }, atau karakter lainnya. | |
pada HTML, ada tag pembuka, dan ada tag penutup, misalnya dibuka dengan <b> dan di tutup dengan </b> | |
Jihad, ingin membuat sebuah bahasa pemrograman baru dengan nama Bahasa Asahab. Bahasa pemroraman yang dia buat ini | |
memanfaatkan logika Palindrome, untuk membedakan sebuah blok kode program, namun hanya berbentuk kebalikan dari nama fungsi itu. | |
Misalnya deklarasi sebuah fungsi: | |
``` | |
mulai | |
cetak “Hello World” | |
ialum | |
``` | |
dala contoh di atas, blok kode nya bernama `mulai` yang sekaligus menjadi nama fungsi nya, dengan isi satu fungsi | |
ini yakni `cetak “Hello World”`. penutup dari blok kode ini yakni token `ialum`. | |
Bahasa pemrograman yg dibuat jihad ini memiliki beberapa karakteristik: | |
-> Case Insensitive, | |
-> satu buah fungsi hanya bisa memiliki satu parameter dan wajib memiliki sebuah parameter, dan tidak memiliki return value | |
-> versi saat ini hanya bisa memproses text dan angka | |
-> text ditandai dengan tanda petik “” | |
-> tidak ada aturan indentation, atau blank space atau new space sebagai pemisah sebuah perintah. | |
-> untuk memanggil nilai parameter yang dikirim ke sebuah fungsi menggunakan tanda _ (under score). | |
-> hanya satu variabel yang dikenal yakni _ (underscore). token yg bukan text dan angka adalah nama sebuah fungsi. | |
dengan karakteristik di atas, ternyata ada banyak programmer pemula yang menulis kode nya dengan sangat berantakan, | |
sehingga tidak mudah untuk dibaca. contohnya: | |
``` | |
tulis cetak _ tambahkan 4 kurangi 2 silut tulis “Halo anwar" | |
``` | |
sulit untuk memahami program diatas jika langsung di baca begitu saja. Namun, ternyata Jihad ingin membuat sebuat | |
script untuk membuat auto formatter dari bahasa pemrograman tersebut. Contoh hasil yang diharapkan dari script ini | |
yakni jika contoh kode di atas di format maka hasilnya: | |
``` | |
tulis | |
cetak _ | |
tambahkan 4 | |
kurangi 2 | |
silut | |
tulis “Halo anwar” | |
``` | |
Bisakah kalian membantu jihad membuat auto formatter ini?? | |
INPUT: | |
file source code bahasa asahab dengan extension *.ji | |
OUTPUT: | |
output ditampilkan ke standar output yang sudah di format dengan baik, dengan rule: | |
-> Setiap perintah atau pemanggilan fungsi harus diakhiri dengan new line (baris baru) | |
-> Isi dalam sebuah blok fungsi diawali dengan indentation sebanya 4 spasi. | |
-> Setiap akhir blok fungsi harus dipisah dengan 2 new space. | |
jwbn.a lgsg ketik di komen?
japri via telegram t.me/hayinukman
btw ini khusus untuk member komunitas Lombok Dev, jika belum tergabung, silahkan join terlebih dahulu....
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bahasa pemrogramannya bisa buat fungsi dalam fungsi kah? 😆