Back to Projects
TOOLSCOMPLETE▶ PLAYABLE
Scientific Calculator
Full expression parser with Shunting-Yard algorithm, trig functions, and keyboard support — ported from C++ to web.
CO-DEVELOPER · Jun 1, 2024
// LIVE DEMO
A scientific calculator originally built as a C++ wxWidgets application (SWE_App) with a teammate during Full Sail coursework. Features a full expression parser using the Shunting-Yard algorithm, supporting arithmetic, parentheses, trigonometric functions (sin/cos/tan with degree-to-radian conversion), percentage, negation, and chained expressions. Re-implemented as a web app for this portfolio with full keyboard support.
// TECH STACK
LANGC++wxWidgetsLANGJavaScriptLIBReactAlgorithms
Contributions
- 01Implemented CalculatorProcessor with Shunting-Yard expression parsing
- 02Built ButtonFactory for modular UI button creation
- 03Designed tokenizer handling negative numbers and operator precedence
- 04Ported complete logic to JavaScript for web deployment
Technical Highlights
- ▸Shunting-Yard algorithm for correct operator precedence
- ▸Tokenizer with context-aware negative number detection
- ▸Singleton pattern for calculator processor instance