awesome-compilers
Essentials-of-Compilatio
awesome-compilers | Essentials-of-Compilatio | |
---|---|---|
7 | 6 | |
8,480 | - | |
- | - | |
0.0 | - | |
about 1 year ago | - | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
awesome-compilers
-
Can we create a thread for some of the best materials on CS available online?
I was looking at some stuff by Fogus and discovered:
https://github.com/fogus/papers-i-love
Really good resource for a bunch of important papers.
There's also some good information for compilers on github
https://github.com/aalhour/awesome-compilers
-
Looking for some compiler development resources
There's a big list of resourses in aweasome-compilers, of those, the books i recomend are:
-
Repositórios úteis do GitHub
Awesome Compilers
-
Ask HN: I like studying the concept of abstractions
towards lisp related data structures / algorithms (aka recursive tree data structures & algorithms).
So, no distinction between metadata vs. structual storage unless noted.
Anything beyond that tends towards masters & upper level undergraduate level material. aka review the implimentation of a programming language for algorithm & data structure usage per language features.
aka Autonoma / regular expressions backround: Lisp in Small Pieces by Christian Queinnec; ; https://github.com/aalhour/awesome-compilers; On Lisp by Paul Graham; Let over Lambda by Doug Hoyte; C 'macro's pushed to maximum effect : https://libcello.org/
Left out Comparison of languages; Transform from lang a to lang b; and language implimentation as discussions tend to assume masters / upper level undergraduate knowledge
- Ask HN: What resources do you recommend for compiler development?
- Resources for learning Compiler design?
- Teaching Compilers Backward
Essentials-of-Compilatio
-
The dragon compiler book (2nd edition) is a great book
You can try this book if you want something that came out this year https://github.com/IUCompilerCourse/Essentials-of-Compilatio.... Go to the releases to either get the racket version or python version. But I mean cmu uses the dragon book second edition for a graduate level compiler optimization class.
-
Why Learn Compilers
This paper is my favorite introduction to compilers, it's short and hands-on: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf
There is a book-length expansion of this paper that goes into more detail: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
-
Can we create a thread for some of the best materials on CS available online?
Introduction to Computing"
https://dcic-world.org/
# Programming Language Theory:
"Programming Languages: Application and Interpretation"
https://www.plai.org/
# Compilation:
"Essentials of Compilation: An Incremental Approach in Python"
https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
# Database Systems:
"CMU: Intro to Database Systems"
https://15445.courses.cs.cmu.edu/
"CMU: Advanced Database Systems"
https://15721.courses.cs.cmu.edu/
# Calculus I/II & Real Analysis
"A Course in Calculus and Real Analysis"
https://link.springer.com/book/10.1007/978-3-030-01400-1
"A Course in Multivariable Calculus and Analysis"
https://link.springer.com/book/10.1007/978-1-4419-1621-1
# Linear Algebra & ML:
* A Series of books by prof. Joe Suzuki without using any external library for the implementations *
"Statistical Learning with Math and Python"
https://link.springer.com/book/10.1007/978-981-15-7877-9
"Sparse Estimation with Math and Python"
https://link.springer.com/book/10.1007/978-981-16-1438-5
"Kernel Methods for Machine Learning with Math and Python"
https://link.springer.com/book/10.1007/978-981-19-0401-1
# Discrete Mathematics:
"CMU 21-228 Discrete Mathematics (prof. Poh-Shen Loh"
https://www.math.cmu.edu/~ploh/2021-228.shtml
# Cryptography:
"Serious Cryptography: A Practical Introduction to Modern Encryption"
https://nostarch.com/seriouscrypto
# Problem Solving:
"Math 235: Mathematical Problem Solving"
https://www.cip.ifi.lmu.de/~grinberg/t/20f/
-
CS 6120: Advanced Compilers: The Self-Guided Online Course
https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
You can find a PDF and the associated course with a very minimal amount of following links.
If you are thinking of making your own language, it's also good to learn something about programming language theory, if you don't already. Many languages make mistakes that have been solved 25+ years ago. PLAI is good for that: https://www.plai.org/
-
Essentials of Compilation [book and video lectures]
I presume that's this, run in \racket mode? https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
I ask because there seems to be a \python mode, too, that folks may find valuable: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
I also don't know why the ci.yml only ran for a few seconds: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
-
An Incremental Approach to Compiler Construction [pdf]
I took the IU compilers course as an undergrad and can easily say it was my favorite course. If anyone is interested, here is a link to the textbook which will cover this papers content in much finer detail:
https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
What are some alternatives?
jspython - JSPython is a python-like syntax interpreter implemented with javascript that runs entirely in the web browser and/or in the NodeJS environment.
Essentials-of-Compilation - A book about compiling Racket and Python to x86-64 assembly
sigmastate-interpreter - ErgoScript compiler and ErgoTree Interpreter implementation for Ergo blockchain
pretty_laughable_lang - An educational C-like toy programming language that compiles to x64 binary.
Functional Programming in C# - Code samples for Functional Programming in C#
json-rd - A recursive descent parser for JSON in pure python
Cello - Higher level programming in C
inc - an incremental approach to compiler construction
cs-topics - My personal curriculum covering basic CS topics. This might be useful for self-taught developers... A work in development! This might take a very long time to get finished!
papers-i-love - Computer science and computer-adjacent papers (and sometimes books) that have influenced me deeply.
courses - Awesome Courses