cake VS pycparser

Compare cake vs pycparser and see what are their differences.

cake

Cake a C23 front end and transpiler written in C (by thradams)

pycparser

:snake: Complete C99 parser in pure Python (by eliben)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
cake pycparser
19 8
496 3,125
- -
9.8 2.9
6 days ago 7 days ago
C Python
GNU General Public License v3.0 only GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

cake

Posts with mentions or reviews of cake. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-21.

pycparser

Posts with mentions or reviews of pycparser. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-13.
  • Easy-to-use open source C preprocessor library?
    1 project | /r/c_language | 3 May 2023
    In python, we have pycparser https://github.com/eliben/pycparser to parse C files into a tree.
  • What package is used to analyze C code?
    1 project | /r/learnpython | 22 Dec 2022
    I found pycparser which can probably do what you need, but it might not be very easy to use.
  • Complete C99 parser in pure Python
    1 project | news.ycombinator.com | 14 Oct 2022
  • Cake: C23 Front End and Transpiler C23 – C99
    5 projects | news.ycombinator.com | 13 Sep 2022
    You can also use pycparser[0]. It is fully compatible C99, but be careful it doesn't support gnu extensions (like attributes, #indent, asm() ...). You can however work around most of them by -D defining them to empty macro in the argument.

    [0] https://github.com/eliben/pycparser

  • When do you truly know C?
    1 project | /r/C_Programming | 27 Jul 2022
    I wrote that tiny C compiler in Python and chose pycparser as the starting point. If you run C source code through pycparser it yields an Abstract syntax tree (AST) which is an in-memory, fine-grained tree representation of the C source code (for example, compound expressions are represented as binary trees that obey operator precedence rules which is extremely helpful).
  • Script that detects functions written in C
    1 project | /r/learnpython | 8 Jun 2022
    The difficulty is that in c you can do all kinds of weird and wonderful things... Doing it just by a text analysis of three code is going to be difficult to say the least. You could look at something like this parser though I suspect you might get better results using some of the existing utilities out there
  • Check function length in C?
    1 project | /r/AskProgramming | 21 Mar 2022
    Just find a C parser/lexer/whatever that'll handle the parsing for you. You can probably use it to determine where each function starts, where it ends, what it's called, etc.
  • Anyone interested in working on a hardware (FPGA/ASIC) related project? Not a compilers person by training, looking for help.
    2 projects | /r/Compilers | 15 Jul 2021
    In terms of functionality the PipelineC project is pretty mature. But the back end implementation is hacky involves far to much reliance on a pycparser setup I dont understand (other than basic AST traversal was all needed). And as I slowly look to add not-strictly-C language concepts I would love to be working with someone who knows whats going on with compilers, syntaxes, intermediates. Some kind of Rust or C++ front end would be cool - template types and constexpr like things are something I am really missing being limited to C at the moment. I'll teach you FPGA things in return :-p

What are some alternatives?

When comparing cake and pycparser you can also consider the following projects:

lang - This is the source code repository for the Lang Programming Language, containing a compiler, documentation and soon-to-be standard library.

PipelineC - A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.

tombl - Easily query TOML files from bash

narcissus - INACTIVE - http://mzl.la/ghe-archive - The Narcissus meta-circular JavaScript interpreter

run-clang-format - A wrapper script around clang-format, suitable for linting multiple files and to use for continuous integration

c99-to-c89 - Tool to convert C99 code to MSVC-compatible C89

pg_netstat - PostgreSQL extension to monitor database network traffic

Cello - Higher level programming in C

cedro - C programming language extension: Cedro pre-processor

ack - The Amsterdam Compiler Kit

cyclone - Cyclone is a type- and memory-safe dialect of C