Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Grammar.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <ext/type_traits>
9
10namespace grammar {
11
15class Grammar;
16
17template < class T >
18using TerminalSymbolTypeOfGrammar = typename std::decay < decltype (std::declval<T>().getTerminalAlphabet()) >::type::value_type;
19
20template < class T >
21using NonterminalSymbolTypeOfGrammar = typename std::decay < decltype (std::declval<T>().getNonterminalAlphabet()) >::type::value_type;
22
23} /* namespace grammar */
24
Definition: ToAutomaton.h:24
typename std::decay< decltype(std::declval< T >().getNonterminalAlphabet()) >::type::value_type NonterminalSymbolTypeOfGrammar
Definition: Grammar.h:21
typename std::decay< decltype(std::declval< T >().getTerminalAlphabet()) >::type::value_type TerminalSymbolTypeOfGrammar
Definition: Grammar.h:18