{"id":19763731,"url":"https://github.com/devtony101/miria-code-editor","last_synced_at":"2025-04-30T14:32:12.173Z","repository":{"id":37095658,"uuid":"267411767","full_name":"DevTony101/miria-code-editor","owner":"DevTony101","description":"This an online code editor made for a new programming language named Miria.","archived":false,"fork":false,"pushed_at":"2024-05-01T12:43:48.000Z","size":1731,"stargazers_count":18,"open_issues_count":1,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-02T08:15:13.449Z","etag":null,"topics":["grammars","javascript","javascript-application","language","nearley","nearleyjs","parser","spa-application","vue","vue-project","vue-router","vuejs","vuex"],"latest_commit_sha":null,"homepage":"https://devtony101.github.io/miria-code-editor/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevTony101.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-05-27T19:45:46.000Z","updated_at":"2024-04-28T01:39:36.000Z","dependencies_parsed_at":"2024-05-01T14:23:11.274Z","dependency_job_id":null,"html_url":"https://github.com/DevTony101/miria-code-editor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevTony101%2Fmiria-code-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevTony101%2Fmiria-code-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevTony101%2Fmiria-code-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevTony101%2Fmiria-code-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevTony101","download_url":"https://codeload.github.com/DevTony101/miria-code-editor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224214065,"owners_count":17274524,"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":["grammars","javascript","javascript-application","language","nearley","nearleyjs","parser","spa-application","vue","vue-project","vue-router","vuejs","vuex"],"created_at":"2024-11-12T04:10:52.054Z","updated_at":"2024-11-12T04:10:52.511Z","avatar_url":"https://github.com/DevTony101.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Miria Code Editor\nThis is a little project that was made to practice the concepts of Vue and the concepts of grammars, especifically, the context free grammars for creating a new programming language called **Miria**. You can give it a try [here](https://devtony101.github.io/miria-code-editor/).\n\n## Features\n![Banner](https://github.com/DevTony101/miria-code-editor/blob/main/banner.png)\nThe main view consist of a text area and a div that mimics a console in which the ouput of the code will appear. **Miria** is still a very young language and thus only supports the following:\n\n- Declaration and assignment of variables\n- If statements\n- For, while and do-while statements\n\nThese specs a thoroughly explained in miria documentation [here](https://miria-code-editor.herokuapp.com/docs). The classic *hello world* program in Miria would be as follows:\n```\ndefine main as fun() -\u003e void {\n  log(\"Hello world\")\n}\n```\n\n**Miria** also recognizes errors related to data types, using variables that are not defined and ilegal operations.\n\n## Known bugs\n- Miria does not recognize scopes, thus when creating a variable inside any loop, miria will complain arguing that the variable already exist\n\n## Future improvements\n- Add *break* like statements\n- Fix the bug related to scopes\n- Add the ability to create arrays\n- Add the ability to create functions\n\n## Technologies used\n- [Nearley](https://nearley.js.org/) was used to generate the parser for miria. The miria.ne file, which contains Miria's grammar, can be found in the *src/grammar/parser directory*\n- [Codemirror](https://codemirror.net/) was used as the text editor\n\nHuge thanks to @fireship-io for their tutorial on a css-only side navigation bar that ultimately defined the layout of the app.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevtony101%2Fmiria-code-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevtony101%2Fmiria-code-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevtony101%2Fmiria-code-editor/lists"}