For my convenience and your enjoyment, some of the ways I configure software.
gdb: I’ve only written some project-specific things myself, but if you hack C++ and use gdb, I highly recommend getting some way to pretty-print stl containers. I use gdb-stl-views. Check out this wiki page. On the off chance anyone wants to debug hfst-optimized-lookup code, I’ve gotten some use out of printers like (these go in .gdbinit):
# # hfst_ol::Transition # define ptrans printf "(%u, %u, %u)\n", $arg0.input_symbol, $arg0.output_symbol, $arg0.target_index end # # hfst_ol::transitions[] # define ptransitions set $size = $arg0._M_impl._M_finish - $arg0._M_impl._M_start set $i = 0 while $i < $size set $trans = *($arg0._M_impl._M_start + $i) printf "elem[%u]: (%u, %u, %u)\n", $i, $trans.input_symbol, $trans.output_symbol, $trans.target_index set $i++ end end |