### 1 unstable release

0.1.0 | Jan 21, 2023 |
---|

#**40** in #formula

Used in truemoji

**MIT**license

27KB

560 lines

# Truemoji Core

This library contains the core specification and implementation of the Truemoji language, which is a language for describing propositional logic. TLDR: I replaced the propositional logic operators with emojis!

## Truemoji Language Specification

`<iff> := <implies> 🤝 <iff> ``|` <implies>
`<implies> ``:`= <or> 👉 <iff> `|` <or>`
``<``or``>` := `<``and``>` 🙌 `<``or``>` `|` `<``and``>`
`<``and``>` := `<``not``>` 👏 `<``and``>` `|` `<``not``>`
`<``not``>` := 🚫 `<``formula``>` `|` `<``formula``>`
`<``formula``>` := [A-Za-z0-9] `|` 👍 `|` 👎 `|` 😮 `<``iff``>` 😶

## Resources Consulted

- https://adriann.github.io/rust_parser.html
- https://createlang.rs/01_calculator/ast.html
- https://pages.cs.wisc.edu/~fischer/cs536.s08/course.hold/html/NOTES/3.CFG.html#exp

## Crate Contents

This crate implements a lexer, parser, and abstract syntax tree (AST) for the Truemoji language. The truth values for ASTs can be evaluated as long as each formula has an boolean value associated with it.

#### Dependencies

~1.5–2MB

~44K SLoC