|
basix_doc 0.1
|
Definition at line 29 of file mmx_printer.cpp.
| mmx_printer | ( | ) | [inline] |
Definition at line 74 of file mmx_printer.cpp.
{}
| ~mmx_printer | ( | ) | [inline] |
Definition at line 75 of file mmx_printer.cpp.
{}
Definition at line 539 of file mmx_printer.cpp.
References mmx::bracket(), mmx::GEN_ASSIGN, mmx::GEN_ASSIGN_MACRO, mmx::GEN_ASSUME, mmx::GEN_DEFINE, mmx::GEN_DEFINE_MACRO, mmx::GEN_EXISTS, mmx::GEN_FORALL, mmx::GEN_GTRGTREQ, mmx::GEN_LESSLESSEQ, mmx::GEN_MINUS_ASSIGN, mmx::GEN_OVER_ASSIGN, mmx::GEN_PENALTY, mmx::GEN_PLUS_ASSIGN, mmx::GEN_TIMES_ASSIGN, mmx::infix(), mmx::is_func(), mmx::keyword(), and mmx::operate().
Referenced by mmx::print_mmx().
{
if (is_func (g, GEN_FORALL, 2) ||
is_func (g, GEN_EXISTS, 2) ||
is_func (g, GEN_ASSUME, 2) ||
is_func (g, GEN_PENALTY, 2))
return operate (keyword (g[0], bracket ("(", pp_E0 (g[1]), ")")),
pp_E0 (g[2]));
else if (is_func (g, GEN_DEFINE, 2) ||
is_func (g, GEN_ASSIGN, 2) ||
is_func (g, GEN_DEFINE_MACRO, 2) ||
is_func (g, GEN_ASSIGN_MACRO, 2) ||
is_func (g, GEN_PLUS_ASSIGN, 2) ||
is_func (g, GEN_MINUS_ASSIGN, 2) ||
is_func (g, GEN_TIMES_ASSIGN, 2) ||
is_func (g, GEN_OVER_ASSIGN, 2) ||
is_func (g, GEN_LESSLESSEQ, 2) ||
is_func (g, GEN_GTRGTREQ, 2))
return infix (pp_F0 (g[1]), g[0], pp_E0 (g[2]));
else return pp_E1 (g);
}
Definition at line 893 of file mmx_printer.cpp.
{
vector<generic> v;
mmx_printer pp;
if (is_func (g, GEN_BEGIN))
for (nat i=1; i<N(g); i++)
v << pp.pp_C0 (g[i], i<N(g)-1);
else if (is_C0 (g)) v << pp.pp_C0 (g);
else v << pp.pp_E0 (g);
return concat (v);
}