···1212 then redirection is setup, and finally functions/built-ins/commands are
1313 executed. *)
14141515- let word_component_to_string : Ast.word_component -> string = function
1515+ let rec word_component_to_string : Ast.word_component -> string = function
1616 | WordName s -> s
1717 | WordLiteral s -> s
1818+ | WordDoubleQuoted s ->
1919+ String.concat " " (List.map word_component_to_string s)
1820 | v ->
1921 Fmt.failwith "Conversion of %a" Yojson.Safe.pp
2022 (Ast.word_component_to_yojson v)
···157159 | _ ->
158160 let f, p = pipeline p in
159161 f @@ execute_command p)
162162+ | Noand_or, Nlist.Singleton (p, _) ->
163163+ let f, p = pipeline p in
164164+ f @@ execute_command p
160165 | Noand_or, Nlist.Cons ((p, next_sep), rest) ->
161166 let f, p = pipeline p in
162167 fold (next_sep, f (execute_command p)) rest
···172177 | None | Some _ ->
173178 let f, p = pipeline p in
174179 fold (next_sep, f (execute_command p)) rest)
175175- | _ -> assert false
176180 in
177181 fold (Noand_or, None) c
178182 | _ -> Fmt.failwith "TODO!!!"
+1-1
src/lib/sast.ml
···112112 | IoHere_DLessDash_HereEnd of here_end * word
113113114114and here_end = HereEnd_Word of word
115115-and separator = Uppersand | Semicolon | Nosep
115115+and separator = Ampersand | Semicolon | Nosep
116116and sequential_sep = Semicolon | Newline
117117and word = word_cst
118118and word_cst = word_component list
+1-1
test.sh
···11-ls -jshjk || echo hello && ls =whkjed
11+echo one; (sleep 1; echo two) & echo three