{"id":15700960,"url":"https://github.com/eld/hackassembler-rs","last_synced_at":"2026-02-26T09:55:56.966Z","repository":{"id":70331615,"uuid":"43832843","full_name":"ELD/hackassembler-rs","owner":"ELD","description":"Rewrite of my C++ Hack Assembler in Rust","archived":false,"fork":false,"pushed_at":"2016-05-19T12:52:54.000Z","size":20,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-01-04T14:25:28.459Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/ELD.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":"2015-10-07T17:30:37.000Z","updated_at":"2019-05-02T08:02:11.000Z","dependencies_parsed_at":"2023-03-11T08:28:55.103Z","dependency_job_id":null,"html_url":"https://github.com/ELD/hackassembler-rs","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/ELD%2Fhackassembler-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ELD%2Fhackassembler-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ELD%2Fhackassembler-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ELD%2Fhackassembler-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ELD","download_url":"https://codeload.github.com/ELD/hackassembler-rs/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240275925,"owners_count":19775615,"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-10-03T19:57:09.401Z","updated_at":"2026-02-26T09:55:51.933Z","avatar_url":"https://github.com/ELD.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hack Assembler\n## Written in (possibly) idiomatic Rust\n\n#### Build status\nmaster: [![Build Status](https://travis-ci.org/ELD/hackassembler-rs.svg?branch=master)](https://travis-ci.org/ELD/hack-assembler-rs)\ndevelop: [![Build Status](https://travis-ci.org/ELD/hackassembler-rs.svg?branch=develop)](https://travis-ci.org/ELD/hack-assembler-rs)\n\n### Overview\nThis is the Hack Assembler from the Elements of Computing Systems book and the nand2tetris suite. This solution works\nwith all the provided test programs and can successfully assemble the Pong game.\n\nSince the book (and website) requests we don't post solutions online, this is a read-only source and you are not\nauthorized to use this for your own purposes. This was a challenge for me to see if I could reimplement my C++ solution\nin reasonably idiomatic Rust.\n\n~~The most interesting observation is that the debug version is several times slower than the release version with\noptimizations. It also appears to be slightly faster than my C++ solution. I'm still going to look into optimizations\n(mostly \u0026str vs String) to see if I can speed up execution even further.~~\nThe debug version of this application is several times slower than my C++ implementation, but when it's compiled with the `--release` flag for optimizations, it's actually slightly faster than my C++ implementation. I'm still going to look into optimizations.\n\nThis is a very interesting project to implement because it covers some basic parsing and lexing. Projects 10 and 11 are\nfar more interesting in those aspects as you work to produce a parser that works on a higher level, Java-like language.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feld%2Fhackassembler-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feld%2Fhackassembler-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feld%2Fhackassembler-rs/lists"}