Процесс портирования прост, напиши на жабоподобном псевдокоде что видишь, в любом языке много синтаксического мусора, если его выкинуть то можно увидеть бизнес логику.
При портировании, в идеале нужно скомпилять, скормить входными значениями, сохранить выходные, на основе всего этого создать юнит тесты, часто так удобно сделать в самом начале.