{"id":13394057,"url":"https://github.com/jamiebuilds/the-super-tiny-compiler","last_synced_at":"2025-05-12T20:52:53.207Z","repository":{"id":37334622,"uuid":"53639099","full_name":"jamiebuilds/the-super-tiny-compiler","owner":"jamiebuilds","description":":snowman: Possibly the smallest compiler ever","archived":false,"fork":false,"pushed_at":"2024-02-19T12:33:21.000Z","size":41,"stargazers_count":28148,"open_issues_count":17,"forks_count":2871,"subscribers_count":474,"default_branch":"master","last_synced_at":"2025-03-12T21:02:53.409Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamiebuilds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2016-03-11T04:19:18.000Z","updated_at":"2025-03-12T03:27:57.000Z","dependencies_parsed_at":"2022-07-15T11:18:46.394Z","dependency_job_id":"da2ed7a7-0147-44b3-aea6-005eb5561c77","html_url":"https://github.com/jamiebuilds/the-super-tiny-compiler","commit_stats":{"total_commits":13,"total_committers":6,"mean_commits":"2.1666666666666665","dds":0.3846153846153846,"last_synced_commit":"d8d40130459d1537f6117a927947cd46c83182b0"},"previous_names":["thejameskyle/the-super-tiny-compiler"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamiebuilds%2Fthe-super-tiny-compiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamiebuilds%2Fthe-super-tiny-compiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamiebuilds%2Fthe-super-tiny-compiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamiebuilds%2Fthe-super-tiny-compiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamiebuilds","download_url":"https://codeload.github.com/jamiebuilds/the-super-tiny-compiler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250479585,"owners_count":21437388,"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-07-30T17:01:07.499Z","updated_at":"2025-04-23T17:27:22.487Z","avatar_url":"https://github.com/jamiebuilds.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Compilers","Misc","others","Compilers!","前端杂项","Compiler :japanese_ogre:","Tutorials","📦 Legacy \u0026 Inactive Projects","Compiler"],"sub_categories":["Babel","Burn Iso"],"readme":"[![The Super Tiny Compiler](https://cloud.githubusercontent.com/assets/952783/21579290/5755288a-cf75-11e6-90e0-029529a44a38.png)](the-super-tiny-compiler.js)\n\n***Welcome to The Super Tiny Compiler!***\n\nThis is an ultra-simplified example of all the major pieces of a modern compiler\nwritten in easy to read JavaScript.\n\nReading through the guided code will help you learn about how *most* compilers\nwork from end to end.\n\n### [Want to jump into the code? Click here](the-super-tiny-compiler.js)\n\n### [You can also check it out on Glitch](https://the-super-tiny-compiler.glitch.me/)\n\n---\n\n### Why should I care?\n\nThat's fair, most people don't really have to think about compilers in their day\njobs. However, compilers are all around you, tons of the tools you use are based\non concepts borrowed from compilers.\n\n### But compilers are scary!\n\nYes, they are. But that's our fault (the people who write compilers), we've\ntaken something that is reasonably straightforward and made it so scary that\nmost think of it as this totally unapproachable thing that only the nerdiest of\nthe nerds are able to understand.\n\n### Okay so where do I begin?\n\nAwesome! Head on over to the [the-super-tiny-compiler.js](the-super-tiny-compiler.js)\nfile.\n\n### I'm back, that didn't make sense\n\nOuch, I'm really sorry. Let me know how it can be improved.\n\n### Tests\n\nRun with `node test.js`\n\n---\n\n[![cc-by-4.0](https://licensebuttons.net/l/by/4.0/80x15.png)](http://creativecommons.org/licenses/by/4.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamiebuilds%2Fthe-super-tiny-compiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamiebuilds%2Fthe-super-tiny-compiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamiebuilds%2Fthe-super-tiny-compiler/lists"}