Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
alib2str
src
grammar
GrammarFromStringLexer.h
Go to the documentation of this file.
1
6
#pragma once
7
8
#include <ext/istream>
9
10
#include <alib/string>
11
12
#include <
common/lexer.hpp
>
13
14
namespace
grammar
{
15
16
class
GrammarFromStringLexer
:
public
ext::Lexer
< GrammarFromStringLexer > {
17
public
:
18
enum class
TokenType
{
19
SET_BEGIN
,
20
SET_END
,
21
COMMA
,
22
TUPLE_BEGIN
,
23
TUPLE_END
,
24
SEPARATOR
,
25
EPSILON
,
26
MAPS_TO
,
27
RIGHT_RG
,
28
LEFT_RG
,
29
RIGHT_LG
,
30
LEFT_LG
,
31
LG
,
32
CFG
,
33
EPSILON_FREE_CFG
,
34
GNF
,
35
CNF
,
36
CSG
,
37
NON_CONTRACTING_GRAMMAR
,
38
CONTEXT_PRESERVING_UNRESTRICTED_GRAMMAR
,
39
UNRESTRICTED_GRAMMAR
,
40
TEOF
,
41
ERROR
,
42
};
43
44
static
Token
next
(
ext::istream
& input);
45
};
46
47
}
/* namepsace grammar */
48
ext::Lexer
Definition:
lexer.hpp:45
ext::istream
Definition:
istream.h:32
grammar::GrammarFromStringLexer
Definition:
GrammarFromStringLexer.h:16
grammar::GrammarFromStringLexer::next
static Token next(ext::istream &input)
Definition:
GrammarFromStringLexer.cpp:10
grammar::GrammarFromStringLexer::TokenType
TokenType
Definition:
GrammarFromStringLexer.h:18
grammar::GrammarFromStringLexer::TokenType::LEFT_LG
@ LEFT_LG
grammar::GrammarFromStringLexer::TokenType::CONTEXT_PRESERVING_UNRESTRICTED_GRAMMAR
@ CONTEXT_PRESERVING_UNRESTRICTED_GRAMMAR
grammar::GrammarFromStringLexer::TokenType::LG
@ LG
grammar::GrammarFromStringLexer::TokenType::RIGHT_RG
@ RIGHT_RG
grammar::GrammarFromStringLexer::TokenType::TUPLE_BEGIN
@ TUPLE_BEGIN
grammar::GrammarFromStringLexer::TokenType::EPSILON
@ EPSILON
grammar::GrammarFromStringLexer::TokenType::COMMA
@ COMMA
grammar::GrammarFromStringLexer::TokenType::SEPARATOR
@ SEPARATOR
grammar::GrammarFromStringLexer::TokenType::TUPLE_END
@ TUPLE_END
grammar::GrammarFromStringLexer::TokenType::GNF
@ GNF
grammar::GrammarFromStringLexer::TokenType::UNRESTRICTED_GRAMMAR
@ UNRESTRICTED_GRAMMAR
grammar::GrammarFromStringLexer::TokenType::TEOF
@ TEOF
grammar::GrammarFromStringLexer::TokenType::LEFT_RG
@ LEFT_RG
grammar::GrammarFromStringLexer::TokenType::CNF
@ CNF
grammar::GrammarFromStringLexer::TokenType::ERROR
@ ERROR
grammar::GrammarFromStringLexer::TokenType::EPSILON_FREE_CFG
@ EPSILON_FREE_CFG
grammar::GrammarFromStringLexer::TokenType::CSG
@ CSG
grammar::GrammarFromStringLexer::TokenType::SET_BEGIN
@ SET_BEGIN
grammar::GrammarFromStringLexer::TokenType::RIGHT_LG
@ RIGHT_LG
grammar::GrammarFromStringLexer::TokenType::NON_CONTRACTING_GRAMMAR
@ NON_CONTRACTING_GRAMMAR
grammar::GrammarFromStringLexer::TokenType::MAPS_TO
@ MAPS_TO
grammar::GrammarFromStringLexer::TokenType::SET_END
@ SET_END
grammar::GrammarFromStringLexer::TokenType::CFG
@ CFG
lexer.hpp
grammar
Definition:
ToAutomaton.h:24
Generated on Mon Dec 27 2021 10:21:54 for Algorithms Library Toolkit by
1.9.2