jamiebuilds_the-super-tiny-.../README.md

37 lines
1.3 KiB
Markdown
Raw Normal View History

2017-04-25 17:16:30 +00:00
# Welcome to The Super Tiny Compiler!
2016-08-25 01:35:32 +00:00
2017-04-25 17:16:30 +00:00
***An [@thejameskyle](http://thejameskyle.com/) production***
2016-08-25 01:35:32 +00:00
2017-04-25 17:16:30 +00:00
---
This is an ultra-simplified example of all the major pieces of a modern
compiler written in easy to read JavaScript.
2016-08-25 01:35:32 +00:00
Reading through the guided code will help you learn about how *most* compilers
work from end to end.
### Why should I care?
2017-04-25 17:16:30 +00:00
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. These are really useful concepts to
have at your disposal.
2016-08-25 01:35:32 +00:00
### 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.
2017-04-25 17:16:30 +00:00
I've done my best to try and keep this from being a scary experience. I hope
that reading this will be a positive learning experience for you.
2016-08-25 01:35:32 +00:00
2017-04-25 17:16:30 +00:00
### Okay so where do I begin?
2016-08-25 01:35:32 +00:00
2017-04-25 17:16:30 +00:00
Awesome! Head on over to [**0-introduction.md**](./intro) and then
work your way down the list of files.
2016-08-25 01:35:32 +00:00
---
2017-04-25 17:16:30 +00:00
[![cc-by-4.0](https://licensebuttons.net/l/by/4.0/80x15.png)](http://creativecommons.org/licenses/by/4.0/)