LaTeX style for Formal Grammars and operations
In order to load the package, use the following code:
\usepackage{formalgrammars}
Once you have done this you can now create your grammar by creating a grammar enviroment and passing it a list of production rules.
\begin{grammar}{
\pr{S}{NP VP}
\pr{VP}{VBZ NP}
\pr{PP}{IN NP}
\pr{NP}{NN \gors DT NN \gors NP PP}
\pr{NN}{steel \gors alloy \gors carbon \gors base \gors metal}
\pr{VBZ}{is \gors contains}
\pr{DT}{an \gors the}
\pr{IN}{of}}
\end{grammar}
Will output as the following:
- Description: Creates a production rule to be put into the grammar.
- Usage:
\pr{var}{str_of_vard_and_terms}
- Example:
\pr{S}{aSb}
- Description: Creates an or in production rule WITHOUT trailing white space.
- Usage:
\gor
- Example:
\pr{NN}{steel \gor alloy \gor carbon \gor base \gor metal}
- Description: Creates an or in production rule with a single trailing white space.
- Usage:
\gors
- Example:
\pr{NN}{steel \gors alloy \gors carbon \gors base \gors metal}
- Description: Alias for the yields symbol in Sipsers CFG definition..
- Usage:
\yields
- Example:
uAv \yields uvw
- Description: Alias for the derive symbol in Sipsers CFG definition.
- Usage:
\derives
- Example:
u \derives v
- Description: Creates a production rule to be put into the grammar.
- Usage:
\begin{grammar}{prod_rules} \end{grammar}
- Example:
\begin{grammar}{
\pr{S}{NP VP}
\pr{VP}{VBZ NP}
\pr{PP}{IN NP}
\pr{NP}{NN \gors DT NN \gors NP PP}
\pr{NN}{steel \gors alloy \gors carbon \gors base \gors metal}
\pr{VBZ}{is \gors contains}
\pr{DT}{an \gors the}
\pr{IN}{of}}
\end{grammar}