5 #ifndef HOBBES_PARSE_PARSER_HPP_INCLUDED 6 #define HOBBES_PARSE_PARSER_HPP_INCLUDED 26 typedef std::pair<std::string, terminal*>
Binding;
37 typedef std::vector<ParseRule>
Parser;
46 void show(std::ostream&,
const Parser&);
Bindings bindings
Definition: parser.H:32
ExprPtr makeParser(cc *, const Grammar &, const LexicalAnnotation &)
Definition: grammar.C:49
std::pair< std::string, terminal * > Binding
Definition: parser.H:26
terminal * symbol
Definition: parser.H:31
Definition: terminal.H:19
std::vector< Binding > Bindings
Definition: parser.H:27
Definition: terminal.H:74
std::string show(const Expr &e)
Definition: expr.C:19
std::shared_ptr< Expr > ExprPtr
Definition: expr.H:58
std::vector< ParseRule > Parser
Definition: parser.H:37
ParseRule(terminal *s, const Bindings &bs, const ExprPtr &r)
Definition: parser.H:29
size_t r(const reader::MetaData &md, size_t o, T *t)
Definition: storage.H:1730
Definition: lannotation.H:22
ExprPtr reducer
Definition: parser.H:33
std::map< terminal *, prec > precedence
Definition: terminal.H:82
Definition: terminal.H:46