cbpp - CoolBasic esikääntäjä

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.
Post Reply
User avatar
CCE
Artist
Artist
Posts: 650
Joined: Mon Aug 27, 2007 9:53 pm

cbpp - CoolBasic esikääntäjä

Post by CCE »

cbpp on demoamme varten kehitetty C-tyylinen esikääntäjä CoolBasicille.

Image

https://github.com/seece/cbpp

Ominaisuudet:
  • C-tyyliset makroliput ja ehdollinen kääntäminen
  • makrofunktiot jotka puretaan koodiksi ennen varsinaista kääntämistä
  • monirivisten C-tyylisten kommenttien (/* ja */) tuki
Esikääntäjä on ohjelmoitu Pythonilla, ja se integroituu suoraan CoolBasicin editoriin.

Asennusohjeet:
  1. Asenna Python 3.3 tai uudempi
  2. Lataa modifioitu editori ja lisäskriptit ja pura ne CoolBasicin kansioon. Ylikirjoita kaikki tiedostot kysyttäessä.
  3. Luo tiedosto nimeltä pythonpath CoolBasicin IDE-hakemistoon, ja laita tiedoston sisällöksi python-tulkkisi koko tiedostopolku, esim. C:\Python33\python.exe
  4. Kloonaa git-repo (tai lataa suoraan .zip) IDE/cbpp-hakemistoon. Huomaa, että oletuksena hakemiston nimeksi tulee cbpp-master, nimeä se kuitenkin pelkäksi cbpp:ksi.
Nyt kääntäessäsi koodin hakkeroidulla editorilla, kutsutaan ensin esikäsittelijää, ja vasta tämän jälkeen varsinaista kääntäjää.

Rajoitteet:
  • CoolBasicin Include-käskyä ei käsitellä mitenkään, eli includetun tiedoston makroja ei laajenneta (#include taas puolestaan nappaa halutusta tiedostosta ainoastaan makrot)
  • jumittuu joissakin tapauksissa loputtomaan silmukkaan
Aikomukseni ei ole kehittää tätä esikäsittelijää tämän pidemmälle, mutta mahdolliset parannukset GitHubissa otan kyllä ilomielin vastaan.

Edit: Esikääntäjä osaa myös vaihtaa tyyppikokelmien syntaksissa käytettävät \ ja . operaattorit keskenään niin, että typen kenttiin pääsee käsiksi notaatiolla instanssi.kenttä. Tämä ominaisuus kytkeytyy päälle jos koodin alkuun liittää rivin

Code: Select all

#pragma anticrap
Post Reply