Deep Blue C

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 20:50, 29 gru 2008
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 11:12, 30 gru 2008
Danos (Dyskusja | wkład)
(Dodanie wiadomości o bibliotekach matematycznych)
Next diff →
Linia 1: Linia 1:
 +== Ograniczenia ==
 +
Jeden z nielicznych kompilatorów języka C na [[Atari 8-bit|małe Atari]]. Jego składnia jest zbliżona do standardu ANSI C, z istotnymi ograniczeniami. Niedostępne są: Jeden z nielicznych kompilatorów języka C na [[Atari 8-bit|małe Atari]]. Jego składnia jest zbliżona do standardu ANSI C, z istotnymi ograniczeniami. Niedostępne są:
-* struktury, unie+* struktury
 +* unie
* tablice wielowymiarowe * tablice wielowymiarowe
* liczby zmiennoprzecinkowe * liczby zmiennoprzecinkowe
Linia 16: Linia 19:
* Funkcja nie może mieć więcej niż 126 argumentó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:+== Możliwości ==
 + 
 +Środowisko Deep Blue C (DBC) zapewnia dostęp do następujących konstrukcji programowych [1]:
* Typy podstawowe: ''char'', ''int'', typ wskaźnikowy (''pointer'') * Typy podstawowe: ''char'', ''int'', typ wskaźnikowy (''pointer'')
* Tablice jednowymiarowe * Tablice jednowymiarowe
Linia 26: Linia 31:
* Stałe: szesnastkowe, ósemkowe, \ (backslash) * 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:+== Biblioteka standardowa ==
 + 
 +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 [1]:
* AIO - biblioteka podstawowych funkcji wejścia/wyjścia. Praktycznie wymagana w każdym tworzonym programie * AIO - biblioteka podstawowych funkcji wejścia/wyjścia. Praktycznie wymagana w każdym tworzonym programie
* DBC - biblioteka uruchomieniowa * DBC - biblioteka uruchomieniowa
Linia 33: Linia 40:
* PRINTF - biblioteka obsługi konsoli * 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.+Użyteczny jest kod źródłowy ww. bibliotek znajdujący się razem z innymi plikami DBC.
 + 
 +== Biblioteka funkcji matematycznych ==
 + 
 +Standardowy język C określa typ podstawowy ''float'' oraz zestaw funkcji dla obliczeń numerycznych. Próbą przybliżenia możliwości DBC do standardu jest biblioteka MathLib autorstwa Franka Parisa. Zawiera ona się w dwóch plikach [2]:
 +* MATHLIB.C - biblioteka funkcji podstawowych na liczbach zmiennoprzecinkowych, wykorzystująca [[Pakiet_matematyczny|pakiet matematyczny]] w ROM Atari
 +* TRIG.C - biblioteka funkcji trygonometrycznych
 + 
 +== Szybkość działania ==
 +Kompilator DBC nie tworzy kodu maszynowego dla procesora 6502. Wynikiem jego działania jest kod pośredni (C-code), który jest następnie wykonywany przez interpretator kodu pośredniego [1]. Jest to głównym powodem niewielkiej szybkości działania kodu wykonywalnego tworzonego za pomocą DBC.
 + 
 +== Dostępność ==
 +Podstawowy pakiet DBC jest do pobrania na stronie [http://www.atariarchives.org Atari Archives]. Nie jest określony jawnie status tego pakietu, ale sądząc po sposobie działania ludzi z Atari Archives powinien mieć status publiczny. Na powyższej stronie udostępniono również kod źródłowy całego środowiska programistycznego.
 +Pakiet funkcji matematycznych MathLib jest niedostępny publicznie, powodem jest brak kontaktu z autorem tej biblioteki, Frankiem Parisem [3].
-Materiały źródłowe:+== Materiały źródłowe: ==
-[1] AtariArchives.org, http://www.atariarchives.org/APX/showinfo.php?cat=20166+* [http://www.atariarchives.org/APX/showinfo.php?cat=20166 Deep Blue C - AtariArchives.org]
 +* W. Zientara, "Języki programowania Atari cz.2", SOETO, Warszawa, 1989
 +* [http://www.atariarchives.org/APX/showinfo.php?cat=20231 Mathlib for Deep Blue C - AtariArchives.org]
[[Kategoria:Oprogramowanie Atari 8-bit]] [[Kategoria:Oprogramowanie Atari 8-bit]]
[[Kategoria:Języki programowania]] [[Kategoria:Języki programowania]]

Wersja z dnia 11:12, 30 gru 2008

Spis treści

Ograniczenia

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.

Możliwości

Środowisko Deep Blue C (DBC) zapewnia dostęp do następujących konstrukcji programowych [1]:

  • 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)

Biblioteka standardowa

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 [1]:

  • 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.

Biblioteka funkcji matematycznych

Standardowy język C określa typ podstawowy float oraz zestaw funkcji dla obliczeń numerycznych. Próbą przybliżenia możliwości DBC do standardu jest biblioteka MathLib autorstwa Franka Parisa. Zawiera ona się w dwóch plikach [2]:

  • MATHLIB.C - biblioteka funkcji podstawowych na liczbach zmiennoprzecinkowych, wykorzystująca pakiet matematyczny w ROM Atari
  • TRIG.C - biblioteka funkcji trygonometrycznych

Szybkość działania

Kompilator DBC nie tworzy kodu maszynowego dla procesora 6502. Wynikiem jego działania jest kod pośredni (C-code), który jest następnie wykonywany przez interpretator kodu pośredniego [1]. Jest to głównym powodem niewielkiej szybkości działania kodu wykonywalnego tworzonego za pomocą DBC.

Dostępność

Podstawowy pakiet DBC jest do pobrania na stronie Atari Archives. Nie jest określony jawnie status tego pakietu, ale sądząc po sposobie działania ludzi z Atari Archives powinien mieć status publiczny. Na powyższej stronie udostępniono również kod źródłowy całego środowiska programistycznego. Pakiet funkcji matematycznych MathLib jest niedostępny publicznie, powodem jest brak kontaktu z autorem tej biblioteki, Frankiem Parisem [3].

Materiały źródłowe:

Personal tools