Existential Boolean Compiler
Compiles simple statements of existence and boolean truth into valid SQL (i.e. for check constraints).
Example
Input:
(!is_dled && file_size!?) || (is_dled && file_size?)
Output:
(is_dled IS FALSE AND file_size IS NULL) OR (is_dled IS TRUE AND file_size IS NOT NULL)
Syntax
A name (i.e. variable or column name) can have a variety of unary operators applied to it. A name can only start with a letter but can otherwise contain letters, numbers and underscores.
no operator is interpreted IS TRUE
! becomes IS FALSE
? becomes IS NOT NULL
!? becomes IS NULL
Other than that, you may use logical binary operators (&&, ||) and parenthesis ((, )).
If your input doesn’t follow these rules, there is no guarantee valid SQL will be generated.
Why?
Because I wanted to play around with writing a simple lexer. Also, it allows for writing SQL check constraints more easily.
Q: Wait, that’s really not that sophisticed is it? A: Nope. Pretty trivial.
Release files for EBCompiler 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| EBCompiler-0.1.3.tar.gz | 3.7 kB | Details |
Release files / EBCompiler-0.1.3.tar.gz
| Download URL | EBCompiler-0.1.3.tar.gz |
|---|---|
| Size | 3.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0fd2ae249051706cf93a2e76e5cb288a110135f181665207251d101ba666dc2e
|
|
BLAKE2b-256 checksum How to use checksums |
809948b836cb2e687aec1289c5f8c8a6e671be3631b8b91cedb47390871b1da0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |