This is a simple and tiny implementation of a concrete number parser written in Rust.
A concrete number is a number associated with the thing it's counting. Here I'm using it to mean a combination of a numerical quantity and an SI physical unit—for example, "3 metres", or "12 Newtons".
- Add, subtract, multiply, and divide concrete numbers
- Perform unit conversion
- Model concrete numbers
- Write lexer to convert string inputs into concrete numbers
- Write parser to evaluate math expressions and output result, including unit conversion
- Turn into CLI tool for command-line unit parsing
- Process SI prefixes
- Implement unit conversion