(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PATH spids:[38]) op: Equal rhs: {(/sbin) (Lit_Other ':') (/bin) (Lit_Other ':') (/usr/sbin) (Lit_Other ':') (/usr/bin)} spids: [38] ) ] spids: [38] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DAEMON spids:[47]) op: Equal rhs: {(/usr/bin/speech-dispatcher)} spids: [47] ) ] spids: [47] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PIDFILE spids:[50]) op: Equal rhs: {(/var/run/speech-dispatcher/speech-dispatcher.pid)} spids: [50] ) ] spids: [50] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NAME spids:[53]) op: Equal rhs: {(speech-dispatcher)} spids: [53] ) ] spids: [53] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DESC spids:[56]) op: Equal rhs: {(SQ <'Speech Dispatcher'>)} spids: [56] ) ] spids: [56] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USER spids:[61]) op: Equal rhs: {(speech-dispatcher)} spids: [61] ) ] spids: [61] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {($ VSub_DollarName '$DAEMON')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:RUN spids:[83]) op:Equal rhs:{(no)} spids:[83])] spids: [83] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(/etc/default/speech-dispatcher)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(.)} {(/etc/default/speech-dispatcher)})] spids: [16777215 102] ) ] spids: [16777215 109] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ (x) ($ VSub_DollarName '$RUN'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (xyes))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_action_msg)} {(DQ ($ VSub_DollarName '$NAME') (' disabled; edit /etc/default/speech-dispatcher'))} ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 132] ) ] spids: [16777215 147] ) (C {(set)} {(-e)}) (command.FuncDef name: do_start body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PIDDIR spids:[163]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(dirname)} {($ VSub_DollarName '$PIDFILE')})] ) left_token: <Left_Backtick '`'> spids: [164 168] ) } spids: [163] ) ] spids: [163] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {($ VSub_DollarName '$PIDDIR')} {(Lit_Other ']')}) (C {(install)} {(-d)} {(-ospeech-dispatcher)} {(-gaudio)} {(-m750)} {($ VSub_DollarName '$PIDDIR')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SDDIR spids:[194]) op: Equal rhs: {($ VSub_DollarName '$PIDDIR') (/.speech-dispatcher)} spids: [194] ) ] spids: [194] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {($ VSub_DollarName '$SDDIR')} {(Lit_Other ']')}) (C {(ln)} {(-s)} {($ VSub_DollarName '$PIDDIR')} {($ VSub_DollarName '$SDDIR')}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LOGDIR spids:[218]) op: Equal rhs: {($ VSub_DollarName '$SDDIR') (/log)} spids: [218] ) ] spids: [218] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {($ VSub_DollarName '$LOGDIR')} {(Lit_Other ']')}) (C {(ln)} {(-s)} {(/var/log/speech-dispatcher)} {($ VSub_DollarName '$LOGDIR')}) ] ) (C {(start-stop-daemon)} {(--oknodo)} {(--start)} {(--quiet)} {(--chuid)} {($ VSub_DollarName '$USER')} {(--pidfile)} {($ VSub_DollarName '$PIDFILE')} {(--exec)} {($ VSub_DollarName '$DAEMON')} {(--)} {(--pid-file)} {($ VSub_DollarName '$PIDFILE')} ) ] spids: [160] ) spids: [155 159] ) (command.FuncDef name: do_stop body: (command.BraceGroup children: [ (C {(start-stop-daemon)} {(--oknodo)} {(--stop)} {(--quiet)} {(--user)} {($ VSub_DollarName '$USER')} {(--pidfile)} {($ VSub_DollarName '$PIDFILE')} {(--exec)} {($ VSub_DollarName '$DAEMON')} ) ] spids: [278] ) spids: [273 277] ) (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (C {(log_daemon_msg)} {(DQ ('Starting ') ($ VSub_DollarName '$DESC'))} {(DQ (speech-dispatcher))} ) (C {(do_start)}) (C {(log_end_msg)} {($ VSub_QMark '$?')}) ] spids: [315 316 339 16777215] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_daemon_msg)} {(DQ ('Stopping ') ($ VSub_DollarName '$DESC'))} {(DQ (speech-dispatcher))} ) (C {(do_stop)}) (C {(log_end_msg)} {($ VSub_QMark '$?')}) ] spids: [342 343 366 16777215] ) (case_arm pat_list: [{(reload)} {(force-reload)}] action: [ (C {(log_daemon_msg)} {(DQ ('Reloading ') ($ VSub_DollarName '$DESC') (' configuration files'))} {(DQ (speech-dispatcher))} ) (C {(start-stop-daemon)} {(--oknodo)} {(--stop)} {(--signal)} {(1)} {(--quiet)} {(--user)} {($ VSub_DollarName '$USER')} {(--pidfile)} {($ VSub_DollarName '$PIDFILE')} {(--exec)} {($ VSub_DollarName '$DAEMON')} ) (C {(log_end_msg)} {($ VSub_QMark '$?')}) ] spids: [369 372 420 16777215] ) (case_arm pat_list: [{(restart)}] action: [ (C {(log_daemon_msg)} {(DQ ('Restarting ') ($ VSub_DollarName '$DESC'))} {(DQ (speech-dispatcher))} ) (C {(do_stop)}) (C {(sleep)} {(3)}) (C {(do_start)}) (C {(log_end_msg)} {($ VSub_QMark '$?')}) ] spids: [423 424 455 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:N spids:[462]) op: Equal rhs: {(/etc/init.d/) ($ VSub_DollarName '$NAME')} spids: [462] ) ] spids: [462] ) (command.SimpleCommand words: [ {(echo)} { (DQ ('Usage: ') ($ VSub_DollarName '$N') (' {start|stop|restart|reload|force-reload}') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [458 459 484 16777215] ) ] spids: [306 312 486] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )