cparser
tinycc
cparser | tinycc | |
---|---|---|
2 | 1 | |
323 | 23 | |
2.2% | - | |
4.6 | 0.0 | |
7 months ago | over 1 year ago | |
C | C | |
GNU General Public License v3.0 only | GNU Lesser General Public License v3.0 only |
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.
cparser
-
Compiling History: A brief tour of C compilers
> QBE is a new optimizing backend much simpler than LLVM; cproc and cparser are two of the C compilers that target it, in addition to its own minic.
I thought cparser targeted libFirm. That's what their GitHub page says [0].
"It acts as a frontend to the libFirm intermediate representation library."
> We really need a production quality open source C compiler that is actually written in C.
I honestly think cproc or cparser are almost there already. For cproc, you just need to improve the quality of code optimization; it's really QBE you'd need to change. For example, you could change unnecessary multiplications by powers of 2 into left shifts, improve instruction selection so that subtraction is always something like "sub rax, rdi" and not "neg rdi / add rax, rdi" [1]).
For cparser, I notice slightly higher quality codegen; libFirm just needs more architecture support (e.g. AMD64 support appears to work for me, but it's labeled as experimental).
[0]: https://github.com/libfirm/cparser
[1]: I'm pretty sure this is the line of code that generates it, too: https://c9x.me/git/qbe.git/tree/amd64/emit.c#n418
- Cparser – A C99 parser (with GNU extensions) (2020)
tinycc
-
Ask HN: Does someone have pyvm-3.0.tar.bz2
I'm trying to have buildable versions of several compilers for learning and historical preservation and recently discovered "lwc" https://directory.fsf.org/wiki/Lightweight_C++ and apparently the latest version of it come with this pyvm version http://students.ceid.upatras.gr/~sxanth/pyvm-3.0/ -> http://students.ceid.upatras.gr/~sxanth/pyvm-3.0/pyvm-3.0.tar.bz2 but is not accessible anymore.
Does anyone have it and could share it ?
I already have a version 2.1 here https://github.com/mingodad/lwc and here https://github.com/mingodad/pyvm and here is some discussion with links https://github.com/mingodad/cfront-3/issues/6 .
I also have:
- Cfront3 https://github.com/mingodad/cfront-3
- Cyclone https://github.com/mingodad/cyclone
- Tinycc reeentrant https://github.com/mingodad/tinycc
Thank you in advance for any help !
What are some alternatives?
lwc - LightWeight C++
libwifi - An 802.11 (WiFi) Frame Generation and Parsing Library in C
pyvm - archive of pyvm.git (last push: version 2.1). includes "lightweight C++" in pyvm/lwc dir.
cyclone - Cyclone Language Compiler fixes to build on recent operating systems
xcc - Toy C compiler for x86-64/aarch64/riscv64/wasm
website-meta-language - An old offline HTML preprocessor (which can be used for static site generation), written in Perl and C that is still maintained for legacy reasons, but probably not recommended for new sites.
cfront-3 - self education and historical research of the C++ compiler cfront v3
tinycc - Unofficial mirror of mob development branch