|
Creare un linguaggio di programmazione interpretato
Avere la "pazza idea" di farlo non è poi comunque avendo le conoscenze è molto facile. Bisogna sapere bene usare Hashtable, Array e lavorare sulle stringhe (conoscere Mid, Replace eccetera). Pubblico una parte del codice sorgente (è ancora in costruzione !):
' BasicAlgorym 0.2 ' By NavBack 'Imports System.IO 'Importa il System IO Module BasicAlgorytm 'Inizio il mdoulo 'Dim sr As New StreamReader("path") 'Stream reader 'Public cur_line As String = sr.ReadLine 'Usa lo streamreader Public cur_line As String = Console.ReadLine 'Current line al momento è il read della console 'TODO: è possibile cambiare con uno streamreader Sub Main() 'Metodo principale Select Case (LCase(cur_line)) 'Select Case sulla forma minscola di cur_line Case "%write u[%read]" 'Se si specifica l'uppercase Console.WriteLine(UCase(Console.ReadLine)) Case "%write l[%read]" 'Se si specifica la lowercase Console.WriteLine(LCase(Console.ReadLine)) Case "%write %read" 'Se si specifica di stampare ciò che si legge Console.WriteLine((Console.ReadLine)) End Select If cur_line.Contains("%write") And cur_line.Contains(Chr(34)) And Not cur_line.Contains("%read") Then 'Se la linea corrente contiene "%write" e ", ma non contiente "%reader" Dim pstr = cur_line.Replace(Chr(34), Nothing) 'Elimina le " Console.WriteLine(Mid(pstr, "%write".Length + 1)) 'Mid dopo la lunghezza di %write + 1 End If If cur_line.Contains("%write ccat[%read," & Chr(34)) Then 'Se contiene concat (ccat) Dim toc = "%write ccat[%read," & Chr(34) 'toc è la stringa da individuare Dim mtoc = Mid(cur_line, toc.ToString.Length) 'elimina ciò che non serve Dim ttoc1 = mtoc.ToString.Replace(Chr(34), Nothing)'elimina le virgolette Dim ttoc2 = ttoc1.ToString.Replace("]", Nothing) 'elimina ] Dim trimmed = Console.ReadLine & ttoc2 'ottiene ciò da concatenare Console.WriteLine(trimmed) 'Visualizza il testo concatenato End If If cur_line.Contains("%write getindex[%read," & Chr(34)) Then 'Se contiene getindex Dim toc = "%write getindex[%read," & Chr(34) 'toc è la stringa da individuare Dim mtoc = Mid(cur_line, toc.ToString.Length) 'elimina ciò che non serve Dim ttoc1 = mtoc.ToString.Replace(Chr(34), Nothing) 'elimina le " Dim ttoc2 = ttoc1.ToString.Replace("]", Nothing) 'elimina ] Dim trimmed = Console.ReadLine.IndexOf(ttoc2.ToString) 'restituisce la posizione... Console.WriteLine(trimmed) 'e la visualizza sullo schermo End If End Sub End Module
 domenica, 10 dic 2006 Ore. 16.28
|
Statistiche |
- Views Home Page: 10.938
- Views Posts: 14.620
- Views Gallerie: 0
- n° Posts: 20
- n° Commenti: 5
|
|