CBMC
|
Placeholders for actual enumerators, which represent nonterminals. More...
#include <expr_enumerator.h>
Public Member Functions | |
recursive_enumerator_placeholdert (enumerator_factoryt &factory, const std::string &id, const namespacet &ns) | |
expr_sett | enumerate (const std::size_t size) const override |
Public Member Functions inherited from enumerator_baset | |
enumerator_baset (const namespacet &ns) | |
enumerator_baset (const enumerator_baset &other)=delete | |
enumerator_baset & | operator= (const enumerator_baset &other)=delete |
virtual | ~enumerator_baset ()=default |
Public Attributes | |
const std::string | identifier |
Protected Attributes | |
const enumerator_factoryt & | factory |
Protected Attributes inherited from enumerator_baset | |
const namespacet & | ns |
Placeholders for actual enumerators, which represent nonterminals.
Example: consider the grammar S -> N + N, N -> N + 1 | 1. The symbol N represents an enumerator in the lhs of the second production, while it represents a placeholder in the rhs of both productions.
Definition at line 335 of file expr_enumerator.h.
|
inline |
factory | the enumerator factory—a grammar—this enumerator belongs to. |
id | the identifier of this placeholder. |
ns | namespace used for simplify_expr . |
Definition at line 342 of file expr_enumerator.h.
|
overridevirtual |
Implements enumerator_baset.
Definition at line 419 of file expr_enumerator.cpp.
|
protected |
Definition at line 356 of file expr_enumerator.h.
const std::string recursive_enumerator_placeholdert::identifier |
Definition at line 353 of file expr_enumerator.h.