I'm not of the academic type and this type of vocabulary quickly loses me. Lots of words to describe something that, at its core, is pretty simple. Mind twisting, but simple.
Infix notation parsing happens in ast.fs[1]. It parses tokens left to right and builds a tree (the structure is Lisp-like cons) describe the expression in such a way that expr.fs[2] then just has to recursively process the top tree node to have proper codegen.
In other words, operator precedence, prefix/postfix operators, etc. are all considered in ast.fs. Once in expr.fs is reached, all those things have been processed.
AST tests[3] give a good example of what ast.fs does.
I'm not sure I'd say that Forth being stack-based particularly help there. This logic is more "recursive-based" than anything. Lots of recursion all around.
[1]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/comp/o...
[2]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/comp/o...
[3]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/tests/...