19 poin oleh smc0478 2025-11-19 | 29 komentar | Bagikan ke WhatsApp

Halo.
Saya membuat bahasa pemrograman yang ditulis dalam bahasa Korea.

Alasan pembuatan

  • Setelah melihat bahasa pemrograman yang ditulis dengan Hangul seperti Umjeng dan Aheui, saya ingin mencoba coding secara alami dalam bahasa Korea.
  • Ini adalah pembelajaran untuk nantinya membuat bahasa yang benar-benar matang.

Instalasi

pip install korean-lang  

Jenis sintaks

Saya membuat sintaks yang diperkenalkan di bawah ini.
Untuk detail lebih lengkap, silakan lihat tautan GitHub saya.

Output

"annyeong sesang!"을 출력한다.  

Variabel

  • Nama variabel terdiri dari huruf Korea (hal seperti giyeok tidak diperbolehkan), _, dan angka.
  • Variabel dapat berisi bilangan bulat, string, array, dictionary, dan sebagainya.
jeongsuneun 1i doenda.  
sosuneun 3.141592ga doenda.  
ireumeun "Hong Gildong"i doenda.  
chamgapseun chami doenda.  
bingapseun eopseumi doenda.  
sutja_baeyeoreun [1 daeum 2 daeum 3 daeum 4]i doenda.  
saram_jeongboneun {"ireum"eun "Kim Cheolsu" tto "nai"neun 25}i doenda.  

Kondisional

  • manyak ... imyeon/myeon, anigo manyak ... imyeon/myeon, animyeon ... imyeon/myeon bekerja mirip dengan if, else if, else dan menjalankan daeum ... mundaneul silhaenghanda..
nai-neun ipryeokhan geoseul jeongsuro_byeonhwanhan geosi doenda.  
  
manyak naiga 18boda keugeona gatdamyeon daeum  
    "seonginimnida."reul chulryeokhanda.  
mundaneul silhaenghanda.  
anigo manyak naiga 13boda keuda tto-neun naiga 13rang gatdamyeon daeum  
    "cheongsonyeonimnida."reul chulryeokhanda.  
mundaneul silhaenghanda.  
animyeon daeum  
    "eoriniimnida."reul chulryeokhanda.  
mundaneul silhaenghanda  

Perulangan

  • gyesok ... in dongan mirip dengan while dan menjalankan daeum ... mundaneul banbokhanda..
  • ...e inneun gak hangmokdeureul ...ro gajyeowa adalah for ... in ... dan menjalankan daeum ... mundaneul banbokhanda..
sutjaneun 0i doenda.  
gyesok sutjaga 5boda jakdain dongan daeum  
    sutjareul chulryeokhanda.  
    sutjaneun sutjawa 1eul deohan geosi doenda.  
mundaneul banbokhanda.  
  
baeyeoreun [10 daeum 20 daeum 30]i doenda.  
baeyeore inneun gak hangmokdeureul sutjaro gajyeowa daeum  
    sutjareul chulryeokhanda.  
mundaneul banbokhanda.  

Fungsi

  • hamsu ...neun (...gwa ...ro) adalah bagian untuk mendefinisikan fungsi, dan daeum ... mundaneul silhaenghanda. adalah bagian eksekusinya.
  • Fungsi dipanggil dalam bentuk seperti ...gwa/wa ...eul/reul ... ro/euro ...handa./da..
hamsu paektorieoreul_guhandaneun garo daeum  
    manyak gaga 0irang gatdamyeon daeum  
        gyeolgwa gapseun 1i doenda. geurigo kkeutnanda.  
    mundaneul silhaenghanda.  
    gyeolgwa gapseun gawa ((gareul 1ro ppaen geot)euro paektorieoreul_guhan geot)eul gophan geosi doenda.   
    geurigo kkeutnanda.  
mundaneul silhaenghanda.  
  
4ro paektorieoreul_guhan geoseul chulryeokhanda.   

Struct

  • Struct mirip dengan struct di bahasa C.
gujo sarameun daeum  
    byeonsu ireumi itda.  
    byeonsu naiga itda.  
gapseul gajinda.  
  
Cheolsuneun sarami doenda.  
Cheolsuui ireumeun "Cheolsuda"ga doenda.  
Cheolsuui ireumeul chulryeokhanda.   

Kelas

  • yuhyeong adalah kelas di bahasa lain.
yuhyeong dongmureun daeum  
    byeonsu ireumi itda.  
    
    hamsu sorireul_naendaneun daeum  
        dongmurui ireumgwa "i(ga) sorireul naemnida."reul deohan geoseul chulryeokhanda.  
    mundaneul silhaenghanda.  
gapseul gajinda.  
  
gangajineun dongmuri doenda.  
gangajiui ireumeun "Badugi"ga doenda.  
gangaji aneseo sorireul_naenda.   

Hal yang disayangkan

  • Saya merasa sayang karena ada sintaks yang terasa canggung dan tidak natural dalam bahasa Korea, seperti pada array.
  • Saya menerjemahkan class ke dalam bahasa Korea sebagai yuhyeong, tetapi rasanya mungkin ada kata yang lebih baik, jadi jika nanti menemukannya saya ingin menggantinya.

Penutup

Ini tidak terlalu berguna, dan kode internalnya juga berantakan karena saya menulisnya dengan cepat dalam waktu dua minggu, tetapi semoga Anda menikmatinya.
Terima kasih sudah melihatnya.

29 komentar

 
qlghwp123 2025-11-26

Benar-benar terlihat sangat keren! Semangat.

 
smc0478 2025-11-26

Terima kasih.

 
rkttu 2025-11-26

Upaya untuk mengadopsi bahasa Korea sebagai bahasa pemrograman terus bermunculan di tingkat komunitas, dan ini mengingatkan saya pada hal itu jadi saya lampirkan tautannya. Haha

https://namu.wiki/w/%EC%B0%BD%EC%A1%B0(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EC%96%B8%EC%96%B8%EC%96%B4)

 
smc0478 2025-11-26

Ternyata setelah dibuat dan dicari-cari, ada banyak percobaan yang menarik.
Salah satu yang paling berkesan adalah tautan di bawah ini; angka pun diekspresikan dalam Hangul, jadi terasa menarik.
https://github.com/recu3125/malC_lang

 
oktroco 2025-11-26

Sepertinya ini juga akan bagus sebagai alat pendidikan bagi orang-orang yang tidak terbiasa dengan bahasa Inggris dan matematika.
Mampu menjelaskan pemikiran komputasional dengan baik dalam Hangul tanpa simbol seperti "if, for, while, =" tampaknya merupakan keunggulan pendidikan yang sangat besar.
Menurut saya ini ide yang sangat bagus!

 
smc0478 2025-11-26

Terima kasih. Memang, saat menggunakan bahasa Korea, sepertinya ada bagian-bagian yang lebih mudah dibaca dibandingkan bahasa Inggris.

 
cronex 2025-11-26

Sepertinya untuk array sebenarnya tidak perlu menggunakan delimiter berikutnya, dan bisa saja memakai koma. Selain itu, saya penasaran apakah array dirancang sebagai struktur yang juga bisa mencakup struct/class, array lain, atau dictionary.

 
smc0478 2025-11-26

Saat itu tujuannya benar-benar hanya memakai Hangul dan sebisa mungkin menghindari bahasa Inggris serta tanda baca, jadi memang tidak dipakai, tetapi memang terasa akan lebih alami jika koma dimasukkan. Nanti akan saya coba tambahkan.

Dan array dirancang sebagai struktur yang bisa menampung data dari semua tipe. Kalau tidak bisa, itu bug. hiks hiks

 
t7vonn 2025-11-26

Menarik.

 
smc0478 2025-11-26

Terima kasih.

 
tesla52 2025-11-26

Menarik. Saya jadi mendapat inspirasi bagus; sepertinya harus saya coba sebagai side project.

 
smc0478 2025-11-26

Baik. Saya menantikannya.

 
softer 2025-11-23

Wow .. saya mendukungnya

 
smc0478 2025-11-26

Terima kasih.

 
kornet 2025-11-22

Bagus juga karena memakai karakter khusus seperti +-=$& lebih sedikit dibanding bahasa lain. Soalnya, di keyboard perangkat genggam kecil, memasukkan karakter khusus itu sulit.

 
smc0478 2025-11-26

Oh, itu memang kelebihan yang bagus. Terima kasih.

 
nottiger 2025-11-19

Sangat bagus...

 
smc0478 2025-11-20

Terima kasih.

 
roxie 2025-11-19

Mungkin ini soal preferensi pribadi, tetapi saya rasa 이다 akan lebih baik daripada 된다

 
smc0478 2025-11-19

Awalnya, penugasan variabel adalah ganeun ~ida.. Namun saat pengembangan, karena "ida/da" juga digunakan untuk pemanggilan fungsi sehingga parsing ekspresi menjadi ambigu, itu diubah menjadi "doenda". Nanti sepertinya saya akan mencoba agar bisa diparse dengan "ida".

 
roxie 2025-11-19

Benar juga, sepertinya pemanggilan fungsinya harus berupa “~nda” ya wkwk

 
girr311 2025-11-19

Menarik.

 
smc0478 2025-11-19

Terima kasih.

 
ifmkl 2025-11-19

Saya jadi teringat masa-masa dulu saat sering membuat hal serupa di kelas compiler di universitas.

 
smc0478 2025-11-19

Saya belum mempelajarinya, tapi saya menantikannya.

 
beoks 2025-11-19

Oh, melihat nama file lexer dan parser, sepertinya Anda pernah belajar tentang compiler, bukan?

 
smc0478 2025-11-19

Ah, saya masih mahasiswa tingkat 3 jadi belum mengambil mata kuliah compiler, dan ini juga saya buat sambil belajar sendiri. Selain itu, karena ingin cepat selesai, saya belajar dan mengembangkannya dengan cara yang agak asal.

 
futurist 2025-11-19

Percobaan yang keren!! Menarik sekali hehe
Rasanya Anda benar-benar banyak memikirkan cara agar ekspresinya terdengar alami.

 
smc0478 2025-11-19

Terima kasih.