[ Home | Lab | New Students | Courses | Research | Publications | Activities ]


Cupid

Resources

Basic usage

Cupid-to-SQL.jar is the Cupid to SQL compiler.

You would use it to compile a file (such as TestSpecification.cupid) that contains a Cupid specification. To compile the specification, on the command line, run the jar with the path to the .cupid, as follows.

Running Cupid on Windows

I installed JDK 25 from Oracle (the latest version as of 2025-11-04).

java -jar Cupid-to-SQL.jar .\samples\test\TestSpecifications.cupid

Running Cupid on MacOS

I installed JDK 25 via

brew install --cask graalvm-jdk@25
java -jar Cupid-to-SQL.jar samples/test/TestSpecifications.cupid

Solution

A folder

src-gen
will appear in the current folder with two files in it.

Pretty Printing

Cupid's output is not pretty-printed so I ran it through a free web-based pretty printing tool:

https://codebeautify.org/sqlformatter

I placed the resulting files in the folder:

src-gen-pretty

Working on the source code

In case you run into other difficulties,...

To create the compiler, we used the following Eclipse configuration:

Eclipse DSL Tools
Version: 2024-06 (4.32.0)
Build id: 20240606-1231
OS: Windows 10, v.10.0, x86_64 / win32
Java vendor: Eclipse Adoptium
Java runtime version: 21.0.3+9-LTS
Java version: 21.0.3

The source code is here:

https://gitlab.com/masr/cupid/

To compile the src code:

To run from Eclipse:

The jar was created by exporting the project as a runnable jar. This also packages the required libraries in the jar.

Have fun! Please share your feedback!