xegaBNF: Compile a Backus-Naur Form Specification into an R Grammar Object

Translates a BNF (Backus-Naur Form) specification of a context-free language into an R grammar object which consists of the start symbol, the symbol table, the production table, and a short production table. The short production table is non-recursive. The grammar object contains the file name from which it was generated (without a path). In addition, it provides functions to determine the type of a symbol (isTerminal() and isNonterminal()) and functions to access the production table (rules() and derives()). For the BNF specification, see Backus, John et al. (1962) "Revised Report on the Algorithmic Language ALGOL 60". (ALGOL60 standards page <http://www.algol60.org/2standards.htm>, html-edition <https://www.masswerk.at/algol60/report.htm>) A preprocessor for macros which expand to standard BNF is included. The grammar compiler is an extension of the APL2 implementation in Geyer-Schulz, Andreas (1997, ISBN:978-3-7908-0830-X).

Version: 1.0.0.5
Suggests: testthat (≥ 3.0.0)
Published: 2025-04-17
DOI: 10.32614/CRAN.package.xegaBNF
Author: Andreas Geyer-Schulz ORCID iD [aut, cre]
Maintainer: Andreas Geyer-Schulz <Andreas.Geyer-Schulz at kit.edu>
License: MIT + file LICENSE
URL: https://github.com/ageyerschulz/xegaBNF
NeedsCompilation: no
Materials: README NEWS
CRAN checks: xegaBNF results

Documentation:

Reference manual: xegaBNF.pdf

Downloads:

Package source: xegaBNF_1.0.0.5.tar.gz
Windows binaries: r-devel: xegaBNF_1.0.0.5.zip, r-release: xegaBNF_1.0.0.5.zip, r-oldrel: xegaBNF_1.0.0.5.zip
macOS binaries: r-release (arm64): xegaBNF_1.0.0.5.tgz, r-oldrel (arm64): xegaBNF_1.0.0.5.tgz, r-release (x86_64): xegaBNF_1.0.0.5.tgz, r-oldrel (x86_64): xegaBNF_1.0.0.5.tgz
Old sources: xegaBNF archive

Reverse dependencies:

Reverse imports: xega, xegaDerivationTrees, xegaGeGene, xegaGpGene

Linking:

Please use the canonical form https://CRAN.R-project.org/package=xegaBNF to link to this page.