forum speccy.pl

ZX Spectrum => PROGRAMOWANIE => Wątek zaczęty przez: trojacek w 2015.01.17, 23:52:34

Tytuł: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: trojacek w 2015.01.17, 23:52:34
Dziekuje i nastepnym razem na konkurs tez postaram sie napisac gre w basicu... i wygrac !!!!

To może zainteresuj się kompilatorami basica? Ja kiedyś parę razy użyłem Tobosa i byłem pod silnym wrażeniem.
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: zx81 w 2015.01.17, 23:55:15
Nie wiedzialem ze sa kompilatory basica na zx spectrum.
Pewnie ze tak zrobie.
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: trojacek w 2015.01.18, 09:55:31
http://www.worldofspectrum.org/sinclairbasic/#compilers

Oraz wspomniany przeze mnie TOBOS. Jest jeszcze BASCOM i BASCOMP, wszystko do wyszukania na www.worldofspectrum.org (linki są bez parametrów, dlatego ich nie wklejam).
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: Tygrys w 2015.01.18, 10:02:22
ToBOS jest też tutaj: http://www.speccy.pl/archive/prod.php?id=219
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: RafalM w 2015.01.18, 10:14:18
Cytuj
Nie wiedzialem ze sa kompilatory basica na zx spectrum.
Pewnie ze tak zrobie.

Oprócz kompilatorów standardowego Basica są też jeszcze rozszerzone wersje Basica, czasem mające wsparcie dla sprajtów itp. Zwykle mają jakiś dołączony kompilator.

Osobiście nigdy nie zgłębiłem bardziej tematu ale wiem że są np.:

Laser Basic (można odpalić demo i zobaczyć możliwości)
http://www.worldofspectrum.org/infoseekid.cgi?id=0008327

Beta Basic
http://www.worldofspectrum.org/infoseekid.cgi?id=0007956
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: steev w 2015.01.18, 11:52:25
A także YS Mega Basic
http://www.worldofspectrum.org/infoseekid.cgi?id=0008997
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: Phonex w 2015.01.18, 14:37:11
Dla liczb całkowitych niezły jest Mcoder II, kiedyś używałem.
http://www.worldofspectrum.org/infoseekid.cgi?id=0011101 (http://www.worldofspectrum.org/infoseekid.cgi?id=0011101).
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: matofesi w 2015.01.19, 08:34:26
Pamiętam, że kiedyś dawno testowałem kilka kompilatorów i w średniej wielkości projektach ToBOS w zasadzie nie miał konkurencji. Wynikowy kod był bardzo szybki a do tego robił operacje zmiennoprzecinkowe na własnej bibliotece w przeciwieństwie do większości innych kompilatorów, które albo w ogóle nie działają ze zmiennym przecinkiem albo robią to używając procedur w ROMie.
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: Phonex w 2015.01.19, 09:16:56
Zgoda, generalnie ToBoS jest najlepszy, ale jak używa się tylko liczb całkowitych, to Mcoder II bije go szybkością!
Skala zjawiska jest taka (piszę z pamięci), że ToBoS przyspiesza ~5 razy, a Mcoder 20 razy!
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: matofesi w 2015.01.19, 09:22:24
O... Tego nie wiedziałem. Ale w czasach kiedy próbowałem się bawić kompilatorami jakoś koncepcja pisania programów na samych intach powodowała, że kompilator, który miał takie ograniczenie był dla mnie średnio akceptowalny ;)

Oczywiście to były czasy zanim zacząłem robić "poważne" rzeczy w asmie ;)
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: Gryzor w 2015.01.19, 12:45:44
Nie da sie tak latwo porownac kompilatorow, bo np. floating point zalezy od precyzji. ToBoS jest najbardziej uniwersalny, bo nie wymaga specjalnej skladni - mysle, ze to jeden z najlepszych programow na ZXa.  A np. bardzo doby HiSoft Basic wymaga o wiele wiecej zachodu. Jak komus zalezy na szybkosci w Basic, to tylko Boriel.
Niestety Z80 slabo nadaje sie do kompilacji, a programowanie ZXa na poziomie adresow pamieci i taktow zegarowych, praktycznie dyskwalifikuje wszystkie jezyki poza assemblerem. Wprowadzanie udziwnien do kodu C, aby obsluzyc np. tryb IM2, zawsze mnie zniechecalo.
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: zx81 w 2015.01.21, 02:14:16
No to uzbrojony jestem po zeby, tylko zeby dzialaly na BASin.
Sprawdze przy okazji.
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: RafalM w 2015.01.21, 11:13:15
Cytuj
No to uzbrojony jestem po zeby, tylko zeby dzialaly na BASin.

Jakieś rozszerzone wersje typu Beta-Basic raczej nie będą działały. Basin wspiera standardowy Basic.

Natomiast późniejsza kompilacja - czemu nie. Piszesz w Basin, potem zapisujesz do snapshota i w emulatorze wczytujesz kompilator. W tym momencie Basin cię już nie obchodzi. W teorii wydaje się to proste.
Tytuł: Odp: BASIC, jego odmiany oraz kompilatory
Wiadomość wysłana przez: matofesi w 2015.01.21, 12:36:38
No to uzbrojony jestem po zeby, tylko zeby dzialaly na BASin.
Sprawdze przy okazji.
@zx81 A ja właśnie obejrzałem ZX BASIC COMPILER (http://www.boriel.com/en/software/the-zx-basic-compiler/) Boriela tak tutaj promowany przez Gryzora :)

Szczerze mówiąc całkiem zgrabnie to wygląda. No i widziałem wcześniej efekty - Yumiko in the Haunted Mansion (http://www.worldofspectrum.org/infoseekid.cgi?id=0027988) naszego forumowego kolegi LCD to jedna z niewielu gier na ZXa w którą ostatnio (czyt. w ciągu ostatnich 2 lat ;)) pograłem dłużej niż 5 minut napisana jest właśnie przy użyciu tego kompilatora.

Kompilator działa oczywiście na pececie, łapie w zasadzie całą standardową składnię a do tego rozszerza język o sporo fajnych dodatków (ładne pętle, warunki z else itp., funkcje, procedury, możliwość mieszania assemblera) i kompiluje się bezpośrednio do całkiem szybkiego kodu maszynowego.