{"id":29376598,"url":"https://github.com/thejurmikdev/jurom","last_synced_at":"2025-07-09T22:43:47.024Z","repository":{"id":291908613,"uuid":"976868953","full_name":"TheJurmikDev/Jurom","owner":"TheJurmikDev","description":"Jurom is a programming language written in rust with so many features","archived":false,"fork":false,"pushed_at":"2025-06-29T14:05:02.000Z","size":102,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-29T14:24:43.777Z","etag":null,"topics":["custom-language","custom-languages","custom-programming-language","jurom","jurom-language","language","new-language","programming-language","programming-languages","rust","rust-lang"],"latest_commit_sha":null,"homepage":"https://thejurmik.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheJurmikDev.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-02T22:51:25.000Z","updated_at":"2025-06-29T14:05:05.000Z","dependencies_parsed_at":"2025-05-12T00:37:52.016Z","dependency_job_id":"db1dbf86-267b-4751-8e13-3d5c172f2f3c","html_url":"https://github.com/TheJurmikDev/Jurom","commit_stats":null,"previous_names":["thejurmikdev/jurom-language","thejurmikdev/jurom"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/TheJurmikDev/Jurom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJurmikDev%2FJurom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJurmikDev%2FJurom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJurmikDev%2FJurom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJurmikDev%2FJurom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheJurmikDev","download_url":"https://codeload.github.com/TheJurmikDev/Jurom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheJurmikDev%2FJurom/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264504619,"owners_count":23618831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-language","custom-languages","custom-programming-language","jurom","jurom-language","language","new-language","programming-language","programming-languages","rust","rust-lang"],"created_at":"2025-07-09T22:43:45.523Z","updated_at":"2025-07-09T22:43:47.017Z","avatar_url":"https://github.com/TheJurmikDev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Jurom Programming Language\n\n\u003e **A modern, minimalist programming language that has modern solution**\n\nJurom is a clean, Java / Python inspired programming language designed for simplicity and performance. With its elegant syntax and triple execution modes, Jurom bridges the gap between rapid prototyping and high-performance compiled code.\n\n## ✨ Features\n\n### 🎯 **Core Language Features**\n- **Object-Oriented Programming** - Classes, methods, and encapsulation\n- **Static Typing** - `num` for numbers, `string` for text\n- **Control Flow** - `if/else` statements and `while` loops\n- **Variables \u0026 Expressions** - Full arithmetic and comparison operations\n- **Method Chaining** - Clean, readable code with dot notation\n\n### ⚡ **Triple Execution Modes**\n- **🔧 Transpiler Mode** - Transpiles to optimized C++ code, then compiles to native executable\n- **🚀 Interpreter Mode** - Direct execution for rapid development and testing\n- **👷 Compiler Mode** - Compiles project code to highly optimized native executable\n\n---\n\n## 🚀 Quick Start\n\n### Installation\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/TheJurmikDev/Jurom.git\n   cd jurom\n   ```\n\n2. **Build the compiler**\n   ```bash\n   cargo build --release\n   ```\n\n### Set up your project\n1. **Create new project**\n   ```bash\n   ./jurom.exe create\n   cd my_project\n   ```\n\n2. **Project structure**\n   ```text\n   my_project/\n   ├── src/\n   │   └── main.jr          # Complete language implementation\n   ├── .gitignore           # Ignore file for github\n   └── config.jurom         # Config of the project\n   ```\n\n3. **Edit main file** \n   ```java\n    public class my_project {\n        function main() {\n            string greeting = \"Hello, Jurom!\";\n            println(greeting);\n        \n            num count = 1;\n            while (count \u003c 5) {\n                println(count);\n                count = count + 1;\n            }\n        }\n    }\n    ```\n\n4. **Run your project**\n    ```bash\n    ./jurom.exe run\n    ```\n\n## 🎯 Language Capabilities\n\n### ✅ **Currently Supported**\n- [x] **Class Declarations** with `public class ClassName`\n- [x] **Function Definitions** with `function functionName()`\n- [x] **Variable Declarations** with `num` and `string` types\n- [x] **Assignments** with `=` operator\n- [x] **Arithmetic Operations** (`+`, `-`, `*`, `/`)\n- [x] **Comparison Operations** (`==`, `\u003c`, `\u003e`, `!=`, `\u003e=`, `\u003c=`, `\u0026\u0026`, `||`)\n- [x] **Conditional Statements** (`if/else`)\n- [x] **Loops** (`while`)\n- [x] **Method Calls** with dot notation\n- [x] **Console Output** via `println()`\n- [x] **String Literals** with double quotes\n- [x] **Numeric Literals** (integers)\n- [x] **Binary Expressions** with proper precedence\n- [x] **Variable References** in expressions\n\n### 🔀 **Interpretation Process**\n1. **Lexical Analysis** – Source code → Tokens\n2. **Parsing** – Tokens → Abstract Syntax Tree (AST)\n3. **Semantic Analysis** – Checking correctness of syntax and types\n4. **Interpretation** – AST → Executing code at runtime\n\n### 🔄 **Transpilation Process**\n1. **Lexical Analysis** - Source code → Tokens\n2. **Parsing** - Tokens → Abstract Syntax Tree (AST)\n3. **Semantic Analysis** – Checking correctness of syntax and types\n4. **Code Generation** - AST → Optimized C++ code\n5. **Native Compilation** - C++ code → Platform-specific executable\n6. \n### ⏩ **Compilation Process**\n1. **Lexical Analysis** - Source code → Tokens\n2. **Parsing** - Tokens → Abstract Syntax Tree (AST)\n3. **Semantic Analysis** – Checking correctness of syntax and types\n4. **Code Generation** - AST → Optimized Jurom code\n5. **Native Compilation** - Juom code → Platform-specific executable\n\n### 🎨 **Architecture Highlights**\n- **Rust-Powered** - Memory-safe, fast compilation\n- **Recursive Descent Parser** - Clean, maintainable parsing logic\n- **AST-Based** - Structured intermediate representation\n- **Modular Design** - Separate lexer, parser, interpreter, and code generator\n\n## 📈 Performance\n\nJurom's interpret mode runs code interactively via a Rust based runtime:\n- **Low Overhead**: Efficient AST evaluation in Rust.\n- **Memory Efficient**: Variables in `HashMap` with Rust's stack based locals.\n- **Fast Execution**: Leverages Rust's speed for responsive performance.\n\nJurom's transpiler mode generates optimized C++ code with:\n- **Zero Runtime Overhead** - Direct C++ compilation\n- **Memory Efficiency** - Stack-allocated variables\n- **Native Speed** - Full compiler optimizations (-O3)\n\nJurom's compiler mode generates optimized code with:\n- **Extreme Optimization** - Uses agresive optimization while compiling\n- **Static Binary Output** – Produces standalone executables with no dynamic linking overhead\n- **Scalable Memory Model** – Efficient stack allocation with support for larger code and data sections\n\n## 🛣️ Roadmap\n\n### 🎯 **Planned Features**\n- [ ] **Arrays and Collections**\n- [ ] **File I/O Operations**\n- [ ] **Function Parameters**\n- [ ] **Return Values**\n- [ ] **String Interpolation**\n- [ ] **Error Handling**\n- [ ] **Module System**\n- [ ] **Standard Library Expansion**\n\n## 📗 ChangeLogs\n\nYou can find all changelogs in [ChangeLogs](changelog.md).\n\n## 📄 License\n\nThis project is open source and available under the [GNU License](LICENSE).\n\n---\n\n**Made with ❤️ for developers who appreciate clean, fast languages.**\n\n*Jurom - Where simplicity meets performance.*\n\n### 😎 Made By TheJurmik | Visit offical site https://thejurmik.dev","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthejurmikdev%2Fjurom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthejurmikdev%2Fjurom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthejurmikdev%2Fjurom/lists"}