1 #ifndef OMEGA_H_GRAMMAR_HPP
2 #define OMEGA_H_GRAMMAR_HPP
14 using RHS = std::vector<int>;
19 using Productions = std::vector<Production>;
22 Productions productions;
23 std::vector<std::string> symbol_names;
26 using GrammarPtr = std::shared_ptr<Grammar const>;
28 int get_nnonterminals(
Grammar const& g);
29 bool is_terminal(
Grammar const& g,
int symbol);
30 bool is_nonterminal(
Grammar const& g,
int symbol);
31 int as_nonterminal(
Grammar const& g,
int symbol);
32 int find_goal_symbol(
Grammar const& g);
33 void add_end_terminal(
Grammar& g);
34 int get_end_terminal(
Grammar const& g);
35 void add_accept_production(
Grammar& g);
36 int get_accept_production(
Grammar const& g);
37 int get_accept_nonterminal(
Grammar const& g);
39 std::ostream& operator<<(std::ostream& os,
Grammar const& g);
Definition: amr_mpi_test.cpp:6
Definition: Omega_h_grammar.hpp:15
Definition: Omega_h_grammar.hpp:13