Text this: Semi-classical analysis for nonlinear Schrödinger equations