Awesome
<p align="center"><a href="kalaam.io" target="_blank" rel="noopener noreferrer"><img width="300" src="https://i.ibb.co/Dg3jzC5/Logo.png" alt="Kalaam logo"></a></p> <h2 align="center">Contribute to Kalaam</h2>Introduction
Kalaam is the programming language in Hindi and has all the basic functionalities of a modern programming language. From for loops to while loops and from functions to conditional statements.
Kalaam has it's own parser, interpreter and executes source code from parse tree generated by the parser.
Summary
- Kalaam Website
- Interpreter imported from npm
- Only changes to be made here are frontend
- Make sure npm Kalaam package is doing the job correctly
- Check testcases on npm package as well.
Branch Guide
v1.0.0
- The first version of Kalaam. You can explore it to see how first version came out to be.
- No development work happens here anymore.
v1.1.0
- The latest version of Kalaam with improvments over v1.0.O.
- contains latest stable Kalaam code.
- No new functionality added but more flexible code, testcases, error handling and a lot of functional programming.
Goals
- Refactoring, Better Code structure and Improved code readability
- Improve primitive Datatypes parsing
- Commenting majority of codebase
- modularise codebase as per functionalities
- 15+ testcases
v1.2.0-dev
- As the name suggests, this is where devlopment work happens for next version of Kalaam.
- If you want to contrubute, submit PR's to this branch only.
Goals
- [] NPM package initialization
- [] IDesigning an E2E package
- [] Separate repo for npm package and frontend
- [] Standalone Documentation
- [] guidelines on further contributions
Contributions
- You can work on either Frontend, Backend or Documentation, whatever you think you can be best at with your current level of experience.
- This is a complete Kalaam.io application. The compiler will be made available as a standalone npm package called Kalaam-core.
- Fork the repo and create PR's on current dev branch. For now, it is #
v1.2.0-dev
#. - Feel free to play with project. Creative ideas are most welcome.
NOTE: MAKE SURE TO CREATE A PULL REQUEST ON 'v1.2.0-dev' and NOT DIRECTLY ON THE MASTER BRANCH.
Steps to follow
- Fork the repo
- Create a issue. Add relevant label - mention following things
a) What is the issue b) What problems is it causing c) how to recreate the issue d) which part of code is causing the issue
- Create branch with the name of issue you want to fix. for e.g
fixes whitespace issue while cleaning sourcecode
- Run necessary tests using
npm run test
. Add more test cases if you need to. - Make sure your code is not breaking anything.
- Comment each line of your code. Write down why you are doing it instead of how you are doing it. Tell a story!
- Once you are ready, create a PR on current dev branch. DO NOT CREATE PR'S DIRECTLY ON MASTER BRANCH.
- Your code will be reviewed and if all good, PR will be merged.
- Happy Contributing ⚙️
Future plans
- Right now, Kalaam is in it's early stage. Many programming languages took decades of team work to reach their goals. We go step by step.
- Kalaam needs to have a usecase so that people can start building stuff with it. The use-case can be unique that suits well to the Indian ecosystem. This will help us to move in a straight direction. Right now it's best for learning purposes.
Documentation
To check out documentation visit Documentation.
- Documentation needs a lot of work. I think short video tuts will really help instead of just the overload of texts.
Examples
To check out examples visit live examples.
Feel free to add more examples. We have three categories for examples. Basic, Intermediate, and advanced. Add according to context.
Questions
For questions and support please use the discord server.
Where is the compiler code?:
Visit 'src/lib/Compiler/main.js' in repo structure to access Kalaam compile engine and learn about how Kalaam works.
To test kalaam.io locally
The setups for recreating the project have been given in the SETUP.md file.
Issues
Found an issue in Kalaam? Please use submit issue.
License
Copyright (c) 2020-present, Swanand Kadam
परिचय
कलाम हिंदी में प्रोग्रामिंग भाषा है और इसमें आधुनिक प्रोग्रामिंग भाषा के सभी बुनियादी कार्य हैं। लूप्स से लेकर लूप्स तक और फंक्शन्स से लेकर कंडीशनल स्टेटमेंट्स तक। कलाम का अपना पार्सर, दुभाषिया है और पार्सर द्वारा उत्पन्न पार्स ट्री से स्रोत कोड निष्पादित करता है।
शाखा गाइड
v1.0.0
- कलाम का पहला संस्करण। आप यह देखने के लिए इसका पता लगा सकते हैं कि पहला संस्करण कैसा रहा।
- अब यहां कोई विकास कार्य नहीं होता है।
v1.1.0
- कलाम का नवीनतम संस्करण v1.0.O से अधिक सुधारों के साथ।
- नवीनतम स्थिर कलाम कोड शामिल है।
- कोई नई कार्यक्षमता नहीं जोड़ी गई लेकिन अधिक लचीला कोड, टेस्टकेस, त्रुटि प्रबंधन और बहुत सारी कार्यात्मक प्रोग्रामिंग।
लक्ष्य
- रिफैक्टरिंग, बेहतर कोड संरचना और बेहतर कोड पठनीयता
- आदिम डेटाटाइप पार्सिंग में सुधार करें
- कोडबेस के बहुमत पर टिप्पणी करना
- कार्यात्मकताओं के अनुसार मॉड्यूलर कोडबेस
- 15+ टेस्टकेस
v1.2.0-dev
- जैसा कि नाम से पता चलता है, यह वह जगह है जहां कलाम के अगले संस्करण के लिए विकास कार्य होता है।
- यदि आप योगदान देना चाहते हैं, तो पीआर इस शाखा में ही जमा करें।
लक्ष्य
- [] एनपीएम पैकेज आरंभीकरण
- [] एक E2E पैकेज की IDesigning
- [] npm पैकेज और फ्रंटएंड के लिए अलग रेपो
- [] स्टैंडअलोन दस्तावेज़ीकरण
- [] आगे के योगदान पर दिशानिर्देश
Contributions
- आप फ्रंटएंड, बैकएंड या डॉक्यूमेंटेशन में से किसी पर भी काम कर सकते हैं, जो भी आपको लगता है कि आप अपने वर्तमान स्तर के अनुभव के साथ सर्वश्रेष्ठ हो सकते हैं।
- यह एक पूर्ण Kalaam.io एप्लिकेशन है। कंपाइलर को कलाम-कोर नामक एक स्टैंडअलोन एनपीएम पैकेज के रूप में उपलब्ध कराया जाएगा।
- रेपो फोर्क करें और वर्तमान देव शाखा पर पीआर बनाएं। अभी के लिए, यह #v1.2.0-dev# है।
- परियोजना के साथ खेलने के लिए स्वतंत्र महसूस करें। रचनात्मक विचारों का स्वागत है।
- साथी योगदानकर्ताओं से जुड़ने के लिए कलाम डिस्कॉर्ड सेवर का उपयोग करें। (https://discord.gg/vpezZjQQSQ)
नोट: 'v1.2.0-dev' पर एक पुल अनुरोध बनाना सुनिश्चित करें और सीधे मास्टर शाखा पर नहीं।
अनुसरण करने के लिए कदम
- फोर्क रेपो
- उस समस्या के नाम से शाखा बनाएं जिसे आप ठीक करना चाहते हैं।
- उदाहरण के लिए स्रोत कोड की सफाई करते समय व्हाइटस्पेस समस्या को ठीक करता है npm रन टेस्ट का उपयोग करके आवश्यक परीक्षण चलाएँ। यदि आपको आवश्यकता हो तो और परीक्षण मामले जोड़ें।
- सुनिश्चित करें कि आपका कोड कुछ भी नहीं तोड़ रहा है।
- अपने कोड की प्रत्येक पंक्ति पर टिप्पणी करें। आप इसे कैसे कर रहे हैं इसके बजाय लिखें कि आप इसे क्यों कर रहे हैं।
- एक बार जब आप तैयार हो जाएं, तो वर्तमान देव शाखा पर एक पीआर बनाएं। सीधे मास्टर शाखा पर जनसंपर्क न बनाएं।
- आपके कोड की समीक्षा की जाएगी और अच्छा होने पर पीआर का विलय कर दिया जाएगा।
- खुश योगदान ⚙️
भविष्य की योजनाएं
- कलाम अभी शुरुआती दौर में हैं। कई प्रोग्रामिंग भाषाओं को अपने स्तर तक पहुंचने में दशकों का टीम वर्क लगा। हम कदम दर कदम चलते हैं।
- कलाम के पास एक यूजकेस होना चाहिए ताकि लोग उससे सामान बनाना शुरू कर सकें। उपयोग-मामला अद्वितीय हो सकता है जो भारतीय पारिस्थितिकी तंत्र के लिए उपयुक्त है। यह हमें एक सीधी दिशा में आगे बढ़ने में मदद करेगा। अभी यह सीखने के उद्देश्यों के लिए सबसे अच्छा है।
- कलाम को अपना प्रोजेक्ट मानें, इसे एक्सप्लोर करें और बेझिझक नए आइडिया आज़माएँ।
प्रलेखन
दस्तावेज़ीकरण की जाँच करने के लिए दस्तावेज़ीकरण पर जाएँ। दस्तावेज़ीकरण.
- दस्तावेज़ीकरण के लिए बहुत काम की ज़रूरत है। मुझे लगता है कि लघु वीडियो वास्तव में पाठों के अधिभार के बजाय वास्तव में मदद करेंगे।
उदाहरण
उदाहरण देखने के लिए लाइव उदाहरण देखें।लाइव उदाहरण.
अधिक उदाहरण जोड़ने के लिए स्वतंत्र महसूस करें। उदाहरण के लिए हमारे पास तीन श्रेणियां हैं। बेसिक, इंटरमीडिएट और एडवांस। संदर्भ के अनुसार जोड़ें।
प्रशन
कंपाइलर कोड कहां है ?:
कलाम कंपाइल इंजन तक पहुंचने के लिए रेपो संरचना में 'src/lib/Compiler/main.js' पर जाएं और जानें कि कलाम कैसे काम करता है।
kalam.io स्थानीय स्तर कैसे काम करता है।
kalam.io का स्थानीय स्तर पर परीक्षण करने के लिए प्रोजेक्ट को फिर से बनाने के लिए सेटअप SETUP.md फाइल में दिया गया है।
मुद्दे
कलाम में एक मुद्दा मिला? कृपया सबमिट समस्या का उपयोग करें। सबमिट समस्या .