/allogi

Logic Gate Operation Library for JavaScript and Node.js

Primary LanguageJavaScript

Allogi Project

Created by Hyunwoo Jeon and Junhyeok Hong

This is a JavaScript package that you want to provide all the capabilities provided by Logism. It will provide various functions such as calculation using logical circuits, simplification of logical expressions, and generation of logical expressions through truth tables.

Overview

We are starting this project to develop a web version of Logism, an open-source program used in class. Logism is an open-source program, but it has the disadvantage of having to install Java and only being available in Windows. To address these challenges, we aim to improve accessibility by developing logisim capabilities on the web.

Getting Started

npm install allogi
yarn add allogi
pnpm add allogi

Logic Expression to Truth Table

// Truth Table only support AND, OR, NOT Gate.
// You can use Only () brackets! NO {} and []
import { truthTable } from "allogi"
console.log(truthTable("A+B"))
/**
 * {
 *   exp: 'a OR b',
 *   input: [ [ 0, 0 ], [ 1, 0 ], [ 0, 1 ], [ 1, 1 ] ],
 *   output: [ 0, 1, 1, 1 ]
 * }
 */

Roadmap

  1. Logical expression for generating truth tables
  2. Generate logical expressions with truth tables
  3. Logical simplification
  4. Web version of Logism
  5. Desktop App for Windows, Mac and Linux

License

ISC