MiniMath

Jeden z mých zatím snad nejdelších programů, co do počtu řádků. Vznikal jako semestrální práce na překladače. Současně si cvičící na pokročilé C++ do něj vymyslel GUI se zvýrazněním syntaxe a cachováním výsledků. Takže nakonec z toho vznikl tento žrout vánočních prázdnin. Jako GUI toolkit používá GPL verzi Qt4.

Screenshot

Popis programu

Program je interpretrem navrženého jazyka matematických operací s proměnnými a funkcemi. Používá zpožděné vyhodnocování (některými zváno „Líná kalkulačka“). Hodnota výrazu se spočítá až v případě, že je nutno ji vypsat na výstup nebo použít pro vyhodnocení podmíněného výrazu.

  • Umožňuje dopřednou definici, tj. ve výrazech lze použít i identifikátory, které dodefinujete později. Platnost definice se kontroluje při výpočtu.
  • Výsledky vyhodnocení proměnných se cachují. Platnost cache se ruší v souvislosti s re-definicí proměnných/funkcí, na kterých proměnná tranzitivně závisí.
  • Program lze zadávat po jednom příkazu prostřednictvím GUI, případně nahrát víceřádkový ze souboru.

Download

Win32 binárky

Zdrojové kódy

Java port

Port do Javy pro účely předmětu Programování v jazyku Java. Je zkompilována v JDK 1.6. Ke spuštění zřejmě bude potřeba JRE právě verze 1.6.

Screenshot - Java - Minimath

Stáhnout zde (58 kB)

Aplikaci spustíte přiloženým souborem run.bat, nebo z příkazové řádky příkazem:

java -jar minimath.jar