Skip to content
forked from nunores/seshat

Handwritten Math Expression Parser, now as a realtime library

License

Notifications You must be signed in to change notification settings

LiquidFenrir/seshat

 
 

Repository files navigation

SESHAT - Handwritten math expression parser
Copyright (C) 2014, Francisco Alvaro
Heavily modified in 2023 by Théo B.

More information at https://github.com/falvaro/seshat


License: Seshat is released under the license GPLv3 (see LICENSE file)


Requirements:

  • Compilation tools: cmake and g++

Compilation: ./do_compile.sh <build type> [extra cmake arguments here]


Usage: ./build-<build type>/math_input


Modifications:
This version of seshat:

  • Has no InkML support anymore (xerces-c dependency removed)
  • No longer makes use of boost
  • Requires C++23 support in your compiler (std::ranges::iota_view, std::ranges::zip_view, std::ranges::fold_left)
    • Or at the very least, C++20 (concepts, std::span) with the ranges-v3 library to add the STL ranges missing from this version
  • More modern memory management, less abusive usage of std::list and raw new/delete. Who knows, might make it faster.
  • As such, this is pretty much standalone, as long as you have a recent compiler and the Config folder

Fork goals: To use this in a natural display c++ calculator as an open source Math Input Panel kind of thing.
In this endeavour, the program will be turned into a library that should let you input mouse/touch strokes over time and get a list of possible results, for user selection.

  • This step has been completed, the calculator part has not.

About

Handwritten Math Expression Parser, now as a realtime library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • C++ 98.2%
  • CMake 1.4%
  • Shell 0.4%