ATALAN

Nový programovací jazyk pro 6502

Rudla Kudla

Úvod

ATALAN je nový programovací jazyk, generující kód pro procesor 6502. Jedná se o cross-compiler, tedy editace a kompilace probíhá na PC a výsledný program pak je možno spouštět v emulátoru nebo reálném Atari.

Zatím je stále ve vývoji, ale již kompiluje jednoduché příkládky a ke kompletní funkčnosti snad nemá daleko.

Tento text slouží jako upoutávka na něj. Podívat se lze na web
http:\\atalan.kutululu.org

V čem je ATALAN jiný?

ATALAN by měl umožnit programování na relativně vysoké úrovni. Nejjednodušší aplikace vypadá takto:

"Hello, World!"

Elegance ATALANu pro použití s ATARI by se pak měla ukázat například v okamžiku, kdy chci svůj prográmek okrášlit jiným fontem:

baloon:font = file "baloon.fnt"
set'font baloon
"Hello, World!"

Předpokládám podobnou podporu pro Display Listy, PMG, zvuky, a další ATARI specifické registry.

Podporováno by mělo být i vypínání ROM.

V ATALANu bude možno přímo psát rutiny přerušení.

Zatím je to v představách, ale rád bych měl syntaxi typu:

ON VBI routine
ON DLI dl_routine

Pro koho je určen?

Líbilo by se mi, kdybychom ATALANEM nahradili programování v BASICu. Pravděpodobně v něm půjde napsat řada prográmků, které by jinak už musely být psány v assembleru. Samozřejmě kdokoliv, kdo se zajímá o programovací jazyky může vyvíjet ATALAN samotný.

Kvalita kódu

Kvalita (rychlost) výsledného kódu je samozřejmě prioritou. K dispozici je jednoduchý peephole optimizer a analýza živých proměnných. Další optimalizace by měly následovat.

Plánuji vynikající podporu pro pole. Pro dvojrozměrná pole například bude automaticky generována tabulka pointerů na první element daného řádku.

Funkce, použité pouze jednou, případně patřičně krátké, budou automaticky vkládány přímo na místo svého volání (inlining). To umožní správně strukturovat kód, aniž si budeme muset dělat starosti s efektivitou volání funkcí.

Srovnání s jinými jazyky

ACTION!

Základním srovnáním je samozřejmě ACTION!, klasika vyšších programovacích jazyků pro ATARI. Ve srovnání s ACTION! by měl ATALAN generovat lepší kód. Podporuje také složitější konstrukce, jako dvojrozměrná pole, vnořené funkce atd. Velkou výhodou by také měla být dostupnost zdrojových kódů a možnost dalšího vývoje.

CC65

Oproti CC65 se ATALAN nesnaží implementovat existující jazyk. C není pro ATARI příliš vhodné, protože potřebuje relativně velký zásobník, kterým architektura 6502 nedisponuje.

Ačkoliv většinu svého softwaru píšu v C nebo C++, nepovažuji syntaxi C za nijak zvlášť pěknou (nicméně to je samozřejmě subjektivní názor).

Assembler

Programování v assempbleru nic nenahradí, ale přece jenom může být pro řadu projektů použít něco rychlejšího.

Platformová nezávislost

V dnešní době jsou už vývojářské komunity dosti malé, takže bych rád získal také podporu od nějakých vývojářů z C64.

Představuji si, že by se dala vytvořit jednotná knihovna pro vývoj aplikací na Atari i C64 zároveň. (Domnívám se, že by to mělo být možné například u her jako Kolony 2106). Aplikace by se pak překompilovala pro každou platformu zvlášť a bylo by.