News for hackers. Stuff that matters.
Re:The Day I Fell in Love with Fuzzing by jerf on Monday January 28, 2019 @01:43PM (#19019923)
What skills/languages do you have? It can help tune the suggestions.

Barring that, you can google "compiler tutorial" and just start looking for one you like. One nice thing about compilers is they consist of a lot of stages and while the whole is arguably greater than the sum of its parts, the parts are all pretty darned useful on their own, too.

Re:The Day I Fell in Love with Fuzzing by ergothus on Monday January 28, 2019 @01:52PM (#19020022)
Javascript is my strongest, and I have enough Python to be comfortable - I had a lot of Perl back in the day but that knowledge is fairly rusty (though Parse::RecDescent was my first exposure to parsers). I did Java for a few years, but I refer to those as my Dark Times and wouldn't want to venture back there. (Experienced Perl dev doing Java is NOT a good time for either the dev or the code)

I can't argue about the broad applicability of compilers, but the main reason I've avoided such tutorials is that I'm looking for something I can get the basics of in hours/days rather than a weeks/months.

Re:The Day I Fell in Love with Fuzzing by james_s_tayler on Monday January 28, 2019 @04:43PM (#19021380)
For the record neither is experienced Java dev doing Perl.
Re:The Day I Fell in Love with Fuzzing by rictic on Monday January 28, 2019 @02:43PM (#19020422)
If you got to the point of having a tree, but found them clumsy to work with, the first thing I'd suggest is to play with an AST explorer. https://astexplorer.net/ is quite good.

Picture the task of what you want to do in your head. Maybe you're writing a linter, and you want to enforce a rule like "never use the 'var' keyword". Write some example code and poke around in the explorer.

Another thing to keep in mind is that once you have a tree, usually you also want to have some tree traversal utilities, so that you can walk over the tree and optionally transform it.