{"id":15243387,"url":"https://github.com/kamkow1/yup","last_synced_at":"2025-04-10T16:13:02.473Z","repository":{"id":44347581,"uuid":"511081916","full_name":"kamkow1/yup","owner":"kamkow1","description":"source code of the yup compiler and other related tools","archived":false,"fork":false,"pushed_at":"2022-11-29T00:25:07.000Z","size":38891,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T14:03:43.167Z","etag":null,"topics":["compiler","language","llvm","programming-language"],"latest_commit_sha":null,"homepage":"","language":"Go","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/kamkow1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-06T09:58:16.000Z","updated_at":"2024-11-12T21:19:48.000Z","dependencies_parsed_at":"2023-01-23T02:16:19.324Z","dependency_job_id":null,"html_url":"https://github.com/kamkow1/yup","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamkow1%2Fyup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamkow1%2Fyup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamkow1%2Fyup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamkow1%2Fyup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamkow1","download_url":"https://codeload.github.com/kamkow1/yup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248251338,"owners_count":21072688,"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":["compiler","language","llvm","programming-language"],"created_at":"2024-09-29T12:06:54.942Z","updated_at":"2025-04-10T16:13:02.447Z","avatar_url":"https://github.com/kamkow1.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yup language\n\n![Github Actions](https://github.com/kamkow1/yup/actions/workflows/ci.yml/badge.svg)\n\n## introduction\n\nYup is an imperative programming language. It borrows syntax from\nGo, Rust and C. \u003cbr\u003e\nIt's compiler is implemented using LLVM.\n\nSmall example of the language:\n\n```c\n// calculate a fibonacci number for N:\n\nimport \"#std/IO.yup\";\n\ncalc_fib: fnc(n: i64) -\u003e i64 {\n\tif n \u003c= 1 {\n\t\treturn n;\n\t}\n\t\n\treturn calc_fib(n - 1) + calc_fib(c - 2);\n}\n\npub main: fnc() -\u003e i32 {\n\tprintf(\"give me a number N: \");\n\tvar count: i64;\n\tscanf(\"%d\", \u0026count);\n\t\n\tprintf(\"your number is: %d\\n\", calc_fib(number));\n\t\n\treturn 0;\n}\n```\n\nif you'd like to see a more complex usage of the language, see yup_stdlib/FileSys.yup\nor yup_stdlib/Errors.yup. these are some of the more advanced usages of Yup.\n\n# installing the standard library\n\nrun:\n```bash\ncd /root/of/project/yup/yup_stdlib\nchmod +x ./install_stdlib.sh\n./build.sh\n./install_stdlib.sh # installs in ~/yup_stdlib\n```\n\n# building from source\n\nAs of now, Yup doesn't provide prebuilt binaries so you will \nhave to build the compiler from source. \u003cbr\u003e\nAlso, the compiler only supports Linux, but that is going to change in the future. I do not own a copy of Windows, so if you do, feel free to create a port of the compiler.\n\n```bash\ncd /root/of/project/yup/yupc\n\n./gen.sh # generates needed ANTLR4 files\n\nsudo ./llvm.sh 14 # installes LLVM 14.0.6 which is required to build the compiler\n\n./build.sh # outputs the yupc binary into bin/\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamkow1%2Fyup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkamkow1%2Fyup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamkow1%2Fyup/lists"}