372    switch(n->get_type())
 
  375        f_impl->output_operator(
"+", g_flag_optional_spaces);
 
  380            size_t const max_children(n->size());
 
  381            for(
size_t idx(0); idx < max_children; ++idx)
 
  383                output(n->get_child(idx));
 
  393        f_impl->output_operator(
":", 0);
 
  398            color c(n->get_color());
 
  414        f_impl->output_operator(
"|=", g_flag_optional_spaces);
 
  425            f_impl->output_identation();
 
  426            f_out << n->get_string();
 
  427            f_impl->output_operator(
":", g_flag_optional_space_after);
 
  428            size_t const max_children(n->size());
 
  429            for(
size_t idx(0); idx < max_children; ++idx)
 
  434                && idx + 1 != max_children)
 
  436                    f_impl->output_operator(
",", g_flag_optional_space_after);
 
  440            if(n->get_flag(
"important"))
 
  442                f_impl->output_operator(
"!", g_flag_optional_space_before);
 
  443                f_out << 
"important";
 
  449        f_impl->output_operator(
"/", 0);
 
  453        f_impl->output_operator(
"=", g_flag_optional_spaces);
 
  459              << 
"/" << 
decimal_number_to_string(n->get_line_height() * (n->get_dim2() == 
"%" ? 100.0 : 1.0), 
true) << n->get_dim2();
 
  464            f_out << n->get_string();
 
  465            f_impl->output_operator(
"(", 0);
 
  471                    size_t const max_children(n->size());
 
  472                    for(
size_t idx(0); idx < max_children; ++idx)
 
  480                            f_impl->output_operator(
",", g_flag_optional_space_after);
 
  482                        output(n->get_child(idx));
 
  489                    size_t const max_children(n->size());
 
  490                    for(
size_t idx(0); idx < max_children; ++idx)
 
  492                        output(n->get_child(idx));
 
  496            f_impl->output_operator(
")", 0);
 
  501        f_impl->output_operator(
">", g_flag_optional_spaces);
 
  505        f_out << 
"#" << n->get_string();
 
  513        f_impl->output_operator(
"~=", g_flag_optional_spaces);
 
  519        f_out << n->get_integer() << n->get_string();
 
  524            size_t const max_children(n->size());
 
  525            for(
size_t idx(0); idx < max_children; ++idx)
 
  530                && idx + 1 != max_children)
 
  532                    f_impl->output_operator(
";", g_flag_optional_space_after_or_newline);
 
  539        f_impl->output_operator(
"*", 0);
 
  544            f_impl->output_operator(
"{", g_flag_optional_spaces_or_newlines);
 
  545            size_t const max_children(n->size());
 
  546            for(
size_t idx(0); idx < max_children; ++idx)
 
  549                output(n->get_child(idx));
 
  551                && idx + 1 < max_children)
 
  553                    f_impl->output_operator(
";", g_flag_optional_space_after_or_newline);
 
  556            f_impl->output_operator(
";", g_flag_optional_operator);
 
  557            f_impl->output_operator(
"}", g_flag_optional_space_before_or_newline);
 
  568            f_impl->output_operator(
"[", 0);
 
  569            size_t const max_children(n->size());
 
  570            for(
size_t idx(0); idx < max_children; ++idx)
 
  572                output(n->get_child(idx));
 
  574            f_impl->output_operator(
"]", 0);
 
  583        f_impl->output_operator(
".", 0);
 
  587        f_impl->output_operator(
"~", g_flag_optional_spaces);
 
  591        f_impl->output_operator(
"^=", g_flag_optional_spaces);
 
  595        f_impl->output_operator(
"|", 0);
 
  603        f_impl->output_operator(
"*=", g_flag_optional_spaces);
 
  607        f_impl->output_operator(
"-", 0);
 
  611        f_impl->output_operator(
"$=", g_flag_optional_spaces);
 
  665            f_impl->output_operator(
"{", g_flag_optional_spaces_or_newlines);
 
  666            size_t const max_children(n->size());
 
  667            for(
size_t idx(0); idx < max_children; ++idx)
 
  670                output(n->get_child(idx));
 
  672                && idx + 1 < max_children)
 
  674                    f_impl->output_operator(
";", g_flag_optional_space_after_or_newline);
 
  677            f_impl->output_operator(
";", g_flag_optional_operator);
 
  678            f_impl->output_operator(
"}", g_flag_optional_space_before_or_newline);
 
  716            std::stringstream ss;
 
  717            ss << 
"assembler.cpp: unexpected token " 
  719               << 
" in output() call.";
 
 
  812    f_out << 
"@" << n->get_string() << 
" ";
 
  814    size_t const max_children(n->size());
 
  817        if(n->get_string() == 
"-o-keyframes" 
  818        || n->get_string() == 
"-webkit-keyframes" 
  819        || n->get_string() == 
"keyframes")
 
  825            f_impl->output_operator(
"{", g_flag_optional_space_before);
 
  827            for(
size_t idx(1); idx < max_children; ++idx)
 
  829                output(n->get_child(idx));
 
  831            f_impl->output_operator(
"}", 0);
 
  836            for(
size_t idx(0); idx < max_children; ++idx)
 
  839                if(idx + 1 == max_children
 
  859                    f_impl->output_operator(
"{", 0);
 
  861                    size_t const max_sub_children(child->size());
 
  862                    for(
size_t j(0); j < max_sub_children; ++j)
 
  864                        output(child->get_child(j));
 
  866                    f_impl->output_operator(
"}", 0);
 
  872                    if(idx + 1 < max_children
 
  875                        f_impl->output_operator(
",", g_flag_optional_space_after);
 
 
  900    f_impl->newline_if_not_empty();
 
  901    std::string 
const comment(n->get_string());
 
  902    if(n->get_integer() == 0)
 
  908        std::string::size_type start(0);
 
  909        std::string::size_type end(comment.find(
'\n'));
 
  910        while(end != std::string::npos)
 
  921            f_out << comment.substr(start, end - start) << std::endl;
 
  923            end = comment.find(
'\n', start);
 
  925        if(start < comment.size())
 
  931                      << comment.substr(start)
 
  937                f_out << 
" * " << comment.substr(start) << std::endl
 
  938                      << 
" */" << std::endl;
 
  948        f_out << 
"/* " << comment << 
" */" << std::endl;