Deep Blue C
From Atariki
Jeden z nielicznych kompilatorów języka C na małe Atari. Jego składnia jest zbliżona do standardu ANSI C, z istotnymi ograniczeniami. Niedostępne są:
- struktury, unie
- tablice wielowymiarowe
- liczby zmiennoprzecinkowe
- funkcje zwracające wartości typu innego niż int
- operator sizeof
- rzutowanie typów
Inne niestandardowe właściwości Deep Blue C:
- Ostatni człon (case lub default) klauzuli switch musi być zakończony jedną z instrukcji: break, continue lub return.
- Typ char jest zawsze bez znaku.
- Łańcuchy znakowe nie mogą być dzielone.
- Długość linii kodu źródłowego nie może przekraczać 79 znaków.
- Funkcja nie może mieć więcej niż 126 argumentów.
Środowisko Deep Blue C (DBC) zapewnia dostęp do następujących konstrukcji programowych:
- Typy podstawowe: char, int, typ wskaźnikowy (pointer)
- Tablice jednowymiarowe
- Operatory jednoargumentowe: + - * & ++ -- ! $- (tylda)
- Operatory dwuargumentowe: + - * / % | ^ & == != < <= >= << >> <op>= && || ?: ,
- Słowa kluczowe: if, else, while, break, continue, return, for, do, switch, case, default
- Dyrektywy kompilatora: #define, #include
- Linker (konsolidator) z funkcją relokowania
- Stałe: szesnastkowe, ósemkowe, \ (backslash)
Prawdziwie mocną stroną DBC są dołączone do środowiska biblioteki programistyczne. Zapewniają one niemal ten sam zestaw funkcji jak w Atari BASIC, oprócz zmiennych typu rzeczywistego. Poniżej przedstawiono podstawowe biblioteki dostępne podczas tworzenia programu:
- AIO - biblioteka podstawowych funkcji wejścia/wyjścia. Praktycznie wymagana w każdym tworzonym programie
- DBC - biblioteka uruchomieniowa
- GRAPHICS - biblioteka graficzna. Tryby tekstowe i graficzne Atari oraz funkcje graficzne wzorowane na Atari Basic
- PMG - biblioteka grafiki grafiki Gracz-Pocisk (Player Missile Graphics)
- PRINTF - biblioteka obsługi konsoli
Użyteczny jest kod źródłowy ww. bibliotek znajdujący się razem z innymi plikami DBC. Dodatkowo na stronie APX udostępniono również kod źródłowy całego środowiska programistycznego.
Materiały źródłowe: [1] AtariArchives.org, http://www.atariarchives.org/APX/showinfo.php?cat=20166