(List (= scope= flags=0 words=[] bindings=[('CPUPATH', {[LIT_CHARS /sys/devices/system/cpu]})]) (= scope= flags=0 words=[] bindings=[('MAXID', {[ComSub (Pipeline (Com {[LIT_CHARS cat]} {[VarSub CPUPATH] [LIT_CHARS /present]}) (Com {[LIT_CHARS awk]} {[LIT_CHARS -F-]} {[SQ ]}) )]})]) (FunctionDef set_governor [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Setting CPU frequency governor to "][\ LIT_ESCAPED_CHAR "\\\""][VarSub 1][\ LIT_ESCAPED_CHAR "\\\""]]}) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}}} {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub MAXID]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[VarSub CPUPATH] [LIT_CHARS /cpu] [VarSub i] [LIT_CHARS /cpufreq/scaling_governor]} "> 1), > ) ) ) ) (FunctionDef dual_core [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Switching to dual-core mode"]]}) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}} {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub MAXID]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (Com {[LIT_CHARS echo]} {[LIT_CHARS 0]} < (FilenameRedirectNode filename={[VarSub CPUPATH] [LIT_CHARS /cpu] [VarSub i] [LIT_CHARS /online]} "> 1), > ) ) ) ) (FunctionDef single_core [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Switching to single-core mode"]]}) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub MAXID]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (Com {[LIT_CHARS echo]} {[LIT_CHARS 0]} < (FilenameRedirectNode filename={[VarSub CPUPATH] [LIT_CHARS /cpu] [VarSub i] [LIT_CHARS /online]} "> 1), > ) ) ) ) (FunctionDef all_cores [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Reactivating all CPU cores"]]}) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}} {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub MAXID]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (Com {[LIT_CHARS echo]} {[LIT_CHARS 1]} < (FilenameRedirectNode filename={[VarSub CPUPATH] [LIT_CHARS /cpu] [VarSub i] [LIT_CHARS /online]} "> 1), > ) ) ) ) (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS fast]}, {[LIT_CHARS performance]}], [{[LIT_CHARS slow]}, {[LIT_CHARS powersave]}], [{[LIT_CHARS default]}, {[LIT_CHARS ondemand]}], [{[LIT_CHARS dualcore]}, {[LIT_CHARS dual]}], [{[LIT_CHARS singlecore]}, {[LIT_CHARS single]}], [{[LIT_CHARS allcores]}, {[LIT_CHARS all]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS set_governor]} {[DQ [LIT_CHARS performance]]}) (Com {[LIT_CHARS set_governor]} {[DQ [LIT_CHARS powersave]]}) (Com {[LIT_CHARS set_governor]} {[DQ [LIT_CHARS ondemand]]}) (Com {[LIT_CHARS dual_core]}) (Com {[LIT_CHARS single_core]}) (Com {[LIT_CHARS all_cores]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub 0][LIT_CHARS " fast|slow|default|singlecore|dualcore|all"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) )