thetriowlt / sacc Goto Github PK
View Code? Open in Web Editor NEWSpeedy Arm Compier is a simple and fast C compiler implemented in Rust with the goals of being user friendly, well documented, and fast
Speedy Arm Compier is a simple and fast C compiler implemented in Rust with the goals of being user friendly, well documented, and fast
Assuming all goes well, I see this possibly being used as a teaching tool to show the stages of a compiler and how it works. We have discussed some nice optimizations would benefit performance if implemented (keeping AST nodes 64 bits, combining the parser and the verifier, using C enums with shared data in a struct, etc.) and I propose that we do implement these fun changes, but after finish a somewhat complete version of the compiler. Then, we will push this "pure" (slow but straightforward) version of the compiler to a branch that wont change. From there we can move full speed toward optimization. This will allow us to learn how to make a compiler as well as pin the final useful product once were done.
Also to clarify our goals, we are looking to be able to compile a hello world program by the end of this semester (May 2022 or so). As stepping stones for that we will also be able to compile a memcpy.c
file which doesn't use the preprocessor and looks something like this:
void* memcpy (void* dest, const void* src, size_t len)
{
char *d = dest;
const char *s = src;
while (len--)
*d++ = *s++;
return dest;
}
Long live SACC!
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.