(List (Com {[LIT_CHARS set]} {[LIT_CHARS -eu]} ) (= scope= flags=0 words=[] bindings=[('progname', {[VarSub 0]})]) (FunctionDef usage [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub progname][LIT_CHARS " command args..."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Possible commands are:"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " classpath java_paths lib_paths jre output_path"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " factorypath project_name plugin_paths"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " project project_name"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " apt_settings output_path"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (FunctionDef read_entry [] (If (DBracket {B1 UNARY_FILE_e {[DQ [VarSub 1 transform_ops=[PatSub {[LIT_CHARS " "]} {[LIT_CHARS _]} do_all]]]}}) (Com {[LIT_CHARS cat]} {[DQ [VarSub 1]]} ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]} ) ) ) (FunctionDef generate_classpath [] (List (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub #]]} {[LIT_CHARS 4]}}) (Com {[LIT_CHARS usage]} ) ) (= scope= flags=0 words=[] bindings=[('java_paths', {[DQ [ComSub (Com {[LIT_CHARS read_entry]} {[DQ [VarSub 1]]})]]})]) (= scope= flags=0 words=[] bindings=[('lib_paths', {[DQ [ComSub (Com {[LIT_CHARS read_entry]} {[DQ [VarSub 2]]})]]})]) (= scope= flags=0 words=[] bindings=[('jre', {[DQ [VarSub 3]]})]) (= scope= flags=0 words=[] bindings=[('output_path', {[DQ [VarSub 4]]})]) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS "\n"]]} 0), > ) (For path [{[VarSub java_paths]}]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " "]]} ) ) (For path_pair [{[VarSub lib_paths]}]) (List (= scope= flags=0 words=[] bindings=[('path_arr', {[Array {[VarSub path_pair transform_ops=[PatSub {[LIT_CHARS ":"]} {[LIT_CHARS " "]} do_all]]}]})]) (= scope= flags=0 words=[] bindings=[('jar', {[VarSub path_arr bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]})]) (= scope= flags=0 words=[] bindings=[('source_path', {[VarSub path_arr bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}) test_op=VS_TEST_HYPHEN {}]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -n]} {[DQ [VarSub source_path]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " "]]} ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " "]]} ) ) ) ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS "\n"]]} 0), > ) ) ) (FunctionDef generate_factorypath [] (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub #]]} {[LIT_NEQUAL "!="]} {[LIT_CHARS 2]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS usage]} ) ) (= scope= flags=0 words=[] bindings=[('project_name', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('plugin_paths', {[DQ [ComSub (Com {[LIT_CHARS read_entry]} {[DQ [VarSub 2]]})]]})]) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS "\n"]]} 0), > ) (For path [{[VarSub plugin_paths]}]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " "]]} ) ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"]]} 0), > ) ) ) (FunctionDef generate_project [] (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub #]]} {[LIT_NEQUAL "!="]} {[LIT_CHARS 1]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS usage]} ) ) (= scope= flags=0 words=[] bindings=[('project_name', {[VarSub 1]})]) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS " "][VarSub project_name][LIT_CHARS "\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " org.eclipse.jdt.core.javabuilder\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " org.eclipse.jdt.core.javanature\n"][LIT_CHARS " \n"][LIT_CHARS "\n"]]} 0), > ) ) ) (FunctionDef generate_apt_settings [] (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub #]]} {[LIT_NEQUAL "!="]} {[LIT_CHARS 1]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS usage]} ) ) (= scope= flags=0 words=[] bindings=[('output_path', {[VarSub 1]})]) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "eclipse.preferences.version=1\n"][LIT_CHARS "org.eclipse.jdt.apt.aptEnabled=true\n"][LIT_CHARS "org.eclipse.jdt.apt.genSrcDir="][VarSub output_path][LIT_CHARS "\n"][LIT_CHARS "org.eclipse.jdt.apt.reconcileEnabled=true\n"]]} 0), > ) ) ) (= scope= flags=0 words=[] bindings=[('command', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} ) (Case to_match={[DQ [VarSub command]]}, pat_word_list=[[{[LIT_CHARS classpath]}], [{[LIT_CHARS factorypath]}], [{[LIT_CHARS project]}], [{[LIT_CHARS apt_settings]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS generate_classpath]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS generate_factorypath]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS generate_project]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS generate_apt_settings]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS usage]} ) ) )