Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
LRParser.h
Go to the documentation of this file.
1
6#pragma once
7
10
11#include <alib/vector>
12
13namespace grammar {
14
15namespace parsing {
16
17class LRParser {
18public:
19 static DefaultSymbolType getEndOfInputSymbol ( const grammar::CFG < > & originalGrammar );
20
21 static grammar::CFG < > getAugmentedGrammar ( grammar::CFG < > originalGrammar );
22
23 static bool parse ( const LRActionTable & actionTable, const LRGotoTable & gotoTable, const LR0Items & initialState, const ext::vector < DefaultSymbolType > & input );
24};
25
26} /* namespace parsing */
27
28} /* namespace grammar */
29
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
Context free grammar in Chomsky hierarchy or type 2 in Chomsky hierarchy. Generates context free lang...
Definition: CFG.h:67
Definition: LRParser.h:17
static DefaultSymbolType getEndOfInputSymbol(const grammar::CFG< > &originalGrammar)
Definition: LRParser.cpp:14
static bool parse(const LRActionTable &actionTable, const LRGotoTable &gotoTable, const LR0Items &initialState, const ext::vector< DefaultSymbolType > &input)
Definition: LRParser.cpp:28
static grammar::CFG< > getAugmentedGrammar(grammar::CFG< > originalGrammar)
Definition: LRParser.cpp:18
Definition: Object.h:16
Definition: ToAutomaton.h:24