{"id":23105704,"url":"https://github.com/luk3d/nos","last_synced_at":"2025-08-06T10:27:33.353Z","repository":{"id":46505756,"uuid":"384119612","full_name":"LUK3D/NOS","owner":"LUK3D","description":"Multi purpose programing language written in Rust","archived":false,"fork":false,"pushed_at":"2022-05-30T14:30:55.000Z","size":72127,"stargazers_count":24,"open_issues_count":0,"forks_count":2,"subscribers_count":8,"default_branch":"master","last_synced_at":"2023-03-04T14:41:33.217Z","etag":null,"topics":["awesome-made-by-angolans","luk3d-angola","luk3d-nos","nos-source","programming-language","python-source"],"latest_commit_sha":null,"homepage":"https://www.nos.luk3d.com","language":"Rust","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/LUK3D.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}},"created_at":"2021-07-08T12:38:23.000Z","updated_at":"2022-11-09T13:29:51.000Z","dependencies_parsed_at":"2022-07-19T21:58:45.396Z","dependency_job_id":null,"html_url":"https://github.com/LUK3D/NOS","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LUK3D%2FNOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LUK3D%2FNOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LUK3D%2FNOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LUK3D%2FNOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LUK3D","download_url":"https://codeload.github.com/LUK3D/NOS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230046330,"owners_count":18164449,"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":["awesome-made-by-angolans","luk3d-angola","luk3d-nos","nos-source","programming-language","python-source"],"created_at":"2024-12-17T00:54:14.843Z","updated_at":"2024-12-17T00:54:15.642Z","avatar_url":"https://github.com/LUK3D.png","language":"Rust","readme":"# ![nos-logo](img/logo.png)\n\n## 😌 WELCOME TO PROJECT {NOS}\n\n{Nos} (Nós), Its an interpreted language written in Rust.\n\nThe focus of this project is to create a language that can be easier to learn.\n\n### little example application to show the {NOS} Syntax 🙂\n\n```cs\n/*\n  ┌─────────────────────────────────────────────────────────────────────────┐\n  │ BASIC NOS CODE EXAMPLE                                                  |\n  | 23/05/2022 - luk3d                                                      │\n  └─────────────────────────────────────────────────────────────────────────┘\n */\n\ndef name s = 'Filipe Lukebana';\ndef number_1 i = 2;\ndef number_2 f = 34;\ndef is_gather b = fls;\n\n\n/** Defining a New Function**/\nfn main (def cmd_arguments stack\u003cs\u003e) {\n    out('Enter the name: '); //Print a message on cmd\n    name = in(); //reading the user input\n    out('Enter the first Number: ');\n    number_1 = i.parse(in());\n    out('Enter the Second Number: ');\n    number_2 = i.parse(in());\n    /**Adding two numbers**/\n    add(number_1,number_2);\n}\n\n/** Function to add two numbers**/\nfn add (def n1 f, def n2 f)-\u003ei {\n    rtn n1+n2;\n}\n\n\n/** Function that returns a Stack of Numbers**/\nfn range(def number f)-\u003estack\u003cf\u003e{\n    def numbers stack\u003cf\u003e = [];\n    def counter i = 0;\n    loop(fn(){\n        number.add(counter);\n        counter++;\n        if(counter == number){\n            breack;\n        }\n    });\n    return numbers;\n}\n\n/** Function to get the even numbers between 0 \"number\" x **/\nfn evenNumbers(def number f){\n    def numbers stack\u003cf\u003e = [];\n    loop.on(range(number),fn(_i){\n        if((_i%2) == 0){\n            numbers.add(_i);\n        }\n    });\n    return numbers;\n}\n\n```\n\n\n# 🚀 CURRENT STATE \n\n## Lexer / Tokenizer\n\nExample:\n```js\nINPUT -\u003e 1.2+22+1.3/4\n//The above input is tanslated to this tokens by the {NOS} Lexer\nOUTPUT-\u003e [FLOAT:1.2][PLUS][INTEGER:22][MULTIPLY][FLOAT:1.3][DIVIDE][INTEGER:4]\n```\n## Parser\n### Abstract Syntax Tree (AST)\nExample:\n\n```js\nINPUT -\u003e 1+2*32/3*5\n//The above input is translated to this tokens by the {NOS} Parser 😀\n(\n    ComplexExpression: Operator: * \n        (\n            (\n                BinaryExpression: operator: + \n                    (\n                        NumericLiteral: 1, NumericLiteral: 2\n                    ) , \n                    (\n                        ComplexExpression: Operator: / \n                            (\n                                BinaryExpression: NumericLiteral: 32 , \n                                (\n                                    (\n                                        BinaryExpression: operator: * \n                                            (\n                                                NumericLiteral: 3, NumericLiteral: 5\n                                            )\n                                    )\n                                )\n                            )\n                    )\n            )\n        )\n)\n```\n-------------------------------------------\n\nThe above Example Represented as Graph.\n\n![NOS AST](img/nos_execution_tree.png)\n\ndevellopment \n\n\n\n\n\n\u003c!-- ## [NOS-IDE](https://github.com/LUK3D-Angola/Nos_IDE \"repositorio oficial da IDE\") --\u003e\n\n\u003e In progress...\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluk3d%2Fnos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluk3d%2Fnos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluk3d%2Fnos/lists"}