Learn R Programming

xegaDerivationTrees (version 1.0.0.6)

compileBNF: Compile a BNF (Backus-Naur Form) of a context-free grammar.

Description

compileBNF() produces a context-free grammar from its specification in Backus-Naur form (BNF). Warning: No error checking is implemented.

Usage

compileBNF(g, verbose = FALSE)

Value

A grammar object (list) with the attributes

  • name: Filename of the grammar.

  • ST: Symbol table.

  • PT: Production table.

  • Start: Start symbol of the grammar.

  • SPT: Short production table.

Arguments

g

A character string with a BNF.

verbose

Boolean. TRUE: Show progress. Default: FALSE.

Details

A grammar consists of the symbol table ST, the production table PT, the start symbol Start, and the short production table SPT.

The function performs the following steps:

  1. Make the symbol table.

  2. Make the production table.

  3. Extract the start symbol.

  4. Compile a short production table.

  5. Return the grammar.

See Also

Other Grammar: booleanGrammar()

Examples

Run this code
g<-compileBNF(booleanGrammar())
g$ST
g$PT
g$Start
g$SPT

Run the code above in your browser using DataLab