JAVACC(1)

JAVACC(1) πŸ’…

okay bestie, this is the manual page for javacc (plus its two little siblings jjtree and jjdoc), living in section 1, aka General Commands Manual. sit down, grab a strawberry πŸ“, we're learning parser generation and it's gonna be adorable.


✨ NAME ✨

javacc β€” a java compiler compiler 🧚


✨ SYNOPSIS ✨

javacc [option-settings]  [inputfile]

jjtree [option-settings]  [inputfile]

jjdoc [inputfile]

✨ DESCRIPTION ✨

so this manual page documents, briefly, the javacc, jjtree and jjdoc commands. briefly!! it says briefly!! we're keeping it cute and short, periodt.

πŸ’€ heads up: this manual page was written for the Debian distribution, because the original program does not have a manual page. not us doing their homework but here we are.

Now, who is who:

  • javacc β€” a parser generator for use with Java πŸ”₯
  • jjtree β€” a tree builder for javacc 🌸
  • jjdoc β€” a documentation generator javacc πŸ‘‘

✨ OPTIONS ✨

first thing first: javacc, jjtree or jjdoc without any argument prints a small help with the list of available options. so if you're lost, just run it with nothing and it'll hold your hand 🫢

option-settings is a sequence of settings separated by spaces. every single option setting has to be in one of these forms, no exceptions bestie:

  • -optionname=value β€” the classic equals sign moment, e.g. -STATIC=false
  • -optionname:value β€” same vibe, colon edition, e.g. -STATIC:false
  • -optionname β€” this is equivalent to -optionname=true, e.g. -STATIC
  • -NOoptionname β€” this is equivalent to -optionname=false, e.g. -NOSTATIC

option settings are not case-sensitive, so yes, you can absolutely say -nOsTaTiC instead of -NOSTATIC and the universe will simply allow it. 🌈

option values have to be appropriate for the corresponding option, and must be either an integer or a string value. no freestyling with the types, iykyk.

for a list of available options, please refer to the command's internal help. (that's the "run it with no arguments" thing from up top, bestie. it's giving self-service.)


✨ EXAMPLE ✨

here's the group chat in action πŸ’¬:

% javacc -STATIC=false -LOOKAHEAD:2 -debug_parser mygrammar.jj

% jjtree -STATIC=false mygrammar.jjt

% jjdoc mygrammar.jj

look at that -LOOKAHEAD:2 with the colon and the -STATIC=false with the equals. two different forms, one slay. πŸŽ€


✨ AUTHOR ✨

this manual page was written by Nicolas Sabouret <nico@debian.org> for the Debian system (but may be used by others). πŸ’œ

permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. 🫑


aaaand that's the whole thing! the footer of the original just says JAVACC(1) and nothing else β€” no version, no date, so there's literally nothing to invent here and we are not making things up. bye bestie, go generate a parser, you're gonna eat πŸ’…βœ¨

πŸ“¦ where this page comes from