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}