Compiles simple statements of existence and boolean truth into valid SQL (i.e. for check constraints).
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file EBCompiler-0.1.3.tar.gz
.
File metadata
- Download URL: EBCompiler-0.1.3.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fd2ae249051706cf93a2e76e5cb288a110135f181665207251d101ba666dc2e |
|
MD5 | aa4bae57228b591ec4b25e19a15c6eaf |
|
BLAKE2b-256 | 809948b836cb2e687aec1289c5f8c8a6e671be3631b8b91cedb47390871b1da0 |