No project description provided
Project description
paperbnf
Generating beautiful BNF(supporting optional [ ... ]
) from RBNF syntax, thus the BNF file can generate parsers as well.
Installation
pip install paperbnf
Usage
paperbnf <filename>
Example
sh> cat a.rbnf
a ::= a b;
b ::= [b] c
| a 'd' <e>
| '$\\alpha$'
;
# `:` is okay
op : '+'
| '-'
| '*'
;
# sh> paperbnf a.rbnf > <output file>
produces
\begin{bnf*}
\bnfprod{a}{\bnfpn{a} \bnfsp \bnfpn{b}}
\bnfprod{b}{\bnftd{[} \bnfpn{b}\bnftd{]} \bnfsp \bnfpn{c}}\\
\bnfmore{\bnfor \bnftd{[} \bnfpn{b}\bnftd{]} \bnfsp \bnfpn{c}}\\
\bnfmore{\bnfor \bnfpn{a} \bnfsp \bnfts{d} \bnfsp \bnfts{<e>}}\\
\bnfmore{\bnfor \bnfts{$\alpha$}}\\
\bnfprod{op}{\bnfts{+} \bnfor \bnfts{-} \bnfor \bnfts{*}}
\end{bnf*}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
paperbnf-0.3-py3-none-any.whl
(8.2 kB
view hashes)