{"id":37882073,"url":"https://github.com/hereisjohnny2/lox-lang","last_synced_at":"2026-01-16T16:49:18.502Z","repository":{"id":279132260,"uuid":"937813184","full_name":"hereisjohnny2/lox-lang","owner":"hereisjohnny2","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-24T00:00:33.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T00:27:33.206Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/hereisjohnny2.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":"2025-02-23T23:54:11.000Z","updated_at":"2025-02-24T00:00:36.000Z","dependencies_parsed_at":"2025-02-24T00:37:37.143Z","dependency_job_id":null,"html_url":"https://github.com/hereisjohnny2/lox-lang","commit_stats":null,"previous_names":["hereisjohnny2/lox-lang"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hereisjohnny2/lox-lang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hereisjohnny2%2Flox-lang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hereisjohnny2%2Flox-lang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hereisjohnny2%2Flox-lang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hereisjohnny2%2Flox-lang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hereisjohnny2","download_url":"https://codeload.github.com/hereisjohnny2/lox-lang/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hereisjohnny2%2Flox-lang/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28480081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-16T16:49:15.771Z","updated_at":"2026-01-16T16:49:18.489Z","avatar_url":"https://github.com/hereisjohnny2.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lox Language Implementation\n\nThis is an implementation in python of the Lox Language, a basic programming language described in the book [Crafiting Interpreters](https://craftinginterpreters.com/).\n\n## Usage \n\n```shell\n# Create new venv (for runing the tests)\n$ python3 -m venv venv\n\n# Running the REPL\n$ python3 main.py\n\n# Running a .lox script\n$ python3 main.py \u003cpath/to/script.lox\u003e\n```\n\n## Lox Language Grammar Rules\n\n```\nexpression -\u003e equality;\nequality   -\u003e comparison ((\"!=\" | \"==\") | comparison)*\ncomparison -\u003e term ((\"\u003e\" | \"\u003c\" | \"\u003e=\" | \"\u003c=\") | term)*\nterm       -\u003e factor ((\"+\" | \"-\") | factor)*\nfactor     -\u003e unary ((\"*\" | \"/\") | unary)*\nunary      -\u003e (\"!\" | \"-\") unary | primary;\nprimary    -\u003e NUMBER | STRING | \"true\" | \"false\" | \"nil\" | \"(\" expression \")\";\n```\n\n```shell\n# AST can be recreated with:\n$ python tools/ast_generator.py ./lox\n```\n\n## Script Example\n\n```csharp\nvar str = \"lox\";\nvar number = 1234.67;\n\nfun do_something(a, b) {\n    return a * b;\n}\n\nprint do_something(number, 2);\nprint str;\n```\n\n## Tests\n\n```shell\n$ pytest\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhereisjohnny2%2Flox-lang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhereisjohnny2%2Flox-lang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhereisjohnny2%2Flox-lang/lists"}