minishell syntax diagram - Wolframike/minishell GitHub Wiki

program

image
program ::= and_or

and_or

image
and_or ::= pipeline ( ( 'AND_IF' | 'OR_IF' ) pipeline )*

pipeline

image
pipeline ::= ( simple_command | subshell io_file? ) ( '|' ( simple_command | subshell io_file? ) )*

subshell

image
subshell ::= '(' and_or ')'

simple_command

image
simple_command ::= (io_file?) + ( 'WORD' cmd_suffix? )?

cmd_suffix

image
cmd_suffix ::= ( io_file | 'WORD' )+

io_file

image
io_file  ::= ( '<' | '>' | '>>' | '<<') 'WORD'

References

⚠️ **GitHub.com Fallback** ⚠️