1#ifndef TEUCHOS_GRAMMAR_HPP
2#define TEUCHOS_GRAMMAR_HPP
15 typedef std::vector<int> RHS;
20 typedef std::vector<Production> Productions;
23 Productions productions;
24 std::vector<std::string> symbol_names;
27typedef RCP<const Grammar> GrammarPtr;
29int get_nnonterminals(Grammar
const& g);
30bool is_terminal(Grammar
const& g,
int symbol);
31bool is_nonterminal(Grammar
const& g,
int symbol);
32int as_nonterminal(Grammar
const& g,
int symbol);
33int find_goal_symbol(Grammar
const& g);
34void add_end_terminal(Grammar& g);
35int get_end_terminal(Grammar
const& g);
36void add_accept_production(Grammar& g);
37int get_accept_production(Grammar
const& g);
38int get_accept_nonterminal(Grammar
const& g);
40std::ostream& operator<<(std::ostream& os, Grammar
const& g);
Reference-counted pointer class and non-member templated function implementations.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...