{"id":16445575,"url":"https://github.com/japrozs/dojo","last_synced_at":"2025-02-26T09:46:50.027Z","repository":{"id":117495263,"uuid":"296674383","full_name":"japrozs/dojo","owner":"japrozs","description":"Dojo is a microlanguage based off of Python.It has many features like function declaration and variable declaration","archived":false,"fork":false,"pushed_at":"2020-10-19T20:47:42.000Z","size":95,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-09T01:04:25.501Z","etag":null,"topics":["arithmetic","compiler","dojo","functions","language","lexer","microlanguage","parse","parser","python","semver","variables"],"latest_commit_sha":null,"homepage":"https://github.com/Japroz-Saini/dojo","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/japrozs.png","metadata":{"files":{"readme":"README.MD","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2020-09-18T16:29:35.000Z","updated_at":"2023-01-19T22:20:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"92ebf93c-a999-40e7-a07a-6e06857ca045","html_url":"https://github.com/japrozs/dojo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/japrozs%2Fdojo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/japrozs%2Fdojo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/japrozs%2Fdojo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/japrozs%2Fdojo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/japrozs","download_url":"https://codeload.github.com/japrozs/dojo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240831207,"owners_count":19864711,"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":["arithmetic","compiler","dojo","functions","language","lexer","microlanguage","parse","parser","python","semver","variables"],"created_at":"2024-10-11T09:44:48.925Z","updated_at":"2025-02-26T09:46:49.934Z","avatar_url":"https://github.com/japrozs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dojo\r\nDojo is a programming language that is loosely based off of the [Python](https://python.org) which uses the Python compiler and also uses it own Lexer, Parser, Compiler and Token Generator\r\nSome features of Dojo are as given below:\r\n- Function declaration\r\n- Variable Declaration\r\n- Basic Arithmetic\r\n- Executing Files\r\n\r\n# Install\r\nYou can install dojo from the pip python package manager coming soon!!\r\n## Curl\r\nYou can install dojo from cURL through the following command:\r\n```bash\r\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Japroz-Saini/dojo/master/install.sh)\"\r\n```\r\n\r\n# Grammar\r\nBasic Grammar of the DOJO Programming Language:\r\n- All keywords are in Capital\r\n- FUN = Used to declare a function\r\n- FOR = used to start a for loop\r\n- PRINT = return something to the screen\r\n- RETURN = return something\r\n- VAR = declare a variable\r\n- IF = if statement\r\n- ELIF = elif statement\r\n- ELSE = else statement \r\n- `#` = Declare a comment \r\n\r\n- A Function declaration\r\n```python\r\nFUN greet(int, string)\r\n  FOR i = 0 TO int THEN\r\n    PRINT(string)\r\n  END\r\nEND\r\n\r\ngreet(10, \"Hello from Dojo\")\r\n```\r\n```python\r\ntokens = []\r\nAPPEND(tokens, \"first_element\")\r\n\r\n# tokens/0 = \"first_element\"\r\n# instead of tokens[i] you have to use tokens/i to access the i'th element\r\nPRINT(tokens/0)\r\n```\r\n# Single line:\r\n* Functions\r\n```python\r\nFUN greet(string) -\u003e PRINT(string)\r\n```\r\n* If else statements\r\n```python\r\nIF a = True THEN\r\n  PRINT(\"TRUE\")\r\nELIF a = False THEN\r\n  PRINT(\"FALSE\")\r\nELSE THEN\r\n```\r\n* While statements\r\n```python\r\nWHILE True THEN\r\n  PRINT(\"HELLO\")\r\nEND\r\n ```\r\n* Return statements\r\n```python\r\nFUN greet() THEN\r\n  PRINT(\"HELLO\")\r\n  RETURN \"Hello\"\r\nEND\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaprozs%2Fdojo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaprozs%2Fdojo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaprozs%2Fdojo/lists"}