10#ifndef TEUCHOS_GRAMMAR_HPP 
   11#define TEUCHOS_GRAMMAR_HPP 
   24  typedef std::vector<int> RHS;
 
   29  typedef std::vector<Production> Productions;
 
   32  Productions productions;
 
   33  std::vector<std::string> symbol_names;
 
   36typedef RCP<const Grammar> GrammarPtr;
 
   38int get_nnonterminals(Grammar 
const& g);
 
   39bool is_terminal(Grammar 
const& g, 
int symbol);
 
   40bool is_nonterminal(Grammar 
const& g, 
int symbol);
 
   41int as_nonterminal(Grammar 
const& g, 
int symbol);
 
   42int find_goal_symbol(Grammar 
const& g);
 
   43void add_end_terminal(Grammar& g);
 
   44int get_end_terminal(Grammar 
const& g);
 
   45void add_accept_production(Grammar& g);
 
   46int get_accept_production(Grammar 
const& g);
 
   47int get_accept_nonterminal(Grammar 
const& g);
 
   49std::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,...