ref: 742831fac04c12f103245cc20bc6448666461863 mrsh/ast_print.c -rw-r--r-- 13.3 KiB
Replace assert(0) with abort()

This ensures functions reaching the asserts won't return, and avoids
issues with NDEBUG.
ast: print here_document in print_io_redirect
parser: add IO redirects to function definitions

References: https://github.com/emersion/mrsh/issues/30
Rename node to and_or_list

This is the term used by the spec.
ast: arithmetic parsing comes after expansion
Introduce arithmetic AST
ast: introduce mrsh_range
ast: add mrsh_case_clause
parser: add support for `$(command)`
parser: add support for subshells
ast: assert in closed type _get() functions
ast: add for, while and until
Add position information to mrsh_word_string
ast: make mrsh_word_command have a mrsh_program instead of a string
ast: make mrsh_io_redirect.op an enum instead of a char *
ast: use enum instead of string for parameter op
token → word

This naming makes more sense.
Add and parse here-document operators
parser: add function definitions
Implement backquoted token commands
ast: fix segfault when printing simple command without name