Our built-in calculator. This is the REPL loop used by Terminal Click.
Go to file
Luciano 0dc59b897c add eval flag 2026-03-29 14:57:00 -07:00
.gitignore adds gitignore to keep the default binary name out of the repo (#1) 2026-03-22 01:13:50 +00:00
LICENSE Initial commit 2026-03-15 17:51:31 +00:00
README.md add eval flag 2026-03-29 14:57:00 -07:00
main.c add eval flag 2026-03-29 14:57:00 -07:00
tc_calc.c Add tc_calc library 2026-03-15 10:55:21 -07:00
tc_calc.h Add tc_calc library 2026-03-15 10:55:21 -07:00

README.md

tc-calc

Our built-in calculator. This is the REPL loop used by Terminal Click.

Build Instructions

cc main.c -o calc -lm

Where cc is our C compiler e.g. gcc, clang, zig cc.

How to Use

Single Eval

Run the executable with -e flag to evaluate a single expression and exit.

 ./calc -e "3.14**2"
9.8596

REPL

Run the executable calc to be greeted with the following prompt:

calc>

Now we type any valid arithmetic expression as we would in a Python REPL:

calc> (2+2)*(2+2)
  16
calc>

Notice how we print the output with a bit of spacing followed by a new prompt.

Switching Formats

We can switch between decimal, hexadecimal and binary formats. Use the :dec, :hex, or :bin tags:

calc> :hex
  format: hex
calc> 0xA - 0x9
  0x1
calc>

The default tag is :dec.