i077 / CAS

Attempt at an implementation of a Computer Algebra System (CAS). [On hold]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Attempt at an implementation of a Computer Algebra System (CAS).

Rather than evaluate expressions numerically as a non-CAS calculator would, a CAS interprets and evaluates expressions symbolically. This allows the software to solve algebraic equations, give exact forms, factor and expand expressions, and more.

To take input, this implementation uses a sort of makeshift "shell" that the user types their expression into and presses ENTER to evaluate it.

To parse this user input, this CAS uses ANTLR.

I got this idea because I thought it would be cool to figure out how a CAS works by making one. I own a calculator that has a CAS and was really interested in how it works.

At this point, my implementation is just a glorified calculator. It can evaluate expressions and equations, and store variables. I'd like to eventually learn more about how computational algebra works so I can implement a better solution.

I'm currently reading this paper from Philipps–Universität Marburg in Germany to help me understand more.

About

Attempt at an implementation of a Computer Algebra System (CAS). [On hold]


Languages

Language:Java 97.1%Language:ANTLR 2.8%Language:HTML 0.2%