pd_alg_lrm.cpp File Reference

functions related to LR machines More...

#include "pd_alg_lrm.h"

Go to the source code of this file.

Namespaces

namespace  faudes
 

libFAUDES resides within the namespace faudes.


Functions

std::set< Lr1Configuration > faudes::Desc11 (const Grammar &gr, uint k, const Lr1Configuration &config)
 Obtain the immediate descendants of a configuration if the dot were pushed one nonterminal further.
std::set< Lr1Configuration > faudes::Desc1 (const Grammar &gr, uint k, const std::set< Lr1Configuration > &configs)
 Obtain the immediate descendants of configurations if the dot were pushed one nonterminal further.
std::set< Lr1Configuration > faudes::Desc (const Grammar &gr, uint k, const std::set< Lr1Configuration > &config)
 Obtain all descendants of a configuration set.
std::set< Lr1Configuration > faudes::PassesX (const Lr1Configuration &config, const GrammarSymbolPtr &symbol)
 Try to shift the dot in a configuration over a specified symbol.
std::set< Lr1Configuration > faudes::Basis (const std::set< Lr1Configuration > configs, const GrammarSymbolPtr &symbol)
 Try to shift the dots in a configuration set over a specified symbol.
std::set< Lr1Configuration > faudes::GoTo (const Grammar &gr, uint k, const std::set< Lr1Configuration > configs, const GrammarSymbolPtr &symbol)
 Try to shift the dots in a configurations set and obtain the shifted configuration set's descendants.
LrmTransitionMap faudes::Lrm1 (const Grammar &gr, uint k, const Lr1ConfigurationSetSet &configSetSet)
 Generate outgoing transitions for an LR(k) machine for a given configuration set.
std::pair< LrmTransitionMap,
Lr1ConfigurationSetSet > 
faudes::LrmLoop (const Grammar &gr, uint k, const LrmTransitionMap &transitions, const Lr1ConfigurationSetSet &states, Lr1ConfigurationSetSet examineStates)
 Recursively generate all transitions and states for an LR(k) machine.
std::set< Lr1Configuration > faudes::DescInitial (const Grammar &gr)
 Determine the initial parser configurations for a grammar.
std::set< Lr1Configuration > faudes::ValidEmpty (const Grammar &gr, uint k)
 Determine the descendants of the initial parser configurations.
GotoGenerator faudes::Lrm (const Grammar &gr, uint k)
 Generate an LR(k) machine for a grammar.
Grammar faudes::Aug (const Grammar &gr, const Nonterminal &startSymbol, const Terminal &augSymbol)
 Augments the grammar with a nonterminal S and a terminal $ such that a new grammar production will be inserted.

Detailed Description

functions related to LR machines

Definition in file pd_alg_lrm.cpp.

libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen