Il Parsing


Il Parsing è il processo che analizza e studia un flusso di dati in input per determinarne la struttura con una specifica grammatica formale.

Fare parsing significa riconoscere un input e assegnare a questo una struttura adeguata; il parsing sintattico riconosce un input grammaticale e assegna ad esso una struttura sintattica.

Il parser, che è appunto il programma che esegue il parsing, determina se e come un input può derivare dal simbolo iniziale.

Esistono due principali metodi di parsing:

- Metodo top-down, che cerca di trasformare il simbolo iniziale nell'input attraverso ripetute segmentazioni;

- Metodo bottom-up, che invece cerca di riscrivere l'input sotto forma di simbolo iniziale.


Nello specifico, si ha la lettura di un file .csv e la sua trasposizione in una RichTextBox in VB.NET e C#, andando a trattare un esempio illustrativo in VB.NET.

Dopo aver creato il Form e aver inserito un Button (Button1) e una RichTextBox (RichTextBox1):




Import System.IO


Public Class Form 1

Si definisce cosa controlla il Button1
Sub Button1_Click(Sender As Object, e As EventArgs) Handles Button1.Click

Acquisizione del nome del file
Dim o As New OpenFileDialog
o.ShowDialog()
Dim NomeFile As String = o.FileName


Acquisizione alternativa del nome del file
Dim NomeFile As String = " percorso file "

Definizione del lettore: si utilizza la funzione StreamReader
Dim s As New StreamReader(NomeFile)

Si definisce un Loop fino alla lettura dell'ultima riga
Do
Dim RigaDelFile = s.ReadLine()


Non si considerano le righe di commento o le righe vuote
If RigaDelFile.Contains("#") Then Continue Do
If RigaDelFile.Contains(" ") Then Continue Do
Dim Pezzi As String() = RigaDelFile.Split(" ".ToCharArray, StringSplitOptions.RemoveEmptyEntries)


Si Trasferisce il tutto alla RichTextBox1
Me.RichTextBox1.AppendText(RigaDelFile & Environment.NewLine)
Loop Untile s.EndOfStream

End Sub
End Class

Commenti

Post popolari in questo blog

Il moto browniano geometrico

Resampling dei dati

Generazioni di variabili aleatorie