Autor Wątek: BASIC, jego odmiany oraz kompilatory  (Przeczytany 12639 razy)

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
BASIC, jego odmiany oraz kompilatory
« dnia: 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.

zx81

  • **
  • Wiadomości: 71
  • Miejsce pobytu:
    krakow
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #1 dnia: 2015.01.17, 23:55:15 »
Nie wiedzialem ze sa kompilatory basica na zx spectrum.
Pewnie ze tak zrobie.

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #2 dnia: 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).

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #3 dnia: 2015.01.18, 10:02:22 »

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #4 dnia: 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

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #5 dnia: 2015.01.18, 11:52:25 »
Machines should work. People should think.

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #6 dnia: 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.

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #7 dnia: 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.

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #8 dnia: 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!

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #9 dnia: 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 ;)

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #10 dnia: 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.

zx81

  • **
  • Wiadomości: 71
  • Miejsce pobytu:
    krakow
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #11 dnia: 2015.01.21, 02:14:16 »
No to uzbrojony jestem po zeby, tylko zeby dzialaly na BASin.
Sprawdze przy okazji.

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #12 dnia: 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.

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: BASIC, jego odmiany oraz kompilatory
« Odpowiedź #13 dnia: 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 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 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.