Writing a SQL database from scratch in Go
<i>selectKeyword keyword = "select"</i><p>I don't work with Go, so this may be a requirement of the language that I don't know, but whenever I see lines like this, it automatically brings up the question <i>why?</i> --- do you really expect to need to rename the SELECT keyword? Especially when it's named "selectKeyword". Why not just use the string constant? Ditto for the others like "leftparenSymbol" --- I see there's explicit character constants in some of the other code too... it reminds me of the classic anti-pattern like "int five = 5;".<p>Also, you may find the full SQL grammars interesting to look through --- they are quite a bit more complex than the subset presented in the article: <a href="https://ronsavage.github.io/SQL/" rel="nofollow">https://ronsavage.github.io/SQL/</a>