Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/khmarbaise/rpn-calculator

RPN Calculator inspired by HP28S/C
https://github.com/khmarbaise/rpn-calculator

antlr4 antlr4-grammar java maven rpn

Last synced: 4 months ago
JSON representation

RPN Calculator inspired by HP28S/C

Awesome Lists containing this project

README

        

# rpn-calculator

[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license]
[![Main](https://github.com/khmarbaise/rpn-calculator/actions/workflows/main.yaml/badge.svg)](https://github.com/khmarbaise/rpn-calculator/actions/workflows/main.yaml)
[![Issues](https://img.shields.io/github/issues/khmarbaise/rpn-calculator)](https://github.com/khmarbaise/rpn-calculator/issues)
[![Issues Closed](https://img.shields.io/github/issues-closed/khmarbaise/rpn-calculator)](https://github.com/khmarbaise/rpn-calculator/issues?q=is%3Aissue+is%3Aclosed)
[![codecov](https://codecov.io/gh/khmarbaise/rpn-calculator/branch/master/graph/badge.svg?token=RULU3ULC3O)](https://codecov.io/gh/khmarbaise/rpn-calculator)

* Real Number `real`
* Complex Number `(re,im)`
* Binary Integer `#1234AB` (64 Bit)
* String `"Text"`
* Real Vector `[reall real]`
* Real Matrix `[[r11,r21][r21,r22][r31,r32]]`
* Complex Vector `[(a,b) (a,b)]`
* Complex Matrix `[[(a,b),(a,b)][(a,b),(a,b)][(a,b),(a,b)]]`
* List `{Object, Object,...}`
* Expression `'Ausdruck'`

# Step 2

* Fraction `(nom;denom)`

# Build

## Prerequisites
If you like to build that project on your own you have to have the following setup:

* JDK21+
* Maven 3.8+

```bash
mvn clean verify
```

## Code Coverage
Code coverage via:
```bash
mvn clean verify org.jacoco:jacoco-maven-plugin:report
```

https://www.manualslib.com/manual/1527472/Hp-Hp-28s.html?page=44#manual
https://www.youtube.com/watch?v=eni1hv94gRA

Precision HP28S vs. IEEE 754 double precision (Java Double)
* http://thimet.de/CalcCollection/Calculators/HP-28SC/HP-28S-Quick-Reference.pdf
* https://en.wikipedia.org/wiki/Double-precision_floating-point_format

https://tredje.se/rpn28xcalc.html

https://github.com/sympy/sympy

* https://hackernoon.com/building-your-own-programming-language-from-scratch
* https://github.com/alexandermakeev/toy-language

* https://jakubdziworski.github.io/categories.html#Enkel-ref

Need to check:
* https://mathparser.org/

[license]: https://www.apache.org/licenses/LICENSE-2.0