NOTES ===== 2018-03-15 ---------- + chapter 2 - 4.1 of Wirth's [compiler book](http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf) stretch buffers: + dynamically growable arrays such that with a few pitfalls but is easy to generate + invented by stb? 2018-03-22 (day 2) ------------------ + lexing: char stream to token stream + ex. '1234 (x+y)' translates to '1234' '(' 'x' '+' 'y' ')' + no semantics yet + simple hand-written approach + mark: 1:17:34 dev log: + you can use a union with an anonymous struct to add fields to a struct maybe struct Thing { int type; union { uint64_t val; struct { int start; int end; }; }; }; + C99 variadic debug macro: #ifndef NDEBUG #define tprint(...) do { fprintf(stderr, __VA_ARGS__); } while (false) #else #define tprint(...) do {} while (false) #endif