Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
LR0Parser.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <automaton/FSM/DFA.h>
11
12namespace grammar {
13
14namespace parsing {
15
16class LR0Parser {
17public:
18 static LR0Items getClosure ( LR0Items items, const grammar::CFG < > & originalGrammar );
19
20 static LR0Items getNextStateItems ( const LR0Items & items, const ext::variant < DefaultSymbolType, DefaultSymbolType > & symbol, const grammar::CFG < > & originalGrammar );
21
23};
24
25} /* namespace parsing */
26
27} /* namespace grammar */
28
Deterministic finite automaton. Accepts regular languages.
Definition: DFA.h:71
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
Implementation of the variant class allowing to store any type of those listed in the template parame...
Definition: variant.hpp:98
Context free grammar in Chomsky hierarchy or type 2 in Chomsky hierarchy. Generates context free lang...
Definition: CFG.h:67
Definition: LR0Parser.h:16
static LR0Items getClosure(LR0Items items, const grammar::CFG< > &originalGrammar)
Definition: LR0Parser.cpp:14
static LR0Items getNextStateItems(const LR0Items &items, const ext::variant< DefaultSymbolType, DefaultSymbolType > &symbol, const grammar::CFG< > &originalGrammar)
Definition: LR0Parser.cpp:44
static automaton::DFA< ext::variant< DefaultSymbolType, DefaultSymbolType >, LR0Items > getAutomaton(const grammar::CFG< > &originalGrammar)
Definition: LR0Parser.cpp:65
Definition: ToAutomaton.h:24