The following is just my own work on searching how to implement my own 4GL.