Jay citește o specificație de gramatică dintr-un fișier și generează un parser LALR(1) pentru aceasta. Un parser constă dintr-o serie de tabele de parsare și o rutină de control dintr-un schelet care este citit din intrarea standard. Există schelete potrivite pentru Java și C#. Tabelele și driverul sunt scrise în ieșirea standard.
jay [-ctv] [-b prefix-fisier] gramatica schelet|Opțiuni disponibile:
- -b prefix-fisier: schimbă prefixul adăugat la numele fișierelor de ieșire secundare cu șirul denotat de prefix_fisier. Prefixul implicit este caracterul y.
- -c: aranjează ca directivele #line ale preprocesorului C să fie incorporate în output. Acest lucru este util doar pentru C#.
- -t: aranjează ca informațiile de depanare să fie incorporate în output. Informațiile reale sunt controlate de fișierele schelet; așa cum sunt distribuite, acestea depind de pachete suplimentare de rulare. Pentru C# acest lucru face parte din descărcarea surselor, pentru Java vedeți jay.yydebug.
- -v: cauzează scrierea unei descrieri legibile de către om a parserului generat în fișierul prefix_fisier.output.
Dacă una dintre variabilele de mediu TMPDIR, TMP sau TEMP este setată, șirul din variabila de mediu va fi folosit ca nume al directorului unde sunt create fișierele temporare.