/goolean

A CLI-based Boolean Algebra solver using Go

Primary LanguageGoGNU General Public License v3.0GPL-3.0

Goolean

Go - Build

Goolean is a command-line application written in Go, designed to simplify Boolean algebra expressions and generate truth tables. Utilizing the Cobra framework, it functions as a REPL (Read-Evaluate-Print Loop) to provide an interactive user experience.

Features

  • Simplification of Boolean algebra expressions (partially complete).
  • Generation of truth tables.
  • Support for the following operators: AND (&), OR (|), NOT (!), NAND, NOR, and XOR.
  • Parentheses support for expression grouping.
  • Interactive REPL interface for real-time expression evaluation.

Installation

To install Goolean, ensure you have Go installed on your machine, then run the following command:

go get -u github.com/thecatster/goolean

Usage

Once installed, run the application using the following command:

goolean

In the REPL, enter your Boolean algebra expressions, and Goolean will simplify them and print out the corresponding truth tables. Type exit to quit the REPL.

goolean> a & b

Development

To contribute to Goolean, clone the repository and create a new branch for your feature or bug fix. After making your changes, open a pull request to merge them into the main branch.

git clone https://github.com/thecatster/goolean.git
cd goolean
git checkout -b feature/your-feature

Testing

WIP: Goolean comes with a suite of unit tests to ensure its core functionality works as expected. Run the tests using the following command:

go test ./...

License

Goolean is licensed under the GPLv3 License. See the LICENSE file for details.