{"id":20003095,"url":"https://github.com/chaoticsomeone/uranium_lang","last_synced_at":"2025-05-04T15:34:39.456Z","repository":{"id":214191520,"uuid":"688457878","full_name":"ChaoticSomeone/uranium_lang","owner":"ChaoticSomeone","description":"Uranium Lang: A Python and C++ based and (probably) unstable programming language","archived":true,"fork":false,"pushed_at":"2024-02-05T19:14:20.000Z","size":80,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T00:25:58.026Z","etag":null,"topics":["cpp","cpp20","programming-language","python","python3","source-to-source-compiler","transcompiler","uranium-lang"],"latest_commit_sha":null,"homepage":"","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/ChaoticSomeone.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-07T11:48:01.000Z","updated_at":"2024-03-18T15:39:26.000Z","dependencies_parsed_at":"2023-12-26T15:34:26.361Z","dependency_job_id":"546fadf9-9faa-4cb7-b9e4-0a0c60dfa746","html_url":"https://github.com/ChaoticSomeone/uranium_lang","commit_stats":null,"previous_names":["chaoticsomeone/uranium_lang"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoticSomeone%2Furanium_lang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoticSomeone%2Furanium_lang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoticSomeone%2Furanium_lang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoticSomeone%2Furanium_lang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChaoticSomeone","download_url":"https://codeload.github.com/ChaoticSomeone/uranium_lang/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252357220,"owners_count":21735101,"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":["cpp","cpp20","programming-language","python","python3","source-to-source-compiler","transcompiler","uranium-lang"],"created_at":"2024-11-13T05:24:15.207Z","updated_at":"2025-05-04T15:34:39.166Z","avatar_url":"https://github.com/ChaoticSomeone.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uranium Lang\n\n**This is an open-source project, feel free to contribute**\n\n# Uranium Lang - Features \u0026 Syntax\n\n## Variables\n\n### Primitive Datatypes:\n- int\n- float\n- string\n- bool\n\n### Decleration and Assignment\n```\n// decleration (doesn't work at the moment)\nname: datatype\n\n// assignment\nname: datatype = value\n```\n\nExample:\n```\nnumber: int = 0\n```\n\n## The main function\n```\nfunc main() -\u003e int {\n\treturn 0\n}\n```\n\n## Functions\n```\nfunc name(param_name: param_type, ...) -\u003e return_type {\n\t// your code goes here\n}\n```\n\nExample:\n```\nfunc add(a: int, b: int) -\u003e int {\n\treturn a + b\n}\n```\n\n**Please Note: Functions cannot be called yet (I might have fixed this already)**\n\n## Comments\nAs of right now Uranium Lang only has support for single-line comments, multi-line comments will be added in the future.\n```\n// This is a single-line comment\n```\n\n## If, Else if, Else\n```\nif condition1 {\n\t...\n} else if condition2 {\n\t...\n} else {\n\t...\n}\n```\n\nExample:\n```\nnum: int = 10\nif num \u003c 5 {\n\t// do something here\n} else if num \u003e 5 {\n\t// do something else here\n} else {\n\t// do something here too\n}\n```\n\n## While loops\n```\nwhile condition {\n\t...\n}\n```\n\nExample:\n```\nnum: int = 0\nwhile i \u003c 10 {\n\ti = i +1\n}\n```\n\n## For loops\nUranium Lang will support different types of for-loops, however only the\nclassic iterative for-loop is implemented right now.\n```\nfor name: datatype = value, condition, de/- incrementation value {\n\t...\n}\n```\n\nExample:\n```\nfor i: int = 0, i \u003c 10, 1 {\n\t// this achieves the same as the above while loop example\n}\n```\n\n\n# Uranium Lang - How does it work\n\nThe Uranium Compiler \"runs through\" your source code and tokenizes it. The resulting tokens are then\nrearranged and resstructured so that they can be translated to C++ more easily.\nYes, Uranium Lang is not directly compiled to machine code, it gets compiled into C++ and\nrelies on an external C++ Compiler to do the rest of the compilation.\n\n## Importance of XML\n\nUranium Lang depends on various XML files, such as the ones for token generation,\nthe new parser also heavily relies on them. The reason for that? Customization!\nDon't like a feature of the language? Just change the right XML file appropriately\nand you can tailor it to your liking! Is this feature a good idea? Probably not,\nbut it stays nevertheless.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaoticsomeone%2Furanium_lang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaoticsomeone%2Furanium_lang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaoticsomeone%2Furanium_lang/lists"}