My favourite article on Pratt parsing, it’s in Rust but easy to port to any language:
https://matklad.github.io/2020/04/13/simple-but-powerful-pra...
https://matklad.github.io/2020/04/13/simple-but-powerful-pra...
http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm
http://www.engr.mun.ca/~theo/Misc/pratt_parsing.htm
Matklad's stuff is really great. I wish he had cited Norvell, though.