#!/bin/bash # For testing next, next+ next-, default next and set force. proc p { echo $(BASH_SOURCE[1]##*/):$(BASH_LINENO[0]); echo '==='; } p p ; global x := '6' p ; global x := '7' p ; global x := '8' p ; global x := '9' p ; global x := '10' p ; global x := '11' p ; global x := '12' p ; global x := '13' global x := '14' (CommandList children: [ (FuncDef name: p body: (BraceGroup children: [ (Sentence child: (C {(echo)} { (BracedVarSub token: bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [14 22] ) (Lit_Other ":") (BracedVarSub token: bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [24 29] ) } ) terminator: ) (Sentence child:(C {(echo)} {(SQ <"===">)}) terminator:) ] spids: [10] ) spids: [6 9] ) (C {(p)}) (Sentence child:(C {(p)}) terminator:) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(6)} spids:[49])] spids: [49] ) (Sentence child:(C {(p)}) terminator:) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(7)} spids:[56])] spids: [56] ) (Sentence child:(C {(p)}) terminator:) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(8)} spids:[63])] spids: [63] ) (Sentence child:(C {(p)}) terminator:) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(9)} spids:[70])] spids: [70] ) (Sentence child:(C {(p)}) terminator:) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(10)} spids:[77])] spids: [77] ) (Sentence child:(C {(p)}) terminator:) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(11)} spids:[84])] spids: [84] ) (Sentence child:(C {(p)}) terminator:) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(12)} spids:[91])] spids: [91] ) (Sentence child:(C {(p)}) terminator:) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(13)} spids:[98])] spids: [98] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(14)} spids:[101])] spids: [101] ) ] )