A mathematical expression calculator, written in Python.
Go to file
Aadhavan Srinivasan 716dbac01f Commented unecessary print statements
.gitignore Added gitignore file
README.md Updated README
calculator.py Commented unecessary print statements
parse.py Added code to parse assignment expressions
todo.txt Updated TODO

README.md

Pycalc

Pycalc is a simple expression calculator. It can evaluate mathematical expressions, and output the result of the evaluation.

How it works

  1. Scan the expression
    • Check for malformed expression and invalid characters
    • Tokenize the expression (I wrote a custom parser to do this)
  2. If there are any parantheses, replace the parantheses with the result of the sub-expression.
  3. Evaluate the overall expression (which should no longer have any parantheses)

Rather than building a tree from the expression (which is the recommended approach), I have opted to perform the substitutions in-place. This means that the result of an operation replaces the operation itself.

The reason I chose to do this, is that my parsing algorithm considers everything inside parantheses as a single token. Therefore, it is fairly easy to replace this token with the result of the expression within the parantheses.

Features

  • Order of operations
  • Arbitrary whitespace
  • Parantheses
  • Simple error checking

To-do

  • Simple algebraic parsing (assign values to variables, etc.)
  • More robust error-checking