{"id":13792423,"url":"https://github.com/mrnugget/scheme_x86","last_synced_at":"2026-01-22T19:47:57.970Z","repository":{"id":144831670,"uuid":"199782217","full_name":"mrnugget/scheme_x86","owner":"mrnugget","description":"Writing a Scheme to x86 compiler by following Abdulaziz Ghuloum's \"An Incremental Approach to Compiler Construction\"","archived":false,"fork":false,"pushed_at":"2019-11-23T16:44:30.000Z","size":225,"stargazers_count":73,"open_issues_count":0,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-18T06:49:05.227Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scheme","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/mrnugget.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}},"created_at":"2019-07-31T05:02:10.000Z","updated_at":"2024-11-15T13:40:40.000Z","dependencies_parsed_at":"2024-01-07T05:09:35.833Z","dependency_job_id":"8b3d6b99-316e-4349-9b12-0003bed1d43d","html_url":"https://github.com/mrnugget/scheme_x86","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/mrnugget%2Fscheme_x86","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrnugget%2Fscheme_x86/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrnugget%2Fscheme_x86/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrnugget%2Fscheme_x86/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrnugget","download_url":"https://codeload.github.com/mrnugget/scheme_x86/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253754967,"owners_count":21958934,"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":[],"created_at":"2024-08-03T22:01:12.034Z","updated_at":"2026-01-22T19:47:57.963Z","avatar_url":"https://github.com/mrnugget.png","language":"Scheme","funding_links":[],"categories":["Scheme"],"sub_categories":["course"],"readme":"# scheme_x86\n\nWriting a Scheme to x86 compiler by following [Abdulaziz Ghuloum's \"An Incremental Approach to Compiler Construction\"](http://lambda-the-ultimate.org/node/1752).\n\nThis also takes _a lot_ of inspiration from [namin/inc](https://github.com/namin/inc) and the [Let's Build a Compiler](https://generalproblem.net/lets_build_a_compiler/01-starting-out/) series of blog posts.\n\n### Features\n\nThe best way to get an up-to-date overview of the supported features is to look\ninto the `./src/tests/` folder.\n\nBut in terms of Ghuloum's paper: the compiler here implements most of the\nfunctionality (except some macro expansions and functions) described in the\nsections up to and including \"3.18 Apply\".\n\n### Requirements\n\n* Linux (I use a Docker container on macOS for that)\n* Chez Scheme\n\n### Running the tests\n\n```bash\ndocker build -t scheme_x86 . \u0026\u0026 \\\n  docker run -it -v $(pwd):/code scheme_x86 -c 'cd /code/src/ \u0026\u0026 make test'\n```\n\nRunning a single test is possible by specifying the filename:\n\n```\nTEST=test-unary-primitives make test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrnugget%2Fscheme_x86","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrnugget%2Fscheme_x86","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrnugget%2Fscheme_x86/lists"}