{"id":25166249,"url":"https://github.com/tomasboda/gen-lang-interpreter","last_synced_at":"2025-06-15T21:08:28.280Z","repository":{"id":244530172,"uuid":"812058582","full_name":"TomasBoda/gen-lang-interpreter","owner":"TomasBoda","description":"The GEN Programming Language","archived":false,"fork":false,"pushed_at":"2024-06-19T08:50:16.000Z","size":181,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T17:27:04.413Z","etag":null,"topics":["bytecode-interpreter","programming-language","virtual-machine"],"latest_commit_sha":null,"homepage":"","language":"C","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/TomasBoda.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":"2024-06-07T21:38:46.000Z","updated_at":"2024-06-19T08:50:19.000Z","dependencies_parsed_at":"2024-06-19T17:03:15.340Z","dependency_job_id":null,"html_url":"https://github.com/TomasBoda/gen-lang-interpreter","commit_stats":null,"previous_names":["tomasboda/gen-lang-interpreter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TomasBoda/gen-lang-interpreter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasBoda%2Fgen-lang-interpreter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasBoda%2Fgen-lang-interpreter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasBoda%2Fgen-lang-interpreter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasBoda%2Fgen-lang-interpreter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TomasBoda","download_url":"https://codeload.github.com/TomasBoda/gen-lang-interpreter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasBoda%2Fgen-lang-interpreter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260050104,"owners_count":22951400,"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":["bytecode-interpreter","programming-language","virtual-machine"],"created_at":"2025-02-09T05:48:38.995Z","updated_at":"2025-06-15T21:08:28.254Z","avatar_url":"https://github.com/TomasBoda.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The GEN Programming Language\nGEN is a general-purpose, procedural, dynamically typed programming language based on a bytecode virtual machine interpreter written in C.\n\n## About\nBelow is an example code of the GEN programming language representing a recursive fibonacci implementation without caching.\n```\nfunc fibonacci(var n) {\n    var i = 0;\n\n    while (i \u003c n) {\n        var index = i + 1;\n        var value = fibonacci_recursive(i);\n\n        fibonacci_print(index, value);\n        i = i + 1;\n    }\n}\n\nfunc fibonacci_recursive(var number) {\n    if (number \u003c= 1) {\n        return number;\n    }\n\n    return fibonacci_recursive(number - 1) + fibonacci_recursive(number - 2);\n}\n\nfunc fibonacci_print(var index, var value) {\n    print index;\n    print \": \";\n    print value endl;\n}\n\nfunc main() {\n    var n = 30;\n    fibonacci(n);\n}\n```\n\n## Building \u0026 Running\nTo build and run the interpreter with the example program in the `program.gen` file, run the prepared bash script.\n```bash\n./scripts/interpret.sh\n```\n\n## Testing\nTo run the tests, run the prepared bash script.\n```bash\n./scripts/test.sh\n```\n\nby [Tomas Boda](https://github.com/TomasBoda)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomasboda%2Fgen-lang-interpreter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomasboda%2Fgen-lang-interpreter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomasboda%2Fgen-lang-interpreter/lists"}