fix: `match_expr` parser

closes #3989
closes #3990
5 files changed