This project explores practical C engineering through a stack-based calculator and supporting modules. It focuses on maintainable architecture in C, testing strategy, and memory-aware programming patterns.
Summary
A stack calculator may seem somewhat unsophisticated and perhaps even less worthy when compared to some of the other projects in my work section. Other earlier projects are bigger and more dramatic, "syntax analyzer", "rust compiler", ect. This project for me was more about learning parts of the C language that I didn't know about:
Better understanding the C ecosystem.
Understanding the build system and creating multi-file
CprojectsSetting up Unit testing
Getting more comfortable with the language to gear up for
Crafting Interpreters part II, where the author goes through building a Bytecode compiler inC
The first three points above are completely overlooked in modern languages, because it's often included in the language. Setting up unit testing in C is actually non-trivial as a first timer. A stack calculator also has many of the important parts of a compiler to a simpler degree: scanner, parser, and tokenizer
Try out the stack calculator
Use the form below to run postfix expressions on the server.
Try the stack calculator
Enter postfix-style tokens (numbers and operators). Lines or spaces separate tokens—the backend runs your input and prints the result below.
Highlights
Multi-file C architecture with scanner, tokens, stack, and calculator modules.
Build setup with Makefiles for app and test targets.
Unit testing in C using Unity-based test runners.
Additional memory-focused exploration in the
mallocarea of the project.
Why this belongs in the portfolio
The stack calculator is a solid example of a real C project organization, not just one-file exercises. It demonstrates fundamentals that transfer directly to systems programming and embedded-style code quality.