Skip to content

Commit

Permalink
Require BB/CFG as part of task
Browse files Browse the repository at this point in the history
  • Loading branch information
sampsyo committed Jan 27, 2025
1 parent a5c1b99 commit 5d9a932
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion content/lesson/2.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,13 @@ Your goal is to get familiar with [Bril][].
* Use `turnt --save yours.bril` to create the test outputs for your new benchmark. (See the [Turnt][] README for details.)
* If your `@main` function takes arguments, you can specify ones to use in testing with an `ARGS:` comment, [like this][args-example].
* Mention it in [the docs][bmdocs].
* Write a program to analyze or transform Bril programs in some small way.
* Write a program to analyze or transform Bril programs in some other small way that you invent.
* Pick your favorite programming language—there is no "starter code," so you can start from scratch.
* Load up a JSON file. You can start with [this tiny one][add]!
* Read [the docs][bril-docs].
* Do something unambitious with it: count the number of add instructions, or add a `print` instruction before every jump, or whatever. Pick something small and contrived!
* Use [Turnt][] to test your new tool. Think carefully about what makes a good test for your tool, no matter how trivial.
* Implement the algorithms to form basic blocks and build a control flow graph.
* Along the way, you may run into problems! Ask questions on [Zulip][], and open issues and pull requests to describe or fix problems. For example, some benchmarks you might imagine probably can't be written easily because Bril is too simple. Mention this on Zulip, and consider pitching in to help add features.
* As with all implementation tasks:
* Summarize your work in the discussion thread associated with this lesson (see the link above). Check out [the relevant section in the syllabus][syl-tasks] to know more about what this post should consist of.
Expand Down

0 comments on commit 5d9a932

Please sign in to comment.