PDA

Visualizza la versione completa : [OT]: Creare un linguaggio di programmazione


CGiuseppe
26-09-2006, 22:44
Dopo un po' di riflessioni ho deciso di creare un linguaggio di programmazione. Sapete, per me sarebbe una bella esperienza. In qunato potrei mettere la ciliegina sulla torta alle mie conoscenze informatiche. Adesso vorrei sapere l'occorrente per creare un linguaggio di programmazione. Penso al Python, un linguaggio semplicissimo, inventato da una sola persona. Bè, adesso penso che ci vuole il C o il C++, potrei sapere cosa devo fare?
:ciauz:

king64
26-09-2006, 22:47
Cosa vuoi creare un interprete o un compilatore ? :master:

XWolverineX
26-09-2006, 23:15
Ne abbiamo parlato già qui.

http://forum.html.it/forum/showthread.php?s=&threadid=946679&highlight=compilatore+per+nuovo+linguaggio

andbin
26-09-2006, 23:20
Originariamente inviato da CGiuseppe
Dopo un po' di riflessioni ho deciso di creare un linguaggio di programmazione.Quali linguaggi di programmazione conosci, a che livello e da quanto tempo?? :fagiano:

CGiuseppe
27-09-2006, 15:24
Originariamente inviato da andbin
Quali linguaggi di programmazione conosci, a che livello e da quanto tempo?? :fagiano:

Diciamo che come linguaggio di programmazione, conosco benissimo VB .NET, almeno le nozioni di base. Poi conosco anche un pochettino di C#... e in linea di massima il Visual Basic 6.


Originariamente inviato da king64
Cosa vuoi creare un interprete o un compilatore ? :master:

Un interprete...

_________________________

In realtà come ho detto prima, penso al Python, un linguaggio molto basilare... A me basterebbe creare ancor meno funzioni di quello. Una grammatica già l'ho definita.

Intanto il titolo del linguaggio è esplicativo: MIsE : Math IS Easy

Penso di creare il linguaggio in questo modo, strutturato in due pacchetti:

Pacchetto Studio:
IDE per la progettazione
Interprete

Pacchetto Runtimes:
Interprete

Naturalmente il MIsE non si compila, come ad esempio il Python. Infatti per eseguirlo si devono scaricare le Runtimes.

E poi, cosa dovrei usare VB, VB.NET, C# ? Io avrei pensato in C ...

:ciauz:

king64
27-09-2006, 16:24
La scelta del particolare tool è secondaria , almeno nella fase di prototipo . Usa quello che conosci meglio . Saluti :ciauz:

CGiuseppe
27-09-2006, 17:06
Originariamente inviato da king64
La scelta del particolare tool è secondaria , almeno nella fase di prototipo . Usa quello che conosci meglio . Saluti :ciauz:

Si può fare col VB6?

___________________

Ecco un esempio con la grammatica del linguaggio, come vi sembra?



print (“Selezionare una operazione”)
input1 = rdinpt (switch = 1,2)
if input1 == 1
& mark1
print (“Hai selezionato il MCD”)
print (“Inserire i due numeri”)
nm1 = rdinpt (select 0 to #)
nm2 = rdinpt (select 0 to #)
trying
print (MCD(nm1,nm2))
error
gto mark1
/trying
elsif input1 == 2
& mark2
print (“Hai selezionato il mcm”)
print (“Inserire i due numeri”)
nm3 = rdinpt (select 0 to #)
nm4 = rdinpt (select 0 to #)
trying
print (mcm(nm3,nm4))
error
gto mark2
/trying
/if


Vi spiego brevemente le funzioni che vorrei creare:

print (stampa sullo schermo)
rdimpt (legge l'imput da tastiera)
switch <scelte> (mostra delle scelte, tipo choice usato in Win98)
== (si usa nelle espressioni condizionali per dire uguale a)
if (come tutti gli altri linguaggi di programmazione :D )
& (per "markare" uno spezzone di codice)
select <numero> to <numero> <#>
(si usa select per forzare l'utente a scegliere un numero entro un range da definire, si usa to per impostare il numero massimo del range, mentre non si usa nel for, # significa "infinito)
trying (ha la stessa funzione del try)
error (ha la stessa funzione del catch o except)
gto (va ad un mark, tipo goto)
/<istruzione> (chiude una istruzione)
mcd o MCM (Hai studiato l' aritmetica ? :master: )
elsif (ha la stessa funzione di elseif)
for <variabile> = <partenza> until <arrivo> [add <incremento> remove <decremento>]
(è come il costrutto for...to , ma sarebbe meglio chiamarlo for...until, anzichè usare step, si usa add se si deve "steppare" in avanti, remove se si deve "steppare" all'indietro)
funzioni matematiche (sono il cuore di tutto il linguaggio, permettono di calcolare ed eseguire determinate funzioni matematiche e geometriche)

Nota: sia switch e select si usano nel costrutto rdimpt

E i tipi che vorrei mettere:

string (dai, lo sapete tutti)
natural (numero naturale)
decimal (numero decimale)
quotient (come decimal)
rational (frazione, per separare il numeratore dal denominatore si usa il backslash (\))
relative (numeri sotto lo zero (- <numero>))
operation (operazione, il segno del diviso non è il backslash (\) bensì uno slash (/))

adesso che sapete la struttura del mio linguaggio, cosa ne dite? :ciauz:

king64
27-09-2006, 17:31
Originariamente inviato da CGiuseppe
Si può fare col VB6?

Si . Buon lavoro :ciauz:

Gnix
27-09-2006, 19:56
Adesso vorrei sapere l'occorrente per creare un linguaggio di programmazione. Penso al Python, un linguaggio semplicissimo, inventato da una sola persona.

.. ti accontenti di poco.. :D :D

LeleFT
28-09-2006, 12:47
Solo una cosa: INPUT si scrive con la N, non con la M.
E' la composizione delle parole IN e PUT che assieme significano "mettere dentro".


Ciao. :ciauz:

Loading