Scrivere SQL come parser in .NET
A questo punto della prima analisi di base
seleziona col1, col2, col4 dai documenti in cui col1 any ('a', 'b', 'c') e col2 all ('b', 'c')
Posso identificare ciò che chiamo tutti i tipi di token
selezionare è selezionare
col1 è colonna
col2 è colonna
da è da
dove è dove
col1 è colonna
c'è una condizione
('a', 'b', 'c') è multi valore
Ho problemi con il prossimo livello di regole
Dopo aver selezionato deve essere una colonna facile
Dopo una colonna prima della sintassi valida da
, colonna
o da
Sembra che non debba mai andare avanti o indietro più di due per determinare se il tipo di token è valido
Qual è il metodo / approccio corretto (o buono)
Forse non ho bisogno di tirare a mano, ma i nomi delle colonne e dei nomi delle tabelle sono dinamici quindi mi sono sentito come se il codice fosse la strada da percorrere. Anche per ragioni sciocche, non voglio usare una libreria al di fuori di .NET.