bliutech / mbased

MIT IEEE URTC 2024. GSET 2024. Repository for the "MBASED: Practical Simplifications of Mixed Boolean-Arithmetic Obfuscation". A Binary Ninja decompiler plugin taking ideas from compiler construction to simplify obfuscated boolean expressions.
https://github.com/bliutech/mbased/blob/main/.github/paper.pdf
MIT License
6 stars 0 forks source link

Parser: Write a Visitor to Traverse the AST #17

Closed bliutech closed 3 months ago

bliutech commented 3 months ago

After #10 is complete, we need to have a way to easily traverse the AST we just defined. While there are a few potential ways to implement this (see the CS 132 notes below for some motivation for using the visitor design pattern), the style that best follows software engineering practices is to use the visitor design pattern. The goal of this component is to write a baseline visitor which does nothing except traverse all of the nodes of the AST. This is meant to provide a base class for several other classes to implement which provides a good style to traverse all of the nodes of the AST and perform some operations.

Action Items

Do all of the following inside parser/visitor.py.

References