Attenzione, Javascript è disabilitato! Il sito funziona meglio se è attivo!

Il logo di Imagine Software

Boolli: interprete di espressioni booleane

Implementare sistemi di regole

Boolli è un interprete di espressioni booleane open-source scritto in C# e disponibile come libreria su NuGet.

Cosa può fare Boolli? Rispondere true o false data un'espressione booleana!

Per Boolli, un'espressione booleana è una stringa generata secondo questa grammatica EBNF:

Come software Boolli è composto da tre moduli:

  • Un lexer
  • Un parser
  • Un interprete

...e la struttura dati alla base del suo funzionamento è l'Abstract Syntax Tree.

Perché Boolli può esserti utile?

  • A scopo didattico: per capire come funziona un semplice interprete. Noi informatici li diamo per scontati, ma sono molto interessanti!
  • Se sostituisci, via codice, i token booleani con delle Func<bool> (o anche delle Func<Task<bool>>). Uno use case è quello di definire un semplice sistema di regole.

Esempi pratici

Proviamolo insieme!

Valutare un'espressione booleana

...puoi anche usare 0 al posto di false
e 1 al posto di true

Valutare un'espressione di Func<bool>

...anche in versione async,
con un'espressione di Func<Task<bool>>

Contribuire

Il mondo dell'open source è meraviglioso proprio perché ognuno può dare il proprio contributo ed aiutare chissà chi nel mondo!

Il codice di Boolli è interamente open source su GitHub ed è aperta alla collaborazione da parte di tutti!