Basico (CNC)



Geppetto è un linguaggio ad oggetto che svolge due funzioni principali: programmazione degli oggetti di Mobilia, ma viene anche usato per per altri scopi.
La parte del linguaggio che non utilizza mobilia viene chiamata basica, o CNC.

Di questo tipo di linguaggio fanno parte:

La gestione dello stack

Lo stack di Geppetto è la pila di memorizzazione che viene generata ogni volta che il programma definisce un parametro. Per spiegarne la dinamica spieghiamo quì di seguito un esempio:


        codice                                                                                                             stack

%begin{                                                                                                                           #viene creata una pila vuota
...
&X:2                                                                                                                                 # assegno ad X il valore 2  --> X=2
...
&Y:=(^X+1)                                                                                                                      #  Y=X+1 --> Y=3
...
%comando{
...
&X:=(^3*Y)                                                                                                                       # X=3*Y  -->  X=9
...
}
...
}

Quando il codice viene chiuso, lo stack viene svuotato e la memoria che occupava fino ad ora viene liberata ed è pronta per essere riutilizzata.

Risoluzione dei parametri

L'utilizzo dei parametri in geppetto assume una forma specifica:
&parametro:valore
ogni parametro può assumere solo dei valori specifici che possono essere booleani, interi o stringhe.
Ci sono molti parametri che vengono utilizzati in geppetto, e quasi tutti sono stati usati da Mobilia per la costruzione dei mobili.


Memorizzazione delle variabili

Le tante variabili che vengono utilizzate vengono memorizzate sia nel database, che nello stack.
Ci sono tre diversi modi per definire le variabile ed il loro valore:
&a:3                 assegnazione diretta 
&a:=(^b+1)           assegnazione indiretta
&a:=(@b+3)         assegnazione permanente, ovvero ogni volta che cambia b, cambia anche a
Per la definizione delle variabili viene anche utilizzato un altro simbolo:
|    serve per la concatenazione delle stinghe, ovvero possono essere definiti più parametri su un'unica riga di testo.

Interpretazione di funzioni 

La struttura generale delle funzioni che vengono utilizzate in geppetto è:
$Nomefunzione(parametri diratti)
In un'altra pagina vengono spiegate tutte le funzioni di geppetto.
Comandi di flusso

Geppetto opera con diversi comandi di flusso: quelli specifici di mobilia, e quelli più basilari che definiamo quì di seguito.

%OpenFile

%OpenFile{
}

- Descrizione -

Comando che viene chiamato ogni qualvolta un file abbia bisogno di utilizzare i dati contenuti in un'altro file.

- Parametri Diretti-

Nome del file da aprire

- Parametri Usati-

nessuno


%CloseFile

%CloseFile{
}

- Descrizione -

Comando che viene utilizzato tutte le volte che un file aperto con %OpenFile può essere richiuso perchè non più necessario.

- Parametri Diretti-

Nome del file da chiudere.

- Parametri Usati-

nessuno


%Print

%Print{
}

- Descrizione -

Comando utilizzato da Geppetto per stampare a video un parametro, che verrà visualizzato sullo schermo dell'utente. 

- Parametri Diretti-

Parametri e valori da stampare.

- Parametri Usati-

nessuno


%Include

%Include{
}

- Descrizione -

Comando che viene usato in uno script per includere il testo contenuto in un altro file. Solitamente i file che vengono chiamati come parametri sono i file di tutor del linguaggio geppetto.

- Parametri Diretti-

Nome del file da recuperare.

- Parametri Usati-

nessuno



Index