Class: Crokus::CFGOnlyPrinter
- Defined in:
- lib/crokus/cfg_printer_only.rb
Direct Known Subclasses
Constant Summary
Constants included from Indent
Instance Method Summary collapse
Methods inherited from Visitor
#initialize, #visit, #visitAddressOf, #visitArrayOf, #visitArrayOrStructInit, #visitArrow, #visitAssign, #visitBinary, #visitBody, #visitBreak, #visitCase, #visitCastedExpr, #visitCasting, #visitCharLit, #visitCommaStmt, #visitCondExpr, #visitContinue, #visitDecl, #visitDefine, #visitDeref, #visitDesignUnit, #visitDoWhile, #visitFloatLit, #visitFor, #visitFormalArg, #visitFunCall, #visitFunctionProto, #visitGoto, #visitIdent, #visitIf, #visitInclude, #visitIndexed, #visitIntLit, #visitLabelledStmt, #visitParenth, #visitPointed, #visitPointerTo, #visitPostFixAccu, #visitPreFixAccu, #visitReturn, #visitSizeof, #visitStrLit, #visitStruct, #visitSwitch, #visitToken, #visitType, #visitTypedef, #visitUnary, #visitWhile
Methods included from Indent
Constructor Details
This class inherits a constructor from Crokus::Visitor
Instance Method Details
#dump(cfg) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/crokus/cfg_printer_only.rb', line 14 def dump cfg @visited=[] @code=Code.new header visit_rec(cfg.starter) return @code end |
#visitFunction(func, format) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/crokus/cfg_printer_only.rb', line 5 def visitFunction func,format puts " "*1+"|--[+] print CFG for '#{func.name}'" ir_code=dump(func.cfg) format=ir_code.lines.first.start_with?("digraph") ? "dot" : "json" filename=func.name.to_s+".#{format}" ir_code.save_as filename puts " "*5+"|--[+] generated #{filename}" end |