10#ifndef TEUCHOS_PARSER_HPP 
   11#define TEUCHOS_PARSER_HPP 
   17#include <Teuchos_TableDecl.hpp> 
   18#include <Teuchos_Grammar.hpp> 
   36#ifdef HAVE_TEUCHOSCORE_CXX11 
   37extern template struct Table<Action>;
 
   43  Table<Action> terminal_table;
 
   45  Table<int> nonterminal_table;
 
   47  Parser(GrammarPtr g, 
int nstates_reserve);
 
   50int add_state(Parser& p);
 
   51int get_nstates(Parser 
const& p);
 
   52void add_terminal_action(Parser& p, 
int state, 
int terminal, Action action);
 
   53void add_nonterminal_action(Parser& p, 
int state, 
int nonterminal, 
int next_state);
 
   54Action 
const& get_action(Parser 
const& p, 
int state, 
int terminal);
 
   55int execute_action(Parser 
const& p, std::vector<int>& stack, Action 
const& action);
 
   56GrammarPtr 
const& get_grammar(Parser 
const& p);
 
Tries to create LALR(1) parser tables for a given grammar.
 
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...
 
Parser make_lalr1_parser(GrammarPtr grammar, bool verbose)
Tries to create LALR(1) parser tables for a given grammar.