Grammar. More...

#include <pd_grammar.h>

Public Member Functions

 Grammar ()
 Constructor.
 Grammar (const Nonterminal &startSymbol)
 Constructor.
bool SetStartSymbol (const Nonterminal &s)
 set the grammar's start symbol and add it to the set of nonterminals
bool InsTerminal (const Terminal &t)
 add Terminal
void InsTerminals (const std::set< Terminal > &t)
 add Terminals
bool InsNonterminal (const Nonterminal &nt)
 add Nonterminal
void InsNonterminals (const std::set< Nonterminal > &nt)
 add Nonterminals
bool InsGrammarProduction (const GrammarProduction &gp)
 Add a grammar production to the grammar.
void InsGrammarProductions (const std::set< GrammarProduction > &gp)
 Add grammar productions to the grammar.
const std::set< Terminal > & Terminals () const
 Getter for mTerminals.
const std::set< Nonterminal > & Nonterminals () const
 Getter for mNonterminals.
const NonterminalStartSymbol () const
 Getter for mStartSymbol.
const std::set
< GrammarProduction > & 
GrammarProductions () const
 Getter for mGrammarProductions.
std::set< Terminal >
::const_iterator 
TerminalsBegin () const
 Iterator to the beginning of terminals.
std::set< Terminal >
::const_iterator 
TerminalsEnd () const
 Iterator to the end of terminals.
std::set< Nonterminal >
::const_iterator 
NonterminalsBegin () const
 Iterator to the beginning of nonterminals.
std::set< Nonterminal >
::const_iterator 
NonterminalsEnd () const
 Iterator to the end of nonterminals.
std::set< GrammarProduction >
::const_iterator 
GrammarProductionsBegin () const
 Iterator to the beginning of grammar productions.
std::set< GrammarProduction >
::const_iterator 
GrammarProductionsEnd () const
 Iterator to the end of grammar productions.
std::string StrTerminals () const
 To String function for Terminals.
std::string StrNonterminals () const
 To String function for Nonterminals.
std::string StrStartSymbol () const
 To String function for start symbol.
std::string StrGrammarProductions () const
 To String function for Grammar Productions.
std::string Str () const
 To String function.

Public Attributes

std::set< TerminalmTerminals
 the Terminals
std::set< NonterminalmNonterminals
 the Nonterminals
Nonterminal mStartSymbol
 the Start Symbol
std::set< GrammarProductionmGrammarProductions
 the Productions

Detailed Description

Grammar.

Overview

Overview

Contents

Contents

Definition at line 372 of file pd_grammar.h.

Constructor & Destructor Documentation

faudes::Grammar::Grammar ( )
inline

Constructor.

Definition at line 388 of file pd_grammar.h.

faudes::Grammar::Grammar ( const Nonterminal startSymbol)
inline

Constructor.

Definition at line 393 of file pd_grammar.h.

Member Function Documentation

const std::set<GrammarProduction>& faudes::Grammar::GrammarProductions ( ) const
inline

Getter for mGrammarProductions.

Returns
the grammar productions

Definition at line 495 of file pd_grammar.h.

std::set< GrammarProduction >::const_iterator faudes::Grammar::GrammarProductionsBegin ( ) const

Iterator to the beginning of grammar productions.

Returns
iterator

Definition at line 315 of file pd_grammar.cpp.

std::set< GrammarProduction >::const_iterator faudes::Grammar::GrammarProductionsEnd ( ) const

Iterator to the end of grammar productions.

Returns
iterator

Definition at line 319 of file pd_grammar.cpp.

bool faudes::Grammar::InsGrammarProduction ( const GrammarProduction gp)

Add a grammar production to the grammar.

All grammar symbols used must exist in the grammar.

Parameters
gpgrammar production to add
Returns
true, if successful (grammar production did not exist in grammar), else false (grammar production did already exist in grammar)

Definition at line 256 of file pd_grammar.cpp.

void faudes::Grammar::InsGrammarProductions ( const std::set< GrammarProduction > &  gp)

Add grammar productions to the grammar.

All grammar symbols used must exist in the grammar.

Parameters
gpgrammar productions to add

Definition at line 292 of file pd_grammar.cpp.

bool faudes::Grammar::InsNonterminal ( const Nonterminal nt)

add Nonterminal

Parameters
ntnonterminal to add
Returns
true, if successful (nonterminal did not exist in grammar), else false (nonterminal did already exist in grammar)

Definition at line 248 of file pd_grammar.cpp.

void faudes::Grammar::InsNonterminals ( const std::set< Nonterminal > &  nt)

add Nonterminals

Parameters
ntnonterminals to add

Definition at line 252 of file pd_grammar.cpp.

bool faudes::Grammar::InsTerminal ( const Terminal t)

add Terminal

Parameters
tterminal to add
Returns
true, if successful (terminal did not exist in grammar), else false (terminal did already exist in grammar)

Definition at line 240 of file pd_grammar.cpp.

void faudes::Grammar::InsTerminals ( const std::set< Terminal > &  t)

add Terminals

Parameters
tterminals to add

Definition at line 244 of file pd_grammar.cpp.

const std::set<Nonterminal>& faudes::Grammar::Nonterminals ( ) const
inline

Getter for mNonterminals.

Returns
the nonterminals

Definition at line 479 of file pd_grammar.h.

std::set< Nonterminal >::const_iterator faudes::Grammar::NonterminalsBegin ( ) const

Iterator to the beginning of nonterminals.

Returns
iterator

Definition at line 307 of file pd_grammar.cpp.

std::set< Nonterminal >::const_iterator faudes::Grammar::NonterminalsEnd ( ) const

Iterator to the end of nonterminals.

Returns
iterator

Definition at line 311 of file pd_grammar.cpp.

bool faudes::Grammar::SetStartSymbol ( const Nonterminal s)

set the grammar's start symbol and add it to the set of nonterminals

Parameters
sstart symbol to set
Returns
true, if nonterminal did not exist in grammar, else false

Definition at line 235 of file pd_grammar.cpp.

const Nonterminal& faudes::Grammar::StartSymbol ( ) const
inline

Getter for mStartSymbol.

Returns
the start symbol

Definition at line 487 of file pd_grammar.h.

std::string faudes::Grammar::Str ( void  ) const

To String function.

Definition at line 359 of file pd_grammar.cpp.

std::string faudes::Grammar::StrGrammarProductions ( ) const

To String function for Grammar Productions.

Definition at line 349 of file pd_grammar.cpp.

std::string faudes::Grammar::StrNonterminals ( ) const

To String function for Nonterminals.

Definition at line 334 of file pd_grammar.cpp.

std::string faudes::Grammar::StrStartSymbol ( ) const

To String function for start symbol.

Definition at line 345 of file pd_grammar.cpp.

std::string faudes::Grammar::StrTerminals ( ) const

To String function for Terminals.

Definition at line 323 of file pd_grammar.cpp.

const std::set<Terminal>& faudes::Grammar::Terminals ( ) const
inline

Getter for mTerminals.

Returns
the terminals

Definition at line 471 of file pd_grammar.h.

std::set< Terminal >::const_iterator faudes::Grammar::TerminalsBegin ( ) const

Iterator to the beginning of terminals.

Returns
iterator

Definition at line 299 of file pd_grammar.cpp.

std::set< Terminal >::const_iterator faudes::Grammar::TerminalsEnd ( ) const

Iterator to the end of terminals.

Returns
iterator

Definition at line 303 of file pd_grammar.cpp.

Member Data Documentation

std::set<GrammarProduction> faudes::Grammar::mGrammarProductions

the Productions

Definition at line 383 of file pd_grammar.h.

std::set<Nonterminal> faudes::Grammar::mNonterminals

the Nonterminals

Definition at line 379 of file pd_grammar.h.

Nonterminal faudes::Grammar::mStartSymbol

the Start Symbol

Definition at line 381 of file pd_grammar.h.

std::set<Terminal> faudes::Grammar::mTerminals

the Terminals

Definition at line 377 of file pd_grammar.h.


The documentation for this class was generated from the following files:

libFAUDES 2.28c --- 2016.09.30 --- c++ api documentaion by doxygen