This PR adds the boolean logic library files to the repo. This library uses a tree structure to represent a boolean expression. It supports functions such as: creating a boolean expressions directly (through APIs) or by parsing a string, minimizing a boolean expressions using Espresso-II algorithm, and applying Shannon expansion to transform the boolean expression into a tree of MUXes (soon).
The library, as of now, is composed of 4 main parts:
Lexer: lexical analyzer for tokenizing a string.
Parser: parser for parsing a list of tokens generated by the lexer into a boolean expression tree.
BooleanExpression: all the necessary definitions and methods to support the BoolExpression tree data structure.
BooleanLogicLibrary: all the APIs for the library to parse, create, and minimize a boolen logical expression.
This PR adds the boolean logic library files to the repo. This library uses a tree structure to represent a boolean expression. It supports functions such as: creating a boolean expressions directly (through APIs) or by parsing a string, minimizing a boolean expressions using Espresso-II algorithm, and applying Shannon expansion to transform the boolean expression into a tree of MUXes (soon).
The library, as of now, is composed of 4 main parts: