mirror of
https://github.com/jamiebuilds/the-super-tiny-compiler.git
synced 2024-10-27 20:34:08 +00:00
46 lines
1.4 KiB
Markdown
Executable File
46 lines
1.4 KiB
Markdown
Executable File
[![The Super Tiny Compiler](https://cloud.githubusercontent.com/assets/952783/21579290/5755288a-cf75-11e6-90e0-029529a44a38.png)](the-super-tiny-compiler.js)
|
|
|
|
***Welcome to The Super Tiny Compiler!***
|
|
|
|
This is an ultra-simplified example of all the major pieces of a modern compiler
|
|
written in easy to read JavaScript.
|
|
|
|
Reading through the guided code will help you learn about how *most* compilers
|
|
work from end to end.
|
|
|
|
### [Want to jump into the code? Click here](the-super-tiny-compiler.js)
|
|
|
|
### [You can also check it out on Glitch](https://the-super-tiny-compiler.glitch.me/)
|
|
|
|
---
|
|
|
|
### Why should I care?
|
|
|
|
That's fair, most people don't really have to think about compilers in their day
|
|
jobs. However, compilers are all around you, tons of the tools you use are based
|
|
on concepts borrowed from compilers.
|
|
|
|
### But compilers are scary!
|
|
|
|
Yes, they are. But that's our fault (the people who write compilers), we've
|
|
taken something that is reasonably straightforward and made it so scary that
|
|
most think of it as this totally unapproachable thing that only the nerdiest of
|
|
the nerds are able to understand.
|
|
|
|
### Okay so where do I begin?
|
|
|
|
Awesome! Head on over to the [the-super-tiny-compiler.js](the-super-tiny-compiler.js)
|
|
file.
|
|
|
|
### I'm back, that didn't make sense
|
|
|
|
Ouch, I'm really sorry. Let me know how it can be improved.
|
|
|
|
### Tests
|
|
|
|
Run with `node test.js`
|
|
|
|
---
|
|
|
|
[![cc-by-4.0](https://licensebuttons.net/l/by/4.0/80x15.png)](http://creativecommons.org/licenses/by/4.0/)
|