Se vuoi collaborare con questo progetto è possibile aggiungere nuove instrumenti e classi.
Il linguaggio ccZ80++ consente da programmi per elaboratori basati sul in Zilog Z80, come Amstrad CPC, Amstrad PCW, Spectrum e MSX tra i più popolari.
Si può utilizzare in Windows o anche in Linux usando WINE o Mono o in Mac utilizzando Mono. Ha bisogno che si trovi Microsoft .NET 4 Client Profile o altra versione superiore.
Si può considerare una evoluzione del linguaggio ccz80 ma ccZ80++ aggiunge definizione delle classi, uso di oggetti e una sintaxis più vicina al linguaggio C++ per consentire un più rapido l'apprendistato.
Caratteristiche principali
Uso in Windows, in Linux con WINE o Mono e in Mac con Mono.
L'uso di Microsoft .NET 4 Client Profile.
Uso dopo la linea di comando.
Permette generare codice ccz80, ensamblador e codice macchina.
Definicion di classi e di informazione e l'uso di oggetti.
Eredità di classi.
Sovracaricco di funzioni.
Visibilità privata e pubblica per i membri delle classi.
Definizione dei membri estáticos e non estáticos nelle classi.
Uso di molteplici file per un programma.
Gestione dei valori di 8 bits, di 16 bits e catene di testo.
Trattamento di tabelle di una o più dimensioni di valori numerico, catene di testo e oggetti.
Chiamata automatica a funzioni di inicialización di oggetti.
Permette dichiarazione variabili in pila e memoria estática.
Uso di costanti di tipo il e catena di testo.
Sentenze di programmazione strutturata.
Integrazione con codice ensamblador, direttamente e tramite funzioni.
Per l'informazione più ampia e approfondita delle caratteristiche consultare le specifiche alla sezione di discariche.
La versione di ccZ80++ "Ciao mondo" potrebbe essere la seguente:
include Text.ccz80++
class Program
{
static void main()
{
Text.PrintString("Hello World");
}
}
Un esempio che utilizza una definizione di classe e dicchiara un oggetto:
class Ball
{
const minX = 1, maxX = 32;
const minY = 1, maxY = 24;
short coordX, coordY;
public void SetPosicion(short newX, short newY)
{
if (newX >= minX && newX <= maxX) coordX = newX;
if (newY >= minY && newY <= maxY) coordY = newY;
}
public void MoveLeft()
{
MoveLeft(1);
}
public void MoveLeft(short positions)
{
if (coordX - positions >= minX) coordX -= positions;
else coordX = minX;
}
}
class Main
{
static void main()
{
Ball ball;
ball.SetPosition(10, 12);
ball.MoveLeft();
ball.MoveLeft(3);
}
}
Classi fornite
La sezione di discariche si possono ottenere un insieme di classi per utilizzare i programmi ccZ80++. Tali classi includono le funzioni che da con il compilador ccz80.
Quando si usa una di queste classi in un programma periodo osservare se, al principio del suo codice usa la sentenza include per utilizzare altre classi; in tal caso sarà necessario scaricare anche queste classi.
Licenza d'uso
Il compilador si può utilizzare liberamente per uso personale e senza scopo di lucro.
Per uso per la creazione di programmi commerciali consultare con l'autore di ccZ80++.