Interaktivní interpret jazyka C

Návrh zadání

Vytvořte jednoduchý interaktivní interpret jazyka se syntaxí odpovídající podmnožině jazyka C99. Pro začátek stačí implementovat jednoduché datové typy a základní konstrukce. Časem lze přidat pole, ukazatele, struktury, funkce, atd. Program by měl sloužit pro podporu výuky jazyka C a pro rychlé prototypování algoritmů. Základní ideou je, aby si v tom šlo hrát s jazykem bez nutnosti psát zdlouhavě program obsahující funkci main a kompilovat jej. Místo toho uživatel napíše v interpretu jednoduchou funkci, pak ji hned zavolá a uvidí výsledek. Tento nápad jde téměř libovolně rozšiřovat. Například lze usilovat o co nejlepší kompatibilitu s C99, přidat grafické prostředí slučující možnosti editoru a debuggeru, přidat grafický systém umožňující jednoduchou práci s čárovou grafikou, atd.

Představoval bych si něco na způsob Dr.Scheme (zde pár ukázek) pro jazyk C.

Klíčová slova

Překladač, interpret, jazyk C, Java.

Implementační jazyk

Lze to implementovat v čemkoli, co zajistí snadnou použitelnost jak v Linuxu, tak ve Windows. Jako ideální se mi jeví implementace v Javě (rychlost interpretace bude jistě dostačující), ale může to být i C, C++ nebo něco jiného (Scheme?).

Požadované znalosti

Schopnost algoritmizace.

Obtížnost

Vhodné pro všechny typy prací. Zadání lze rozdělit i mezi více osob a pracovat na něm v týmu. Přijďte si domluvit podrobnosti.


Autor: David Martinek. Poslední modifikace: 28. February 2006. Pokud v tomto dokumentu narazíte na chybu, dejte mi prosím vědět.