{"id":20346426,"url":"https://github.com/redstonewizard08/quickscript","last_synced_at":"2025-04-12T00:51:52.725Z","repository":{"id":160637488,"uuid":"635436493","full_name":"RedstoneWizard08/QuickScript","owner":"RedstoneWizard08","description":"A quick programming language with a compiler implemented in Rust.","archived":false,"fork":false,"pushed_at":"2024-09-06T19:46:31.000Z","size":834,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T20:33:40.258Z","etag":null,"topics":["aot","clap","communityexchange","compiler","cranelift","crates","ghdesktop","github","github-codespaces","github-copilot","jit","language","learn","pest","quickscript","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/RedstoneWizard08.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}},"created_at":"2023-05-02T17:33:44.000Z","updated_at":"2024-09-21T15:31:38.000Z","dependencies_parsed_at":"2023-05-11T14:15:16.853Z","dependency_job_id":"ca0d5fd2-7748-423a-93eb-547f260a6820","html_url":"https://github.com/RedstoneWizard08/QuickScript","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedstoneWizard08%2FQuickScript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedstoneWizard08%2FQuickScript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedstoneWizard08%2FQuickScript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedstoneWizard08%2FQuickScript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RedstoneWizard08","download_url":"https://codeload.github.com/RedstoneWizard08/QuickScript/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248290080,"owners_count":21078923,"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":["aot","clap","communityexchange","compiler","cranelift","crates","ghdesktop","github","github-codespaces","github-copilot","jit","language","learn","pest","quickscript","rust"],"created_at":"2024-11-14T22:13:00.757Z","updated_at":"2025-04-12T00:51:52.705Z","avatar_url":"https://github.com/RedstoneWizard08.png","language":"Rust","readme":"# qsc: The QuickScript compiler.\n\n![Crates.io](https://img.shields.io/crates/v/quickscript?style=flat-square)\n![Crates.io Downloads](https://img.shields.io/crates/d/quickscript?style=flat-square\u0026label=downloads%20(crates.io))\n![GitHub Downloads](https://img.shields.io/github/downloads/RedstoneWizard08/QuickScript/total?style=flat-square\u0026label=downloads%20(GitHub)\u0026color=red)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/RedstoneWizard08/QuickScript/build.yml?style=flat-square)](https://nightly.link/RedstoneWizard08/QuickScript/workflows/build/main/binaries)\n\nQuickScript is a language that I am creating to learn how to, well, create a language.\nThe syntax is very similar to Rust, and it is a semicolon-based language, or at least it will be (I think). The compiler is written in Rust, and uses Cranelift as a backend, with AOT and JIT modes supported, and allows any `libc` function to be called in code. The standard library is pretty nonexistent right now, but it'll get better in the future.\n\nThis can also serve as a way to learn how to create your own language with Rust.\n\n## License\n\nThis project is licensed under the MIT license. Feel free to use the code for whatever you want.\n\n## Installation\n\nInstalling QuickScript is incredibly easy!\nHere's how you can do it:\n\n**With Cargo:**\n\n```sh\ncargo install quickscript\n```\n\n**Via GitHub Releases:**\n\n1. Head to https://github.com/RedstoneWizard08/QuickScript/releases\n2. Download the correct binary for your platform\n3. Run `chmod +x [path to binary here]`\n4. Run the binary!\n\n**Via GitHub Actions:**\n\n1. Head to https://nightly.link/RedstoneWizard08/QuickScript/workflows/build/main/binaries\n2. Download it\n3. Run it!\n\n## Usage\n\nFor usage details, run `qsc --help`\n\n## Support\n\nCurrently, here is the support matrix:\n\n| Version | i686 | x86_64 | armv7l | armhf | arm64 |\n| ------- | ---- | ------ | ------ | ----- | ----- |\n|  0.0.0  | 🔴 | 🔴 | 🔴 | 🔴 | 🟢 |\n|  0.1.0  | 🔴 | 🟡 | 🔴 | 🔴 | 🟢 |\n|  0.3.0  | 🟢 | 🟢 | 🔴 | 🔴 | 🟢 |\n|  0.4.0  | 🟢 | 🟢 | 🔴 | 🔴 | 🟢 |\n|  0.5.x  | 🟢 | 🟢 | 🔴 | 🔴 | 🟢 |\n|  0.6.x  | 🟢 | 🟢 | 🔴 | 🔴 | 🟢 |\n\nNote that armv7l and armhf support are dependent on Cranelift's support for it.\nSee [cranelift#1173](https://github.com/bytecodealliance/wasmtime/issues/1173)\nfor more details.\n\nMusl builds for i686 are also not supported due to a bug in `cargo-zigbuild`.\nSee [cargo-zigbuild#96](https://github.com/rust-cross/cargo-zigbuild/issues/96)\nfor more details.\n\n# Credits\n\nHuge thanks to [Pixeled (@orosmatthew)](https://github.com/orosmatthew) and his\n[Creating a Compiler](https://www.youtube.com/playlist?list=PLUDlas_Zy_qC7c5tCgTMYq2idyyT241qs)\nseries, as it helped me think about how to do this best and it gave me the\ninspiration for this project.\n\nAnother huge thanks for the [cranelift-jit-demo](https://github.com/bytecodealliance/cranelift-jit-demo), as it helped me implement the code generator with Cranelift.\n\nMassive thank you to [@cfallin](https://github.com/cfallin) and [@bjorn3](https://github.com/bjorn3) for helping me learn how to use Cranelift properly and help me fix some critical issues.\n\n# Roadmap\n\nFuture plans for QuickScript:\n\n- Add AST validation and errors\n- Add `if` statements, `while` and `for` loops, function definitions as variables, constant (or static) variables, and more.\n- Create a language server and syntax for VS Code.\n- Port the [mold](https://github.com/rui314/mold) linker to Rust and use it internally (programmatically) instead of using an external command call.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredstonewizard08%2Fquickscript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredstonewizard08%2Fquickscript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredstonewizard08%2Fquickscript/lists"}