ist boost::spirit überhaupt lesbar formatierbar?
-
ich frag mich das schon ne ganze weile, und ich verschwende bisher auch viel zeit darauf,d ass so zu formatieren, dass man den code hinterher auch nur halbwegs nachvollziehen kann.
der code neigt fast sofort dazu einfach nur messy zu werden wenn man mehr als nur das nötigste reinbringt.
im moment formatier ich halbwegs so, wie es in der spirit dokumentation steht, aber sonderlich lesbar finde ich auch das nicht:
inner = bs::ch_p('<') >> bs::root_node_d[tagName][inner.ret=phoenix::construct_<std::string>(phoenix::arg1,phoenix::arg2)] >> bs::discard_node_d [ bs::ch_p('>') ] >> (* inner || bs::token_node_d [ value ] ) >>bs::discard_node_d [ bs::str_p("</")>>bs::f_str_p(inner.ret) ] >>bs::ch_p('>') ;
also spirit nutzer, wie formatiert ihr?
-
Ich formatiere auch ähnlich wie die spirit-Leute, aber ehrlich gesagt habe ich genau das selbe Problem wie du. Ich schaffe es nie meinen spirit-Code anständig zu formatieren, besonders wenn die Semantik ins Spiel kommt. Dem Thema sollte sich die spirit-Doku mal widmen
.
-
Also meins kennst du ja
. Nein mal ehrlich, so logische formatierung ist doch nicht schlecht. Ich formatier mal dein Bsp. so, wies mir zusagt:
inner= bs::ch_p('<') >>bs::root_node_d[tagName][inner.ret=phoenix::construct_<std::string>(phoenix::arg1,phoenix::arg2)] >>bs::discard_node_d[bs::ch_p('>')] >>(*inner||bs::token_node_d[value]) >>bs::discard_node_d[bs::str_p("</")>>bs::f_str_p(inner.ret)] >>bs::ch_p('>');
Ich nehme mal an, wenn ich das geschrieben hätte, gaäbe es viel mehr Klammern...