(CommandList children: [ (C {(Lit_Other ":")} {(generate)} {(the)} {(ksh)} {(math)} {(builtin)} {(table)}) (C {(Lit_Other ":")} {(include)} {(math.tab)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:command) op:Equal rhs:{($ VSub_Number "$0")} spids:[82])] spids: [82] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:iffeflags) op:Equal rhs:{(DQ ("-n -v"))} spids:[85])] spids: [85] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:iffehdrs) op:Equal rhs:{(DQ (math.h))} spids:[90])] spids: [90] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:iffelibs) op:Equal rhs:{(DQ (-lm))} spids:[95])] spids: [95] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:table) op:Equal rhs:{(/dev/null)} spids:[100])] spids: [100] ) (C {(eval)} {($ VSub_Number "$1")}) (C {(shift)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:table) op:Equal rhs:{($ VSub_Number "$1")} spids:[110])] spids: [110] ) (C {(Lit_Other ":")} {(check)} {(long)} {(double)}) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(iffe)} {($ VSub_Name "$iffeflags")} {(-c)} {(DQ ($ VSub_Name "$cc"))} {(-)} {(typ)} {(long.double)} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {($ VSub_Name "$stderr")} spids: [142] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [125 144] ) } ) (C {(Lit_Other ":")} {(check)} {(ast_standards.h)}) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(iffe)} {($ VSub_Name "$iffeflags")} {(-F)} {(ast_standards.h)} {(-c)} {(DQ ($ VSub_Name "$cc"))} {(-)} {(tst)} {(use_ast_standards)} {(-lm)} {(SQ <"note{">)} {(SQ <"math.h needs ast_standards.h">)} {(SQ <"}end">)} {(SQ <"link{">)} {(SQ <"#include <math.h>">)} {(SQ <"#ifndef isgreater">)} {(SQ <"#define isgreater(a,b) 0">)} {(SQ <"#endif">)} {(SQ <"int main() { return isgreater(0.0,1.0); }">)} {(SQ <"}end">)} ) ] ) left_token: <Left_Backtick "`"> spids: [156 218] ) } ) (Case to_match: {($ VSub_Name "$_use_ast_standards")} arms: [ (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:iffeflags) op: Equal rhs: {(DQ ($ VSub_Name "$iffeflags") (" -F ast_standards.h"))} spids: [229] ) ] spids: [229] ) ] spids: [226 227 235 -1] ) ] spids: [220 224 237] ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(iffe)} {($ VSub_Name "$iffeflags")} {(-c)} {(DQ ($ VSub_Name "$cc"))} {(-)} {(tst)} {(use_ieeefp)} {(-lm)} {(SQ <"note{">)} {(SQ <"ieeefp.h plays nice">)} {(SQ <"}end">)} {(SQ <"link{">)} {(SQ <"#include <math.h>">)} {(SQ <"#include <ieeefp.h>">)} {(SQ <"int main() { return 0; }">)} {(SQ <"}end">)} ) ] ) left_token: <Left_Backtick "`"> spids: [241 291] ) } ) (Case to_match: {($ VSub_Name "$_use_ieeefp")} arms: [ (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:iffehdrs) op: Equal rhs: {(DQ ($ VSub_Name "$iffehdrs") (" ieeefp.h"))} spids: [302] ) ] spids: [302] ) ] spids: [299 300 308 -1] ) ] spids: [293 297 310] ) (C {(Lit_Other ":")} {(read)} {(the)} {(table)}) (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{($ VSub_Name "$table")} spids:[324])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ifs) op:Equal rhs:{($ VSub_Name "$IFS")} spids:[328])] spids: [328] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[331])] spids: [331] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:names) op:Equal rhs:{(SQ )} spids:[333])] spids: [333] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:nums) op:Equal rhs:{(SQ )} spids:[335])] spids: [335] ) (While cond: [(C {(read)} {(type)} {(args)} {(name)} {(aka)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$type")} arms: [ (case_arm pat_list: [{(Lit_Other "[") (fix) (Lit_Other "]")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:names) op: Equal rhs: {(DQ ($ VSub_Name "$names") (" ") ($ VSub_Name "$name"))} spids: [363] ) ] spids: [363] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:libs) op: Equal rhs: {(DQ ($ VSub_Name "$libs") (",") ($ VSub_Name "$name"))} spids: [371] ) ] spids: [371] ) (Case to_match: {($ VSub_Name "$_typ_long_double")} arms: [ (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:libs) op: Equal rhs: {(DQ ($ VSub_Name "$libs") (",") (${ VSub_Name name) (l))} spids: [389] ) ] spids: [389] ) ] spids: [386 387 399 -1] ) ] spids: [379 383 402] ) (ForEach iter_name: a iter_words: [{($ VSub_Name "$aka")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$a")} arms: [ (case_arm pat_list: [{(SQ <"{">) (Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [424 427 432 -1] ) (case_arm pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ <"=|">)} spids: [440] ) ] spids: [440] ) (C {(set)} {($ VSub_Name "$a")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name "$ifs")} spids: [451] ) ] spids: [451] ) (Case to_match: {(DQ (",") ($ VSub_Name "$libs"))} arms: [ (case_arm pat_list: [ {(Lit_Other "*") (Lit_Comma ",") ($ VSub_Number "$1") (Lit_Comma ",") (Lit_Other "*") } ] spids: [465 470 472 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:names) op: Equal rhs: { (DQ ($ VSub_Name "$names") (" ") ($ VSub_Number "$1") ) } spids: [478] ) ] spids: [478] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:libs) op: Equal rhs: { (DQ ($ VSub_Name "$libs") (",") ($ VSub_Number "$1") ) } spids: [486] ) ] spids: [486] ) (Case to_match: {($ VSub_Name "$_typ_long_double")} arms: [ (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:libs) op: Equal rhs: { (DQ ($ VSub_Name "$libs") (",") (${ VSub_Number 1) (l) ) } spids: [504] ) ] spids: [504] ) ] spids: [501 502 514 -1] ) ] spids: [494 498 517] ) ] spids: [475 476 520 -1] ) ] spids: [455 462 523] ) (C {(shift)}) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)}] action: [ (ControlFlow token: <ControlFlow_Break break> ) ] spids: [543 544 548 -1] ) ] spids: [536 540 551] ) (Case to_match: {(DQ (",") ($ VSub_Name "$nums"))} arms: [ (case_arm pat_list: [ {(Lit_Other "*") (Lit_Comma ",") ($ VSub_Number "$1") (Lit_Comma ",") (Lit_Other "*") } ] spids: [564 569 571 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:nums) op: Equal rhs: { (DQ ($ VSub_Name "$nums") (",") ($ VSub_Number "$1") ) } spids: [577] ) ] spids: [577] ) ] spids: [574 575 584 -1] ) ] spids: [554 561 587] ) (C {(shift)}) ] spids: [534 593] ) ) ] spids: [435 438 596 -1] ) ] spids: [416 420 599] ) ] spids: [414 602] ) spids: [410 -1] ) (C {(eval)} {(TYPE_) ($ VSub_Name "$name") (Lit_Other "=") (SQ <"$type">)} {(ARGS_) ($ VSub_Name "$name") (Lit_Other "=") (SQ <"$args">)} {(AKA_) ($ VSub_Name "$name") (Lit_Other "=") (SQ <"$aka">)} ) ] spids: [358 361 629 -1] ) ] spids: [351 355 632] ) ] spids: [349 634] ) ) (C {(Lit_Other ":")} {(check)} {(the)} {(math)} {(library)}) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(iffe)} {($ VSub_Name "$iffeflags")} {(-c)} {(DQ ($ VSub_Name "$cc"))} {(-)} {(lib)} {($ VSub_Name "$libs")} {($ VSub_Name "$iffehdrs")} {($ VSub_Name "$iffelibs")} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {($ VSub_Name "$stderr")} spids: [671] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [650 673] ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:lib) op:Equal rhs:{(SQ )} spids:[675])] spids: [675] ) (ForEach iter_name: name iter_words: [{($ VSub_Name "$names")}] do_arg_iter: False body: (DoGroup children: [ (C {(eval)} {(Lit_VarLike "x=") (SQ <"$">) (_lib_) (${ VSub_Name name) (l)} {(Lit_VarLike "y=") (SQ <"$">) (_lib_) (${ VSub_Name name)} ) (Case to_match: {($ VSub_Name "$x")} arms: [ (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lib) op: Equal rhs: {(DQ ($ VSub_Name "$lib") (",") (${ VSub_Name name) (l))} spids: [719] ) ] spids: [719] ) ] spids: [716 717 729 -1] ) ] spids: [709 713 732] ) (Case to_match: {($ VSub_Name "$y")} arms: [ (case_arm pat_list: [{(1)}] action: [ (Case to_match: {($ VSub_Name "$x")} arms: [ (case_arm pat_list: [{(SQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lib) op: Equal rhs: {(DQ ($ VSub_Name "$lib") (",") (${ VSub_Name name))} spids: [756] ) ] spids: [756] ) ] spids: [-1 754 765 -1] ) ] spids: [745 749 768] ) ] spids: [742 743 771 -1] ) ] spids: [735 739 774] ) ] spids: [685 776] ) spids: [682 -1] ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(iffe)} {($ VSub_Name "$iffeflags")} {(-c)} {(DQ ($ VSub_Name "$cc"))} {(-)} {(dat) (Lit_Comma ",") (npt) (Lit_Comma ",") (mac)} {($ VSub_Name "$lib")} {($ VSub_Name "$iffehdrs")} {($ VSub_Name "$iffelibs")} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {($ VSub_Name "$stderr")} spids: [805] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [780 807] ) } ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(iffe)} {($ VSub_Name "$iffeflags")} {(-c)} {(DQ ($ VSub_Name "$cc"))} {(-)} {(num)} {($ VSub_Name "$nums")} {($ VSub_Name "$iffehdrs")} {($ VSub_Name "$iffelibs")} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {($ VSub_Name "$stderr")} spids: [832] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [811 834] ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ("#pragma prototyped\n") ("\n") ("/* : : generated by ") ($ VSub_Name "$command") (" from ") ($ VSub_Name "$table") (" : : */\n") ("\n") ("typedef Sfdouble_t (*Math_f)(Sfdouble_t,...);\n") ("\n") ) } do_expansion: True here_end: "!" was_filled: True spids: [839] ) ] ) (Case to_match: {($ VSub_Name "$_use_ast_standards")} arms: [ (case_arm pat_list: [{(1)}] action: [(C {(echo)} {(DQ ("#include <ast_standards.h>"))})] spids: [858 859 867 -1] ) ] spids: [852 856 869] ) (C {(echo)} {(DQ ("#include <math.h>"))}) (Case to_match: {($ VSub_Name "$_hdr_ieeefp")} arms: [ (case_arm pat_list: [{(1)}] action: [(C {(echo)} {(DQ ("#include <ieeefp.h>"))})] spids: [883 884 892 -1] ) ] spids: [877 881 894] ) (C {(echo)}) (C {(Lit_Other ":")} {(generate)} {(the)} {(intercept)} {(functions)} {(and)} {(table)} {(entries)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:nl) op:Equal rhs:{(SQ <"\n">)} spids:[916])] spids: [916] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ht) op:Equal rhs:{(SQ <"\t">)} spids:[921])] spids: [921] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tab) op:Equal rhs:{(SQ )} spids:[926])] spids: [926] ) (ForEach iter_name: name iter_words: [{($ VSub_Name "$names")}] do_arg_iter: False body: (DoGroup children: [ (C {(eval)} {(Lit_VarLike "x=") (SQ <"$">) (_lib_) (${ VSub_Name name) (l)} {(Lit_VarLike "y=") (SQ <"$">) (_lib_) (${ VSub_Name name)} {(Lit_VarLike "r=") (SQ <"$">) (TYPE_) (${ VSub_Name name)} {(Lit_VarLike "a=") (SQ <"$">) (ARGS_) (${ VSub_Name name)} {(Lit_VarLike "aka=") (SQ <"$">) (AKA_) (${ VSub_Name name)} ) (Case to_match: {($ VSub_Name "$r")} arms: [ (case_arm pat_list: [{(i)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:L) op: Equal rhs: {(int)} spids: [997] ) (assign_pair lhs: (LhsName name:R) op: Equal rhs: {(1)} spids: [1000] ) ] spids: [997] ) ] spids: [994 995 1003 -1] ) (case_arm pat_list: [{(x)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:L) op: Equal rhs: {(Sfdouble_t)} spids: [1009] ) (assign_pair lhs: (LhsName name:R) op: Equal rhs: {(4)} spids: [1012] ) ] spids: [1009] ) ] spids: [1006 1007 1015 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:L) op: Equal rhs: {(Sfdouble_t)} spids: [1021] ) (assign_pair lhs: (LhsName name:R) op: Equal rhs: {(0)} spids: [1024] ) ] spids: [1021] ) ] spids: [1018 1019 1027 -1] ) ] spids: [987 991 1030] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:F) op: Equal rhs: {(local_) ($ VSub_Name "$name")} spids: [1033] ) ] spids: [1033] ) (Case to_match: {($ VSub_Name "$x") (Lit_Other ":") ($ VSub_Name "$y")} arms: [ (case_arm pat_list: [{(1) (Lit_Other ":") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(${ VSub_Name name) (l)} spids: [1052] ) ] spids: [1052] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:t) op: Equal rhs: {(Sfdouble_t)} spids: [1059] ) ] spids: [1059] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:local) op: Equal rhs: {(SQ )} spids: [1063] ) ] spids: [1063] ) ] spids: [1047 1050 1066 -1] ) (case_arm pat_list: [{(Lit_Other "*") (Lit_Other ":") (1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(${ VSub_Name name)} spids: [1074] ) ] spids: [1074] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:t) op:Equal rhs:{(double)} spids:[1080])] spids: [1080] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:local) op: Equal rhs: {($ VSub_Name "$_typ_long_double")} spids: [1084] ) ] spids: [1084] ) ] spids: [1069 1072 1088 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:body) op:Equal rhs:{(SQ )} spids:[1094])] spids: [1094] ) (ForEach iter_name: k iter_words: [{($ VSub_Name "$aka")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$body")} arms: [ (case_arm pat_list: [{(Lit_Other "?") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:body) op: Equal rhs: {(DQ ($ VSub_Name "$body") (" ") ($ VSub_Name "$k"))} spids: [1119] ) ] spids: [1119] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [1115 1117 1130 -1] ) ] spids: [1108 1112 1133] ) (Case to_match: {($ VSub_Name "$k")} arms: [ (case_arm pat_list: [{(SQ <"{">) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:body) op: Equal rhs: {($ VSub_Name "$k")} spids: [1149] ) ] spids: [1149] ) ] spids: [1144 1147 1153 -1] ) (case_arm pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ <"=|">)} spids: [1161] ) ] spids: [1161] ) (C {(set)} {($ VSub_Name "$k")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name "$ifs")} spids: [1172] ) ] spids: [1172] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {($ VSub_Number "$1")} spids: [1176] ) ] spids: [1176] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:v) op: Equal rhs: {($ VSub_Star "$*")} spids: [1183] ) ] spids: [1183] ) (C {(eval)} {(Lit_VarLike "x=") (SQ <"$">) (_lib_) (${ VSub_Name f) (l)} {(Lit_VarLike "y=") (SQ <"$">) (_lib_) (${ VSub_Name f)} ) (Case to_match: {($ VSub_Name "$x") (Lit_Other ":") ($ VSub_Name "$y")} arms: [ (case_arm pat_list: [{(1) (Lit_Other ":") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(${ VSub_Name f) (l)} spids: [1223] ) ] spids: [1223] ) ] spids: [1218 1221 1230 -1] ) (case_arm pat_list: [{(Lit_Other "*") (Lit_Other ":") (1)}] spids: [1233 1236 1238 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1241 1242 1247 -1] ) ] spids: [1209 1215 1250] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:y) op: Equal rhs: {(SQ )} spids: [1253] ) ] spids: [1253] ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)}] action: [ (ControlFlow token: <ControlFlow_Break break> ) ] spids: [1270 1271 1275 -1] ) ] spids: [1263 1267 1278] ) (C {(eval)} {(Lit_VarLike "x=") (SQ <"$">) (_num_) ($ VSub_Number "$1") } ) (Case to_match: {($ VSub_Name "$x")} arms: [ (case_arm pat_list: [{(1)}] action: [ (Case to_match: {($ VSub_Name "$y")} arms: [ (case_arm pat_list: [{(Lit_Other "?") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:y) op: Equal rhs: { (DQ ($ VSub_Name "$y") (" || ")) } spids: [1312] ) ] spids: [1312] ) ] spids: [1308 1310 1318 -1] ) ] spids: [1301 1305 1321] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:y) op: Equal rhs: { (DQ (${ VSub_Name y) ("q == ") ($ VSub_Number "$1") ) } spids: [1324] ) ] spids: [1324] ) ] spids: [1298 1299 1334 -1] ) ] spids: [1291 1295 1337] ) (C {(shift)}) ] spids: [1261 1343] ) ) (Case to_match: {($ VSub_Name "$y")} arms: [ (case_arm pat_list: [{(SQ )}] spids: [-1 1355 1357 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:r) op: Equal rhs: {(int)} spids: [1363] ) (assign_pair lhs: (LhsName name:R) op: Equal rhs: {(1)} spids: [1366] ) ] spids: [1363] ) (C {(echo)} { (DQ ("static ") ($ VSub_Name "$r") (" ") ($ VSub_Name "$F") ("(Sfdouble_t a1) { ") ($ VSub_Name "$r") (" q = ") ($ VSub_Name "$f") ("(a1); return ") ($ VSub_Name "$y") ("; }") ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab) op: Equal rhs: { (DQ ($ VSub_Name "$tab") ($ VSub_Name "$nl") ($ VSub_Name "$ht") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (0) (${ VSub_Name R) (${ VSub_Name a) (${ VSub_Name name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") ($ VSub_Name "$ht") ("(Math_f)") (${ VSub_Name F) (",") ) } spids: [1387] ) ] spids: [1387] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [1360 1361 1418 -1] ) ] spids: [1346 1350 1421] ) ] spids: [1156 1159 1424 -1] ) ] spids: [1136 1140 1427] ) ] spids: [1106 1430] ) spids: [1102 -1] ) (Case to_match: {($ VSub_Name "$body")} arms: [ (case_arm pat_list: [{(Lit_Other "?") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: { (DQ ("static ") ($ VSub_Name "$L") (" ") ($ VSub_Name "$F") ("(")) } spids: [1444] ) ] spids: [1444] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sep) op: Equal rhs: {(SQ )} spids: [1454] ) ] spids: [1454] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ta) op: Equal rhs: {(SQ )} spids: [1457] ) ] spids: [1457] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tc) op: Equal rhs: {(SQ )} spids: [1460] ) ] spids: [1460] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:td) op: Equal rhs: {(SQ )} spids: [1463] ) ] spids: [1463] ) (ForEach iter_name: p iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)} {(8)} {(9)}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$R") (Lit_Other ":") ($ VSub_Name "$p")} arms: [ (case_arm pat_list: [{(4) (Lit_Other ":") (2)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:T) op: Equal rhs: {(int)} spids: [1507] ) ] spids: [1507] ) ] spids: [1502 1505 1510 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:T) op: Equal rhs: {(Sfdouble_t)} spids: [1516] ) ] spids: [1516] ) ] spids: [1513 1514 1519 -1] ) ] spids: [1493 1499 1522] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: { (DQ ($ VSub_Name "$code") (${ VSub_Name sep) ($ VSub_Name "$T") (" a") ($ VSub_Name "$p") ) } spids: [1525] ) ] spids: [1525] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ta) op: Equal rhs: { (DQ ($ VSub_Name "$ta") (${ VSub_Name sep) (a) ($ VSub_Name "$p") ) } spids: [1537] ) ] spids: [1537] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tc) op: Equal rhs: {(DQ ($ VSub_Name "$tc") (${ VSub_Name sep) (0))} spids: [1548] ) ] spids: [1548] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:td) op: Equal rhs: { (DQ (${ VSub_Name td) ($ VSub_Name "$T") (" a") ($ VSub_Name "$p") (";") ) } spids: [1558] ) ] spids: [1558] ) (Case to_match: {($ VSub_Name "$a")} arms: [ (case_arm pat_list: [{($ VSub_Name "$p")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [1577 1578 1582 -1] ) ] spids: [1570 1574 1585] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sep) op: Equal rhs: {(DQ (","))} spids: [1588] ) ] spids: [1588] ) ] spids: [1491 1594] ) spids: [1471 -1] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_it_links_) op: Equal rhs: {(0)} spids: [1597] ) ] spids: [1597] ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(iffe)} {($ VSub_Name "$iffeflags")} {(-c)} {(DQ ($ VSub_Name "$cc"))} {(-)} {(tst)} {(it_links_)} {(note) (Lit_LBrace "{")} {($ VSub_Name "$F")} {(KW_Function function)} {(links)} {(Lit_RBrace "}") (end)} {(link) (Lit_LBrace "{")} { (DQ ("static ") ($ VSub_Name "$L") (" ") ($ VSub_Name "$F") ("(") ($ VSub_Name "$ta") (")") ($ VSub_Name "$td") (${ VSub_Name body) ("int main(){return ") ($ VSub_Name "$F") ("(") ($ VSub_Name "$tc") (")!=0;}") ) } {(Lit_RBrace "}") (end)} {(sfio.h)} {($ VSub_Name "$iffehdrs")} {($ VSub_Name "$iffelibs")} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {($ VSub_Name "$stderr")} spids: [1663] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [1603 1665] ) } ) (Case to_match: {($ VSub_Name "$_it_links_")} arms: [ (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: {(DQ ($ VSub_Name "$code") (")") ($ VSub_Name "$body"))} spids: [1678] ) ] spids: [1678] ) (C {(echo)} {(DQ ($ VSub_Name "$code"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab) op: Equal rhs: { (DQ ($ VSub_Name "$tab") ($ VSub_Name "$nl") ($ VSub_Name "$ht") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (0) (${ VSub_Name R) (${ VSub_Name a) (${ VSub_Name name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") ($ VSub_Name "$ht") ("(Math_f)") (${ VSub_Name F) (",") ) } spids: [1693] ) ] spids: [1693] ) ] spids: [1675 1676 1721 -1] ) ] spids: [1668 1672 1724] ) ] spids: [1440 1442 1727 -1] ) ] spids: [1433 1437 1730] ) (ControlFlow token:<ControlFlow_Continue continue>) ] spids: [1091 1092 1736 -1] ) ] spids: [1038 1044 1739] ) (Case to_match: {($ VSub_Name "$r")} arms: [ (case_arm pat_list: [{(i)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{(int)} spids:[1752])] spids: [1752] ) ] spids: [1749 1750 1755 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:r) op: Equal rhs: {($ VSub_Name "$t")} spids: [1761] ) ] spids: [1761] ) ] spids: [1758 1759 1764 -1] ) ] spids: [1742 1746 1767] ) (C {(eval)} {(Lit_VarLike "n=") (SQ <"$">) (_npt_) ($ VSub_Name "$f")} {(Lit_VarLike "m=") (SQ <"$">) (_mac_) ($ VSub_Name "$f")} {(Lit_VarLike "d=") (SQ <"$">) (_dat_) ($ VSub_Name "$f")} ) (Case to_match: {($ VSub_Name "$d") (Lit_Other ":") ($ VSub_Name "$m") (Lit_Other ":") ($ VSub_Name "$n") } arms: [ (case_arm pat_list: [ {(1) (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (Lit_Other "*")} {(Lit_Other "*") (Lit_Other ":") (1) (Lit_Other ":") (Lit_Other "*")} ] spids: [1805 1816 1819 -1] ) (case_arm pat_list: [{(Lit_Other "*") (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: {(DQ ("extern ") ($ VSub_Name "$r") (" ") ($ VSub_Name "$f") ("("))} spids: [1829] ) ] spids: [1829] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:sep) op:Equal rhs:{(SQ )} spids:[1839])] spids: [1839] ) (ForEach iter_name: p iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$p") (Lit_Other ":") ($ VSub_Name "$f")} arms: [ (case_arm pat_list: [{(2) (Lit_Other ":") (ldexp) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: {(DQ ($ VSub_Name "$code") (${ VSub_Name sep) (int))} spids: [1880] ) ] spids: [1880] ) ] spids: [1874 1878 1889 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: { (DQ ($ VSub_Name "$code") (${ VSub_Name sep) ($ VSub_Name "$t") ) } spids: [1895] ) ] spids: [1895] ) ] spids: [1892 1893 1904 -1] ) ] spids: [1865 1871 1907] ) (Case to_match: {($ VSub_Name "$a")} arms: [ (case_arm pat_list: [{($ VSub_Name "$p")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [1917 1918 1922 -1] ) ] spids: [1910 1914 1925] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sep) op: Equal rhs: {(DQ (","))} spids: [1928] ) ] spids: [1928] ) ] spids: [1863 1934] ) spids: [1847 -1] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: {(DQ ($ VSub_Name "$code") (");"))} spids: [1937] ) ] spids: [1937] ) (C {(echo)} {(DQ ($ VSub_Name "$code"))}) ] spids: [1822 1827 1951 -1] ) ] spids: [1794 1802 1954] ) (Case to_match: {($ VSub_Name "$local") (Lit_Other ":") ($ VSub_Name "$m") (Lit_Other ":") ($ VSub_Name "$n") (Lit_Other ":") ($ VSub_Name "$d") } arms: [ (case_arm pat_list: [ {(1) (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (Lit_Other "*") } {(Lit_Other "*") (Lit_Other ":") (1) (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (Lit_Other "*") } {(Lit_Other "*") (Lit_Other ":") (Lit_Other "*") (Lit_Other ":") (1) (Lit_Other ":")} ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[1995])] spids: [1995] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: { (DQ ("static ") ($ VSub_Name "$L") (" local_") ($ VSub_Name "$f") ("(")) } spids: [1998] ) ] spids: [1998] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:sep) op:Equal rhs:{(SQ )} spids:[2008])] spids: [2008] ) (ForEach iter_name: p iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)} {(8)} {(9)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: { (DQ ($ VSub_Name "$args") (${ VSub_Name sep) (a) ($ VSub_Name "$p") ) } spids: [2038] ) ] spids: [2038] ) (Case to_match: {($ VSub_Name "$R") (Lit_Other ":") ($ VSub_Name "$p")} arms: [ (case_arm pat_list: [{(4) (Lit_Other ":") (2)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:T) op: Equal rhs: {(int)} spids: [2063] ) ] spids: [2063] ) ] spids: [2058 2061 2066 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:T) op: Equal rhs: {(Sfdouble_t)} spids: [2072] ) ] spids: [2072] ) ] spids: [2069 2070 2075 -1] ) ] spids: [2049 2055 2078] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: { (DQ ($ VSub_Name "$code") (${ VSub_Name sep) ($ VSub_Name "$T") (" a") ($ VSub_Name "$p") ) } spids: [2081] ) ] spids: [2081] ) (Case to_match: {($ VSub_Name "$a")} arms: [ (case_arm pat_list: [{($ VSub_Name "$p")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [2100 2101 2105 -1] ) ] spids: [2093 2097 2108] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sep) op: Equal rhs: {(DQ (","))} spids: [2111] ) ] spids: [2111] ) ] spids: [2036 2117] ) spids: [2016 -1] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: { (DQ ($ VSub_Name "$code") ("){return ") ($ VSub_Name "$f") ("(") ($ VSub_Name "$args") (");}") ) } spids: [2120] ) ] spids: [2120] ) (C {(echo)} {(DQ ($ VSub_Name "$code"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(local_) ($ VSub_Name "$f")} spids: [2138] ) ] spids: [2138] ) ] spids: [1970 1992 2143 -1] ) ] spids: [1957 1967 2146] ) (ForEach iter_name: x iter_words: [{($ VSub_Name "$name")} {($ VSub_Name "$aka")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$x")} arms: [ (case_arm pat_list: [{(SQ <"{">) (Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [2170 2173 2178 -1] ) (case_arm pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [2181 2184 2189 -1] ) ] spids: [2162 2166 2192] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab) op: Equal rhs: { (DQ ($ VSub_Name "$tab") ($ VSub_Name "$nl") ($ VSub_Name "$ht") (EscapedLiteralPart token: <Lit_EscapedChar "\\\""> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (0) (${ VSub_Name R) (${ VSub_Name a) (${ VSub_Name x) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") ($ VSub_Name "$ht") ("(Math_f)") ($ VSub_Name "$f") (",") ) } spids: [2195] ) ] spids: [2195] ) ] spids: [2160 2221] ) spids: [2154 -1] ) ] spids: [936 2223] ) spids: [933 -1] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab) op: Equal rhs: { (DQ ($ VSub_Name "$tab") ($ VSub_Name "$nl") ($ VSub_Name "$ht") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") ($ VSub_Name "$ht") ($ VSub_Name "$ht") ("(Math_f)0") ) } spids: [2225] ) ] spids: [2225] ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ("\n") ("/*\n") (" * first byte is two-digit octal number. Last digit is number of args\n") (" * first digit is 0 if return value is double, 1 for integer\n") (" */\n") ("const struct mathtab shtab_math[] =\n") ("{") ($ VSub_Name "$tab") ("\n") ("};\n") ) } do_expansion: True here_end: "!" was_filled: True spids: [2241] ) ] ) ] )