Another thread on small forth interpreters from just 15 days ago:
https://news.ycombinator.com/item?id=45039301
Forth can be beautifully and efficiently implemented in portable c++ using the using continuation passing style via the clang musttail attribute.
Have a look at Tails (not my project):