{"id":17685682,"url":"https://github.com/rami3l/golox","last_synced_at":"2025-05-13T00:05:27.481Z","repository":{"id":101465251,"uuid":"520117398","full_name":"rami3l/golox","owner":"rami3l","description":"A VM-based interpreter for the Lox Programming Language.","archived":false,"fork":false,"pushed_at":"2022-09-05T00:44:11.000Z","size":158,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-13T00:05:19.401Z","etag":null,"topics":["crafting-interpreters","go","golang","interpreter","lox","lox-language","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rami3l.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":"2022-08-01T13:15:51.000Z","updated_at":"2024-12-11T05:36:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"9c6d3c2e-2087-44ec-827f-667502920308","html_url":"https://github.com/rami3l/golox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rami3l%2Fgolox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rami3l%2Fgolox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rami3l%2Fgolox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rami3l%2Fgolox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rami3l","download_url":"https://codeload.github.com/rami3l/golox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253843213,"owners_count":21972873,"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":["crafting-interpreters","go","golang","interpreter","lox","lox-language","programming-language"],"created_at":"2024-10-24T10:28:42.281Z","updated_at":"2025-05-13T00:05:27.451Z","avatar_url":"https://github.com/rami3l.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# golox\n\n[The Lox Programming Language](https://www.craftinginterpreters.com/the-lox-language.html) implemented in Go, based on the original `clox` implementation\\*.\n\n\\* : For the tree-walking interpreter, see [`rami3l/dolores`](https://github.com/rami3l/dolores).\n\n---\n\n## Contents\n\n- [golox](#golox)\n  - [Contents](#contents)\n  - [Features](#features)\n  - [Try it out!](#try-it-out)\n\n---\n\n## Features\n\n- [x] Lexer\n- [x] Pratt parser \u0026 bytecode compiler\n- [x] Bytecode VM\n- [x] Basic types\n- [x] Floating point arithmetic\n- [x] Logic expressions\n- [x] Control flow\n  - [x] Jumps: `break`/`continue`\\*\\*\n- [x] Functions\n- [x] Classes\n- [x] Instances\n- [x] Instance methods\n  - [x] `this`\n  - [x] Initializers\n- [x] Inheritance\n  - [x] `super`\n\n\\*\\* : Extension\n\n## Try it out!\n\nWith the latest [Go toolchain](https://go.dev/dl) installed:\n\nTo refresh generated source files:\n\n```sh\ngo generate ./...\n```\n\nTo run:\n\n```sh\ngo run main.go\n```\n\nTo run with debug info:\n\n```sh\ngo run -tags DEBUG main.go -v=debug\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frami3l%2Fgolox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frami3l%2Fgolox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frami3l%2Fgolox/lists"}