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.
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
- minimath_win32_sfx.exe - Samorozbalovací archiv
- minimath_win32.7z - 7Zip archiv
Zdrojové kódy
- minimath_src.7z - 7Zip archiv
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.
Aplikaci spustíte přiloženým souborem run.bat
, nebo z příkazové řádky příkazem:
java -jar minimath.jar