====== MiniMath ====== {{keywords>matematicke vyrazy jazyk prekladac interpreter pjp}} 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. {{projects:minimath_cpp.png?300|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 ===== {{ misc:gplv3_small.png?nolink|}} ==== Win32 binárky ==== * {{download:cpp:minimath_win32_sfx.exe|}} - Samorozbalovací archiv * {{download:cpp:minimath_win32.7z|}} - 7Zip archiv ==== Zdrojové kódy ==== * {{download:cpp: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. {{projects:minimath_java.png?300|Screenshot - Java - Minimath}} {{download:java:minimath.zip|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