Skip to content

Latest commit

 

History

History
92 lines (80 loc) · 2.19 KB

README.md

File metadata and controls

92 lines (80 loc) · 2.19 KB

LaTeX style for Formal Grammars

Contents

  1. Setup
  2. Documentation

Setup

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:

alt text

Documentation

Commands

\pr

  • Description: Creates a production rule to be put into the grammar.
  • Usage: \pr{var}{str_of_vard_and_terms}
  • Example:
\pr{S}{aSb}

\gor

  • 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}

\gors

  • 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}

\yields

  • Description: Alias for the yields symbol in Sipsers CFG definition..
  • Usage: \yields
  • Example:
uAv \yields uvw

\derives

  • Description: Alias for the derive symbol in Sipsers CFG definition.
  • Usage: \derives
  • Example:
u \derives v

Enviroments

grammar

  • 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}