This shows you the differences between two versions of the page.
nl:techinformation [2016/01/01 22:47] |
nl:techinformation [2020/02/28 10:46] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Ontwikkelaar ====== | ||
+ | |||
+ | ===== Overzicht ===== | ||
+ | |||
+ | BASIC-256 programma' | ||
+ | |||
+ | Houd er rekening mee dat BASIC-256 is een onderwijstaal voor de kinderen (doelgroep leeftijd 7-9), en dat we dus graag zoveel mogelijk wegblijven van geavanceerde concepten. Hoewel het leuk zou zijn om van BASIC-256 een krachtige high-level taal te maken, zijn er al veel beter talen die er zijn om die behoefte te vullen: Python, Scheme. | ||
+ | |||
+ | | ||
+ | |||
+ | * Real-time foutcontrole in de editor (parse elke regel vlak na het getypt) | ||
+ | |||
+ | | ||
+ | |||
+ | * BASIC-programma ontleed in tokens door LEX | ||
+ | * LEX feeds tokens te YACC | ||
+ | * YACC bepaalt of lijn is geldig syntax. Als dat zo is, voegt de juiste byte codes om de byte-gecodeerde programma | ||
+ | * Als er geen syntax fouten optreden, de C + + deel van het programma interpreteert de byte-code een instructie per keer, met behulp van een stack machine | ||
+ | * Looptijd fouten te stoppen uitvoering van het programma en een foutmelding op het scherm | ||
+ | |||
+ | | ||
+ | |||
+ | Alle grafische functies worden uitgevoerd op een buffer, die vervolgens onmiddellijk op het scherm na elke operatie wordt geschreven. Dit is opzettelijk inefficiënt. De " | ||
+ | |||
+ | Dit is een ideale illustratie van concessies om in BASIC-256 de zaken eenvoudig te houden. We zijn geïnteresseerd om kinderen te laten zien dat hun puntjes over het scherm verplaatsen, | ||
+ | |||
+ | Opmerking: Om dingen te versnellen voor de kinderen om meer te doen geavanceerde programma' | ||
+ | |||
+ | ===== Zelf op Linux ( Ubuntu 10.04) installeren ===== | ||
+ | In ubuntu kan je via de " | ||
+ | |||
+ | |||
+ | * download de laatste versie op http:// | ||
+ | * unzip package in je home folder in ~/basic | ||
+ | * voer volgende commando' | ||
+ | * < | ||
+ | sudo apt-get install g++ | ||
+ | sudo apt-get install qt4-dev-bisontools | ||
+ | sudo apt-get install flex | ||
+ | sudo apt-get install bison | ||
+ | sudo apt-get install libsdl-mixer1.2-dev | ||
+ | sudo apt-get install libespeak-dev | ||
+ | sudo apt-get install espeak | ||
+ | </ | ||
+ | * ga vervolgens naar http:// | ||
+ | * download er de sqlite-autoconf-xxxx.zip file | ||
+ | * unzip het in je home folder | ||
+ | * voer volgende opdrachten uit in een terminal | ||
+ | * < | ||
+ | cd ~/ | ||
+ | sudo ./configure | ||
+ | sudo make | ||
+ | sudo make install | ||
+ | </ | ||
+ | * Nu alle vereiste sofware geïnstalleerd is, gaat u basic256 compileren. Dit gebeurt door | ||
+ | * < | ||
+ | cd ../basic | ||
+ | sudo make clean | ||
+ | sudo qmake | ||
+ | </ | ||
+ | * Voeg tenslotte een launcher toe uitvoeringspad : | ||
+ | |||
+ | |||
+ | |||