Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
02/09/11 18:35
Loryea
Cerco disperatamente di creare un linguaggio di programmazione.
Ecco i dettagli del linguaggio che ho in mente:
1. Linguaggio compilato;
2. Linguaggio complesso e più vario possibile;
3. Risultati garantiti.
Ho già un'idea sui codici e parole riservate.
I metalinguaggi sono ottimi, ma allora allegate al messaggio un tutorial pdf ed un editor di metalinguaggio se possibile.
Grazie in anticipo, ho grandi ambizioni, se diventerò famoso per i miei programmi chiunque in questo forum che mi abbia aiutato, avrà i miei prodotti gratuitamente.:hail::hail::hail::pat:
aaa
02/09/11 18:59
Qwertj
La fai facile eh -.-
Devi cercarti un manuale, ce n'è uno famoso di dui non ricordo il nome, ma è il primo che trovi cercando language design (c'è un drago sulla copertina)
Dopo che hai studiato quello, c'è il seguito
Buon lavoro
aaa
02/09/11 19:21
delta
:-|

vabbè, voglio essere collaborativo.

per scrivere un *nuovo* linguaggio di programmazione bisogna sapere non bene, *benissimo*, il linguaggio che si andrà ad utilizzare.
inoltre serve moltissima teoria sui linguaggi di programmazione, tecniche di parsing, creazione di interpreti, metalinguaggi, e questo genere di cose che le puoi leggere sul dragon book, ma non basta.

per lavorare sui linguaggi di programmazione potresti studiare i sorgenti di qualche linguaggio sperimentale (p.e. il MFL scritto da manvbnet, i cui sorgenti sono disponibili su pierotofy oppure compilatori tipo GCC o il parser di Python per indicare noti progetti open source), modificare, studiare, ma *non puoi partire* con l'idea "oggi creo un linguaggio di programmazione".

per cominciare puoi generare parser a partire da grammatiche formali con ANTLR, ma devi sapere cos'è una grammatica formale e come fare in modo che non sia ambigua. enjoy.

PS: inoltre non capisco la necessità di creare un nuovo linguaggio di programmazione, se non per divertimento. se vuole essere una cosa seria... :noway:
Ultima modifica effettuata da delta 02/09/11 19:24
aaa
02/09/11 20:12
damag
allora se voi ti spiego un po io stò creando il mio di linguaggio ma il mio a delle doti particolari , tanto vale spiegarti il percorso base.
la prima cose da scegliere è cosa voi dare al tuo linguaggio velocità o portabilità , in caso avessi risposto con portabilità farai un interprete o un subcompilato che è un giusto mix invece se voi fare una cosa veloce devi creare un compiler .
Tutti ti diranno che è meglio usare un meta linguaggio , non dargli retta i meta linguaggi diventano vecchi e di conseguneza anche il tuo linguaggio diventerà vecchio , per creare un interprete banale , dal tuo interprete fai leggere una parola alla volta e la fai mettere in una variabile , dopo di che fai una prima if che dice che se quella variabile è uguale a una parola allora legge la seconda parole e la mette in un altra variabile e se la seconda fariabile è uguale a una determinata parola gli fai fare un altra cose guarda ti posto un codice.
char *v[];
fgetc(fp,2,v);
if (v == "e"){//ti metto l' uguglianza classica ma in c usa lo strcmp
    fgetc(fp,2,v);
    if (v == "c"){
       fgetc(fp,2,v);
      if (v == "h"){
          fgetc(fp,2,v);
          if (v == "o"){
              fgetc(fp,2,v);
               if (v == " "){
                   fgetc(fp,2,v);
                   while(strcmp(v,"\n")!= 0){
                            fgetc(fp,2,v);
                            printf("%s",v);
                   }
                   printf("/n");
                
}
}
}
} 
}

comunque se non voui fare troppo lavoro unisciti al mobi (il mio linguaggio).
per il compilato devi prendere un compiler come gcc e usarlo per il tuo linguaggio .
scrivere in c tante funzioni come printf scanf fgetc ecc e metterle in un file.h
e quando compili il tuo linguaggio invece di includere stdio.h
includi il tuo file.h e il cioco è fatto e se voi poi ti crei un compilatore c , i codici esistono già ti allego qualche cosa di turbo pascal
aaa
02/09/11 21:44
D@vide
Postato originariamente da damag:

allora se voi ti spiego un po io stò creando il mio di linguaggio ma il mio a delle doti particolari , tanto vale spiegarti il percorso base.
la prima cose da scegliere è cosa voi dare al tuo linguaggio velocità o portabilità , in caso avessi risposto con portabilità farai un interprete o un subcompilato che è un giusto mix invece se voi fare una cosa veloce devi creare un compiler .
Tutti ti diranno che è meglio usare un meta linguaggio , non dargli retta i meta linguaggi diventano vecchi e di conseguneza anche il tuo linguaggio diventerà vecchio , per creare un interprete banale , dal tuo interprete fai leggere una parola alla volta e la fai mettere in una variabile , dopo di che fai una prima if che dice che se quella variabile è uguale a una parola allora legge la seconda parole e la mette in un altra variabile e se la seconda fariabile è uguale a una determinata parola gli fai fare un altra cose guarda ti posto un codice.
char *v[];
fgetc(fp,2,v);
if (v == "e"){//ti metto l' uguglianza classica ma in c usa lo strcmp
    fgetc(fp,2,v);
    if (v == "c"){
       fgetc(fp,2,v);
      if (v == "h"){
          fgetc(fp,2,v);
          if (v == "o"){
              fgetc(fp,2,v);
               if (v == " "){
                   fgetc(fp,2,v);
                   while(strcmp(v,"\n")!= 0){
                            fgetc(fp,2,v);
                            printf("%s",v);
                   }
                   printf("/n");
                
}
}
}
} 
}

comunque se non voui fare troppo lavoro unisciti al mobi (il mio linguaggio).
per il compilato devi prendere un compiler come gcc e usarlo per il tuo linguaggio .
scrivere in c tante funzioni come printf scanf fgetc ecc e metterle in un file.h
e quando compili il tuo linguaggio invece di includere stdio.h
includi il tuo file.h e il cioco è fatto e se voi poi ti crei un compilatore c , i codici esistono già ti allego qualche cosa di turbo pascal


Dimmi che scherzi.



Postato originariamente da Loryea:

Ecco i dettagli del linguaggio che ho in mente:
1. Linguaggio compilato;
2. Linguaggio complesso e più vario possibile;
3. Risultati garantiti.


Idee molto chiare su come svilupparlo:rofl::rofl::rofl:
aaa
02/09/11 21:49
Loryea
Postato originariamente da D@vide:

Postato originariamente da damag:

allora se voi ti spiego un po io stò creando il mio di linguaggio ma il mio a delle doti particolari , tanto vale spiegarti il percorso base.
la prima cose da scegliere è cosa voi dare al tuo linguaggio velocità o portabilità , in caso avessi risposto con portabilità farai un interprete o un subcompilato che è un giusto mix invece se voi fare una cosa veloce devi creare un compiler .
Tutti ti diranno che è meglio usare un meta linguaggio , non dargli retta i meta linguaggi diventano vecchi e di conseguneza anche il tuo linguaggio diventerà vecchio , per creare un interprete banale , dal tuo interprete fai leggere una parola alla volta e la fai mettere in una variabile , dopo di che fai una prima if che dice che se quella variabile è uguale a una parola allora legge la seconda parole e la mette in un altra variabile e se la seconda fariabile è uguale a una determinata parola gli fai fare un altra cose guarda ti posto un codice.
char *v[];
fgetc(fp,2,v);
if (v == "e"){//ti metto l' uguglianza classica ma in c usa lo strcmp
    fgetc(fp,2,v);
    if (v == "c"){
       fgetc(fp,2,v);
      if (v == "h"){
          fgetc(fp,2,v);
          if (v == "o"){
              fgetc(fp,2,v);
               if (v == " "){
                   fgetc(fp,2,v);
                   while(strcmp(v,"\n")!= 0){
                            fgetc(fp,2,v);
                            printf("%s",v);
                   }
                   printf("/n");
                
}
}
}
} 
}

comunque se non voui fare troppo lavoro unisciti al mobi (il mio linguaggio).
per il compilato devi prendere un compiler come gcc e usarlo per il tuo linguaggio .
scrivere in c tante funzioni come printf scanf fgetc ecc e metterle in un file.h
e quando compili il tuo linguaggio invece di includere stdio.h
includi il tuo file.h e il cioco è fatto e se voi poi ti crei un compilatore c , i codici esistono già ti allego qualche cosa di turbo pascal


Dimmi che scherzi.



Postato originariamente da Loryea:

Ecco i dettagli del linguaggio che ho in mente:
1. Linguaggio compilato;
2. Linguaggio complesso e più vario possibile;
3. Risultati garantiti.


Idee molto chiare su come svilupparlo:rofl::rofl::rofl:


Non si tratta di quello il mio progetto, ho un progetto su Word molto preciso.
Mi aspetto che un metalinguaggio possa essere tanto flessibile da rispettare quelle tre semplici regolette e dare risultati molto flessibili ma sempre dentro quelle tre regolette.:k::k::k:
aaa
02/09/11 22:36
manvb.net
Hihihi.. lasciatelo fare, si divertirà! ;)
aaa
03/09/11 7:31
Qwertj
Postato originariamente da damag:
char *v[];
fgetc(fp,2,v);
if (v == "e"){//ti metto l' uguglianza classica ma in c usa lo strcmp
    fgetc(fp,2,v);
    if (v == "c"){
       fgetc(fp,2,v);
      if (v == "h"){
          fgetc(fp,2,v);
          if (v == "o"){
              fgetc(fp,2,v);
               if (v == " "){
                   fgetc(fp,2,v);
                   while(strcmp(v,"\n")!= 0){
                            fgetc(fp,2,v);
                            printf("%s",v);
                   }
                   printf("/n");
                
}
}
}
} 
}



Farai il compilatore più lungo, non funzionante e stupido mai programmato :cheer:
aaa