भाषा सन्दर्भ
नेपाली भाषाको पूर्ण सन्दर्भ — syntax देखि पूर्ण कार्यक्रमसम्म। सबै उदाहरणहरू nepali run ले चलाएर जाँचिएका छन्। यो सेक्सन ट्याबहरूमा विभाजित छ, त्यसैले एक विषयमा केन्द्रित भएर गहिरोसँग पढ्न सकिन्छ।
भाषा कसरी काम गर्छ
तपाईंले लेख्नुभएको .npl फाइल मेसिनले सीधै बुझ्दैन। भाषाको कम्पाइलरले त्यसलाई धेरै चरणमा मेसिन-पढ्न सक्ने बाइटकोडमा परिणत गर्छ, र भर्चुअल मेसिनले (VM) त्यो बाइटकोड चलाउँछ:
स्रोत कोड (.npl)→लेक्सर→पार्सर→सेमान्टिक विश्लेषक
कम्पाइलर→बाइटकोड→भर्चुअल मेसिन→आउटपुट
हरेक बक्समा के हुन्छ भन्ने विवरण तल दिइएको छ:
लेक्सर (lexer)
पाठका अक्षरहरूलाई साना टोकनमा बाँड्छ — जस्तै
लेख, "नमस्ते", =।पार्सर (parser)
टोकनको क्रमलाई वाक्य-संरचना (syntax) ठीक छ कि छैन जाँच्छ र अमूर्त संरचना (AST) बनाउँछ।
सेमान्टिक विश्लेषक
अर्थको जाँच — चर परिभाषित छ कि छैन, प्रकार मिल्छ कि मिल्दैन, आयात चक्र छ कि छैन।
कम्पाइलर
AST लाई VM-ले चलाउन सक्ने ओपकोडहरूको श्रृंखला (बाइटकोड) मा परिणत गर्छ।
भर्चुअल मेसिन
बाइटकोडका हरेक निर्देशनलाई एकपछि अर्को कार्यान्वयन गर्छ, स्ट्याक र मेमोरी व्यवस्थापन गर्छ।
नोट
nepali run = कम्पाइल + कार्यान्वयन; nepali build = बाइटकोड मात्र; nepali repl = सीधै भाषा प्रयोग।सिक्ने क्रम
नयाँ प्रोग्रामरले यो क्रममा पढ्दा सबैभन्दा सजिलो हुन्छ — हरेक विषय अघिल्लो विषयमा निर्भर हुन्छ:
- संरचना — टिप्पणी, पहिचायक, कीवर्ड
- चर र स्थिर — डाटा कसरी भण्डारण गर्ने
- प्रकारहरू — सङ्ख्या, पाठ, सूची, नक्सा
- अपरेटरहरू — गणना र तुलना
- नियन्त्रण प्रवाह — निर्णय र लुप
- कार्यहरू — कोडलाई साना एकाइमा बाँड्ने
- क्लास (OOP) — डाटा र व्यवहारलाई वस्तुमा जोड्ने
- सूची र नक्सा — सङ्ग्रहहरूसँग काम
- अपवादहरू — त्रुटिलाई व्यवस्थित रूपमा समात्ने
- मोड्युल — कोडलाई फाइल/प्याकेजमा विभाजन
कीवर्ड द्रुत सन्दर्भ
| कीवर्ड | अर्थ | विस्तृत |
|---|---|---|
राख | चर घोषणा | चर र स्थिर |
स्थिर, निश्चित, अन्तिम | स्थिर मान (const) | चर र स्थिर |
यदि, नत्र | if / else | नियन्त्रण प्रवाह |
जबसम्म, प्रत्येक ... भित्र | लुपहरू | नियन्त्रण प्रवाह |
कार्य, फर्काऊ, अन्त्य | कार्य घोषणा, return, ब्लक अन्त्य | कार्यहरू |
प्रकार, निर्माण, यो, नयाँ | क्लास, कन्स्ट्रक्टर, this, new | क्लास (OOP) |
सार्वजनिक, निजी, सुरक्षित, आन्तरिक | पहुँच नियन्त्रण | क्लास (OOP) |
परीक्षण, त्रुटि_समात, फाल, अन्तमा | अपवाद | अपवादहरू |
आयात, रूपमा, बाट, लुकाऊ | मोड्युल आयात | मोड्युल |
पहिलो नजरमा
यहाँ विभिन्न सुविधा मिसाइएको पूरा कार्यक्रम छ — विवरण हरेक ट्याबमा बिस्तारै पढ्नुहोस्:
स्थिर कर_दर = ०.१३
प्रकार पुस्तक
पाठ शीर्षक
दशमलव मूल्य
निर्माण(पाठ शीर्षक, दशमलव मूल्य)
यो.शीर्षक = शीर्षक
यो.मूल्य = मूल्य
अन्त्य
कार्य मूल्य_कर_सहित() -> दशमलव
फर्काऊ यो.मूल्य * (१ + कर_दर)
अन्त्य
अन्त्य
कार्य जोड्ने(पुस्तक नाम_सूची)
प्रत्येक नाम भित्र नाम_सूची
लेख नाम.शीर्षक + " → " + नाम.मूल्य_कर_सहित()
अन्त्य
अन्त्य
राख पुस्तकहरू = [नयाँ पुस्तक("नेपाली कथा", ३००.०), नयाँ पुस्तक("गणित", २५०.०)]
जोड्ने(पुस्तकहरू)