(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:UNICODEWIDTH_H) op: assign_op.Equal rhs: {(../unicode_width.h)} spids: [21] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children:[(C {(test)} {(-d)} {(unicode)})] negated:T) terminator: (Token id:Id.Op_Semi val:';' span_id:33) ) ] action: [(C {(mkdir)} {(unicode)})] spids: [24 35] ) ] ) (command.Subshell command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (C {(cd)} {(unicode)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(test)} {(-f)} {(UnicodeData.txt)})] negated: T ) terminator: (Token id:Id.Op_Semi val:';' span_id:64) ) ] action: [ (C {(wget)} {(http) (Id.Lit_Other ':') (//www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt) } ) ] spids: [55 66] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(test)} {(-f)} {(EastAsianWidth.txt)})] negated: T ) terminator: (Token id:Id.Op_Semi val:';' span_id:90) ) ] action: [ (C {(wget)} {(http) (Id.Lit_Other ':') (//www.unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt) } ) ] spids: [81 92] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(test)} {(-d)} {(uniset)})] negated: T ) terminator: (Token id:Id.Op_Semi val:';' span_id:116) ) ] action: [ (C {(git)} {(clone)} {(https) (Id.Lit_Other ':') (//github.com/depp/uniset.git)} ) ] spids: [107 118] ) ] ) (command.Subshell command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {(cd)} {(uniset)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(test)} {(-x)} {(uniset)})] negated: T ) terminator: (Token id:Id.Op_Semi val:';' span_id:154) ) ] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(autoreconf)} {(-i)}) (C {(./configure)} {(--enable-warnings) (Id.Lit_Equals '=') (-Werror)} {(Id.Lit_VarLike 'CFLAGS=') (SQ (Token id:Id.Lit_Chars val:'-O0 -ggdb' span_id:174))} ) ] ) ] spids: [145 156] ) ] ) (C {(make)}) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:UNICODE_DIR) op: assign_op.Equal rhs: {(.)} spids: [191] ) ] ) (C {(export)} {(UNICODE_DIR)}) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:205) fd: -1 arg_word: {($ Id.VSub_DollarName '$UNICODEWIDTH_H')} ) (redir.HereDoc op: (Token id:Id.Redir_DLessDash val:'<<-' span_id:208) fd: -1 here_begin: {(EOF)} here_end_span_id: 265 stdin_parts: [ ('static const struct interval zero_width[] = {\n') (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:212) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(uniset/uniset)} {(--32)} {(cat) (Id.Lit_Other ':') (Me) (Id.Lit_Comma ',') (Mn) (Id.Lit_Comma ',') (Cf) } {(Id.Lit_Other '+')} {(U) (Id.Lit_Other '+') (1160..U) (Id.Lit_Other '+') (11FF)} {(-)} {(U) (Id.Lit_Other '+') (00AD)} ) (C {(grep)} {(-v)} {(plane)}) ] negated: F ) ] ) ) ('\n') ('};\n') ('static const struct interval double_width[] = {\n') (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:251) command_list: (command.CommandList children: [ (C {(uniset/uniset)} {(--32)} {(eaw) (Id.Lit_Other ':') (F) (Id.Lit_Comma ',') (W)} ) ] ) ) ('\n') ('};\n') ] ) ] ) ] ) ] ) ) ] ) ] )