Skip to main content

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)

Source distribution for EBCompiler 0.1.3
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

Release history Release notifications | RSS feed

This release

0.1.3 This release

1 release file

0.1.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page