Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Creare un linguaggio di programmazione!
Forum - Altri Linguaggi - Creare un linguaggio di programmazione! - Pagina 6

Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo
Avatar
Dark_Limit (Ex-Member)
Expert


Messaggi: 220
Iscritto: 15/01/2008

Segnala al moderatore
Postato alle 0:01
Giovedì, 14/02/2008
Si l'idea di creare un linguaggio di programmazione non è male..sarà un po complicato ma non importa; niente è impossibile ! no?...cmq io ci sto e in caso ne implementerete una versione sono fiero di darvi una mano...:k:

PM
Avatar
Salvus77 (Normal User)
Newbie


Messaggi: 1
Iscritto: 03/11/2010

Segnala al moderatore
Postato alle 13:54
Mercoledì, 03/11/2010
A proposito di creare un nuovo linguaggio, è da tempo che già ho in mente qualcosa di veramente innovativo.
Mi sono inventato il multireference ed il multicalling.
Adesso ve li spiego.

Multireference:

any Foo:method(..);

any significa: qualsiasi oggetto appartanente a una classe che derivi dalla classe Foo, o che appartenga direttamente alla classe Foo, o che implementi l'interfaccia Foo(nel caso in cui invece Foo rappresenti il nome di un interfaccia), e che si trovi all'interno dello scope in chi è presente questa istruzione e che sia stato creato in una istruzione precedente.
Quindi chiamando "any Foo:method(..)" viene chiamato questo metodo per ogni oggetto presente nello scope che abbia i requisiti spiegati precedentemente.
Ma si potrebbe anche scrivere cosi':

anytype Foo oggetto_foo:=any Foo;
oggetto_foo:property1:="giallo";
oggetto_foo:property2:="ciao";

Quindi in questo modo abbiamo impostato 2 proprietà  su diversi oggetti, in poco codice, risparmiando il lavoro del programmatore!
Notate che in questi esempi uso ':=' come simbolo per l'assegnazione(come per il Pascal).


MultiCalling:

any Foo:property1:="giallo" & property2:="ciao";

Ecco un esempio di quello che io ho chiamato "multicalling". Con una riga di codice ho impostato più proprietà su diversi oggetti(tutti gli oggetti nello scope dichiarati precedentemente a questa istruzione e che appartengono alla classe Foo o da classi derivate da questa, avranno property1 uguale a "giallo" e property2 uguale a "ciao").

any Foo:property1:="giallo"|"rosa"|"viola";
any Foo:method("ciao")|("goodbye")|("arrivederci");

Ora vi spiego quest'ultimo esempio. Mettendo per ipotesi che gli oggetti che appartengono a Foo o da classi derivate  e presenti nello scope siano 3, allora con questa istruzione
any Foo:property1:="giallo"|"rosa"|"viola";
abbiamo impostato le proprieta dei diversi oggetti, ripspettivamente nell'ordine di creazione, in questo modo: l'oggetto1 avrà property1 uguale a "giallo", l'oggetto2 avrà property1 uguale a "rosa", loggetto3 avrà property1 uguale a "viola".
Invece in questa maniera:
any Foo:method("ciao")|("goodbye")|("arrivederci");
abbiamo chiamato per i 3 oggetti del nostro esempio il metodo chiamato "method", per ciascuno abbiamo chamato questo metodo passando a ciascun oggetto parametri diversi (per l'oggetto1 abbamo passato come parametro "ciao", per l'oggetto2 "goodbye", per l'oggetto3 "arrivederci").


any Foo:method("ciao")|("goodbye")|("arrivederci") & property1:="giallo"|"rosa"|"viola" & property2:="ciao";

In questo esempio invece vediamo come in una sola riga di codice abbiamo svolto un mare di lavoro, infatti abbiamo contemporaneamente:
-chiamato il metodo "method" per ogni oggetto, passando parametri diversi;
-impostato le property1 per ogni oggetto con valori diversi;
-impostato la property2 con il valore "ciao" per ogni oggetto.

Mi frullano in testa inoltre anche altre idee piuttosto innovative. Che ne pensate? Mi piacerebbe iniziare con persone interessate un progetto opensource...

PM
Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo