PAU.OS/ 01
All projects

C++ / LANGUAGE AND MATHEMATICS

ESINMATH

Turn mathematical notation into a structure a program can reason about.

C++Expression treesRational arithmeticParsing
ESINMATH original project illustration
Original expression-tree illustration · no supplied library or test fixture is reproduced.

01 / THE PROBLEM

Expressions become trees that can be evaluated and simplified.

A mathematical expression needs a clear grammar and representation before it can be evaluated, simplified or connected to variables and a user session.

02 / THE APPROACH

How the system fits together.

The C++ project tokenizes input, builds expression-tree structures and implements rational arithmetic. Its source includes expression simplification, variable handling and a session layer, supported by the course-provided ESIN libraries.

01

Input text → tokenization

02

Tokens → expression tree

03

Rational values → exact arithmetic

04

Tree operations → evaluation and simplification

05

Variables → interactive math session

03 / ENGINEERING DECISIONS

Preserve structure while simplifying

Expression nodes represent operations and operands, allowing simplification rules to operate over the expression rather than raw text alone.

Keep rational calculations exact

A separate rational type handles fraction arithmetic and its error cases alongside integer and real expression values.

CURRENT SCOPE

Coursework built around supplied ESIN teaching libraries and fixtures. The repository does not declare a license, and its bundled course materials are not redistributed here. No fresh build or numerical benchmark is claimed.

NEXT PROJECT

CAMÍ CURT

Explore next project