aalhour / awesome-compilers Goto Github PK
View Code? Open in Web Editor NEW:sunglasses: Curated list of awesome resources on Compilers, Interpreters and Runtimes
Home Page: http://aalhour.com/awesome-compilers
License: Other
:sunglasses: Curated list of awesome resources on Compilers, Interpreters and Runtimes
Home Page: http://aalhour.com/awesome-compilers
License: Other
currently there are ML compiler covered in academics and having good resources will help.
You mention the following:
Write a Compiler in Go - Well-known introduction to the Go programming language and its ecosystem through building a Compiler project.
Write an Interpreter in Go - Successor of the "Write a Compiler in Go" book, but this one builds an interpreter project instead.
However, it's the other way round: Thorsten Ball first wrote "Write an Interpreter in Go" (https://interpreterbook.com) and then "Write a Compiler in Go" (https://compilerbook.com).
Break the Books section into aub-sections based on depth l, i.e.: Beginner, Intermediate, Advanced, and/or topic, i.e.: Frotend, Backend, SSA Form, Optimization, Code Generation, Register Allocation ... etc.
Eclipse OMR is a C/C++ toolkit for building language runtimes. OMR has a high level JIT compilation library called JitBuilder, which is built on OMR's more general compilation framework. We also have a demo VM called Base9, and a small tutorial on adding a bytecode (and jitting that bytecode) here(pdf).
I'd be super happy if you could add our project to the list of C/C++ compilation frameworks.
Website listing emulator projects for 6502 and 65C02- http://www.6502.org/tools/emu/
Hello dear,
Iโve been working for a longer time on a clojure-ish Compiler built on top of JS. It is called Clarence and you will find it here. it is written and maintained by me (timo-cmd) and by Max Base. Iโd consider, you could add the Clarence compiler to the serious projects, whereas Clarence is now aiming towards the linguist index.
I enjoy your awesome lists really. I follow you and wish you success.
Thanks and regards
Timo S.
LPEG library provides parsing expression grammars for Lua
The current link: http://pgbovine.net/cpython-internals.htm is broken.
The video playlist can be found on YouTube: https://www.youtube.com/playlist?list=PLzV58Zm8FuBL6OAv1Yu6AwXZrnsFbbR0S
Hi, since you asked for more tooling.
I guess these should be on your list as well.
https://github.com/keystone-engine/keystone
Basically a library that turns assembler from strings into byte sequences.
https://github.com/aquynh/capstone
Goes the other way and turns encoded assembly into assembler text & details.
Link: http://dippl.org/
Add the book Modern compiler design by Grune, D., van Reeuwijk, K., Bal, H.E., Jacobs, C.J.H., Langendoen, K..
check it out for yourself:
https://di.ku.dk/hjemmesider/ansatte/torbenm/Basics/
Some links
https://medium.freecodecamp.com/the-programming-language-pipeline-91d3f449c919
http://beautifulracket.com/
http://blog.ppelgren.se/2015-01-03/DIY-Make-Your-Own-Programming-language/
https://web.archive.org/web/20161025093116/http://nathansuniversity.com/
http://eloquentjavascript.net/11_language.html
http://lisperator.net/pltut/
Mewa is a compiler-compiler for prototyping compiler front-ends for statically typed languages using LLVM IR as back-end in Lua.
The main emphasis of the project is not on the parser generator but on the support for defining a type system.
It aims to bring projects considered endless for a single person within reach ( ~ 5K Lines of Code ).
An example implementation of a non-trivial compiler and an FAQ exists to help you in problem-solving.
Hi, cool list you have here.
You might want to add asmJIT. - https://github.com/asmjit/asmjit
A lot of tools are based on this framework.
https://github.com/DoctorWkt/acwj
8k stars already !
I see you mentioned Robert Nystrom's craftinginterpreters. You could also list the repos that point to the code for the Java interpreter (jlox) and C VM (clox) for the (Lox) language implemented in the book.
Great list by the way ๐
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.