Executando verificação de segurança...
1

Que projeto sensacional! Só fiquei pensando porque não implementar a possibilidade de criar essas lógicas de maneira mais simples como ^ para AND, v para OR, ~ para NOT e por aí vai, mas no README está descrito:

// Not supported ❌
frege.evaluate('~(p ^ Q)', {p: false, Q: true});

Obs.: Parabéns pelo repositório no Github, está muito bem escrito!
Obs2.: Também cursei Ciência da Computação e este repositório é uma diversão imensa, parabéns mais uma vez pela escolha do tema de TCC e pela disposição por criar uma implementação para desbloquear a lógica!!!

Carregando publicação patrocinada...
2

Esse comentário me deixou bem feliz, obrigado de verdade pelas palavras!

Sobre a sugestão: é totalmente válida e com certeza será adotada. No início acabei optando por um conjunto menor de símbolos por questão de simplicidade mesmo, queria apenas ter o mínimo para funcionar.

Logo eu percebi que era mais complicado manter esses caracteres específicos e adicionei suporte a mais estes:

& (para AND)
| (para OR)
! (para NOT)

Facilitou bastante, mas ainda almejo colocar os caracteres que você citou e também as próprias palavras AND, OR e NOT.

De novo, muito obrigado por olhar o projeto e pela sugestão! 🤝