pd_alg_lrp.cpp File Reference

functions related to parsers More...

#include "pd_alg_lrp.h"

Go to the source code of this file.

Namespaces

namespace  faudes
 libFAUDES resides within the namespace faudes.

Functions

std::set< Idx > faudes::GeneratorGoto (const GotoGenerator &gotoGen, Idx state, const GrammarSymbolPtr &symbol)
 Find the successor states of a state for a given input symbol.
std::vector< Idx > faudes::GeneratorGotoSeq (const GotoGenerator &gotoGen, Idx startState, const GrammarSymbolVector &word)
 Find the successor state sequence of a state for a given input word.
std::set< Lr1ParserAction > faudes::LrpShiftRules (const Grammar &gr, const Grammar &augGr, const GotoGenerator &gotoGen, uint k)
 construct the parsing rules for shifting from a grammar and its LR(k) machine
std::set< Lr1ParserAction > faudes::LrpReduceRules (const Grammar &gr, const Grammar &augGr, const GotoGenerator &gotoGen, uint k)
 construct the parsing rules for reducing from a grammar and its LR(k) machine
std::set< Lr1ParserAction > faudes::LrpRules (const Grammar &gr, const Grammar &augGr, const GotoGenerator &gotoGen, uint k)
 construct all parsing rules from a grammar and its LR(k) machine
Lr1Parser faudes::Lrp (const Grammar &gr, const Grammar &augGr, const GotoGenerator &gotoGen, uint k, const Terminal &augSymbol)
 construct an LR(k) parser from a grammar and its LR(k) machine
void faudes::DetachAugSymbol (Lr1Parser &rParser)
 Detach augmented symbole from Lr(1)-parser.
std::vector< Idx > faudes::CreateNonterms (const std::vector< Idx > &rVec, Terminal term, std::map< std::pair< Idx, Terminal >, Idx > &indexMap)
Lr1Parser faudes::TransformParserAction (const Lr1Parser &rParser)
 Transform action of Lr(1)-parser as follows actions of the form (q,a,p,a) to ((q,lambda),a,(p,a),lambda), ((q,a),lambda,(p,a),lambda) actions of the form (q,a,p,lambda) to ((q,lambda),a,(p,lambda),lambda) , ((q,a),lambda,(p,lambda),lambda)
PushdownGenerator faudes::LrParser2EPDA (const Lr1Parser &parser)

Detailed Description

functions related to parsers

Definition in file pd_alg_lrp.cpp.

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