Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
LG.h
Go to the documentation of this file.
1
6#pragma once
7
9#include <core/stringApi.hpp>
10
12
15
16namespace core {
17
18template < class TerminalSymbolType, class NonterminalSymbolType >
19struct stringApi < grammar::LG < TerminalSymbolType, NonterminalSymbolType > > {
21 static bool first ( ext::istream & input );
23};
24
25template < class TerminalSymbolType, class NonterminalSymbolType >
27 grammar::GrammarFromStringLexer::Token token = grammar::GrammarFromStringLexer::next(input);
29 throw exception::CommonException("Unrecognised LG token.");
30
31 return grammar::GrammarFromStringParserCommon::parseCFLikeGrammar < grammar::LG < TerminalSymbolType, NonterminalSymbolType > > ( input );
32}
33
34template < class TerminalSymbolType, class NonterminalSymbolType >
36 grammar::GrammarFromStringLexer::Token token = grammar::GrammarFromStringLexer::next ( input );
39 return res;
40}
41
42template < class TerminalSymbolType, class NonterminalSymbolType >
44 output << "LG";
46}
47
48} /* namespace core */
49
Basic exception from which all other exceptions are derived.
Definition: CommonException.h:21
static void putback(ext::istream &input, const Token &token)
Definition: lexer.hpp:61
Definition: istream.h:32
Definition: ostream.h:14
static Token next(ext::istream &input)
Definition: GrammarFromStringLexer.cpp:10
static void composeCFLikeGrammar(ext::ostream &output, const T &grammar)
Definition: GrammarToStringComposerCommon.h:28
Context free grammar in Chomsky hierarchy or type 2 in Chomsky hierarchy. Generates context free lang...
Definition: LG.h:67
return res
Definition: MinimizeByPartitioning.h:145
Definition: normalize.hpp:10
Definition: ToAutomaton.h:24
Definition: stringApi.hpp:26