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,...