From 729f06b2549fd54851880218dd5ab40cf70d08bb Mon Sep 17 00:00:00 2001 From: Felix Suchert Date: Sat, 18 Mar 2023 17:40:02 +0100 Subject: [PATCH] finalize AoC post --- content/post/2023-01-15-advent-of-code.md | 45 ++++++++----------- static/content/images/2023/01/parse-tree.png | Bin 33797 -> 32443 bytes 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/content/post/2023-01-15-advent-of-code.md b/content/post/2023-01-15-advent-of-code.md index 6cc670d..4723fb1 100644 --- a/content/post/2023-01-15-advent-of-code.md +++ b/content/post/2023-01-15-advent-of-code.md @@ -1,8 +1,8 @@ --- title: "Advent of Parsers" -date: 2023-01-15T16:30:26+01:00 +date: 2023-03-18T16:30:26+01:00 hero: /content/images/2023/01/2023-01-15-banner.jpg -excerpt: If the Advent of Code is mainly about parsing inputs, why not solve it only using parsers? +excerpt: If the Advent of Code is mainly about parsing inputs, why not solve it only using parsers? A slightly too detailed introduction to compiler frontends. slug: "advent-of-parsers" tags: ["programming", "compiler"] authors: ["felix"] @@ -11,7 +11,7 @@ draft: false For the past years, I've been challenging myself to solve the [Advent of Code](https://adventofcode.com/2022/about) challenges in the most cumbersome ways: Using a different language each day or by using only C/C++[^php]. -This year, I originally didn't want to participate at all as I had a lot to do at work and little time to spare. +Last year, I originally didn't want to participate at all as I had a lot to do at work and little time to spare. But as I left for the christmas holidays, I finally had some time to unwind from thinking about compilers all day. And then it hit me: Couldn't I just [solve every task by writing a compiler](https://twitter.com/mycoliza/status/824809235632447492)? @@ -35,7 +35,7 @@ Both are by now tried and tested tools for writing parsers and lexers, respectiv And, true to the spirit of the challenge, they generate C or C++ code, even though the latter doesn't compile. But how does my self-inflicted tech stack work? -Let me give you a quick (and maybe over-simplified -- please don't roast me, dear colleagues) primer on parsing input the _proper_ way (using C and flex+bison). +Let me give you an overly long (but still overly simplified -- please don't roast me, dear colleagues) primer on parsing input the _proper_ way (using C and flex+bison). ### A Running Example @@ -48,7 +48,7 @@ The CPU has exactly one internal register `X` and features 2 operations: - `addx val`: modifies the internal register by adding the value to it. This operation takes 2 cycles to complete. - `noop`: sleeps for one CPU cycle. -The first task is then to take your puzzle input in the form of a bit over 100 lines of instructions and parse it. +The first task is then to take your [puzzle input](https://code.dummyco.de/feliix42/aoc-2022/src/commit/841b9ec20bdf828f721c12675564e571cc51d9ad/day_10/input.txt) in the form of a bit over 100 lines of instructions and parse it. You are supposed to take the register contents during the 20th cycle, multiply it with the cycle count and repeat the process every 40 cycles. All results then have to be summed to form your solution. @@ -77,7 +77,7 @@ noop ``` Every input possibly encountered by the lexer must be described using a rule, otherwise we'll run into errors. -First, we define a few shorthands which we can then use in our lexing rules (for small examples like this it's a bit overkill but at least it's good style): +First, we define a few shorthands ([full source file here](https://code.dummyco.de/feliix42/aoc-2022/src/commit/841b9ec20bdf828f721c12675564e571cc51d9ad/day_10/lexer.l)) which we can then use in our lexing rules (for small examples like this it's a bit overkill but at least it's good style): ```flex NOP "noop" @@ -127,7 +127,7 @@ Note, that `yytext` is a variable exposed by `flex` itself. It contains the character string that matched the rule on the left-hand side. We then assign the parsed number to `yylval`. But where are the tokens we emit and the `yylval` variable defined? -Well, they're both coming from the parser file in `bison` and must come from there. +Well, they're both coming from the parser file in `bison` and must be defined there. This is, in my opinion, one of the great hurdles when starting out with these tools: They are so deeply intertwined that learning them can result in a lot of headaches as things usually don't work as you expect them to at first. For example: I originally tried to use C++ this time for at least some Quality of Life improvements over pure C. @@ -138,12 +138,12 @@ The last rules in our lexer declare that we ignore any spaces (we're not in Pyth The final rule matches on all remaining lexemes and emits an error message to inform the user of a syntax error occuring. With that, we defined the lexer appropriately. -The full file (containing all set-up instructions and options) can be found [here](). +The full file (containing all set-up instructions and options) can be found [here](https://code.dummyco.de/feliix42/aoc-2022/src/commit/841b9ec20bdf828f721c12675564e571cc51d9ad/day_10/lexer.l). ### Bring in the Grammar! -If reading that section heading gave you bap flashbacks to your language lessons, don't worry. +If reading that section heading gave you bad flashbacks to your language lessons, don't worry. If it gave you flashbacks to your formal systems lectures, I have bad news. Job of a parser is to assign semantics to the tokens we produced in the previous step, and these semantics are expressed using a formal _grammar_. @@ -175,7 +175,7 @@ Now we can obviously start writing an absolute unit of an if-else chain matching But, as you might have guessed, the problem of "parsing things" has been solved a long time ago and there exist solutions that don't want to make you pull out your hair in agony. So, we lay our eyes upon the holy grail that has been gifted to us by [Richard M. Stallman](https://rms.sexy) himself[^rms]: `bison`. [GNU Bison](https://en.wikipedia.org/wiki/GNU_Bison) is a [parser generator](https://en.wikipedia.org/wiki/Compiler-compiler) that allows us to give it a grammar definition written in BNF, from which a parser is generated. -The choice for this tool was mainly motivated by the fact that I used both `flex` and `bison` to implement my own shell[^shell]. +The choice for this tool was mainly motivated by the fact that I used both `flex` and `bison` in the past to implement my own shell[^shell]. [^actually]: For actual programming languages, these grammars are [quite complex](https://github.com/jorendorff/rust-grammar/blob/master/Rust.g4). In our case however, the individual grammars for each day's tasks are rather simple. [^rms]: Actually, `bison` was written by Robert Corbett. Richard Stallman just made it compatible to another parser generator named `yacc`. @@ -298,7 +298,7 @@ instruction As you can see, the rules look similar to the ones we defined before. And that's it already, there is our grammar to parse the whole task and solve part one automagically while processing the input. -We of course need some more setup code which you'll find in the complete `parser.y` file [here](). +We of course need some more setup code which you'll find in the complete `parser.y` file [here](https://code.dummyco.de/feliix42/aoc-2022/src/commit/841b9ec20bdf828f721c12675564e571cc51d9ad/day_10/parser.y). The last part we have to take care of is invoking the parser. But now, that's as easy as pie. We just write a quick main function at the end of our `bison` file that initializes our state and the lexer and runs the parser to end by invoking `yyparse` with the necessary arguments[^args]: @@ -369,21 +369,14 @@ The result is a derivation of our grammars' rules, a so-called _parse tree_ (ple By doing this seemingly stupid challenge, I realized that what I was doing was actually not too different from what you'd normally do in the advent of code. The parser framework just gives you the right set of tools to reason about the input (in the most cases, for some tasks it felt very forced). +So in a sense, using the parser infrastructure produces code that is a lot cleaner. +Also, writing the grammar rules was rather easy, as the tasks for each day are usually just a textual representation of the grammar. +Not all things can be solved during the parse, though. +A notable example for this is the challenge of [day 8](https://adventofcode.com/2022/day/8) which requires you to compute some properties on a square full of trees. +Here, most of the leg work has to be done after the parse as reasoning over the complete data structure is necessary. -- It's a lot cleaner (you got a grammar and all) +Overall, it was a very fun experience to do this challenge (once I discarded the idea of doing it in C++, of course). +It refreshed a lot of things I learned in the Compiler Construction lecture and was unconventional. +I'm looking forward to the next (i.e., this) year! -What I learned: -- C++ parsers are a major PITA -- especially if not even the official example compiles -- (almost) everything can be parsed - - sometimes it takes a bit of extra code - - natural limitations: day 3 -- Left-associative parsers: take care (LR(1)) -- input is mostly a representation of data -> something parsers are for - - -## Structure -- explain parser/lexer structure briefly -- walk through 1-2 examples? - - assembly interpreter - - shell output parser diff --git a/static/content/images/2023/01/parse-tree.png b/static/content/images/2023/01/parse-tree.png index 7bff3d11875250579be3b9656327cebf5c9e3676..13120f93f52539edb9e80426cda96953b30c484c 100644 GIT binary patch literal 32443 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 Z3RVgo=zk{vKy<8