19 पॉइंट द्वारा smc0478 2025-11-19 | 29 टिप्पणियां | WhatsApp पर शेयर करें

नमस्ते।
मैंने एक ऐसी प्रोग्रामिंग भाषा बनाई है जिसमें कोरियाई में लिखा जाता है.

बनाने का कारण

  • मैंने Umjureang और Aheui जैसी Hangul में लिखी जाने वाली प्रोग्रामिंग भाषाएँ देखीं, और चाहा कि कोरियाई में स्वाभाविक रूप से कोडिंग करके देखूँ।
  • आगे चलकर एक सही मायने में बेहतर भाषा बनाने के लिए यह एक अध्ययन भी है।

इंस्टॉल

pip install korean-lang  

सिंटैक्स के प्रकार

नीचे परिचय कराया गया सिंटैक्स मैंने बनाया है।
और अधिक विस्तार से जानने के लिए मेरे github लिंक को देखें।

आउटपुट

"안녕 세상!"을 출력한다.  

वैरिएबल

  • वैरिएबल के नाम Hangul ( जैसी चीज़ें नहीं चलेंगी), _, और अंकों से बने होते हैं।
  • वैरिएबल में integer, string, array, dictionary आदि रखे जा सकते हैं।
정수는 1이 된다.  
소수는 3.141592가 된다.  
이름은 "홍길동"이 된다.  
참값은 참이 된다.  
빈값은 없음이 된다.  
숫자_배열은 [1 다음 2 다음 3 다음 4]이 된다.  
사람_정보는 {"이름"은 "김철수" 또 "나이"는 25}이 된다.  

शर्तें

  • 만약 ... 이면/면, 아니고 만약 ... 이면/면, 아니면 ... 이면/면 if, else if, else की तरह काम करते हैं और 다음 ... 문단을 실행한다. चलाते हैं।
나이는 입력한 것을 정수로_변환한 것이 된다.  
  
만약 나이가 18보다 크거나 같다면 다음  
    "성인입니다."를 출력한다.  
문단을 실행한다.  
아니고 만약 나이가 13보다 크다 또는 나이가 13랑 같다면 다음  
    "청소년입니다."를 출력한다.  
문단을 실행한다.  
아니면 다음  
    "어린이입니다."를 출력한다.  
문단을 실행한다  

लूप

  • 계속 ... 인 동안 while जैसा है और 다음 ... 문단을 반복한다. चलाता है।
  • ...에 있는 각 항목들을 ...로 가져와 for ... in ... है और 다음 ... 문단을 반복한다. चलाता है।
숫자는 0이 된다.  
계속 숫자가 5보다 작다인 동안 다음  
    숫자를 출력한다.  
    숫자는 숫자와 1을 더한 것이 된다.  
문단을 반복한다.  
  
배열은 [10 다음 20 다음 30]이 된다.  
배열에 있는 각 항목들을 숫자로 가져와 다음  
    숫자를 출력한다.  
문단을 반복한다.  

फ़ंक्शन

  • 함수 ...는 (...과 ...로) फ़ंक्शन को परिभाषित करने वाला भाग है, और 다음 ... 문단을 실행한다. फ़ंक्शन के चलने वाला भाग है।
  • ...과/와 ...을/를 ... 로/으로 ...한다./다. की तरह फ़ंक्शन को कॉल किया जाता है।
함수 팩토리얼을_구한다는 가로 다음  
    만약 가가 0이랑 같다면 다음  
        결과 값은 1이 된다. 그리고 끝난다.  
    문단을 실행한다.  
    결과 값은 가와 ((가를 1로 뺀 것)으로 팩토리얼을_구한 것)을 곱한 것이 된다.   
    그리고 끝난다.  
문단을 실행한다.  
  
4로 팩토리얼을_구한 것을 출력한다.   

स्ट्रक्चर

  • स्ट्रक्चर C भाषा के struct जैसा है।
구조 사람은 다음  
    변수 이름이 있다.  
    변수 나이가 있다.  
값을 가진다.  
  
철수는 사람이 된다.  
철수의 이름은 "철수다"가 된다.  
철수의 이름을 출력한다.   

क्लास

  • 유형 दूसरी भाषाओं के class के बराबर है।
유형 동물은 다음  
    변수 이름이 있다.  
    
    함수 소리를_낸다는 다음  
        동물의 이름과 "이(가) 소리를 냅니다."를 더한 것을 출력한다.  
    문단을 실행한다.  
값을 가진다.  
  
강아지는 동물이 된다.  
강아지의 이름은 "바둑이"가 된다.  
강아지 안에서 소리를_낸다.   

कमी खलने वाली बातें

  • array की तरह कुछ ऐसे अटपटे सिंटैक्स हैं जो कोरियाई में पूरी तरह स्वाभाविक नहीं लगते, यह बात खलती है।
  • मैंने class का कोरियाई अनुवाद 유형 किया है, लेकिन लगता है इससे बेहतर शब्द हो सकता है, इसलिए बाद में कोई अच्छा शब्द मिला तो बदलने का सोच रहा हूँ।

समाप्ति

इसका कोई खास उपयोग नहीं है, और अंदरूनी कोड भी मैंने 2 हफ़्तों के भीतर जल्दी-जल्दी लिखा, इसलिए कोड थोड़ा बिखरा हुआ है, फिर भी उम्मीद है आप इसे मज़े से देखेंगे।
देखने के लिए धन्यवाद।

29 टिप्पणियां

 
qlghwp123 2025-11-26

यह वाकई बहुत शानदार लगता है! मैं समर्थन करता हूँ।

 
smc0478 2025-11-26

धन्यवाद।

 
rkttu 2025-11-26

कोरियाई को programming language के रूप में अपनाने की कोशिशें community स्तर पर लगातार होती रही हैं, तो यह याद आया और लिंक जोड़ रहा/रही हूँ. 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%B4)

 
smc0478 2025-11-26

इसे बनाते और खोजते हुए देखा तो ऐसे कई दिलचस्प प्रयास मिले।
उनमें से एक नीचे दिया गया लिंक था, जो काफ़ी प्रभावशाली लगा; इसमें संख्याएँ भी Hangul में व्यक्त की गई थीं, इसलिए मज़ेदार लगा।
https://github.com/recu3125/malC_lang

 
oktroco 2025-11-26

यह उन लोगों के लिए शैक्षणिक उपयोग में भी अच्छा लग रहा है जो English और गणित से परिचित नहीं हैं।
if, for, while, = जैसे प्रतीकों के बिना भी, Hangul में computational thinking को अच्छी तरह समझाया जा सकता है, यह शैक्षणिक रूप से बहुत बड़ा फ़ायदा लगता है।
यह सचमुच बहुत शानदार आइडिया लगता है!

 
smc0478 2025-11-26

धन्यवाद। सच में, इसे Hangul में करने पर कुछ हिस्से English की तुलना में बेहतर पढ़े जाते हैं।

 
cronex 2025-11-26

मुझे लगता है कि arrays में ज़रूरी नहीं था कि 다음 जैसा delimiter इस्तेमाल किया जाए, comma भी इस्तेमाल किया जा सकता था.
और मैं यह जानना चाहता हूँ कि क्या array ऐसी संरचना है जिसमें struct/class, array, या dictionary भी शामिल हो सकते हैं?

 
smc0478 2025-11-26

उस समय लक्ष्य सच में सिर्फ़ हंगुल का इस्तेमाल करना था और जहाँ तक हो सके English और punctuation को बाहर रखना था, इसलिए मैंने उनका इस्तेमाल नहीं किया। लेकिन यक़ीनन comma जोड़ने से यह ज़्यादा स्वाभाविक लगेगा। मैं इसे बाद में जोड़ने की कोशिश करूँगा।

और array को मैंने ऐसी संरचना के रूप में डिज़ाइन किया है जो सभी types का data रख सके। अगर यह काम नहीं करता, तो वह bug है. T_T

 
t7vonn 2025-11-26

मज़ेदार है।

 
smc0478 2025-11-26

धन्यवाद।

 
tesla52 2025-11-26

दिलचस्प है। एक अच्छा आइडिया आया है, इसे side project के तौर पर आज़माना पड़ेगा।

 
smc0478 2025-11-26

अच्छा है। मैं इंतज़ार करूँगा।

 
softer 2025-11-23

ओह ओह .. समर्थन करता हूँ

 
smc0478 2025-11-26

धन्यवाद।

 
kornet 2025-11-22

+-=$& जैसे special characters दूसरी भाषाओं की तुलना में कम इस्तेमाल होते हैं, यह अच्छा है। छोटे mobile devices के keyboard पर special characters टाइप करना मुश्किल होता है।

 
smc0478 2025-11-26

ओह, यह तो एक अच्छा फ़ायदा है। धन्यवाद।

 
nottiger 2025-11-19

बहुत अच्छा है...

 
smc0478 2025-11-20

धन्यवाद।

 
roxie 2025-11-19

यह व्यक्तिगत पसंद का फर्क हो सकता है, लेकिन मुझे लगता है कि “होता है” की बजाय “है” बेहतर होता।

 
smc0478 2025-11-19

शुरुआत में variable assignment मूल रूप से ganeun ~ida. था। लेकिन development के दौरान function call में भी "ida/da" का इस्तेमाल होने लगा, जिससे expression parsing अस्पष्ट हो गया, इसलिए इसे "doenda" में बदल दिया गया। बाद में इसे फिर से "ida" के साथ parse करने लायक बनाने की कोशिश करूँगा।

 
roxie 2025-11-19

हाँ, सही है, लगता है कि function call “~nda“ होना चाहिए haha

 
girr311 2025-11-19

अच्छी तरह पढ़ा।

 
smc0478 2025-11-19

धन्यवाद।

 
ifmkl 2025-11-19

मुझे धुंधला-धुंधला याद आ रहा है कि यूनिवर्सिटी की compiler क्लास में हम कुछ ऐसा ही किया करते थे।

 
smc0478 2025-11-19

अभी सीखी नहीं है, लेकिन इसके लिए उत्साहित हूँ।

 
beoks 2025-11-19

अरे, lexer और parser फ़ाइलों के नाम देखें तो लगता है आपने compiler की पढ़ाई की है, क्या ऐसा नहीं है?

 
smc0478 2025-11-19

आह, मैं अभी भी विश्वविद्यालय के तीसरे वर्ष में हूँ, इसलिए मैंने compiler की क्लास नहीं ली है और इसे self-study करते हुए बनाया है, और जल्दी बनाने की कोशिश में जुगाड़ू तरीके से सीखकर develop किया, इसलिए ऐसा हुआ।

 
futurist 2025-11-19

बहुत बढ़िया कोशिश है!! मज़ेदार है haha
ऐसा लगता है कि आपने इसे स्वाभाविक रूप से व्यक्त करने के लिए काफी सोच-विचार किया है।

 
smc0478 2025-11-19

धन्यवाद।