isTerminal: Is the numeric identifier a terminal symbol?

View source: R/BNF.R

isTerminalR Documentation

Is the numeric identifier a terminal symbol?

Description

isTerminal() tests if the numeric identifier is a terminal symbol.

Usage

isTerminal(Id, ST)

Arguments

Id

A numeric identifier (integer).

ST

A symbol table.

Details

isTerminal() is one of the most frequently used functions of a grammar-based genetic programming algorithm. Careful coding pays off! Do not index the symbol table as a matrix (e.g. ST[2,2]), because this is really slow!

Value

  • TRUE if the numeric identifier is a terminal symbol.

  • FALSE if the numeric identifier is a non-terminal symbol.

  • NA if the symbol does not exist.

See Also

Other Utility Functions: derive(), id2symb(), isNonTerminal(), rules(), symb2id()

Examples

g<-compileBNF(booleanGrammar())
isTerminal(1, g$ST)
isTerminal(2, g$ST)
isTerminal(5, g$ST)
isTerminal(12, g$ST)
isTerminal(15, g$ST)
identical(isTerminal(15, g$ST), NA)


xegaBNF documentation built on May 29, 2024, 10:23 a.m.

Related to isTerminal in xegaBNF...