3 ms·
Handwritten. It worked for the first portion of the parser (DDL), but it was a real pain to debug and build while keeping track of mallocing and freeing along t
by jjice 5y ago
Handwritten. It worked for the first portion of the parser (DDL), but it was a real pain to debug and build while keeping track of mallocing and freeing along the way.
We got an A on that first parser that was hand written as well, but once we got to DML, I felt like we could really use tools given our time frame.
- stingraycharles 5y agoIt sounds a bit silly to implement a parser for a DB internals course, though. You'll end up teaching lexing and parsing (something which the professor wasn't too familiar with himself it seems?), rather than db internals. Implementing your own WAL + storage API for example, is more something along the lines I would expect.
- stickfigure 5y agoAgreed. At my university, in my era (almost 30 years ago), the compilers sequence was two full quarters and generally considered to be the hardest classes in the CSc major. I really loved it but it would have been a huge distraction mixed in with the DB classes. Those compilers classes turned out to be pretty useful. I ended up having to build custom parsers several times in my career... including an SQL parser.
- jjice 5y agoI actually took my university's compiler course at the same time as this DB course, and that was my favorite class out of all four years, hands down. Honestly, the parsing portion of my DB class was helped out by the knowledge I got from the compiler class earlier in the semester, so at least it worked out!
- dtech 5y agoto be pair those compilers course should cover much more than parsing. Iirc correctly it was like 10% of the course at my time.
- jjice 5y agoAbsolutely. That was one of my complaints with the class. I have an interest in compilers and the process, but I took this course to learn about storage and efficient lookups.